<commit_before><?php
/**
 * pickles2
 */
namespace picklesFramework2;

/**
 * pickles2 core class
 * 
 * @author <NAME> <<EMAIL>>
 */
class pickles{
	/**
	 * Pickles のホームディレクトリのパス
	 * @access private
	 */
	private $path_homedir;

	/**
	 * コンテンツディレクトリのパス
	 * @access private
	 */
	private $path_content;

	/**
	 * オブジェクト
	 * @access private
	 */
	private $conf, $fs, $req, $site, $bowl, $pxcmd;

	/**
	 * ディレクトリインデックス(省略できるファイル名の一覧)
	 * @access private
	 */
	private $directory_index;

	/**
	 * プロセス関連情報
	 * @access private
	 */
	private $proc_type, $proc_id, $proc_num = 0;

	/**
	 * 関連ファイルのURL情報
	 * @access private
	 */
	private $relatedlinks = array();

	/**
	 * エラーメッセージ情報
	 */
	private $errors = array();

	/**
	 * 応答ステータスコード
	 * @access private
	 */
	private $response_status = 200;

	/**
	 * 応答ステータスメッセージ
	 * @access private
	 */
	private $response_message = 'OK';

	/**
	 * Pickles のバージョン情報を取得する。
	 * 
	 * <pre> [バージョン番号のルール]
	 *    基本
	 *      メジャーバージョン番号.マイナーバージョン番号.リリース番号
	 *        例：1.0.0
	 *        例：1.8.9
	 *        例：12.19.129
	 *      - 大規模な仕様の変更や追加を伴う場合にはメジャーバージョンを上げる。
	 *      - 小規模な仕様の変更や追加の場合は、マイナーバージョンを上げる。
	 *      - バグ修正、ドキュメント、コメント修正等の小さな変更は、リリース番号を上げる。
	 *    開発中プレビュー版
	 *      基本バージョンの後ろに、alpha(=α版)またはbeta(=β版)を付加し、その連番を記載する。
	 *        例：1.0.0-alpha1 ←最初のα版
	 *        例：1.0.0-beta12 ←12回目のβ版
	 *      開発中およびリリースバージョンの順序は次の通り
	 *        1.0.0-alpha1 -> 1.0.0-alpha2 -> 1.0.0-beta1 ->1.0.0-beta2 -> 1.0.0 ->1.0.1-alpha1 ...
	 *    ナイトリービルド
	 *      ビルドの手順はないので正確には "ビルド" ではないが、
	 *      バージョン番号が振られていない、開発途中のリビジョンを
	 *      ナイトリービルドと呼ぶ。
	 *      ナイトリービルドの場合、バージョン情報は、
	 *      ひとつ前のバージョン文字列の末尾に、'-nb' を付加する。
	 *        例：1.0.0-beta12-nb (=1.0.0-beta12リリース後のナイトリービルド)
	 *      普段の開発においてコミットする場合、
	 *      必ずこの get_version() がこの仕様になっていることを確認すること。
	 * </pre>
	 * 
	 * @return string バージョン番号を示す文字列
	 */
	public function get_version(){
		return '2.0.10-nb';
	}

	/**
	 * constructor
	 * 
	 * @param string $path_homedir Pickles のホームディレクトリのパス
	 */
	public function __construct( $path_homedir ){
		// initialize PHP
		if( !extension_loaded( 'mbstring' ) ){
			trigger_error('mbstring not loaded.');
		}
		if( is_callable('mb_internal_encoding') ){
			mb_internal_encoding('UTF-8');
			@ini_set( 'mbstring.internal_encoding' , 'UTF-8' );
			@ini_set( 'mbstring.http_input' , 'UTF-8' );
			@ini_set( 'mbstring.http_output' , 'UTF-8' );
		}
		@ini_set( 'default_charset' , 'UTF-8' );
		if( is_callable('mb_detect_order') ){
			@ini_set( 'mbstring.detect_order' , 'UTF-8,SJIS-win,eucJP-win,SJIS,EUC-JP,JIS,ASCII' );
			mb_detect_order( 'UTF-8,SJIS-win,eucJP-win,SJIS,EUC-JP,JIS,ASCII' );
		}
		@header_remove('X-Powered-By');
		$this->set_status(200);// 200 OK

		if( !array_key_exists( 'REMOTE_ADDR' , $_SERVER ) ){
			// commandline only
			if( realpath($_SERVER['SCRIPT_FILENAME']) === false ||
				dirname(realpath($_SERVER['SCRIPT_FILENAME'])) !== realpath('./')
			){
				if( array_key_exists( 'PWD' , $_SERVER ) ){
					$_SERVER['SCRIPT_FILENAME'] = realpath($_SERVER['PWD'].'/'.$_SERVER['SCRIPT_FILENAME']);
				}else{
					// for Windows
					// .px_execute.php で chdir(__DIR__) されていることが前提。<commit_msg>bug fix Error on Cygwin Terminal.<commit_after><?php
/**
 * pickles2
 */
namespace picklesFramework2;

/**
 * pickles2 core class
 * 
 * @author <NAME> <<EMAIL>>
 */
class pickles{
	/**
	 * Pickles のホームディレクトリのパス
	 * @access private
	 */
	private $path_homedir;

	/**
	 * コンテンツディレクトリのパス
	 * @access private
	 */
	private $path_content;

	/**
	 * オブジェクト
	 * @access private
	 */
	private $conf, $fs, $req, $site, $bowl, $pxcmd;

	/**
	 * ディレクトリインデックス(省略できるファイル名の一覧)
	 * @access private
	 */
	private $directory_index;

	/**
	 * プロセス関連情報
	 * @access private
	 */
	private $proc_type, $proc_id, $proc_num = 0;

	/**
	 * 関連ファイルのURL情報
	 * @access private
	 */
	private $relatedlinks = array();

	/**
	 * エラーメッセージ情報
	 */
	private $errors = array();

	/**
	 * 応答ステータスコード
	 * @access private
	 */
	private $response_status = 200;

	/**
	 * 応答ステータスメッセージ
	 * @access private
	 */
	private $response_message = 'OK';

	/**
	 * Pickles のバージョン情報を取得する。
	 * 
	 * <pre> [バージョン番号のルール]
	 *    基本
	 *      メジャーバージョン番号.マイナーバージョン番号.リリース番号
	 *        例：1.0.0
	 *        例：1.8.9
	 *        例：12.19.129
	 *      - 大規模な仕様の変更や追加を伴う場合にはメジャーバージョンを上げる。
	 *      - 小規模な仕様の変更や追加の場合は、マイナーバージョンを上げる。
	 *      - バグ修正、ドキュメント、コメント修正等の小さな変更は、リリース番号を上げる。
	 *    開発中プレビュー版
	 *      基本バージョンの後ろに、alpha(=α版)またはbeta(=β版)を付加し、その連番を記載する。
	 *        例：1.0.0-alpha1 ←最初のα版
	 *        例：1.0.0-beta12 ←12回目のβ版
	 *      開発中およびリリースバージョンの順序は次の通り
	 *        1.0.0-alpha1 -> 1.0.0-alpha2 -> 1.0.0-beta1 ->1.0.0-beta2 -> 1.0.0 ->1.0.1-alpha1 ...
	 *    ナイトリービルド
	 *      ビルドの手順はないので正確には "ビルド" ではないが、
	 *      バージョン番号が振られていない、開発途中のリビジョンを
	 *      ナイトリービルドと呼ぶ。
	 *      ナイトリービルドの場合、バージョン情報は、
	 *      ひとつ前のバージョン文字列の末尾に、'-nb' を付加する。
	 *        例：1.0.0-beta12-nb (=1.0.0-beta12リリース後のナイトリービルド)
	 *      普段の開発においてコミットする場合、
	 *      必ずこの get_version() がこの仕様になっていることを確認すること。
	 * </pre>
	 * 
	 * @return string バージョン番号を示す文字列
	 */
	public function get_version(){
		return '2.0.10-nb';
	}

	/**
	 * constructor
	 * 
	 * @param string $path_homedir Pickles のホームディレクトリのパス
	 */
	public function __construct( $path_homedir ){
		// initialize PHP
		if( !extension_loaded( 'mbstring' ) ){
			trigger_error('mbstring not loaded.');
		}
		if( is_callable('mb_internal_encoding') ){
			mb_internal_encoding('UTF-8');
			@ini_set( 'mbstring.internal_encoding' , 'UTF-8' );
			@ini_set( 'mbstring.http_input' , 'UTF-8' );
			@ini_set( 'mbstring.http_output' , 'UTF-8' );
		}
		@ini_set( 'default_charset' , 'UTF-8' );
		if( is_callable('mb_detect_order') ){
			@ini_set( 'mbstring.detect_order' , 'UTF-8,SJIS-win,eucJP-win,SJIS,EUC-JP,JIS,ASCII' );
			mb_detect_order( 'UTF-8,SJIS-win,eucJP-win,SJIS,EUC-JP,JIS,ASCII' );
		}
		@header_remove('X-Powered-By');
		$this->set_status(200);// 200 OK

		if( !array_key_exists( 'REMOTE_ADDR' , $_SERVER ) ){
			// commandline only
			if( realpath($_SERVER['SCRIPT_FILENAME']) === false ||
				dirname(realpath($_SERVER['SCRIPT_FILENAME'])) !== realpath('./')
			){
				if( array_key_exists( 'PWD' , $_SERVER ) && is_file($_SERVER['PWD'].'/'.$_SERVER['SCRIPT_FILENAME']) ){
					$_SERVER['SCRIPT_FILENAME'] = realpath($_SERVER['PWD'].'/'.$_SERVER['SCRIPT_FILENAME']);
				}else{
					// for Windows
					// .px_execute.php で chdir(__DIR__) されていることが前提。
{'fraction_non_alphanumeric': 0.16987078474629688, 'fraction_numerical': 0.02552789158525055, 'mean_word_length': 2.952054794520548, 'pattern_counts': {'":': 0, '<': 15, '<?xml version=': 0, '>': 25, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '493953', 'n_tokens_mistral': 3529, 'n_tokens_neox': 3210, 'n_words': 375}