Source for file LC_Page_Admin_Contents_CampaignDesign.php

Documentation is available at LC_Page_Admin_Contents_CampaignDesign.php

  1. <?php
  2. /*
  3.  * This file is part of EC-CUBE
  4.  *
  5.  * Copyright(c) 2000-2007 LOCKON CO.,LTD. All Rights Reserved.
  6.  *
  7.  * http://www.lockon.co.jp/
  8.  *
  9.  * This program is free software; you can redistribute it and/or
  10.  * modify it under the terms of the GNU General Public License
  11.  * as published by the Free Software Foundation; either version 2
  12.  * of the License, or (at your option) any later version.
  13.  *
  14.  * This program is distributed in the hope that it will be useful,
  15.  * but WITHOUT ANY WARRANTY; without even the implied warranty of
  16.  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  17.  * GNU General Public License for more details.
  18.  *
  19.  * You should have received a copy of the GNU General Public License
  20.  * along with this program; if not, write to the Free Software
  21.  * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
  22.  */
  23.  
  24. // {{{ requires
  25. require_once(CLASS_PATH "pages/LC_Page.php");
  26.  
  27. /**
  28.  * キャンペーンデザイン のページクラス.
  29.  *
  30.  * @package Page
  31.  * @author LOCKON CO.,LTD.
  32.  * @version $Id: LC_Page_Admin_Contents_CampaignDesign.php 17675 2008-11-01 06:44:55Z Seasoft $
  33.  */
  34.  
  35.     // }}}
  36.     // {{{ functions
  37.  
  38.     /**
  39.      * Page を初期化する.
  40.      *
  41.      * @return void 
  42.      */
  43.     function init({
  44.         parent::init();
  45.         $this->tpl_mainpage = 'contents/campaign_design.tpl';
  46.         $this->tpl_subnavi 'contents/subnavi.tpl';
  47.         $this->tpl_subno "campaign";
  48.         $this->tpl_mainno = 'contents';
  49.         $this->header_row 13;
  50.         $this->contents_row 13;
  51.         $this->footer_row 13;
  52.         $this->tpl_subtitle 'キャンペーンデザイン編集';
  53.     }
  54.  
  55.     /**
  56.      * Page のプロセス.
  57.      *
  58.      * @return void 
  59.      */
  60.     function process({
  61.         $objView new SC_AdminView();
  62.         $objQuery new SC_Query();
  63.  
  64.         // 認証可否の判定
  65.         $objSess new SC_Session();
  66.         SC_Utils_Ex::sfIsSuccess($objSess);
  67.  
  68.         // キャンペーンデータを引き継ぎ
  69.         if($_POST['mode'!= ""{
  70.             $arrForm $_POST;
  71.         else {
  72.             $arrForm $_GET;
  73.         }
  74.  
  75.         // 正しく値が取得できない場合はキャンペーンTOPへ
  76.         if($arrForm['campaign_id'== "" || $arrForm['status'== ""{
  77.             $this->sendRedirect($this->getLocation(URL_CAMPAIGN_TOP));
  78.             exit;
  79.         }
  80.  
  81.         switch($arrForm['status']{
  82.         case 'active':
  83.             $status CAMPAIGN_TEMPLATE_ACTIVE;
  84.             $this->tpl_campaign_title "キャンペーン中デザイン編集";
  85.             break;
  86.         case 'end':
  87.             $status CAMPAIGN_TEMPLATE_END;
  88.             $this->tpl_campaign_title "キャンペーン終了デザイン編集";
  89.             break;
  90.         default:
  91.             break;
  92.         }
  93.  
  94.         // ディレクトリ名を取得名
  95.         $directory_name $objQuery->get("dtb_campaign""directory_name""campaign_id = ?"array($arrForm['campaign_id']));
  96.         // キャンペーンテンプレート格納ディレクトリ
  97.         $campaign_dir CAMPAIGN_TEMPLATE_PATH $directory_name "/" .$status;
  98.  
  99.         switch($_POST['mode']{
  100.         case 'regist':
  101.             // ファイルを更新
  102.             SC_Utils_Ex::sfWriteFile($arrForm['header']$campaign_dir."header.tpl""w");
  103.             SC_Utils_Ex::sfWriteFile($arrForm['contents']$campaign_dir."contents.tpl""w");
  104.             SC_Utils_Ex::sfWriteFile($arrForm['footer']$campaign_dir."footer.tpl""w");
  105.             // サイトフレーム作成
  106.             $site_frame  $arrForm['header']."\n";
  107.             $site_frame .= '<script type="text/javascript" src="<!--{$TPL_DIR}-->js/site.js"></script>'."\n";
  108.             $site_frame .= '<script type="text/javascript" src="<!--{$TPL_DIR}-->js/navi.js"></script>'."\n";
  109.             $site_frame .= '<!--{include file=$tpl_mainpage}-->'."\n";
  110.             $site_frame .= $arrForm['footer']."\n";
  111.             SC_Utils_Ex::sfWriteFile($site_frame$campaign_dir."site_frame.tpl""w");
  112.  
  113.             // 完了メッセージ(プレビュー時は表示しない)
  114.             $this->tpl_onload="alert('登録が完了しました。');";
  115.             break;
  116.         case 'preview':
  117.             // プレビューを書き出し別窓で開く
  118.             SC_Utils_Ex::sfWriteFile($arrForm['header'$arrForm['contents'$arrForm['footer']$campaign_dir."preview.tpl""w");
  119.             $this->tpl_onload = "win02('./campaign_preview.php?status="$arrForm['status'."&campaign_id="$arrForm['campaign_id'."', 'preview', '600', '400');";
  120.             $this->header_data $arrForm['header'];
  121.             $this->contents_data $arrForm['contents'];
  122.             $this->footer_data $arrForm['footer'];
  123.             break;
  124.         case 'return':
  125.             // 登録ページへ戻る
  126.             $this->sendRedirect($this->getLocation(URL_CAMPAIGN_TOP));
  127.             exit;
  128.             break;
  129.         default:
  130.             break;
  131.         }
  132.  
  133.         if ($arrForm['header_row'!= ''){
  134.             $this->header_row $arrForm['header_row'];
  135.         }
  136.         if ($arrForm['contents_row'!= ''){
  137.             $this->contents_row $arrForm['contents_row'];
  138.         }
  139.         if ($arrForm['footer_row'!= ''){
  140.             $this->footer_row $arrForm['footer_row'];
  141.         }
  142.  
  143.         if($_POST['mode'!= 'preview'{
  144.             // ヘッダーファイルの読み込み
  145.             $this->header_data file_get_contents($campaign_dir "header.tpl");
  146.             // コンテンツファイルの読み込み
  147.             $this->contents_data file_get_contents($campaign_dir "contents.tpl");
  148.             // フッターファイルの読み込み
  149.             $this->footer_data file_get_contents($campaign_dir "footer.tpl");
  150.         }
  151.  
  152.         // フォームの値を格納
  153.         $this->arrForm $arrForm;
  154.  
  155.         // 画面の表示
  156.         $objView->assignobj($this);
  157.         $objView->display(MAIN_FRAME);
  158.     }
  159.  
  160.     /**
  161.      * デストラクタ.
  162.      *
  163.      * @return void 
  164.      */
  165.     function destroy({
  166.         parent::destroy();
  167.     }
  168. }
  169. ?>

Documentation generated on Tue, 28 Apr 2009 18:10:53 +0900 by phpDocumentor 1.4.2