Ignore:
Timestamp:
2007/11/07 21:58:46 (16 years ago)
Author:
adachi
Message:

更新情報取得処理の変更

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/feature-module-update/data/class/pages/admin/LC_Page_Admin_Home.php

    r16735 r16737  
    2323 
    2424// {{{ requires 
    25 require_once(CLASS_PATH . "pages/LC_Page.php"); 
     25require_once CLASS_PATH . "pages/LC_Page.php"; 
     26require_once DATA_PATH . 'module/Services/JSON.php'; 
     27require_once DATA_PATH . 'module/Request.php'; 
    2628 
    2729/** 
     
    245247    } 
    246248 
    247     // お知らせ取得 
     249    /** 
     250     * リリース情報を取得する. 
     251     * 
     252     * @return unknown 
     253     */ 
    248254    function lfGetInfo() { 
    249         // 更新情報を最新にする 
    250         $objQuery = new SC_Query(); 
    251         $path = UPDATE_HTTP . "info.txt"; 
    252         $fp = @fopen($path, "rb"); 
    253  
    254         $arrRet = array(); 
    255         if(!$fp) { 
    256             SC_Utils_Ex::sfErrorHeader(">> " . $path . "の取得に失敗しました。"); 
    257         } else { 
    258             while (!feof($fp)) { 
    259                 $arrCSV = fgetcsv($fp, UPDATE_CSV_LINE_MAX); 
    260                 $arrRet[] = $arrCSV; 
    261             } 
    262             fclose($fp); 
    263         } 
    264  
    265         // CHAR_CODE が EUC-JP 以外の場合は CHAR_CODE へ変換 
    266         if (CHAR_CODE == "EUC-JP") { 
    267             return $arrRet; 
    268         } else { 
    269             $newArrRet = array(); 
    270             foreach ($arrRet as $inKey => $inArr) { 
    271               $inVal = array(); 
    272               if(is_array($inArr)) { 
    273                   foreach($inArr as $key => $val) { 
    274      
    275                     $inVal[$key] = mb_convert_encoding($val, CHAR_CODE, "EUC-JP"); 
    276                   } 
    277                   $newArrRet[$inKey] = $inVal; 
    278               } 
    279             } 
    280             return $newArrRet; 
    281         } 
     255        $query = ''; 
     256        // TODO サイト情報の送信可否設定を行う 
     257        if (true) { 
     258            $query = '?site_url=' . SITE_URL . '&eccube_version=' . ECCUBE_VERSION; 
     259        } 
     260 
     261        $url = UPDATE_HTTP . $query; 
     262        $jsonStr = @file_get_contents($url); 
     263 
     264        $objJson = new Services_JSON; 
     265        $arrTmpData = is_string($jsonStr) ? $objJson->decode($jsonStr) : null; 
     266 
     267        if (empty($arrTmpData)) { 
     268            SC_Utils_Ex::sfErrorHeader(">> 更新情報の取得に失敗しました。"); 
     269            return array(); 
     270        } 
     271 
     272        $arrInfo = array(); 
     273        foreach ($arrTmpData as $objData) { 
     274            $arrInfo[] = get_object_vars($objData); 
     275        } 
     276 
     277        return $arrInfo; 
    282278    } 
    283279} 
Note: See TracChangeset for help on using the changeset viewer.