original_string: private function init() {
  
  		$current_dir = realpath('.');
  
  		$output = "";
  		$result = array('status' => true,
  						'message' => '');
  
  		$server_list = $this->options->preview_server;
  		array_push($server_list, json_decode(json_encode(array(
  			'name'=>'master',
  			'path'=>$this->options->git->repository,
  		))));
  
  		set_time_limit(0);
  
  		foreach ( $server_list as $preview_server ) {
  			chdir($current_dir);
  
  			try {
  
  				if ( strlen($preview_server->path) ) {
  
  					// デプロイ先のディレクトリが無い場合は作成
  					if ( !file_exists( $preview_server->path) ) {
  						// 存在しない場合
  
  						// ディレクトリ作成
  						if ( !mkdir( $preview_server->path, 0777) ) {
  							// ディレクトリが作成できない場合
  
  							// エラー処理
  							throw new \Exception('Creation of preview server directory failed.');
  						}
  					}
  
  					// 「.git」フォルダが存在すれば初期化済みと判定
  					if ( !file_exists( $preview_server->path . "/.git") ) {
  						// 存在しない場合
  
  						// ディレクトリ移動
  						if ( chdir( $preview_server->path ) ) {
  
  							// git セットアップ
  							exec('git init', $output);
  
  							// git urlのセット
  							$url = $this->options->git->protocol . "://";
  							if( strlen(@$this->options->git->username) ){
  								// ID/PW が設定されていない場合は、認証情報なしでアクセスする。
  								$url .= urlencode($this->options->git->username) . ":" . urlencode($this->options->git->password) . "@";
  							}
  							$url .= $this->options->git->url;
  							exec('git remote add origin ' . escapeshellarg($url), $output);
  
  							// git fetch
  							exec( 'git fetch origin', $output);
  
  							// git pull
  							exec( 'git pull origin master', $output);
  
  							chdir($current_dir);
  						} else {
  							// プレビューサーバのディレクトリが存在しない場合
  
  							// エラー処理
  							throw new \Exception('Preview server directory not found.');
  						}
  					}
  				}
  
  			} catch (\Exception $e) {
  				set_time_limit(30);
  
  				$result['status'] = false;
  				$result['message'] = $e->getMessage();
  
  				chdir($current_dir);
  				return $result;
  			}
  
  		}
  		set_time_limit(30);
  
  		$result['status'] = true;
  
  		return $result;
  	}
code: private function init() {
  
  		$current_dir = realpath('.');
  
  		$output = "";
  		$result = array('status' => true,
  						'message' => '');
  
  		$server_list = $this->options->preview_server;
  		array_push($server_list, json_decode(json_encode(array(
  			'name'=>'master',
  			'path'=>$this->options->git->repository,
  		))));
  
  		set_time_limit(0);
  
  		foreach ( $server_list as $preview_server ) {
  			chdir($current_dir);
  
  			try {
  
  				if ( strlen($preview_server->path) ) {
  
  					// デプロイ先のディレクトリが無い場合は作成
  					if ( !file_exists( $preview_server->path) ) {
  						// 存在しない場合
  
  						// ディレクトリ作成
  						if ( !mkdir( $preview_server->path, 0777) ) {
  							// ディレクトリが作成できない場合
  
  							// エラー処理
  							throw new \Exception('Creation of preview server directory failed.');
  						}
  					}
  
  					// 「.git」フォルダが存在すれば初期化済みと判定
  					if ( !file_exists( $preview_server->path . "/.git") ) {
  						// 存在しない場合
  
  						// ディレクトリ移動
  						if ( chdir( $preview_server->path ) ) {
  
  							// git セットアップ
  							exec('git init', $output);
  
  							// git urlのセット
  							$url = $this->options->git->protocol . "://";
  							if( strlen(@$this->options->git->username) ){
  								// ID/PW が設定されていない場合は、認証情報なしでアクセスする。
  								$url .= urlencode($this->options->git->username) . ":" . urlencode($this->options->git->password) . "@";
  							}
  							$url .= $this->options->git->url;
  							exec('git remote add origin ' . escapeshellarg($url), $output);
  
  							// git fetch
  							exec( 'git fetch origin', $output);
  
  							// git pull
  							exec( 'git pull origin master', $output);
  
  							chdir($current_dir);
  						} else {
  							// プレビューサーバのディレクトリが存在しない場合
  
  							// エラー処理
  							throw new \Exception('Preview server directory not found.');
  						}
  					}
  				}
  
  			} catch (\Exception $e) {
  				set_time_limit(30);
  
  				$result['status'] = false;
  				$result['message'] = $e->getMessage();
  
  				chdir($current_dir);
  				return $result;
  			}
  
  		}
  		set_time_limit(30);
  
  		$result['status'] = true;
  
  		return $result;
  	}
code_tokens: private function init ( ) { $ current_dir = realpath ( '.' ) ; $ output = "" ; $ result = array ( 'status' => true , 'message' => '' ) ; $ server_list = $ this -> options -> preview_server ; array_push ( $ server_list , json_decode ( json_encode ( array ( 'name' => 'master' , 'path' => $ this -> options -> git -> repository , ) ) ) ) ; set_time_limit ( 0 ) ; foreach ( $ server_list as $ preview_server ) { chdir ( $ current_dir ) ; try { if ( strlen ( $ preview_server -> path ) ) { // デプロイ先のディレクトリが無い場合は作成 if ( ! file_exists ( $ preview_server -> path ) ) { // 存在しない場合 // ディレクトリ作成 if ( ! mkdir ( $ preview_server -> path , 0777 ) ) { // ディレクトリが作成できない場合 // エラー処理 throw new \ Exception ( 'Creation of preview server directory failed.' ) ; } } // 「.git」フォルダが存在すれば初期化済みと判定 if ( ! file_exists ( $ preview_server -> path . "/.git" ) ) { // 存在しない場合 // ディレクトリ移動 if ( chdir ( $ preview_server -> path ) ) { // git セットアップ exec ( 'git init' , $ output ) ; // git urlのセット $ url = $ this -> options -> git -> protocol . "://" ; if ( strlen ( @ $ this -> options -> git -> username ) ) { // ID/PW が設定されていない場合は、認証情報なしでアクセスする。 $ url .= urlencode ( $ this -> options -> git -> username ) . ":" . urlencode ( $ this -> options -> git -> password ) . "@" ; } $ url .= $ this -> options -> git -> url ; exec ( 'git remote add origin ' . escapeshellarg ( $ url ) , $ output ) ; // git fetch exec ( 'git fetch origin' , $ output ) ; // git pull exec ( 'git pull origin master' , $ output ) ; chdir ( $ current_dir ) ; } else { // プレビューサーバのディレクトリが存在しない場合 // エラー処理 throw new \ Exception ( 'Preview server directory not found.' ) ; } } } } catch ( \ Exception $ e ) { set_time_limit ( 30 ) ; $ result [ 'status' ] = false ; $ result [ 'message' ] = $ e -> getMessage ( ) ; chdir ( $ current_dir ) ; return $ result ; } } set_time_limit ( 30 ) ; $ result [ 'status' ] = true ; return $ result ; }
docstring: initialize GIT Repository
  
  Gitリポジトリをクローンし、ローカル環境を整えます。
  ツールのセットアップ時に1回実行してください。
  GUIから、 "Initialize" ボタンを実行すると呼び出されます。
  
  @return array result
  - $result['status'] boolean 初期化に成功した場合に true
  - $result['message'] string エラー発生時にエラーメッセージが格納される
docstring_tokens: initialize GIT Repository