- Timestamp:
- 2007/07/20 15:58:59 (17 years ago)
- Location:
- branches/feature-module-update
- Files:
-
- 1 edited
- 2 copied
Legend:
- Unmodified
- Added
- Removed
-
branches/feature-module-update
-
Property
svn:ignore
set to
.cache
.settings
.projectOptions
-
Property
svn:ignore
set to
-
branches/feature-module-update/html/admin/design/template.php
r12157 r15078 21 21 ), 22 22 'name' =>array( 23 1 => 'TOP ¥Ú¡¼¥¸',24 2 => ' ¾¦ÉÊ°ìÍ÷¥Ú¡¼¥¸',25 3 => ' ¾¦Éʾܺ٥ڡ¼¥¸',26 4 => 'MY ¥Ú¡¼¥¸'23 1 => 'TOPページ', 24 2 => '商品一覧ページ', 25 3 => '商品詳細ページ', 26 4 => 'MYページ' 27 27 ) 28 28 ); … … 35 35 $this->tpl_TemplateName = $this->arrTemplateName['name'][1]; 36 36 $this->tpl_mainno = "design"; 37 $this->tpl_subtitle = ' ¥Æ¥ó¥×¥ì¡¼¥ÈÀßÄê';37 $this->tpl_subtitle = 'テンプレート設定'; 38 38 } 39 39 } … … 43 43 $objSess = new SC_Session(); 44 44 45 // ǧ¾Ú²ÄÈݤÎȽÄê45 // 認証可否の判定 46 46 $objSess = new SC_Session(); 47 47 sfIsSuccess($objSess); 48 48 49 // GET ¤ÎÃͤò¼õ¤±¼è¤ë49 // GETの値を受け取る 50 50 $get_tpl_subno_template = $_GET['tpl_subno_template']; 51 51 52 // GET ¤ÇÃͤ¬Á÷¤é¤ì¤Æ¤¤¤ë¾ì¹ç¤Ë¤Ï¤½¤ÎÃͤò¸µ¤Ë²èÌÌɽ¼¨¤òÀÚ¤êÂؤ¨¤ë52 // GETで値が送られている場合にはその値を元に画面表示を切り替える 53 53 if ($get_tpl_subno_template != ""){ 54 // Á÷¤é¤ì¤Æ¤¤¿Ãͤ¬ÇÛÎó¤ËÅÐÏ¿¤µ¤ì¤Æ¤¤¤Ê¤±¤ì¤ÐTOP¤òɽ¼¨54 // 送られてきた値が配列に登録されていなければTOPを表示 55 55 if (in_array($get_tpl_subno_template,$objPage->arrSubnavi['title'])){ 56 56 $tpl_subno_template = $get_tpl_subno_template; … … 59 59 } 60 60 } else { 61 // GET ¤ÇÃͤ¬¤Ê¤±¤ì¤ÐPOST¤ÎÃͤò»ÈÍѤ¹¤ë61 // GETで値がなければPOSTの値を使用する 62 62 if ($_POST['tpl_subno_template'] != ""){ 63 63 $tpl_subno_template = $_POST['tpl_subno_template']; … … 70 70 $objPage->template_name = $objPage->arrSubnavi['name'][$key[0]]; 71 71 72 // ÅÐÏ¿¤ò²¡¤µ¤ì¤¿¤Ð¤¢¤Ë¤ÏDB¤Ø¥Ç¡¼¥¿¤ò¹¹¿·¤Ë¹Ô¤¯72 // 登録を押されたばあにはDBへデータを更新に行く 73 73 switch($_POST['mode']) { 74 74 case 'confirm': 75 // DB ¤Ø¥Ç¡¼¥¿¹¹¿·75 // DBへデータ更新 76 76 lfUpdData(); 77 77 78 // ¥Æ¥ó¥×¥ì¡¼¥È¤Î¾å½ñ¤78 // テンプレートの上書き 79 79 lfChangeTemplate(); 80 80 81 // ´°Î»¥á¥Ã¥»¡¼¥¸82 $objPage->tpl_onload="alert(' ÅÐÏ¿¤¬´°Î»¤·¤Þ¤·¤¿¡£');";81 // 完了メッセージ 82 $objPage->tpl_onload="alert('登録が完了しました。');"; 83 83 break; 84 84 case 'download': … … 89 89 } 90 90 91 // POST Ãͤΰú¤·Ñ¤®91 // POST値の引き継ぎ 92 92 $objPage->arrForm = $_POST; 93 93 94 // ²èÁü¼èÆÀ94 // 画像取得 95 95 $tpl_arrTemplate = array(); 96 96 $objPage->arrTemplate = lfgetTemplate(); 97 97 98 // ¥Ç¥Õ¥©¥ë¥È¥Á¥§¥Ã¥¯¼èÆÀ98 // デフォルトチェック取得 99 99 $objPage->MainImage = $objPage->arrTemplate['check']; 100 100 $objPage->arrTemplate['check'] = array($objPage->arrTemplate['check']=>"check"); 101 101 102 // ²èÌ̤Îɽ¼¨102 // 画面の表示 103 103 $objView->assignobj($objPage); 104 104 $objView->display(MAIN_FRAME); … … 107 107 108 108 /************************************************************************************************************** 109 * ´Ø¿ô̾ ¡§lfgetTemplate110 * ½èÍýÆâÍÆ ¡§²èÌ̤Ëɽ¼¨¤¹¤ë²èÁü¤ò¼èÆÀ¤¹¤ë111 * °ú¿ô ¡§¤Ê¤·112 * Ìá¤êÃÍ ¡§²èÌ̤Ëɽ¼¨¤¹¤ë²èÁü(ÇÛÎó)109 * 関数名 :lfgetTemplate 110 * 処理内容 :画面に表示する画像を取得する 111 * 引数 :なし 112 * 戻り値 :画面に表示する画像(配列) 113 113 **************************************************************************************************************/ 114 114 function lfgetTemplate(){ … … 116 116 $filepath = "user_data/templates/"; 117 117 118 $arrTemplateImage = array(); // ²èÌÌɽ¼¨²èÁü³ÊǼÍÑ119 $Image = ""; // ¥¤¥á¡¼¥¸¤ÎÇÛÎóÍ×ÁÇ̾³ÊǼÍÑ118 $arrTemplateImage = array(); // 画面表示画像格納用 119 $Image = ""; // イメージの配列要素名格納用 120 120 $disp = ""; 121 $arrDefcheck = array(); // radio ¥Ü¥¿¥ó¤Î¥Ç¥Õ¥©¥ë¥È¥Á¥§¥Ã¥¯³ÊǼÍÑ122 123 // DB ¤«¤é¸½ºßÁªÂò¤µ¤ì¤Æ¤¤¤ë¥Ç¡¼¥¿¼èÆÀ121 $arrDefcheck = array(); // radioボタンのデフォルトチェック格納用 122 123 // DBから現在選択されているデータ取得 124 124 $arrDefcheck = lfgetTemplaeBaseData(); 125 125 126 // ¥Æ¥ó¥×¥ì¡¼¥È¥Ç¡¼¥¿¤ò¼èÆÀ¤¹¤ë126 // テンプレートデータを取得する 127 127 $objQuery = new SC_Query(); 128 128 $sql = "SELECT template_code,template_name FROM dtb_templates ORDER BY create_date DESC"; … … 132 132 // TOP 133 133 case $objPage->arrSubnavi['title'][1]: 134 $Image = "TopImage.jpg"; // ¥¤¥á¡¼¥¸¤ÎÇÛÎóÍ×ÁÇ̾³ÊǼÍÑ134 $Image = "TopImage.jpg"; // イメージの配列要素名格納用 135 135 $disp = $objPage->arrSubnavi['title'][1]; 136 136 break; 137 137 138 // ¾¦ÉÊ°ìÍ÷138 // 商品一覧 139 139 case $objPage->arrSubnavi['title'][2]: 140 $Image = "ProdImage.jpg"; // ¥¤¥á¡¼¥¸¤ÎÇÛÎóÍ×ÁÇ̾³ÊǼÍÑ140 $Image = "ProdImage.jpg"; // イメージの配列要素名格納用 141 141 $disp = $objPage->arrSubnavi['title'][2]; 142 142 break; 143 143 144 // ¾¦ÉʾܺÙ144 // 商品詳細 145 145 case $objPage->arrSubnavi['title'][3]: 146 $Image = "DetailImage.jpg"; // ¥¤¥á¡¼¥¸¤ÎÇÛÎóÍ×ÁÇ̾³ÊǼÍÑ146 $Image = "DetailImage.jpg"; // イメージの配列要素名格納用 147 147 $disp = $objPage->arrSubnavi['title'][3]; 148 148 break; 149 149 150 // MY ¥Ú¡¼¥¸150 // MYページ 151 151 case $objPage->arrSubnavi['title'][4]: 152 $Image = "MypageImage.jpg"; // ¥¤¥á¡¼¥¸¤ÎÇÛÎóÍ×ÁÇ̾³ÊǼÍÑ152 $Image = "MypageImage.jpg"; //イメージの配列要素名格納用 153 153 $disp = $objPage->arrSubnavi['title'][4]; 154 154 break; 155 155 } 156 156 157 // ²èÁüɽ¼¨ÇÛÎóºîÀ®157 // 画像表示配列作成 158 158 foreach($arrTemplate as $key => $val){ 159 159 $arrTemplateImage['image'][$val['template_code']] = $filepath . $val['template_code'] . "/" . $Image; … … 161 161 } 162 162 163 // ½é´ü¥Á¥§¥Ã¥¯163 // 初期チェック 164 164 if (isset($arrDefcheck[$disp])){ 165 165 $arrTemplateImage['check'] = $arrDefcheck[$disp]; … … 172 172 173 173 /************************************************************************************************************** 174 * ´Ø¿ô̾ ¡§lfgetTemplaeBaseData175 * ½èÍýÆâÍÆ ¡§DB¤ËÊݸ¤µ¤ì¤Æ¤¤¤ë¥Æ¥ó¥×¥ì¡¼¥È¥Ç¡¼¥¿¤ò¼èÆÀ¤¹¤ë176 * °ú¿ô ¡§¤Ê¤·177 * Ìá¤êÃÍ ¡§DB¤ËÊݸ¤µ¤ì¤Æ¤¤¤ë¥Æ¥ó¥×¥ì¡¼¥È¥Ç¡¼¥¿(ÇÛÎó)174 * 関数名 :lfgetTemplaeBaseData 175 * 処理内容 :DBに保存されているテンプレートデータを取得する 176 * 引数 :なし 177 * 戻り値 :DBに保存されているテンプレートデータ(配列) 178 178 **************************************************************************************************************/ 179 179 function lfgetTemplaeBaseData(){ 180 $objDBConn = new SC_DbConn; // DB Áàºî¥ª¥Ö¥¸¥§¥¯¥È181 $sql = ""; // ¥Ç¡¼¥¿¼èÆÀSQLÀ¸À®ÍÑ182 $arrRet = array(); // ¥Ç¡¼¥¿¼èÆÀÍÑ180 $objDBConn = new SC_DbConn; // DB操作オブジェクト 181 $sql = ""; // データ取得SQL生成用 182 $arrRet = array(); // データ取得用 183 183 184 184 $sql = "SELECT top_tpl AS top, product_tpl AS product, detail_tpl AS detail, mypage_tpl AS mypage FROM dtb_baseinfo"; … … 189 189 190 190 /************************************************************************************************************** 191 * ´Ø¿ô̾ ¡§lfUpdData192 * ½èÍýÆâÍÆ ¡§DB¤Ë¥Ç¡¼¥¿¤òÊݸ¤¹¤ë193 * °ú¿ô ¡§¤Ê¤·194 * Ìá¤êÃÍ ¡§À®¸ù TRUE¡¢¥¨¥é¡¼FALSE191 * 関数名 :lfUpdData 192 * 処理内容 :DBにデータを保存する 193 * 引数 :なし 194 * 戻り値 :成功 TRUE、エラー FALSE 195 195 **************************************************************************************************************/ 196 196 function lfUpdData(){ 197 197 global $objPage; 198 $objDBConn = new SC_DbConn; // DB Áàºî¥ª¥Ö¥¸¥§¥¯¥È199 $sql = ""; // ¥Ç¡¼¥¿¼èÆÀSQLÀ¸À®ÍÑ200 $arrRet = array(); // ¥Ç¡¼¥¿¼èÆÀÍÑ(¹¹¿·È½Äê)201 202 // ¥Ç¡¼¥¿¼èÆÀ198 $objDBConn = new SC_DbConn; // DB操作オブジェクト 199 $sql = ""; // データ取得SQL生成用 200 $arrRet = array(); // データ取得用(更新判定) 201 202 // データ取得 203 203 $sql = "SELECT top_tpl AS top, product_tpl AS product, detail_tpl AS detail, mypage_tpl AS mypage FROM dtb_baseinfo"; 204 204 $arrRet = $objDBConn->getAll($sql); 205 205 206 206 $chk_tpl = $_POST['check_template']; 207 // ¥Ç¡¼¥¿¤¬¼èÆÀ¤Ç¤¤Ê¤±¤ì¤ÐINSERT¡¢¤Ç¤¤ì¤ÐUPDATE207 // データが取得できなければINSERT、できればUPDATE 208 208 if (isset($arrRet[0])){ 209 209 // UPDATE 210 210 $arrVal = $arrRet[0]; 211 211 212 // TOP ¤òÊѹ¹¤·¤¿¾ì¹ç¤Ë¤ÏÁ´²èÌÌÊѹ¹212 // TOPを変更した場合には全画面変更 213 213 if ($objPage->tpl_subno_template == $objPage->arrSubnavi['title'][1]){ 214 214 $arrVal = array($chk_tpl,$chk_tpl,$chk_tpl,$chk_tpl); … … 221 221 $arrVal = array(null,null,null,null); 222 222 223 // TOP ¤òÊѹ¹¤·¤¿¾ì¹ç¤Ë¤ÏÁ´²èÌÌÊѹ¹223 // TOPを変更した場合には全画面変更 224 224 if ($objPage->tpl_subno_template == $objPage->arrSubnavi['title'][1]){ 225 225 $arrVal = array($chk_tpl,$chk_tpl,$chk_tpl,$chk_tpl); … … 230 230 } 231 231 232 // SQL ¼Â¹Ô232 // SQL実行 233 233 $arrRet = $objDBConn->query($sql,$arrVal); 234 234 … … 237 237 238 238 /************************************************************************************************************** 239 * ´Ø¿ô̾ ¡§lfChangeTemplate240 * ½èÍýÆâÍÆ ¡§¥Æ¥ó¥×¥ì¡¼¥È¥Õ¥¡¥¤¥ë¤ò¾å½ñ¤¤¹¤ë241 * °ú¿ô ¡§¤Ê¤·242 * Ìá¤êÃÍ ¡§À®¸ù TRUE¡¢¥¨¥é¡¼FALSE239 * 関数名 :lfChangeTemplate 240 * 処理内容 :テンプレートファイルを上書きする 241 * 引数 :なし 242 * 戻り値 :成功 TRUE、エラー FALSE 243 243 **************************************************************************************************************/ 244 244 function lfChangeTemplate(){ … … 261 261 // TOP 262 262 case $objPage->arrSubnavi['title'][1]: 263 $tpl_element = "TopTemplate"; // ¥¤¥á¡¼¥¸¤ÎÇÛÎóÍ×ÁÇ̾³ÊǼÍÑ263 $tpl_element = "TopTemplate"; // イメージの配列要素名格納用 264 264 $tpl_name = "top.tpl"; 265 265 break; 266 266 267 // ¾¦ÉÊ°ìÍ÷267 // 商品一覧 268 268 case $objPage->arrSubnavi['title'][2]: 269 $tpl_element = "ProdTemplate"; // ¥¤¥á¡¼¥¸¤ÎÇÛÎóÍ×ÁÇ̾³ÊǼÍÑ269 $tpl_element = "ProdTemplate"; // イメージの配列要素名格納用 270 270 $tpl_name = "list.tpl"; 271 271 break; 272 272 273 // ¾¦ÉʾܺÙ273 // 商品詳細 274 274 case $objPage->arrSubnavi['title'][3]: 275 $tpl_element = "DetailTemplate"; // ¥¤¥á¡¼¥¸¤ÎÇÛÎóÍ×ÁÇ̾³ÊǼÍÑ275 $tpl_element = "DetailTemplate"; // イメージの配列要素名格納用 276 276 $tpl_name = "detail.tpl"; 277 277 break; 278 278 279 // MY ¥Ú¡¼¥¸279 // MYページ 280 280 case $objPage->arrSubnavi['title'][4]: 281 $tpl_element = "MypageTemplate"; // ¥¤¥á¡¼¥¸¤ÎÇÛÎóÍ×ÁÇ̾³ÊǼÍÑ281 $tpl_element = "MypageTemplate"; //イメージの配列要素名格納用 282 282 $tpl_name = "mypage.tpl"; 283 283 break; … … 287 287 } 288 288 289 // ²èÁü¥Ñ¥¹¤ò½ñ¤´¹¤¨289 // 画像パスを書き換え 290 290 $img_path = '<!--{$smarty.const.URL_DIR}-->img/'; 291 291 $displace_path = '<!--{$smarty.const.URL_DIR}-->'. USER_DIR . 'templates/' . $chk_tpl . '/img/'; … … 293 293 $fs->doSearch(); 294 294 295 // TOP ¤òÊѹ¹¤·¤¿¾ì¹ç¤Ë¤ÏÁ´²èÌÌÊѹ¹295 // TOPを変更した場合には全画面変更 296 296 if ($objPage->tpl_subno_template == $objPage->arrSubnavi['title'][1]){ 297 // ¥Æ¥ó¥×¥ì¡¼¥È¥Õ¥¡¥¤¥ë¤ò¥³¥Ô¡¼297 // テンプレートファイルをコピー 298 298 copy($taget_tpl_path . "top.tpl", $save_tpl_path . "top.tpl"); 299 299 copy($taget_tpl_path . "list.tpl", $save_tpl_path . "list.tpl"); 300 300 copy($taget_tpl_path . "detail.tpl", $save_tpl_path . "detail.tpl"); 301 301 302 // mypage ¤Ï¥Õ¥©¥ë¥À¤´¤È¥³¥Ô¡¼302 // mypageはフォルダごとコピー 303 303 lfFolderCopy($taget_tpl_path."mypage/", $save_tpl_path . "mypage/"); 304 304 305 // ¥Ö¥í¥Ã¥¯¥Ç¡¼¥¿¤Î¥³¥Ô¡¼305 // ブロックデータのコピー 306 306 lfFolderCopy($taget_inc_path."bloc/", $inc_path . "bloc/"); 307 307 308 // ¥Ø¥Ã¥À¡¼,¥Õ¥Ã¥¿¡¼¥³¥Ô¡¼308 // ヘッダー,フッターコピー 309 309 copy($taget_inc_path . "header.tpl", $inc_path . "header.tpl"); 310 310 copy($taget_inc_path . "footer.tpl", $inc_path . "footer.tpl"); 311 311 312 // CSS ¥Õ¥¡¥¤¥ë¤Î¥³¥Ô¡¼312 // CSSファイルのコピー 313 313 copy($taget_css_path . "contents.css", $css_path . "contents.css"); 314 314 315 // mypage ¤Î¾ì¹ç¤Ë¤Ï¥Õ¥©¥ë¥À¤´¤È¥³¥Ô¡¼¤¹¤ë315 // mypageの場合にはフォルダごとコピーする 316 316 }elseif($objPage->tpl_subno_template == $objPage->arrSubnavi['title'][4]){ 317 317 lfFolderCopy($taget_tpl_path."mypage/", $save_tpl_path."mypage/"); 318 318 }else{ 319 // ¥Æ¥ó¥×¥ì¡¼¥È¥Õ¥¡¥¤¥ë¤ò¥³¥Ô¡¼319 // テンプレートファイルをコピー 320 320 copy($taget_tpl_path . $tpl_name, $save_tpl_path . $tpl_name); 321 321 } 322 322 323 // ²èÁü¥Ñ¥¹¤ò¸µ¤ËÌ᤹323 // 画像パスを元に戻す 324 324 $fs = new File_SearchReplace($displace_path, $img_path, "", $path, true); 325 325 $fs->doSearch(); … … 327 327 328 328 /************************************************************************************************************** 329 * ´Ø¿ô̾ ¡§lfDownloadTemplate330 * ½èÍýÆâÍÆ ¡§¥Æ¥ó¥×¥ì¡¼¥È¥Õ¥¡¥¤¥ë°µ½Ì¤·¤Æ¥À¥¦¥ó¥í¡¼¥É¤¹¤ë331 * °ú¿ô1 ¡§¥Æ¥ó¥×¥ì¡¼¥È¥³¡¼¥É332 * Ìá¤êÃÍ ¡§¤Ê¤·329 * 関数名 :lfDownloadTemplate 330 * 処理内容 :テンプレートファイル圧縮してダウンロードする 331 * 引数1 :テンプレートコード 332 * 戻り値 :なし 333 333 **************************************************************************************************************/ 334 334 function lfDownloadTemplate($template_code){ … … 336 336 $dl_file = USER_TEMPLATE_PATH.$filename; 337 337 338 // IMG ¥Õ¥©¥ë¥À¤ò¥³¥Ô¡¼338 // IMGフォルダをコピー 339 339 $mess = ""; 340 340 $mess = sfCopyDir(HTML_PATH."img/", USER_TEMPLATE_PATH.$template_code."/img/", $mess); 341 341 342 // ¥Õ¥¡¥¤¥ë¤Î°µ½Ì342 // ファイルの圧縮 343 343 $tar = new Archive_Tar($dl_file, TRUE); 344 // ¥Õ¥¡¥¤¥ë°ìÍ÷¼èÆÀ344 // ファイル一覧取得 345 345 $arrFileHash = sfGetFileList(USER_TEMPLATE_PATH.$template_code); 346 346 foreach($arrFileHash as $val) { 347 347 $arrFileList[] = $val['file_name']; 348 348 } 349 // ¥Ç¥£¥ì¥¯¥È¥ê¤ò°ÜÆ°349 // ディレクトリを移動 350 350 chdir(USER_TEMPLATE_PATH.$template_code); 351 351 352 // °µ½Ì¤ò¤ª¤³¤Ê¤¦352 //圧縮をおこなう 353 353 $zip = $tar->create($arrFileList); 354 354 355 // ¥À¥¦¥ó¥í¡¼¥É³«»Ï355 // ダウンロード開始 356 356 Header("Content-disposition: attachment; filename=${filename}"); 357 357 Header("Content-type: application/octet-stream; name=${dl_file}"); 358 358 header("Content-Length: " .filesize($dl_file)); 359 359 readfile ($dl_file); 360 // °µ½Ì¥Õ¥¡¥¤¥ëºï½ü360 // 圧縮ファイル削除 361 361 unlink($dl_file); 362 362 … … 365 365 366 366 /************************************************************************************************************** 367 * ´Ø¿ô̾ ¡§lfFolderCopy368 * ½èÍýÆâÍÆ ¡§¥Õ¥©¥ë¥À¤ò¥³¥Ô¡¼¤¹¤ë369 * °ú¿ô1 ¡§¥³¥Ô¡¼¸µ¥Ñ¥¹370 * °ú¿ô2¡¡¡¡¡§¥³¥Ô¡¼Àè¥Ñ¥¹371 * Ìá¤êÃÍ ¡§¤Ê¤·367 * 関数名 :lfFolderCopy 368 * 処理内容 :フォルダをコピーする 369 * 引数1 :コピー元パス 370 * 引数2 :コピー先パス 371 * 戻り値 :なし 372 372 **************************************************************************************************************/ 373 373 function lfFolderCopy($taget_path, $save_path){ 374 374 375 // ¥Õ¥©¥ë¥ÀÆâ¤Î¥Õ¥¡¥¤¥ë¤ò¼èÆÀ¤¹¤ë375 // フォルダ内のファイルを取得する 376 376 $arrMypage=glob($taget_path . "*" ); 377 377 378 // ¥Õ¥©¥ë¥À¤¬¤Ê¤±¤ì¤ÐºîÀ®¤¹¤ë378 // フォルダがなければ作成する 379 379 if(!is_dir($save_path)){ 380 380 mkdir($save_path); 381 381 } 382 382 383 // ¥Õ¥©¥ë¥ÀÆâ¤òÁ´¤Æ¥³¥Ô¡¼383 // フォルダ内を全てコピー 384 384 foreach($arrMypage as $key => $val){ 385 385 $matches = array();
Note: See TracChangeset
for help on using the changeset viewer.