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

source: OpenPNE/trunk/webapp/lib/OpenPNE/Config.php @ 7512

Last change on this file since 7512 was 7512, checked in by ebihara, 15 years ago

#2542:管理画面配色設定に対応表へのリンクを追加した

File size: 9.2 KB
Line 
1<?php
2/**
3 * @copyright 2005-2008 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', 'IS_GET_EASY_ACCESS_ID',
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', 'LOGIN_URL_KTAI',
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_FRIEND_HALF',
33            'WORD_MY_FRIEND', 'WORD_MY_FRIEND_HALF',
34            'WORD_DIARY', 'WORD_DIARY_HALF',
35            'WORD_COMMUNITY', 'WORD_COMMUNITY_HALF',
36            'WORD_NICKNAME', 'WORD_NICKNAME_HALF',
37            'SORT_ORDER_NICK', 'SORT_ORDER_BIRTH',
38            'OPENPNE_ENABLE_ROLLOVER',
39            'OPENPNE_DISP_POINT', 'OPENPNE_DISP_RANK',
40            'OPENPNE_IS_POINT_ADMIN',
41            'AFFILIATE_TAG',
42            'AFFILIATE_KTAI_TAG',
43            'UNUSED_MAILS',
44            'USE_EXTRA_SERVICE',
45            'USE_BIZ_DIR',
46            'SEND_USER_DATA',
47            'LIMIT_DOMAIN1',
48            'LIMIT_DOMAIN2',
49            'LIMIT_DOMAIN3',
50            'LIMIT_DOMAIN4',
51            'LIMIT_DOMAIN5',
52            'OPENPNE_USE_POINT_RANK',
53            'OPENPNE_SKIN_THEME',
54            'OPENPNE_USE_KTAI_LOGO',
55            'OPENPNE_IS_SET_KTAI_FONT_SIZE',
56            'OPENPNE_USE_RANKING',
57            'OPENPNE_USE_DECORATION',
58            'OPENPNE_USE_ALBUM',
59            'OPENPNE_ALBUM_LIMIT',
60            'OPENPNE_DISP_KTAI_SNS_PRIVACY',
61            'DISPLAY_NEWDIARYTOPIC_HOME',
62        );
63    }
64
65    function &getInstance()
66    {
67        static $singleton;
68        if (empty($singleton)) {
69            $singleton = new OpenPNE_Config();
70        }
71        return $singleton;
72    }
73
74    function is_allowed($name)
75    {
76        return in_array($name, $this->allowed_names);
77    }
78
79    /**
80     * c_admin_config から設定値を読み込み
81     * ひとまず定数として定義
82     */
83    function db_load_config()
84    {
85        $sql = 'SELECT * FROM c_admin_config';
86        $configs = db_get_all($sql);
87
88        foreach ($configs as $config) {
89            if (!$this->is_allowed($config['name'])) continue;
90
91            defined($config['name']) or define($config['name'], $config['value']);
92        }
93    }
94
95    /**
96     * bind_default()
97     *
98     * @access public
99     */
100    function bind_default()
101    {
102        $defaults = array(
103        // 管理画面
104            'SNS_NAME' => 'MySNS',
105            'SNS_TITLE' => '',
106            'ADMIN_EMAIL' => 'sns@' . MAIL_SERVER_DOMAIN,
107            'IS_CLOSED_SNS' => true,
108            'IS_USER_INVITE' => true,
109            'IS_GET_EASY_ACCESS_ID' => 1,
110            'OPENPNE_ENABLE_PC' => true,
111            'OPENPNE_ENABLE_KTAI' => true,
112            'OPENPNE_REGIST_FROM' => 3,
113            'AMAZON_AFFID'   => 'snsoftjp-22',
114            'LOGIN_URL_PC' => '',
115            'LOGIN_URL_KTAI' => '',
116            'DISPLAY_LOGIN' => 1,
117            'DISPLAY_SCHEDULE_HOME' => 1,
118            'DISPLAY_SEARCH_HOME' => 1,
119            'OPENPNE_USE_RANKING' => 1,
120            'DAILY_NEWS_DAY' => '月,木',
121            'USE_BOOKMARK_FEED' => false,
122            'USE_SHINOBIASHI' => false,
123            'USE_DIARY_CATEGORY' => true,
124            'OPENPNE_USE_CMD_TAG' => true,
125            'LOGIN_CHECK_ENABLE' => false,
126            'LOGIN_CHECK_NUM' => 1000,
127            'LOGIN_CHECK_TIME' => 6,
128            'LOGIN_REJECT_TIME' => 30,
129            'CATCH_COPY' => '',
130            'OPERATION_COMPANY' => '',
131            'COPYRIGHT' => '',
132            'WORD_FRIEND' => 'フレンド',
133            'WORD_FRIEND_HALF' => 'フレンド',
134            'WORD_MY_FRIEND' => 'マイフレンド',
135            'WORD_MY_FRIEND_HALF' => 'マイフレンド',
136            'WORD_DIARY' => '日記',
137            'WORD_DIARY_HALF' => '日記',
138            'WORD_COMMUNITY' => 'コミュニティ',
139            'WORD_COMMUNITY_HALF' => 'コミュニティ',
140            'WORD_NICKNAME' => 'ニックネーム',
141            'WORD_NICKNAME_HALF' => 'ニックネーム',
142            'SORT_ORDER_NICK'  => 0,
143            'SORT_ORDER_BIRTH' => 0,
144            'OPENPNE_USE_FLASH_LIST' => false,
145            'OPENPNE_ENABLE_ROLLOVER' => true,
146            'AFFILIATE_TAG' => '',
147            'AFFILIATE_KTAI_TAG' => '',
148            'UNUSED_MAILS' => '',
149            'USE_EXTRA_SERVICE' => '1',
150            'USE_BIZ_DIR' => '0',
151            'SEND_USER_DATA' => '0',
152            'LIMIT_DOMAIN1' => '',
153            'LIMIT_DOMAIN2' => '',
154            'LIMIT_DOMAIN3' => '',
155            'LIMIT_DOMAIN4' => '',
156            'LIMIT_DOMAIN5' => '',
157            'OPENPNE_USE_POINT_RANK' => 0,
158            'OPENPNE_DISP_POINT' => 1,
159            'OPENPNE_DISP_RANK' => 1,
160            'OPENPNE_IS_POINT_ADMIN' => 1,
161            'OPENPNE_SKIN_THEME' => '005_openpne_blue',
162            'OPENPNE_IS_SET_KTAI_FONT_SIZE' => 1,
163            'OPENPNE_USE_DECORATION' => 1,
164            'OPENPNE_USE_ALBUM' => 1,
165            'OPENPNE_ALBUM_LIMIT' => '',
166            'OPENPNE_DISP_KTAI_SNS_PRIVACY' => 1,
167            'DISPLAY_NEWDIARYTOPIC_HOME' => 0,
168        // config.php
169            'OPENPNE_RSS_CACHE_DIR' => OPENPNE_VAR_DIR . '/rss_cache',
170            'OPENPNE_PUBLIC_HTML_DIR' => OPENPNE_DIR . '/public_html',
171            'OPENPNE_UNDER_MAINTENANCE' => false,
172            'OPENPNE_DEBUGGING' => false,
173            'OPENPNE_TRIM_DOUBLEBYTE_SPACE' => true,
174            'OPENPNE_USE_API' => false,
175            'SESSION_STORAGE' => 0,
176            'OPENPNE_TMP_IMAGE_DB' => false,
177            'OPENPNE_TMP_FILE_DB' => false,
178            'OPENPNE_USE_PARTIAL_SSL' => false,
179            'OPENPNE_USE_SSL_PARAM' => false,
180            'OPENPNE_IMG_URL' => '',
181            'OPENPNE_IMG_CACHE_PUBLIC' => false,
182            'OPENPNE_IMG_CACHE_PREFIX' => 'img_cache_',
183            'IMAGE_MAX_FILESIZE' => 300,
184            'IMAGE_MAX_WIDTH' => 0,
185            'IMAGE_MAX_HEIGHT' => 0,
186            'OPENPNE_USE_FILEUPLOAD' => false,
187            'FILE_MAX_FILESIZE' => 300,
188            'FILE_ALLOWED_EXTENTIONS' => '',
189            'MAIL_ADDRESS_PREFIX' => '',
190            'MAIL_ADDRESS_HASHED' => true,
191            'MAIL_HAN2ZEN' => true,
192            'MAIL_HEADER_SEP' => 'LF',
193            'MAIL_FROM_ENCODING' => 'auto',
194            'MAIL_WRAP_WIDTH' => 200,
195            'MAIL_SET_ENVFROM' => true,
196            'MAIL_ENVFROM' => '',
197            'LOG_C_ACCESS_LOG' => false,
198            'OPENPNE_ADMIN_URL' => '',
199            'ADMIN_MODULE_NAME' => 'admin',
200            'SERVER_IP_KEY' => 'REMOTE_ADDR',
201            'OPENPNE_USE_FUNCTION_CACHE' => false,
202            'OPENPNE_USE_MYSQL_HINT' => false,
203            'OPENPNE_USE_OLD_CRYPT_BLOWFISH' => false,
204            'OPENPNE_SESSION_CHECK_URL' => false,
205            'OPENPNE_DASHBOARD_URL' => 'http://ad.pne.jp/dashboard/',
206            'OPENPNE_AUTH_MODE' => 'email',
207            'IS_SLAVEPNE_EMAIL_REGIST' => true,
208            'SLAVEPNE_SYOUTAI_URL_PC' => '',
209            'SLAVEPNE_SYOUTAI_URL_KTAI' => '',
210            'SLAVEPNE_PASSWORD_QUERY_URL_PC' => '',
211            'SLAVEPNE_PASSWORD_QUERY_URL_KTAI' => '',
212            'OPENPNE_IMG_KTAI_MAX_WIDTH' => 240,
213            'OPENPNE_IMG_KTAI_MAX_HEIGHT' => 320,
214            'OPENPNE_MAINTENANCE_TEXT' => '',
215            'CHECK_KTAI_IP' => false,
216            'OPENPNE_WEATHER_URL' => 'http://weather.yahoo.co.jp/weather/',
217            'OPENPNE_USE_KTAI_LOGO' => true,
218            'OPENPNE_USE_FUNCTION_CACHE_MEMCACHE' => false,
219            'OPENPNE_LOG_FUNCTION' => '',
220            'OPENPNE_EMOJI_DOCOMO_FOR_PC' => true,
221            'OPENPNE_USE_HTTP_PROXY' => false,
222            'OPENPNE_HTTP_PROXY_HOST' => 'proxy.example.com',
223            'OPENPNE_HTTP_PROXY_PORT' => 8080,
224            'OPENPNE_SEND_NO_CACHE_HEADER' => false,
225            'OPENPNE_ADMIN_CONVERT_URL' => true,
226            'CHECK_IMG_AUTH' => false,
227            'OPENPNE_IS_OPENID_SERVER' => false,
228        // 固定値
229            'AMAZON_TOKEN'   => '1WZYY1W9YF49AGM0RTG2',
230            'AMAZON_LOCALE'  => 'jp',
231            'AMAZON_BASEURL' => 'http://webservices.amazon.co.jp/onca/xml?Service=AWSECommerceService',
232            'OPENPNE_REGIST_FROM_NONE'   => 0,
233            'OPENPNE_REGIST_FROM_PC'     => 1,
234            'OPENPNE_REGIST_FROM_KTAI'   => 2,
235            'OPENPNE_REGIST_FROM_PCKTAI' => 3,
236            'OPENPNE_FUNCTION_CACHE_LIFETIME_FAST' => 300,
237            'OPENPNE_FUNCTION_CACHE_LIFETIME_SHORT' => 1200,
238            'OPENPNE_FUNCTION_CACHE_LIFETIME_LONG' => 3600,
239            'OPENPNE_DECORATION_CMD_URL' => 'http://www.openpne.jp/cmd/',
240            'OPENPNE_EDIT_COLOR_SAMPLE_URL' => 'http://www.openpne.jp/openpne-edit_color/',
241        );
242
243        foreach ($defaults as $key => $value) {
244            defined($key) or define($key, $value);
245        }
246    }
247}
248
249?>
Note: See TracBrowser for help on using the repository browser.