Ignore:
Timestamp:
2011/01/12 04:31:36 (13 years ago)
Author:
Seasoft
Message:

#841(管理画面のディレクトリ名をパラメータに)

  • 現状の「管理機能:ディレクトリ」を維持できない不具合を改修

#627(ソース整形・ソースコメントの改善)
#626(表記の統一性の向上)

  • 管理機能
File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/version-2_5-dev/html/install/index.php

    r19873 r19875  
    114114    //入力値のエラーチェック 
    115115    $objPage->arrErr = lfCheckDBError($objDBParam); 
    116     if(count($objPage->arrErr) == 0) { 
     116    if (count($objPage->arrErr) == 0) { 
    117117        // 設定ファイルの生成 
    118118        lfMakeConfigFile(); 
    119         if($err = renameAdminDir($objWebParam->getValue('admin_dir')) !== TRUE){ 
     119        if ($err = renameAdminDir($objWebParam->getValue('admin_dir')) !== true) { 
    120120            $objPage->arrErr["all"] .= $err; 
    121121            $objPage = lfDispStep2($objPage); 
    122         }else{ 
     122        } else { 
    123123            $objPage = lfDispStep3($objPage); 
    124124        } 
     
    657657        } 
    658658    } 
    659      
    660     //管理画面のディレクトリ名を取得(再インストール時) 
    661     if(defined("ADMIN_DIR")){ 
    662         $admin_dir = str_replace("/","",ADMIN_DIR); 
    663     } 
     659 
     660    // 管理機能のディレクトリ名を取得(再インストール時) 
     661    $oldAdminDir = SC_Utils_Ex::sfTrimURL(ADMIN_DIR); 
    664662 
    665663    $objWebParam->addParam("店名", "shop_name", MTEXT_LEN, "", array("EXIST_CHECK","MAX_LENGTH_CHECK"), $shop_name); 
     
    667665    $objWebParam->addParam("管理者:ログインID", "login_id", ID_MAX_LEN, "", array("EXIST_CHECK","SPTAB_CHECK", "ALNUM_CHECK")); 
    668666    $objWebParam->addParam("管理者:パスワード", "login_pass", ID_MAX_LEN, "", array("EXIST_CHECK","SPTAB_CHECK", "ALNUM_CHECK")); 
    669     $objWebParam->addParam("管理画面:ディレクトリ", "admin_dir", ID_MAX_LEN, "a", array("EXIST_CHECK","SPTAB_CHECK", "ALNUM_CHECK"),$admin_dir); 
    670     $objWebParam->addParam("管理画面:SSL制限", "admin_force_ssl", 1, "n", array("SPTAB_CHECK", "NUM_CHECK","MAX_LENGTH_CHECK")); 
    671     $objWebParam->addParam("管理画面:IP制限", "admin_allow_hosts", LTEXT_LEN, "an", array("IP_CHECK","MAX_LENGTH_CHECK")); 
     667    $objWebParam->addParam("管理機能:ディレクトリ", "admin_dir", ID_MAX_LEN, "a", array("EXIST_CHECK","SPTAB_CHECK", "ALNUM_CHECK"), $oldAdminDir); 
     668    $objWebParam->addParam("管理機能:SSL制限", "admin_force_ssl", 1, "n", array("SPTAB_CHECK", "NUM_CHECK","MAX_LENGTH_CHECK")); 
     669    $objWebParam->addParam("管理機能:IP制限", "admin_allow_hosts", LTEXT_LEN, "an", array("IP_CHECK","MAX_LENGTH_CHECK")); 
    672670    $objWebParam->addParam("URL(通常)", "normal_url", MTEXT_LEN, "", array("EXIST_CHECK","URL_CHECK","MAX_LENGTH_CHECK"), $normal_url); 
    673671    $objWebParam->addParam("URL(セキュア)", "secure_url", MTEXT_LEN, "", array("EXIST_CHECK","URL_CHECK","MAX_LENGTH_CHECK"), $secure_url); 
     
    742740    $objErr->doFunc( array("管理者:パスワード",'login_pass',ID_MIN_LEN , ID_MAX_LEN ) ,array("SPTAB_CHECK" ,"NUM_RANGE_CHECK" )); 
    743741 
    744     // 管理画面ディレクトリのチェック 
    745     $objErr->doFunc( array("管理画面:ディレクトリ",'admin_dir',ID_MIN_LEN , ID_MAX_LEN ) ,array("SPTAB_CHECK" ,"NUM_RANGE_CHECK" )); 
    746     if(file_exists(HTML_REALDIR.$objFormParam->getValue('admin_dir')) OR file_exists(USER_TEMPLATE_REALDIR.$objFormParam->getValue('admin_dir'))){ 
    747         $objErr->arrErr["admin_dir"] = "指定した管理画面ディレクトリは既に存在しています。別の名前を指定していください。"; 
    748     } 
    749  
     742    // 管理機能ディレクトリのチェック 
     743    $objErr->doFunc( array("管理機能:ディレクトリ", 'admin_dir', ID_MIN_LEN, ID_MAX_LEN), array("SPTAB_CHECK" ,"NUM_RANGE_CHECK")); 
     744 
     745    $oldAdminDir = SC_Utils_Ex::sfTrimURL(ADMIN_DIR); 
     746    $newAdminDir = $objFormParam->getValue('admin_dir'); 
     747    if ($oldAdminDir !=== $newAdminDir AND (file_exists(HTML_REALDIR . $newAdminDir) OR file_exists(USER_TEMPLATE_REALDIR . $newAdminDir))) { 
     748        $objErr->arrErr["admin_dir"] = "指定した管理機能ディレクトリは既に存在しています。別の名前を指定していください。"; 
     749    } 
    750750 
    751751    return $objErr->arrErr; 
     
    929929    $filepath = DATA_REALDIR . "install.php"; 
    930930     
    931     //管理画面SSL制限 
     931    //管理機能SSL制限 
    932932    if($objWebParam->getValue('admin_force_ssl') == 1 and strpos($secure_url,"https://") !== FALSE){ 
    933933        $force_ssl = "TRUE"; 
     
    935935        $force_ssl = "FALSE"; 
    936936    } 
    937     //管理画面IP制限 
     937    //管理機能IP制限 
    938938    $allow_hosts = array(); 
    939939    $hosts = $objWebParam->getValue('admin_allow_hosts'); 
     
    10421042 
    10431043/** 
    1044  * 管理画面のディレクトリ名の変更 
     1044 * 管理機能のディレクトリ名の変更 
    10451045 * 
    1046  * @param string 設定する管理画面のディレクトリ名 
     1046 * @param string 設定する管理機能のディレクトリ名 
    10471047 */ 
    1048 function renameAdminDir($admin_dir){ 
    1049     if(file_exists(HTML_REALDIR.str_replace("/","",$admin_dir)) OR file_exists(USER_TEMPLATE_REALDIR.$admin_dir)){ 
    1050         return  "指定した管理画面ディレクトリは既に存在しています。別の名前を指定していください。"; 
    1051     } 
    1052     $old_dir = "admin/"; 
    1053     if(defined("ADMIN_DIR")){ 
    1054         $old_dir = ADMIN_DIR; 
    1055     } 
    1056     if(!rename(HTML_REALDIR.$old_dir,HTML_REALDIR.$admin_dir)){ 
    1057         return  HTML_REALDIR.$admin_dir."へのリネームに失敗しました。ディレクトリの権限を確認してください。"; 
    1058     } 
    1059     if(!rename(USER_TEMPLATE_REALDIR.$old_dir,USER_TEMPLATE_REALDIR.$admin_dir)){ 
    1060         return  USER_TEMPLATE_REALDIR.$admin_dir."へのリネームに失敗しました。ディレクトリの権限を確認してください。"; 
    1061     } 
    1062     return TRUE; 
     1048function renameAdminDir($adminDir) { 
     1049    $oldAdminDir = SC_Utils_Ex::sfTrimURL(ADMIN_DIR); 
     1050    if ($adminDir === $oldAdminDir) { 
     1051        return true; 
     1052    } 
     1053    if (file_exists(HTML_REALDIR . $adminDir) OR file_exists(USER_TEMPLATE_REALDIR . $adminDir)) { 
     1054        return '指定した管理機能ディレクトリは既に存在しています。別の名前を指定していください。'; 
     1055    } 
     1056    if (!rename(HTML_REALDIR . $oldAdminDir, HTML_REALDIR . $adminDir)) { 
     1057        return HTML_REALDIR . $adminDir . 'へのリネームに失敗しました。ディレクトリの権限を確認してください。'; 
     1058    } 
     1059    if (!rename(USER_TEMPLATE_REALDIR . $oldAdminDir, USER_TEMPLATE_REALDIR . $adminDir)) { 
     1060        return USER_TEMPLATE_REALDIR . $adminDir . 'へのリネームに失敗しました。ディレクトリの権限を確認してください。'; 
     1061    } 
     1062    return true; 
    10631063} 
    10641064?> 
Note: See TracChangeset for help on using the changeset viewer.