ここの情報は古いです。ご理解頂いた上でお取り扱いください。

source: OpenPNE/branches/ebihara/dev_2_6/webapp/lib/OpenPNE/Config.php @ 949

Last change on this file since 949 was 949, checked in by ebihara, 14 years ago

管理画面から日記カテゴリ機能使用設定ができるように

File size: 5.5 KB
Line 
1<?php
2/**
3 * @copyright 2005-2006 OpenPNE Project
4 * @license   http://www.php.net/license/3_01.txt PHP License 3.01
5 */
6
7/**
8 * 設定項目の管理クラス
9 */
10class OpenPNE_Config
11{
12    var $allowed_names = array();
13
14    /**
15     * constructor
16     * @access private
17     */
18    function OpenPNE_Config()
19    {
20        $this->allowed_names = array(
21            'SNS_NAME', 'SNS_TITLE',
22            'ADMIN_EMAIL', 'AMAZON_AFFID',
23            'CATCH_COPY', 'OPERATION_COMPANY', 'COPYRIGHT',
24            'IS_CLOSED_SNS', 'IS_USER_INVITE',
25            'OPENPNE_ENABLE_PC', 'OPENPNE_ENABLE_KTAI',
26            'OPENPNE_REGIST_FROM',
27            'LOGIN_CHECK_ENABLE','LOGIN_CHECK_TIME','LOGIN_CHECK_NUM','LOGIN_REJECT_TIME',
28            'LOGIN_URL_PC', 'DISPLAY_LOGIN',
29            'DISPLAY_SCHEDULE_HOME', 'DISPLAY_SEARCH_HOME', 'DAILY_NEWS_DAY',
30            'USE_BOOKMARK_FEED', 'USE_SHINOBIASHI', 'USE_DIARY_CATEGORY',
31            'OPENPNE_USE_CMD_TAG', 'OPENPNE_USE_FLASH_LIST',
32            'WORD_FRIEND','WORD_MY_FRIEND',
33            'WORD_FRIEND_HALF','WORD_MY_FRIEND_HALF',
34            'SORT_ORDER_NICK', 'SORT_ORDER_BIRTH',
35            'OPENPNE_ENABLE_ROLLOVER',
36            'SKIN_VERSION',
37            'AFFILIATE_TAG',
38            'UNUSED_MAILS',
39            'DISPLAY_OPENPNE_INFO',
40        );
41    }
42
43    function &getInstance()
44    {
45        static $singleton;
46        if (empty($singleton)) {
47            $singleton = new OpenPNE_Config();
48        }
49        return $singleton;
50    }
51
52    function is_allowed($name)
53    {
54        return in_array($name, $this->allowed_names);
55    }
56
57    /**
58     * c_admin_config から設定値を読み込み
59     * ひとまず定数として定義
60     */
61    function db_load_config()
62    {
63        $sql = 'SELECT * FROM c_admin_config';
64        $configs = db_get_all($sql);
65
66        foreach ($configs as $config) {
67            if (!$this->is_allowed($config['name'])) continue;
68
69            defined($config['name']) or define($config['name'], $config['value']);
70        }
71    }
72
73    /**
74     * bind_default()
75     *
76     * @access public
77     */
78    function bind_default()
79    {
80        $defaults = array(
81        // 管理画面
82            'SNS_NAME' => 'MySNS',
83            'SNS_TITLE' => '',
84            'ADMIN_EMAIL' => 'sns@' . MAIL_SERVER_DOMAIN,
85            'IS_CLOSED_SNS' => true,
86            'IS_USER_INVITE' => true,
87            'OPENPNE_ENABLE_PC' => true,
88            'OPENPNE_ENABLE_KTAI' => true,
89            'OPENPNE_REGIST_FROM' => 3,
90            'AMAZON_AFFID'   => 'snsoftjp-22',
91            'LOGIN_URL_PC' => '',
92            'DISPLAY_LOGIN' => 1,
93            'DISPLAY_SCHEDULE_HOME' => 1,
94            'DISPLAY_SEARCH_HOME' => 1,
95            'DAILY_NEWS_DAY' => '月,木',
96            'USE_BOOKMARK_FEED' => false,
97            'USE_SHINOBIASHI' => false,
98            'USE_DIARY_CATEGORY' => true,
99            'OPENPNE_USE_CMD_TAG' => true,
100            'LOGIN_CHECK_ENABLE' => false,
101            'LOGIN_CHECK_NUM' => 1000,
102            'LOGIN_CHECK_TIME' => 6,
103            'LOGIN_REJECT_TIME' => 30,
104            'CATCH_COPY' => '',
105            'OPERATION_COMPANY' => '',
106            'COPYRIGHT' => '',
107            'WORD_FRIEND' => 'フレンド',
108            'WORD_FRIEND_HALF' => 'フレンド',
109            'WORD_MY_FRIEND' => 'マイフレンド',
110            'WORD_MY_FRIEND_HALF' => 'マイフレンド',
111            'SORT_ORDER_NICK'  => 0,
112            'SORT_ORDER_BIRTH' => 0,
113            'OPENPNE_ENABLE_ROLLOVER' => true,
114            'SKIN_VERSION' => '2.0',
115            'AFFILIATE_TAG' => '',
116            'UNUSED_MAILS' => '',
117        // config.php
118            'OPENPNE_RSS_CACHE_DIR' => OPENPNE_VAR_DIR . '/rss_cache',
119            'OPENPNE_UNDER_MAINTENANCE' => false,
120            'OPENPNE_DEBUGGING' => false,
121            'OPENPNE_TRIM_DOUBLEBYTE_SPACE' => true,
122            'OPENPNE_USE_API' => false,
123            'SESSION_SAVE_DB' => false,
124            'OPENPNE_TMP_IMAGE_DB' => false,
125            'OPENPNE_USE_PARTIAL_SSL' => false,
126            'OPENPNE_USE_SSL_PARAM' => false,
127            'OPENPNE_IMG_URL' => '',
128            'OPENPNE_IMG_CACHE_PUBLIC' => false,
129            'OPENPNE_IMG_CACHE_PREFIX' => 'img_cache_',
130            'IMAGE_MAX_FILESIZE' => 300,
131            'IMAGE_MAX_WIDTH' => 0,
132            'IMAGE_MAX_HEIGHT' => 0,
133            'MAIL_ADDRESS_PREFIX' => '',
134            'MAIL_ADDRESS_HASHED' => true,
135            'MAIL_HAN2ZEN' => true,
136            'MAIL_HEADER_SEP' => 'LF',
137            'MAIL_FROM_ENCODING' => 'auto',
138            'MAIL_WRAP_WIDTH' => 200,
139            'MAIL_SET_ENVFROM' => true,
140            'MAIL_ENVFROM' => '',
141            'LOG_C_ACCESS_LOG' => false,
142            'OPENPNE_ADMIN_URL' => '',
143            'ADMIN_MODULE_NAME' => 'admin',
144            'ADMIN_INIT_CONFIG' => true,
145            'SERVER_IP_KEY' => 'REMOTE_ADDR',
146            'OPENPNE_USE_CMD_TAG' => true,
147            'OPENPNE_USE_FUNCTION_CACHE' => false,
148            'OPENPNE_USE_MYSQL_HINT' => false,
149            'OPENPNE_USE_FLASH_LIST' => true,
150            'OPENPNE_USE_COMMU_MAP' => true,
151            'OPENPNE_USE_OLD_CRYPT_BLOWFISH' => false,
152            'OPENPNE_SESSION_CHECK_URL' => false,
153            'OPENPNE_INFO_URL' => 'http://info.openpne.jp/rss',
154            'DISPLAY_OPENPNE_INFO' => true,
155        // 固定値
156            'AMAZON_TOKEN'   => '1WZYY1W9YF49AGM0RTG2',
157            'AMAZON_LOCALE'  => 'jp',
158            'AMAZON_BASEURL' => 'http://xml-jp.amznxslt.com/onca/xml3',
159        );
160
161        foreach ($defaults as $key => $value) {
162            defined($key) or define($key, $value);
163        }
164    }
165}
166
167?>
Note: See TracBrowser for help on using the repository browser.