Esempio n. 1
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;
 }