Changeset 19856 for branches/version-2_5-dev/data
- Timestamp:
- 2011/01/08 06:19:28 (13 years ago)
- Location:
- branches/version-2_5-dev/data
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/version-2_5-dev/data/Smarty/templates/admin/basis/index.tpl
r19833 r19856 244 244 </table> 245 245 246 <h2>管理画面設定</h2> 247 <table id="basis-index-admin"> 248 <tr> 249 <th>ディレクトリ名</th> 250 <td> 251 <!--{assign var=key value="admin_dir"}--> 252 <span class="attention"><!--{$arrErr[$key]}--></span> 253 <!--{$smarty.const.URL_PATH}--><input type="text" name="<!--{$key}-->" value="<!--{$arrForm[$key]|h}-->" maxlength="<!--{$smarty.const.ID_MAX_LEN}-->" size="40" class="box40" style="<!--{if $arrErr[$key] != ""}-->background-color: <!--{$smarty.const.ERR_COLOR}-->;<!--{/if}-->"/>/ 254 </td> 255 </tr> 256 <tr> 257 <th>SSL制限</th> 258 <td> 259 <!--{assign var=key value="admin_force_ssl"}--> 260 <span class="attention"><!--{$arrErr[$key]}--></span> 261 <input type="checkbox" name="<!--{$key}-->" value="1" id="<!--{$key}-->" <!--{if $arrForm[$key] == 1}-->checked="checked"<!--{/if}--> /><label for="<!--{$key}-->">SSLを強制する。</label> 262 </td> 263 </tr> 264 <tr> 265 <th>IP制限</th> 266 <td> 267 <!--{assign var=key value="admin_allow_hosts"}--> 268 <span class="attention"><!--{$arrErr[$key]}--></span> 269 <textarea name="<!--{$key}-->" cols="60" rows="8" class="area60" style="<!--{$arrErr[$key]|sfGetErrorColor}-->" ><!--{$arrForm[$key]|h}--></textarea> 270 <span class="attention"> (上限<!--{$smarty.const.LTEXT_LEN}-->文字)</span><br /> 271 <span class="fs10">※管理画面へのアクセスを特定のIPアドレスからの接続のみに制限します。アクセスを許可するIPアドレスを1行づつ入力してください。何も入力しない場合は全てを許可します。</span><br /> 272 </td> 273 </tr> 274 </table> 275 276 246 277 <h2>定休日設定</h2> 247 278 <table id="basis-index-holiday"> -
branches/version-2_5-dev/data/class/SC_CheckError.php
r19854 r19856 596 596 //改行コードが含まれている場合には配列に変換 597 597 $params = str_replace("\r","",$this->arrParam[$value[1]]); 598 if(strpos("\n",$params) === false){ 599 $params .= "\n"; 600 } 601 $params = explode("\n",$params); 602 foreach($params as $param){ 603 $param = trim($param); 604 if(long2ip(ip2long($param)) != trim($param) and !empty($param)) { 605 $this->arrErr[$value[1]] = "※ " . $value[0] . "に正しい形式のIPアドレスを入力してください。<br />"; 598 if(!empty($params)){ 599 if(strpos($params,"\n") === false){ 600 $params .= "\n"; 601 } 602 $params = explode("\n",$params); 603 foreach($params as $param){ 604 $param = trim($param); 605 if(long2ip(ip2long($param)) != trim($param) and !empty($param)) { 606 $this->arrErr[$value[1]] = "※ " . $value[0] . "に正しい形式のIPアドレスを入力してください。<br />"; 607 } 606 608 } 607 609 } -
branches/version-2_5-dev/data/class/pages/admin/basis/LC_Page_Admin_Basis.php
r19805 r19856 114 114 break; 115 115 } 116 $this->tpl_onload = "fnCheckLimit('downloadable_days', 'downloadable_days_unlimited', '" . DISABLED_RGB . "'); window.alert('SHOPマスタの登録が完了しました。 ');";116 $this->tpl_onload = "fnCheckLimit('downloadable_days', 'downloadable_days_unlimited', '" . DISABLED_RGB . "'); window.alert('SHOPマスタの登録が完了しました。管理画面のURLを変更した場合は、新しいURLにアクセスしてください。');"; 117 117 } 118 118 if( empty($this->arrForm['regular_holiday_ids']) ) { … … 129 129 $regular_holiday_ids = explode('|', $this->arrForm['regular_holiday_ids']); 130 130 $this->arrForm['regular_holiday_ids'] = $regular_holiday_ids; 131 $admin_dir = str_replace("/","",ADMIN_DIR); 132 $this->arrForm += array("admin_dir"=>$admin_dir); 133 $this->arrForm += array("admin_force_ssl"=>ADMIN_FORCE_SSL); 134 if(defined("ADMIN_ALLOW_HOSTS")){ 135 $allow_hosts = unserialize(ADMIN_ALLOW_HOSTS); 136 $this->arrForm += array("admin_allow_hosts"=>implode("\n",$allow_hosts)); 137 }else{ 138 $this->arrForm += array("admin_allow_hosts"=>""); 139 } 131 140 $this->tpl_onload = "fnCheckLimit('downloadable_days', 'downloadable_days_unlimited', '" . DISABLED_RGB . "');"; 132 141 } … … 192 201 } 193 202 $sqlval['update_date'] = 'Now()'; 203 $this->lfUpdateAdminData($array); 194 204 // UPDATEの実行 195 205 $ret = $objQuery->update("dtb_baseinfo", $sqlval); … … 203 213 } 204 214 $sqlval['update_date'] = 'Now()'; 215 $this->lfUpdateAdminData($array); 205 216 // INSERTの実行 206 217 $ret = $objQuery->insert("dtb_baseinfo", $sqlval); 218 } 219 220 function lfUpdateAdminData($array){ 221 $admin_dir = trim($array['admin_dir'])."/"; 222 $admin_force_ssl = "FALSE"; 223 if($array['admin_force_ssl'] == 1){ 224 $admin_force_ssl = "TRUE"; 225 } 226 $admin_allow_hosts = explode("\n",$array['admin_allow_hosts']); 227 foreach($admin_allow_hosts as $key=>$host){ 228 $host = trim($host); 229 if(strlen($host) >= 8){ 230 $admin_allow_hosts[$key] = $host; 231 }else{ 232 unset($admin_allow_hosts[$key]); 233 } 234 } 235 $admin_allow_hosts = serialize($admin_allow_hosts); 236 //権限チェック 237 if(!is_writable(DATA_REALDIR . "install.php")){ 238 $this->arrErr["admin_force_ssl"] = DATA_REALDIR . "install.phpを変更する権限がありません。"; 239 } 240 if(count($this->arrErr) > 0){ 241 return false; 242 } 243 //install.phpの書き換え 244 $installData = file(DATA_REALDIR."install.php",FILE_IGNORE_NEW_LINES); 245 $diff = 0; 246 foreach($installData as $key=>$line){ 247 if(strpos($line,"ADMIN_DIR") !== false and ADMIN_DIR != $admin_dir){ 248 if(!is_writable(HTML_REALDIR . ADMIN_DIR)){ 249 $this->arrErr["admin_dir"] = URL_PATH.ADMIN_DIR."のディレクトリ名を変更する権限がありません。"; 250 } 251 if(!is_writable(USER_TEMPLATE_REALDIR . ADMIN_DIR)){ 252 $this->arrErr["admin_dir"] = USER_TEMPLATE_REALDIR . ADMIN_DIR."のディレクトリ名を変更する権限がありません。"; 253 } 254 if(count($this->arrErr) > 0 ){ 255 return false; 256 }else{ 257 $installData[$key] = 'define("ADMIN_DIR","'.$admin_dir.'");'; 258 //管理画面ディレクトリのリネーム 259 rename(HTML_REALDIR.ADMIN_DIR,HTML_REALDIR.$admin_dir); 260 rename(USER_TEMPLATE_REALDIR.ADMIN_DIR,USER_TEMPLATE_REALDIR.$admin_dir); 261 $diff ++; 262 } 263 } 264 265 if(strpos($line,"ADMIN_FORCE_SSL") !== false and ADMIN_FORCE_SSL !== (boolean)$array['admin_force_ssl']){ 266 $installData[$key] = 'define("ADMIN_FORCE_SSL",'.$admin_force_ssl.');'; 267 $diff ++; 268 } 269 if(strpos($line,"ADMIN_ALLOW_HOSTS") !== false and ADMIN_ALLOW_HOSTS != $admin_allow_hosts) { 270 $installData[$key] = "define('ADMIN_ALLOW_HOSTS','".$admin_allow_hosts."');"; 271 $diff ++; 272 } 273 } 274 275 if($diff > 0) { 276 $fp = fopen(DATA_REALDIR . "install.php","wb"); 277 $installData = implode("\n",$installData); 278 echo $installData; 279 fwrite($fp, $installData); 280 fclose($fp); 281 } 282 return true; 207 283 } 208 284 … … 239 315 $arrConvList['email03'] = "a"; 240 316 $arrConvList['email04'] = "a"; 317 $arrConvList['admin_dir'] = "a"; 318 $arrConvList['admin_force_ssl'] = "n"; 319 $arrConvList['admin_allow_hosts'] = "a"; 241 320 $arrConvList['tax'] = "n"; 242 321 $arrConvList['free_rule'] = "n"; … … 272 351 $objErr->doFunc(array('メール送信元メールアドレス', "email03", STEXT_LEN) ,array("EXIST_CHECK", "EMAIL_CHECK", "EMAIL_CHAR_CHECK", "MAX_LENGTH_CHECK")); 273 352 $objErr->doFunc(array('送信エラー受付メールアドレス', "email04", STEXT_LEN) ,array("EXIST_CHECK", "EMAIL_CHECK", "EMAIL_CHAR_CHECK","MAX_LENGTH_CHECK")); 353 //管理画面設定チェック 354 $objErr->doFunc(array('ディレクトリ名', "admin_dir", ID_MAX_LEN) ,array("EXIST_CHECK","SPTAB_CHECK", "ALNUM_CHECK")); 355 $objErr->doFunc(array('SSL制限', "admin_force_ssl", 1) ,array("NUM_CHECK", "MAX_LENGTH_CHECK")); 356 $objErr->doFunc(array('IP制限', "admin_allow_hosts", LTEXT_LEN) ,array("IP_CHECK", "MAX_LENGTH_CHECK")); 357 358 274 359 // 電話番号チェック 275 360 $objErr->doFunc(array("TEL", "tel01", "tel02", "tel03"), array("TEL_CHECK"));
Note: See TracChangeset
for help on using the changeset viewer.