Пример #1
0
 /**
  * JSONデータをデコードする.
  *
  * php5.2.0からpreg_match関数に渡せるデータ長に制限がある(?)ため,
  * Services_JSONが正常に動作しなくなる.
  * そのため5.2.0以上の場合は組み込み関数のjson_decode()を使用する.
  *
  * @param  string   $str
  * @return StdClass
  * @see Utils::jsonDecode
  */
 public function decode($str)
 {
     return Utils::jsonDecode($str);
 }
Пример #2
0
 /**
  * 表示用フォームパラメーター取得
  * - 入力画面
  *
  * @param  UploadFile $objUpFile   UploadFileインスタンス
  * @param  UploadFile $objDownFile UploadFileインスタンス
  * @param  array  $arrForm     フォーム入力パラメーター配列
  * @return array  表示用フォームパラメーター配列
  */
 public function lfSetViewParam_InputPage(&$objUpFile, &$objDownFile, &$arrForm)
 {
     // カテゴリマスターデータ取得
     /* @var $objDb DbHelper */
     $objDb = Application::alias('eccube.helper.db');
     list($this->arrCatVal, $this->arrCatOut) = $objDb->getLevelCatList(false);
     if (isset($arrForm['category_id']) && !is_array($arrForm['category_id'])) {
         $arrForm['category_id'] = Utils::jsonDecode($arrForm['category_id']);
     }
     $this->tpl_json_category_id = !empty($arrForm['category_id']) ? Utils::jsonEncode($arrForm['category_id']) : Utils::jsonEncode(array());
     if ($arrForm['status'] == '') {
         $arrForm['status'] = DEFAULT_PRODUCT_DISP;
     }
     if ($arrForm['product_type_id'] == '') {
         $arrForm['product_type_id'] = DEFAULT_PRODUCT_DOWN;
     }
     if (OPTION_PRODUCT_TAX_RULE) {
         // 編集の場合は設定された税率、新規の場合はデフォルトの税率を取得
         if ($arrForm['product_id'] == '') {
             $arrRet = TaxRuleHelper::getTaxRule();
         } else {
             $arrRet = TaxRuleHelper::getTaxRule($arrForm['product_id'], $arrForm['product_class_id']);
         }
         $arrForm['tax_rate'] = $arrRet['tax_rate'];
     }
     // アップロードファイル情報取得(Hidden用)
     $arrHidden = $objUpFile->getHiddenFileList();
     $arrForm['arrHidden'] = array_merge((array) $arrHidden, (array) $objDownFile->getHiddenFileList());
     // 画像ファイル表示用データ取得
     $arrForm['arrFile'] = $objUpFile->getFormFileList(IMAGE_TEMP_URLPATH, IMAGE_SAVE_URLPATH);
     // ダウンロード商品実ファイル名取得
     $arrForm['down_realfilename'] = $objDownFile->getFormDownFile();
     // 基本情報(デフォルトポイントレート用)
     $arrForm['arrInfo'] = Application::alias('eccube.helper.db')->getBasisData();
     // サブ情報ありなしフラグ
     $arrForm['sub_find'] = $this->hasSubProductData($arrForm);
     return $arrForm;
 }
Пример #3
0
 /**
  * リリース情報を取得する.
  *
  * @return array 取得した情報配列
  */
 public function lfGetInfo()
 {
     // 更新情報の取得ON/OFF確認
     if (!ECCUBE_INFO) {
         return array();
     }
     // パラメーター「UPDATE_HTTP」が空文字の場合、処理しない。
     // XXX これと別に on/off を持たせるべきか。
     if (strlen(UPDATE_HTTP) == 0) {
         return array();
     }
     $query = '';
     // サイト情報の送信可否設定
     // XXX インストール時に問い合わせて送信可否設定を行うように設定すべきか。
     // XXX (URLは強制送信すべきではないと思うが)バージョンは強制送信すべきか。
     if (UPDATE_SEND_SITE_INFO === true) {
         $query = '?site_url=' . HTTP_URL . '&eccube_version=' . ECCUBE_VERSION;
     }
     $url = UPDATE_HTTP . $query;
     // タイムアウト時間設定
     $context = array('http' => array('timeout' => HTTP_REQUEST_TIMEOUT));
     $jsonStr = @file_get_contents($url, false, stream_context_create($context));
     $arrTmpData = is_string($jsonStr) ? Utils::jsonDecode($jsonStr) : null;
     if (empty($arrTmpData)) {
         Utils::sfErrorHeader('>> 更新情報の取得に失敗しました。');
         return array();
     }
     $arrInfo = array();
     foreach ($arrTmpData as $objData) {
         $arrInfo[] = get_object_vars($objData);
     }
     return $arrInfo;
 }