Changeset 20859
- Timestamp:
- 2011/04/18 19:24:28 (10 years ago)
- bzr:base-revision:
- svn-v4:1e3b908f-19a9-db11-a64c-001125224ba8:branches/version-2_11-dev:20858
- bzr:committer:
- Kentaro Ohkouchi <ohkouchi@loop-az.jp>
- bzr:file-ids:
data/Smarty/templates/admin/design/header.tpl 15732@1e3b908f-19a9-db11-a64c-001125224ba8:branches%2Ffeature-module-update%2Fdata%2FSmarty%2Ftemplates%2Fdefault%2Fadmin%2Fdesign%2Fheader.tpl
data/class/pages/admin/design/LC_Page_Admin_Design_Bloc.php 15687@1e3b908f-19a9-db11-a64c-001125224ba8:branches%2Ffeature-module-update%2Fdata%2Fclass%2Fpages%2Fadmin%2Fdesign%2FLC_Page_Admin_Design_Bloc.php
data/class/pages/admin/design/LC_Page_Admin_Design_Header.php 15688@1e3b908f-19a9-db11-a64c-001125224ba8:branches%2Ffeature-module-update%2Fdata%2Fclass%2Fpages%2Fadmin%2Fdesign%2FLC_Page_Admin_Design_Header.php- bzr:mapping-version:
- v4
- bzr:merge:
ohkouchi@loop-az.jp-20110418102242-i3r248nn3kzq7yyr- bzr:repository-uuid:
- 1e3b908f-19a9-db11-a64c-001125224ba8
- bzr:revision-id:
- ohkouchi@loop-az.jp-20110418102425-xm10rcev2j2xr3db
- bzr:revno:
- 3570
- bzr:revprop:branch-nick:
- branches/version-2_11-dev
- bzr:root:
- branches/version-2_11-dev
- bzr:text-revisions:
data/Smarty/templates/admin/design/header.tpl ohkouchi@loop-az.jp-20110418102242-i3r248nn3kzq7yyr
data/class/pages/admin/design/LC_Page_Admin_Design_Bloc.php ohkouchi@loop-az.jp-20110418102242-i3r248nn3kzq7yyr
data/class/pages/admin/design/LC_Page_Admin_Design_Header.php ohkouchi@loop-az.jp-20110418102242-i3r248nn3kzq7yyr- bzr:timestamp:
- 2011-04-18 19:24:25.545000076 +0900
- bzr:user-agent:
- bzr2.2.1+bzr-svn1.0.4
- svn:original-date:
- 2011-04-18T10:24:25.545000Z
- Location:
- branches/version-2_11-dev/data
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/version-2_11-dev/data/Smarty/templates/admin/design/header.tpl
r20800 r20859 22 22 */ 23 23 *}--> 24 < !--{*24 <div id="design" class="contents-main"> 25 25 26 XXX: ヘッダーとフッターでwrapの設定が違うのは疑問。それぞれの良し悪しはともかく、統一を。 26 <!--{if $arrErr.err != ""}--> 27 <div class="message"> 28 <span class="attention"><!--{$arrErr.err}--></span> 29 </div> 30 <!--{/if}--> 27 31 28 *}-->29 <div id="design" class="contents-main">30 32 <!--{* ▼ヘッダー編集ここから *}--> 31 33 <h2>ヘッダー編集</h2> … … 35 37 <input type="hidden" name="division" value="header" /> 36 38 <input type="hidden" name="header_row" value="<!--{$header_row}-->" /> 37 <input type="hidden" name="browser_type" value="" />38 39 <input type="hidden" name="device_type_id" value="<!--{$device_type_id|h}-->" /> 39 40 40 <textarea id="header-area" class="top" name="header" rows="<!--{$header_row}-->" wrap="off"style="width: 100%;"><!--{$header_data|h|smarty:nodefaults}--></textarea>41 <textarea id="header-area" class="top" name="header" rows="<!--{$header_row}-->" style="width: 100%;"><!--{$header_data|h|smarty:nodefaults}--></textarea> 41 42 <div class="btn"> 42 43 <a id="header-area-resize-btn" class="btn-normal" href="javascript:;" onclick="ChangeSize('#header-area-resize-btn', '#header-area', 50, 13); $('input[name=header_row]').val($('#header-area').attr('rows'));return false;"><span>拡大</span></a> … … 59 60 <input type="hidden" name="division" value="footer" /> 60 61 <input type="hidden" name="footer_row" value=<!--{$footer_row}--> /> 61 <input type="hidden" name="browser_type" value="" />62 62 <input type="hidden" name="device_type_id" value="<!--{$device_type_id|h}-->" /> 63 63 … … 76 76 <!--{* ▲フッター編集ここまで *}--> 77 77 </div> 78 <script type="text/javascript">79 /* ブラウザの種類をセットする */80 function lfnSetBrowser(form, item){81 browser_type = 0;82 if(navigator.userAgent.indexOf("MSIE") >= 0){83 browser_type = 1;84 }85 else if(navigator.userAgent.indexOf("Gecko/") >= 0){86 browser_type = 2;87 }88 89 document[form][item].value=browser_type;90 }91 92 </script> -
branches/version-2_11-dev/data/class/pages/admin/design/LC_Page_Admin_Design_Bloc.php
r20857 r20859 73 73 function action() { 74 74 $objFormParam = new SC_FormParam_Ex(); 75 $this->lfInitParam($objFormParam , $_REQUEST);75 $this->lfInitParam($objFormParam); 76 76 $objFormParam->setParam($_REQUEST); 77 77 $objFormParam->convParam(); -
branches/version-2_11-dev/data/class/pages/admin/design/LC_Page_Admin_Design_Header.php
r20764 r20859 24 24 // {{{ requires 25 25 require_once CLASS_EX_REALDIR . 'page_extends/admin/LC_Page_Admin_Ex.php'; 26 require_once CLASS_EX_REALDIR . 'helper_extends/SC_Helper_FileManager_Ex.php'; 26 27 27 28 /** … … 68 69 * Page のアクション. 69 70 * 70 * FIXME テンプレートの取得方法を要修正71 *72 71 * @return void 73 72 */ 74 73 function action() { 75 // 端末種別IDを取得 76 if (isset($_REQUEST['device_type_id']) 77 && is_numeric($_REQUEST['device_type_id'])) { 78 $device_type_id = $_REQUEST['device_type_id']; 74 $objFormParam = new SC_FormParam_Ex(); 75 $this->lfInitParam($objFormParam); 76 $objFormParam->setParam($_REQUEST); 77 $objFormParam->convParam(); 78 $this->arrErr = $objFormParam->checkError(); 79 $is_error = (!SC_Utils_Ex::isBlank($this->arrErr)); 80 81 $this->device_type_id = $objFormParam->getValue('device_type_id', DEVICE_TYPE_PC); 82 83 switch ($this->getMode()) { 84 // 登録 85 case 'regist': 86 if ($this->doRegister($objFormParam)) { 87 $this->tpl_onload = "alert('登録が完了しました。');"; 88 } 89 break; 90 91 default: 92 break; 93 } 94 95 if (!$is_error) { 96 // テキストエリアに表示 97 $header_path = $this->getTemplatePath($this->device_type_id, 'header'); 98 $footer_path = $this->getTemplatePath($this->device_type_id, 'footer'); 99 if ($header_path === false || $footer_path === false) { 100 $this->arrErr['err'] = '※ ファイルの取得に失敗しました<br />'; 101 } else { 102 $this->header_data = file_get_contents($header_path); 103 $this->footer_data = file_get_contents($footer_path); 104 } 79 105 } else { 80 $device_type_id = DEVICE_TYPE_PC; 106 // 画面にエラー表示しないため, ログ出力 107 GC_Utils_Ex::gfPrintLog('Error: ' . print_r($this->arrErr, true)); 81 108 } 82 $this->device_type_id = $device_type_id;83 109 84 110 //サブタイトルの追加 85 $this->tpl_subtitle .= ' - ' . $this->arrDeviceType[$device_type_id]; 86 87 // テンプレートのパス 88 $template_path = $this->lfGetTemplatePath($device_type_id); 89 90 // データ更新処理 91 if (isset($_POST['division']) && $_POST['division'] != '') { 92 $division = $_POST['division']; 93 $content = $_POST[$division]; // TODO no checked? 94 95 switch ($this->getMode()) { 96 case 'regist': 97 // 正規のテンプレートに書き込む 98 $template = $template_path . '/' . $division . '.tpl'; 99 $this->lfUpdateTemplate($template, $content); 100 $this->tpl_onload="alert('登録が完了しました。');"; 101 break; 102 default: 103 // なにもしない 104 break; 105 } 106 } 107 108 // テキストエリアに表示 109 $this->header_data = file_get_contents($template_path . '/header.tpl'); 110 $this->footer_data = file_get_contents($template_path . '/footer.tpl'); 111 112 // ブラウザタイプ 113 $this->browser_type = isset($_POST['browser_type']) ? $_POST['browser_type'] : ""; 114 } 115 116 function lfUpdateTemplate($template, $content) { 117 $fp = fopen($template,'w'); 118 fwrite($fp, $content); 119 fclose($fp); 120 } 121 122 function lfGetTemplatePath($device_type_id) { 123 $objLayout = new SC_Helper_PageLayout_Ex(); 124 return $objLayout->getTemplatePath($device_type_id); 111 $this->tpl_subtitle .= ' - ' . $this->arrDeviceType[$this->device_type_id]; 125 112 } 126 113 … … 133 120 parent::destroy(); 134 121 } 122 123 /** 124 * パラメータ情報の初期化 125 * 126 * @param object $objFormParam SC_FormParamインスタンス 127 * @return void 128 */ 129 function lfInitParam(&$objFormParam) { 130 $objFormParam->addParam("端末種別ID", "device_type_id", INT_LEN, 'n', array("NUM_CHECK", "MAX_LENGTH_CHECK")); 131 $objFormParam->addParam("division", "division", STEXT_LEN, 'a', array("MAX_LENGTH_CHECK")); 132 $objFormParam->addParam("ヘッダデータ", "header"); 133 $objFormParam->addParam("フッタデータ", "footer"); 134 } 135 136 /** 137 * エラーチェックを行う. 138 * 139 * @param SC_FormParam $objFormParam SC_FormParam インスタンス 140 * @return array エラーメッセージの配列 141 */ 142 function lfCheckError(&$objFormParam, &$arrErr, &$objLayout) { 143 $arrParams = $objFormParam->getHashArray(); 144 $objErr = new SC_CheckError_Ex($arrParams); 145 $objErr->arrErr =& $arrErr; 146 $objErr->doFunc(array("division", "division", STEXT_LEN), array("EXIST_CHECK")); 147 return $objErr->arrErr; 148 } 149 150 /** 151 * 登録を実行する. 152 * 153 * ファイルの作成に失敗した場合は, エラーメッセージを出力する. 154 * 155 * @param SC_FormParam $objFormParam SC_FormParam インスタンス 156 * @return integer|boolean 登録が成功した場合 true; 失敗した場合 false 157 */ 158 function doRegister(&$objFormParam) { 159 $division = $objFormParam->getValue('division'); 160 $contents = $objFormParam->getValue($division); 161 $tpl_path = $this->getTemplatePath($objFormParam->getValue('device_type_id'), $division); 162 if ($tpl_path === false 163 || !SC_Helper_FileManager_Ex::sfWriteFile($tpl_path, $contents)) { 164 $this->arrErr['err'] = '※ ファイルの書き込みに失敗しました<br />'; 165 return false; 166 } 167 return true; 168 } 169 170 /** 171 * テンプレートパスを取得する. 172 * 173 * @param integer $device_type_id 端末種別ID 174 * @param string $division "header" or "footer" 175 * @return string|boolean 成功した場合, テンプレートのパス; 失敗した場合 false 176 */ 177 function getTemplatePath($device_type_id, $division) { 178 $tpl_path = SC_Helper_PageLayout_Ex::getTemplatePath($device_type_id) . '/' . $division . '.tpl'; 179 if (file_exists($tpl_path)) { 180 return $tpl_path; 181 } else { 182 return false; 183 } 184 } 135 185 } 186 ?>
Note: See TracChangeset
for help on using the changeset viewer.