/**
  * 登録を実行する.
  *
  * ファイルの作成に失敗した場合は, エラーメッセージを出力する.
  *
  * @param  string  $css_dir      CSS ディレクトリ
  * @param  string  $css_name     CSSファイル名
  * @param  string  $old_css_name 旧CSSファイル名
  * @param  string  $css_path     CSSファイルの絶対パス
  * @param  string  $css_data     書き込みを行うデータ
  * @return boolean 登録が成功した場合 true; 失敗した場合 false
  */
 public function doRegister($css_dir, $css_name, $old_css_name, $css_path, $css_data)
 {
     if (!SC_Utils_Ex::isBlank($old_css_name) && $old_css_name != $css_name) {
         if (!unlink($css_dir . $old_css_name . '.css')) {
             $this->arrErr['err'] = '※ 旧ファイルの削除に失敗しました<br />';
             return false;
         }
     }
     if (!SC_Helper_FileManager_Ex::sfWriteFile($css_path, $css_data)) {
         $this->arrErr['err'] = '※ CSSの書き込みに失敗しました<br />';
         return false;
     }
     return true;
 }
 /**
  * 登録を実行する.
  *
  * ファイルの作成に失敗した場合は, エラーメッセージを出力し,
  * データベースをロールバックする.
  *
  * @param SC_FormParam $objFormParam SC_FormParam インスタンス
  * @param SC_Helper_PageLayout $objLayout SC_Helper_PageLayout インスタンス
  * @return integer|boolean 登録が成功した場合, 登録したブロックID;
  *                         失敗した場合 false
  */
 function doRegister(&$objFormParam, &$objLayout)
 {
     $arrParams = $objFormParam->getHashArray();
     $objQuery =& SC_Query_Ex::getSingletonInstance();
     $objQuery->begin();
     // blod_id が空の場合は新規登録
     $is_new = SC_Utils_Ex::isBlank($arrParams['bloc_id']);
     $bloc_dir = $objLayout->getTemplatePath($arrParams['device_type_id']) . BLOC_DIR;
     // 既存データの重複チェック
     if (!$is_new) {
         $arrExists = $objLayout->getBlocs($arrParams['device_type_id'], 'bloc_id = ?', array($arrParams['bloc_id']));
         // 既存のファイルが存在する場合は削除しておく
         $exists_file = $bloc_dir . $arrExists[0]['filename'] . '.tpl';
         if (file_exists($exists_file)) {
             unlink($exists_file);
         }
     }
     $table = 'dtb_bloc';
     $arrValues = $objQuery->extractOnlyColsOf($table, $arrParams);
     $arrValues['tpl_path'] = $arrParams['filename'] . '.tpl';
     $arrValues['update_date'] = 'CURRENT_TIMESTAMP';
     // 新規登録
     if ($is_new || SC_Utils_Ex::isBlank($arrExists)) {
         $objQuery->setOrder('');
         $arrValues['bloc_id'] = 1 + $objQuery->max('bloc_id', $table, 'device_type_id = ?', array($arrValues['device_type_id']));
         $arrValues['create_date'] = 'CURRENT_TIMESTAMP';
         $objQuery->insert($table, $arrValues);
     } else {
         $objQuery->update($table, $arrValues, 'bloc_id = ? AND device_type_id = ?', array($arrValues['bloc_id'], $arrValues['device_type_id']));
     }
     $bloc_path = $bloc_dir . $arrValues['tpl_path'];
     if (!SC_Helper_FileManager_Ex::sfWriteFile($bloc_path, $arrParams['bloc_html'])) {
         $this->arrErr['err'] = '※ ブロックの書き込みに失敗しました<br />';
         $objQuery->rollback();
         return false;
     }
     $objQuery->commit();
     return $arrValues['bloc_id'];
 }
 /**
  * 登録を実行する.
  *
  * ファイルの作成に失敗した場合は, エラーメッセージを出力する.
  *
  * @param  SC_FormParam    $objFormParam SC_FormParam インスタンス
  * @return boolean 登録が成功した場合 true; 失敗した場合 false
  */
 public function doRegister(&$objFormParam)
 {
     $division = $objFormParam->getValue('division');
     $contents = $objFormParam->getValue($division);
     $tpl_path = $this->getTemplatePath($objFormParam->getValue('device_type_id'), $division);
     if ($tpl_path === false || !SC_Helper_FileManager_Ex::sfWriteFile($tpl_path, $contents)) {
         $this->arrErr['err'] = '※ ファイルの書き込みに失敗しました<br />';
         return false;
     }
     return true;
 }
 /**
  * 登録を実行する.
  *
  * ファイルの作成に失敗した場合は, エラーメッセージを出力する.
  *
  * @param string $css_dir CSS ディレクトリ
  * @param string $css_name CSSファイル名
  * @param string $old_css_name 旧CSSファイル名
  * @param string $css_path CSSファイルの絶対パス
  * @param string $css_data 書き込みを行うデータ
  * @return boolean 登録が成功した場合 true; 失敗した場合 false
  */
 function doRegister($css_dir, $css_name, $old_css_name, $css_path, $css_data)
 {
     $objFileManager = new SC_Helper_FileManager_Ex();
     if (!SC_Utils_Ex::isBlank($old_css_name) && $old_css_name != $css_name) {
         if (!unlink($css_dir . $old_css_name . '.css')) {
             $this->arrErr['err'] = t('c_* Deletion of the old file failed<br />_01');
             return false;
         }
     }
     if (!SC_Helper_FileManager_Ex::sfWriteFile($css_path, $css_data)) {
         $this->arrErr['err'] = t('c_* CSS writing failed<br />_01');
         return false;
     }
     return true;
 }
 /**
  * PHP ファイルを生成する.
  *
  * 既に同名の PHP ファイルが存在する場合は何もせず true を返す.(#831)
  *
  * @param string $filename フォームパラメーターの filename
  * @return boolean 作成に成功した場合 true
  */
 function createPHPFile($filename)
 {
     $path = USER_REALDIR . $filename . '.php';
     if (file_exists($path)) {
         return true;
     }
     if (file_exists(USER_DEF_PHP_REALFILE)) {
         $php_contents = file_get_contents(USER_DEF_PHP_REALFILE);
     } else {
         return false;
     }
     // require.php の PATH を書き換える
     $defaultStrings = "exit; // Don't rewrite. This line is rewritten by EC-CUBE.";
     $replaceStrings = "require_once '" . str_repeat('../', substr_count($filename, '/')) . "../require.php';";
     $php_contents = str_replace($defaultStrings, $replaceStrings, $php_contents);
     return SC_Helper_FileManager_Ex::sfWriteFile($path, $php_contents);
 }
 /**
  * 登録を実行する.
  *
  * ファイルの作成に失敗した場合は, エラーメッセージを出力する.
  *
  * @param SC_FormParam $objFormParam SC_FormParam インスタンス
  * @return integer|boolean 登録が成功した場合 true; 失敗した場合 false
  */
 function doRegister(&$objFormParam)
 {
     $division = $objFormParam->getValue('division');
     $contents = $objFormParam->getValue($division);
     $tpl_path = $this->getTemplatePath($objFormParam->getValue('device_type_id'), $division);
     if ($tpl_path === false || !SC_Helper_FileManager_Ex::sfWriteFile($tpl_path, $contents)) {
         $this->arrErr['err'] = t('c_* File writing failed<br />_01');
         return false;
     }
     return true;
 }