Changeset 19859


Ignore:
Timestamp:
2011/01/08 18:03:43 (10 years ago)
Author:
tao
Message:

#841 リネームしたい管理ディレクトリの存在確認など、細かい点を修正

Location:
branches/version-2_5-dev
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • branches/version-2_5-dev/data/Smarty/templates/admin/basis/index.tpl

    r19856 r19859  
    259259        <!--{assign var=key value="admin_force_ssl"}--> 
    260260        <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> 
     261        <input type="checkbox" name="<!--{$key}-->" value="1" id="<!--{$key}-->" <!--{if $arrForm[$key] == 1}-->checked="checked"<!--{/if}--><!--{if !$tpl_enable_ssl}--> disabled="disabled"<!--{/if}--> /><label for="<!--{$key}-->">SSLを強制する。</label> 
    262262      </td> 
    263263    </tr> 
  • branches/version-2_5-dev/data/class/pages/admin/basis/LC_Page_Admin_Basis.php

    r19856 r19859  
    5252        $this->arrTAXRULE = $masterData->getMasterData("mtb_taxrule"); 
    5353        $this->tpl_subtitle = 'SHOPマスタ'; 
     54        $this->tpl_enable_ssl = FALSE; 
     55        if(strpos(HTTPS_URL,"https://") !== FALSE){ 
     56            $this->tpl_enable_ssl = TRUE; 
     57        } 
    5458 
    5559        //定休日用配列 
     
    218222    } 
    219223     
     224    //管理画面ディレクトリのリネームとinstall.phpの変更 
    220225    function lfUpdateAdminData($array){ 
    221226        $admin_dir = trim($array['admin_dir'])."/"; 
     
    234239        } 
    235240        $admin_allow_hosts = serialize($admin_allow_hosts); 
     241 
    236242        //権限チェック  
    237243        if(!is_writable(DATA_REALDIR . "install.php")){ 
    238244            $this->arrErr["admin_force_ssl"] = DATA_REALDIR . "install.phpを変更する権限がありません。"; 
    239         } 
    240         if(count($this->arrErr) > 0){ 
    241245            return false; 
    242246        } 
     247 
    243248        //install.phpの書き換え 
    244249        $installData = file(DATA_REALDIR."install.php",FILE_IGNORE_NEW_LINES); 
     
    246251        foreach($installData as $key=>$line){ 
    247252            if(strpos($line,"ADMIN_DIR") !== false and ADMIN_DIR != $admin_dir){ 
     253                //既存ディレクトリのチェック 
     254                if(file_exists(HTML_REALDIR.$admin_dir)){ 
     255                    $this->arrErr["admin_dir"] .= HTML_REALDIR.$admin_dir."は既に存在しています。別のディレクトリ名を指定してください。"; 
     256                } 
     257                if(file_exists(USER_TEMPLATE_REALDIR.$admin_dir)){ 
     258                    $this->arrErr["admin_dir"] .= USER_TEMPLATE_REALDIR.$admin_dir."は既に存在しています。別のディレクトリ名を指定してください。"; 
     259                } 
     260                //権限チェック 
    248261                if(!is_writable(HTML_REALDIR . ADMIN_DIR)){ 
    249                     $this->arrErr["admin_dir"] = URL_PATH.ADMIN_DIR."のディレクトリ名を変更する権限がありません。"; 
     262                    $this->arrErr["admin_dir"] .= URL_PATH.ADMIN_DIR."のディレクトリ名を変更する権限がありません。"; 
    250263                } 
    251264                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{ 
     265                    $this->arrErr["admin_dir"] .= USER_TEMPLATE_REALDIR . ADMIN_DIR."のディレクトリ名を変更する権限がありません。";         
     266                } 
     267                if(count($this->arrErr) == 0 ){ 
    257268                    $installData[$key] = 'define("ADMIN_DIR","'.$admin_dir.'");'; 
    258269                    //管理画面ディレクトリのリネーム 
  • branches/version-2_5-dev/html/install/index.php

    r19856 r19859  
    113113        // 設定ファイルの生成 
    114114        lfMakeConfigFile(); 
    115         if(!renameAdminDir($objWebParam->getValue('admin_dir'))){ 
    116             $objPage->arrErr["all"] .= "管理者ディレクトリのリネームに失敗しました。権限を確認してください。"; 
     115        if($err = renameAdminDir($objWebParam->getValue('admin_dir')) !== TRUE){ 
     116            $objPage->arrErr["all"] .= $err; 
    117117            $objPage = lfDispStep2($objPage); 
    118118        }else{ 
     
    394394    $objPage->tpl_mainpage = 'step0.tpl'; 
    395395 
     396    $admin_dir = "admin/"; 
     397    if(defined("ADMIN_DIR")){ 
     398        $admin_dir = ADMIN_DIR; 
     399    } 
     400 
    396401    // プログラムで書込みされるファイル・ディレクトリ 
    397402    $arrWriteFile = array( 
     
    405410        DATA_REALDIR . "downloads/", 
    406411        DATA_REALDIR . "upload/", 
    407         HTML_REALDIR . "admin/" 
     412        HTML_REALDIR . $admin_dir 
    408413    ); 
    409414 
     
    737742    // パスワードのチェック 
    738743    $objErr->doFunc( array("管理者:パスワード",'login_pass',ID_MIN_LEN , ID_MAX_LEN ) ,array("SPTAB_CHECK" ,"NUM_RANGE_CHECK" )); 
     744 
     745    // 管理画面ディレクトリのチェック 
     746    $objErr->doFunc( array("管理画面:ディレクトリ",'admin_dir',ID_MIN_LEN , ID_MAX_LEN ) ,array("SPTAB_CHECK" ,"NUM_RANGE_CHECK" )); 
     747    if(file_exists(HTML_REALDIR.$objFormParam->getValue('admin_dir')) OR file_exists(USER_TEMPLATE_REALDIR.$objFormParam->getValue('admin_dir'))){ 
     748        $objErr->arrErr["admin_dir"] = "指定した管理画面ディレクトリは既に存在しています。別の名前を指定していください。"; 
     749    } 
     750 
    739751 
    740752    return $objErr->arrErr; 
     
    919931     
    920932    //管理画面SSL制限 
    921     $force_ssl = FALSE; 
    922     if($objWebParam->getValue('admin_force_ssl') == 1){ 
     933    if($objWebParam->getValue('admin_force_ssl') == 1 and strpos($secure_url,"https://") !== FALSE){ 
    923934        $force_ssl = "TRUE"; 
    924935    }else{ 
     
    10371048 */ 
    10381049function renameAdminDir($admin_dir){ 
     1050    if(file_exists(HTML_REALDIR.str_replace("/","",$admin_dir)) OR file_exists(USER_TEMPLATE_REALDIR.$admin_dir)){ 
     1051        return  "指定した管理画面ディレクトリは既に存在しています。別の名前を指定していください。"; 
     1052    } 
    10391053    $old_dir = "admin/"; 
    10401054    if(defined("ADMIN_DIR")){ 
     
    10421056    } 
    10431057    if(!rename(HTML_REALDIR.$old_dir,HTML_REALDIR.$admin_dir)){ 
    1044         return FALSE; 
     1058        return  HTML_REALDIR.$admin_dir."へのリネームに失敗しました。ディレクトリの権限を確認してください。"; 
    10451059    } 
    10461060    if(!rename(USER_TEMPLATE_REALDIR.$old_dir,USER_TEMPLATE_REALDIR.$admin_dir)){ 
    1047         return FALSE; 
     1061        return  USER_TEMPLATE_REALDIR.$admin_dir."へのリネームに失敗しました。ディレクトリの権限を確認してください。"; 
    10481062    } 
    10491063    return TRUE; 
Note: See TracChangeset for help on using the changeset viewer.