source: branches/version-2_11-dev/data/class/pages/upgrade/LC_Page_Upgrade_Base.php @ 21241

Revision 21241, 3.2 KB checked in by shutta, 13 years ago (diff)

refs #1476 (インクルードしているライブラリをバージョンアップする)
PEAR::HTTP_Requestのアップデート時にaddPostDataArrayメソッドが削除されてしまったのに対応。
独自に追加していたaddPostDataArrayメソッドの書き換え。

  • Property svn:eol-style set to LF
  • Property svn:keywords set to Id
  • Property svn:mime-type set to text/x-httpd-php; charset=UTF-8
RevLine 
[16839]1<?php
2// {{{ requires
[20344]3require_once CLASS_EX_REALDIR . 'page_extends/LC_Page_Ex.php';
[19805]4require_once CLASS_REALDIR . 'pages/upgrade/helper/LC_Upgrade_Helper_Log.php';
5require_once CLASS_REALDIR . 'pages/upgrade/helper/LC_Upgrade_Helper_Json.php';
[21237]6require_once DATA_REALDIR . 'module/HTTP/Request.php';
[16839]7
8/**
9 * オーナーズストアページクラスの基底クラス.
10 *
11 * @package Page
12 * @author LOCKON CO.,LTD.
13 * @version $Id$
14 */
[20344]15class LC_Page_Upgrade_Base extends LC_Page_Ex {
[16839]16    function isValidIP() {
[20562]17        $objLog  = new LC_Upgrade_Helper_Log;
[16839]18        $masterData = new SC_DB_MasterData();
[16843]19        $arrOstoreIPs = $masterData->getMasterData("mtb_ownersstore_ips");
20
[16839]21        if (isset($_SERVER['REMOTE_ADDR'])
[20562]22            && in_array($_SERVER['REMOTE_ADDR'], $arrOstoreIPs))
23        {
24            $objLog->log('* ip ok ' . $_SERVER['REMOTE_ADDR']);
[16839]25            return true;
26        }
[16899]27        $objLog->log('* refused ip ' . $_SERVER['REMOTE_ADDR']);
[16839]28        return false;
29    }
30
31    /**
32     * 自動アップデートが有効かどうかを判定する.
33     *
34     * @param integer $product_id
35     * @return boolean
36     */
37    function autoUpdateEnable($product_id) {
[16873]38        $where = 'module_id = ?';
[20507]39        $objQuery = new SC_Query_Ex();
[16839]40        $arrRet = $objQuery->select('auto_update_flg', 'dtb_module', $where, array($product_id));
41
42        if (isset($arrRet[0]['auto_update_flg'])
43        && $arrRet[0]['auto_update_flg'] === '1') {
44
45            return true;
46        }
47
48        return false;
49    }
50
51    /**
[20970]52     * 配信サーバーへリクエストを送信する.
[16839]53     *
54     * @param string $mode
[20970]55     * @param array $arrParams 追加パラメーター.連想配列で渡す.
[16839]56     * @return string|object レスポンスボディ|エラー時にはPEAR::Errorオブジェクトを返す.
57     */
58    function request($mode, $arrParams = array(), $arrCookies = array()) {
59        $objReq = new HTTP_Request();
60        $objReq->setUrl(OSTORE_URL . 'upgrade/index.php');
61        $objReq->setMethod('POST');
62        $objReq->addPostData('mode', $mode);
[21241]63        foreach ($arrParams as $key => $val) {
64            $objReq->addPostData($key, $val);
65        }
[16839]66
67        foreach ($arrCookies as $cookie) {
68            $objReq->addCookie($cookie['name'], $cookie['value']);
69        }
70
71        $e = $objReq->sendRequest();
72        if (PEAR::isError($e)) {
73            return $e;
74        } else {
75            return $objReq;
76        }
77    }
78
79    function isLoggedInAdminPage() {
[20449]80        $objSess = new SC_Session_Ex();
[16839]81
82        if ($objSess->isSuccess() === SUCCESS) {
83            return true;
84        }
85        return false;
86    }
87
88    /**
89     * 予測されにくいランダム値を生成する.
90     *
91     * @return string
92     */
93    function createSeed() {
94        return sha1(uniqid(rand(), true) . time());
95    }
96
97    function getPublicKey() {
[20507]98        $objQuery = new SC_Query_Ex();
[16839]99        $arrRet = $objQuery->select('*', 'dtb_ownersstore_settings');
100        return isset($arrRet[0]['public_key'])
101            ? $arrRet[0]['public_key']
102            : null;
103    }
[20336]104
105    /**
106     * オーナーズストアからの POST のため, トークンチェックしない.
107     */
108    function doValidToken() {
109        // nothing.
110    }
[16839]111}
112?>
Note: See TracBrowser for help on using the repository browser.