Changeset 16459


Ignore:
Timestamp:
2007/10/16 22:49:45 (16 years ago)
Author:
adachi
Message:

暫定コミット

Location:
branches/feature-module-update/data/class/pages/upgrade
Files:
1 added
2 edited

Legend:

Unmodified
Added
Removed
  • branches/feature-module-update/data/class/pages/upgrade/LC_Page_Upgrade_Base.php

    r16420 r16459  
    1717 */ 
    1818class LC_Page_Upgrade_Base extends LC_Page { 
     19 
     20    /** Services_Jsonオブジェクト */ 
     21    var $objJson = null; 
     22    /** HTTP_Requestオブジェクト */ 
     23    var $objReq  = null; 
    1924 
    2025    // }}} 
     
    4348        if (PEAR::isError($e)) { 
    4449            return $e; 
     50        } else { 
     51            return $objReq; 
    4552        } 
    46  
    47         if (($code = $objReq->getResponseCode()) !== 200) { 
    48             return PEAR::raiseError('HTTP RESPONSE CODE:' . $code); 
    49         } 
    50  
    51         return $objReq->getResponseBody(); 
    5253    } 
    5354 
     
    6970 
    7071    /** 
     72     * jsonデータを生成する 
     73     * 
     74     * @param string $status ステータス 
     75     * @param string $body エラーメッセージHTMLなど 
     76     * @param integer $errcode エラーコード 
     77     * @param array $addData 追加データ 
     78     * @return string jsonデータ 
     79     */ 
     80    function createJsonData($status, $body = '', $errcode = '', $addData = array()) { 
     81        $arrParams = array( 
     82            'status'  => $status, 
     83            'body'    => $body, 
     84            'errcode' => $errcode, 
     85        ); 
     86        return $this->objJson->encode(array_merge($arrParams, $addData)); 
     87    } 
     88 
     89    /** 
    7190     * ログ出力を行う 
    7291     * 
  • branches/feature-module-update/data/class/pages/upgrade/LC_Page_Upgrade_EchoKey.php

    r16383 r16459  
    1010 
    1111/** 
    12  * XXX のページクラス. 
     12 * オーナーズストア認証キーを返すページクラス. 
    1313 * 
    1414 * @package Page 
     
    1818class LC_Page_Upgrade_EchoKey extends LC_Page { 
    1919 
     20    /** Services_Jsonオブジェクト */ 
     21    var $objJson = null; 
     22    /** SC_FromParamオブジェクト */ 
    2023    var $objForm = null; 
    2124 
     
    2932     */ 
    3033    function init() { 
    31         parent::init(); 
     34        $this->objJson = new Services_JSON(); 
    3235 
    3336        $this->objForm = new SC_FormParam(); 
    34         $this->objForm->addParam('seed', 'seed', '', '', array('EXIST_CHECK', 'ALNUM_CHECK')); 
     37        $this->objForm->addParam('seed', 'seed', MLTEXT_LEN, '', array('EXIST_CHECK', 'ALNUM_CHECK', 'MAX_LENGTH_CHECK')); 
    3538        $this->objForm->setParam($_POST); 
    36  
    37         $this->objJson = new Services_Json; 
    3839    } 
    3940 
     
    4445     */ 
    4546    function process() { 
    46         $objJSON = new Services_JSON(); 
     47        $errFormat = '* error! code:%s / debug:%s'; 
     48 
     49        GC_Utils::gfPrintLog('###Echo Key Start###'); 
     50 
    4751        // リクエストの検証 
    48         if ($this->isValidRequest() !== true) { 
    49             // TODO Bad Requestを返すように変更する 
     52        if ($this->objForm->checkError()) { 
     53            $arrErr = array( 
     54                'status'  => OWNERSSTORE_STATUS_ERROR, 
     55                'errcode' => OWNERSSTORE_ERR_EK_POST_PARAM, 
     56                'body' => '配信サーバとの通信中にエラーが発生しました(ERRORCODE:' . OWNERSSTORE_ERR_EK_POST_PARAM . ')' 
     57            ); 
     58            echo $this->objJson->encode($arrErr); 
     59            GC_Utils::gfPrintLog( 
     60                sprintf($errFormat, $arrErr['errcode'], serialize($_POST)) 
     61            ); 
    5062            exit; 
    5163        } 
     
    5567        // 認証キーが設定されていない場合 
    5668        if (empty($public_key)) { 
    57             // TODO データ形式の統一が必要 
    58             echo serialize('エラーメッセージ'); 
     69            $arrErr = array( 
     70                'status'  => OWNERSSTORE_STATUS_ERROR, 
     71                'errcode' => OWNERSSTORE_ERR_EK_KEY_MISSING, 
     72                'body' => '配信との通信中にエラーが発生しました(ERRORCODE:' . OWNERSSTORE_ERR_EK_KEY_MISSING . ')' 
     73            ); 
     74            echo $this->objJson->encode($arrErr); 
     75            GC_Utils::gfPrintLog( 
     76                sprintf($errFormat, $arrErr['errcode'], serialize($_POST)) 
     77            ); 
    5978            exit; 
    6079        } 
    6180 
    6281        // 認証キー + 配信サーバから送られるランダムな値をsha1()にかけechoする 
    63         echo $objJSON->encode(array('body' => sha1($public_key . $_POST['seed']))); 
     82        $arrParams = array( 
     83            'status' => OWNERSSTORE_STATUS_SUCCESS, 
     84            'body'   => sha1($public_key . $this->objForm->getValue('seed')) 
     85        ); 
     86 
     87        echo $this->objJson->encode($arrParams); 
     88        GC_Utils::gfPrintLog('* echo key ok'); 
    6489        exit; 
    6590    } 
     
    7196     */ 
    7297    function destroy() { 
    73         parent::destroy(); 
     98        GC_Utils::gfPrintLog('###Echo Key End###'); 
    7499    } 
    75100 
    76     /** 
    77      * リクエストの検証 
    78      * 
    79      * @param void 
    80      * @return boolean 
    81      */ 
    82     function isValidRequest() { 
    83         // TODO 未実装 
    84         return true; 
    85  
    86     } 
    87  
    88     /** 
     101     /** 
    89102     * DBから認証キーを取得する 
    90103     * 無い場合はnullを返す 
     
    94107     */ 
    95108    function getPublicKey() { 
    96         $table  = 'dtb_application_settings'; 
     109        $table  = 'dtb_ownersstore_settings'; 
    97110        $col    = 'public_key'; 
    98         $where  = 'application_settings_id = 1'; 
    99111 
    100112        $objQuery = new SC_Query(); 
Note: See TracChangeset for help on using the changeset viewer.