Changeset 20552


Ignore:
Timestamp:
2011/03/08 17:16:17 (10 years ago)
Author:
Seasoft
Message:

#894(管理機能「デザイン管理 - ページ詳細設定」削除不能)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/version-2_5-dev/data/class/helper/SC_Helper_PageLayout.php

    r20507 r20552  
    189189 
    190190            // ファイルの削除 
    191             $this->lfDelFile($arrPageData[0]); 
     191            $this->lfDelFile($arrPageData[0]['filename'], $device_type_id); 
    192192        } 
    193193        return $ret; 
     
    197197     * ページのファイルを削除する. 
    198198     * 
    199      * @param array $arrData ページ情報の配列 
     199     * dtb_pagelayout の削除後に呼び出すこと。 
     200     * @param string $filename  
     201     * @param integer $device_type_id 端末種別ID 
    200202     * @return void // TODO boolean にするべき? 
    201203     */ 
    202     function lfDelFile($arrData) { 
    203         // ファイルディレクトリ取得 
    204         $del_php = HTML_REALDIR . $arrData['filename'] . ".php"; 
    205         $del_tpl = HTML_REALDIR . $arrData['filename'] . ".tpl"; // FIXME パスが誤っている 
    206  
    207         // phpファイルの削除 
    208         if (file_exists($del_php)) { 
    209             unlink($del_php); 
     204    function lfDelFile($filename, $device_type_id) { 
     205        $objQuery =& SC_Query_Ex::getSingletonInstance(); 
     206 
     207        // 同名ファイルの使用件数 
     208        $count = $objQuery->count('dtb_pagelayout', 'filename = ?', array($filename)); 
     209 
     210        if ($count == 0) { 
     211            // phpファイルの削除 
     212            $del_php = HTML_REALDIR . $filename . '.php'; 
     213            if (file_exists($del_php)) { 
     214                unlink($del_php); 
     215            } 
    210216        } 
    211217 
    212218        // tplファイルの削除 
     219        $del_tpl = $this->getTemplatePath($device_type_id) . $filename . '.tpl'; 
    213220        if (file_exists($del_tpl)) { 
    214221            unlink($del_tpl); 
     
    231238 
    232239        $arrChkData = $this->lfgetPageData("page_id = ? AND device_type_id = ?", 
    233                                            array($page_id, $device_type_id)); 
     240            array($page_id, $device_type_id)); 
    234241 
    235242        if ($arrChkData[0]['edit_flg'] == 2) { 
Note: See TracChangeset for help on using the changeset viewer.