Changeset 17112
- Timestamp:
- 2008/03/07 21:00:04 (16 years ago)
- Location:
- branches/comu-ver2/data
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/comu-ver2/data/Smarty/templates/default/admin/design/css.tpl
r16582 r17112 27 27 <input type="hidden" name="mode" value=""> 28 28 <input type="hidden" name="area_row" value=<!--{$area_row}-->> 29 <input type="hidden" name="old_css_name" value="<!--{$old_css_name}-->" /> 29 30 <tr valign="top"> 30 31 <td background="<!--{$TPL_DIR}-->img/contents/navi_bg.gif" height="402"> … … 64 65 </table> 65 66 66 <!--▼注意書き ここから-->67 <table width="678" border="0" cellspacing="1" cellpadding="8" summary=" ">68 <tr class="fs12n">69 <td bgcolor="#ffffff" align="left">70 下のテキストエリアに独自のCSSを定義することができます。<br/>71 ここで定義したものは全ページに反映されます。72 </td>73 </tr>74 </table>75 <!--▲注意書き ここまで-->76 77 <table width="678" border="0" cellspacing="0" cellpadding="0" summary=" ">78 <tr><td colspan="3"><img src="<!--{$TPL_DIR}-->img/contents/main_bar.jpg" width="678" height="10" alt=""></td></tr>79 </table>80 81 67 <!--▼CSS編集 ここから--> 82 68 <table width="678" border="0" cellspacing="1" cellpadding="8" summary=" "> 69 <tr class="fs12n"> 70 <td bgcolor="#ffffff" align="left"> 71 <!--{ if $arrErr.css_name != "" }--> <div align="center"> <span class="red12"><!--{$arrErr.css_name}--></span></div> <!--{/if}--> 72 CSSファイル名:<input type="text" name="css_name" value="<!--{$css_name}-->" maxlength="<!--{$smarty.const.STEXT_LEN}-->" style="<!--{if $arrErr.css_name != ""}-->background-color: <!--{$smarty.const.ERR_COLOR}-->;<!--{/if}-->" size="60" class="box60" />.css<span class="red"> (上限<!--{$smarty.const.STEXT_LEN}-->文字)</span> 73 </td> 74 </tr> 83 75 <tr class="fs12n"> 84 <td bgcolor="#f 2f1ec" align="center">76 <td bgcolor="#ffffff" align="center"> 85 77 <textarea name="css" cols=90 rows=<!--{$area_row}--> align="left" wrap=off style="width: 650px;"><!--{$css_data}--></textarea> 86 78 <div align="right"> … … 96 88 </table> 97 89 <!--▲CSS編集 ここまで--> 90 91 <table width="678" border="0" cellspacing="0" cellpadding="0" summary=" "> 92 <tr><td colspan="3"><img src="<!--{$TPL_DIR}-->img/contents/main_bar.jpg" width="678" height="10" alt=""></td></tr> 93 </table> 94 95 <!--▼CSSファイル一覧 ここから--> 96 <table width="678" border="0" cellspacing="1" cellpadding="5" summary=" "> 97 <tr class="fs12n"> 98 <td bgcolor="#f2f1ec" align="center" colspan=2 ><strong>編集可能CSSファイル</strong></td> 99 </tr> 100 101 <!--{if count($arrCSSList) > 0}--> 102 <!--{foreach key=key item=item from=$arrCSSList}--> 103 <tr class="fs12n" height=20> 104 <td align="center" width=600 bgcolor="<!--{if $item.css_name == $css_name}--><!--{$smarty.const.SELECT_RGB}--><!--{else}-->#ffffff<!--{/if}-->"> 105 <a href="<!--{$smarty.server.PHP_SELF}-->?css_name=<!--{$item.css_name}-->"><!--{$item.file_name}--></a> 106 </td> 107 <td align="center" width=140 bgcolor="<!--{if $item.css_name == $css_name}--><!--{$smarty.const.SELECT_RGB}--><!--{else}-->#ffffff<!--{/if}-->"> 108 <input type="button" value="削除" name="del_<!--{$item.css_name}-->" onclick="fnFormModeSubmit('form_css','delete','css_name','<!--{$item.css_name}-->');" /> 109 </td> 110 </tr> 111 <!--{/foreach}--> 112 <!--{else}--> 113 <tr class="fs12n"> 114 <td bgcolor="#ffffff" align="center" colspan=2 >CSSファイルが存在しません。</td> 115 </tr> 116 <!--{/if}--> 117 118 <tr class="fs12n"> 119 <td bgcolor="#f2f1ec" align="center" colspan=2> 120 <input type='button' value='新規CSS作成' name='subm' onclick="location.href='http://<!--{$smarty.server.HTTP_HOST}--><!--{$smarty.server.PHP_SELF|escape}-->'"> 121 </td> 122 </tr> 123 </table> 124 <!--▲CSSファイル一覧 ここまで--> 125 98 126 </td> 99 127 <td background="<!--{$TPL_DIR}-->img/contents/main_right.jpg"><img src="<!--{$TPL_DIR}-->img/common/_.gif" width="14" height="1" alt=""></td> -
branches/comu-ver2/data/Smarty/templates/default/site_frame.tpl
r16633 r17112 26 26 <meta http-equiv="Content-Script-Type" content="text/javascript" /> 27 27 <meta http-equiv="Content-Style-Type" content="text/css" /> 28 <link rel="stylesheet" href="<!--{$ smarty.const.URL_DIR}--><!--{$smarty.const.USER_DIR}-->css/common.css" type="text/css" media="all" />28 <link rel="stylesheet" href="<!--{$TPL_DIR}-->css/import.css" type="text/css" media="all" /> 29 29 <link rel="alternate" type="application/rss+xml" title="RSS" href="<!--{$smarty.const.SITE_URL}-->rss/index.php" /> 30 30 <script type="text/javascript" src="<!--{$TPL_DIR}-->js/css.js"></script> -
branches/comu-ver2/data/class/pages/admin/design/LC_Page_Admin_Design_CSS.php
r16741 r17112 24 24 // {{{ requires 25 25 require_once(CLASS_PATH . "pages/LC_Page.php"); 26 require_once(CLASS_EX_PATH . "helper_extends/SC_Helper_FileManager_Ex.php"); 26 27 27 28 /** … … 64 65 SC_Utils_Ex::sfIsSuccess($objSess); 65 66 66 $css_path = USER_PATH . "css/common.css"; 67 $objFileManager = new SC_Helper_FileManager_Ex(); 68 69 // CSSファイル名を取得 70 if (isset($_POST['css_name'])) { 71 $css_name = $_POST['css_name']; 72 }else if (isset($_GET['css_name'])){ 73 $css_name = $_GET['css_name']; 74 }else{ 75 $css_name = ''; 76 } 77 $this->css_name = $css_name; 78 79 if (isset($_POST['old_css_name'])) { 80 $old_css_name = $_POST['old_css_name']; 81 }else if (isset($_GET['css_name'])) { 82 $old_css_name = $_GET['css_name']; 83 }else{ 84 $old_css_name = ''; 85 } 86 $this->old_css_name = $old_css_name; 87 88 $css_dir = USER_TEMPLATE_PATH . TEMPLATE_NAME . "/css/"; 89 $css_path = $css_dir . $css_name . '.css'; 90 91 // CSSファイルの読み込み 92 if($css_name != '' && file_exists($css_path)){ 93 $css_data = file_get_contents($css_path); 94 } 95 // テキストエリアに表示 96 $this->css_data = $css_data; 67 97 68 98 if (!isset($_POST['mode'])) $_POST['mode'] = ""; 69 99 70 // データ更新処理 71 if ($_POST['mode'] == 'confirm'){ 100 switch($_POST['mode']) { 101 // データ更新処理 102 case 'confirm': 103 $this->lfExecuteConfirm($css_dir, $css_name, $old_css_name, $css_path); 104 break; 105 case 'delete': 106 $this->lfExecuteDelete($css_path); 107 break; 108 default: 109 if(isset($_POST['mode'])) { 110 GC_Utils::gfPrintLog("MODEエラー:".$_POST['mode']); 111 } 112 break; 113 } 114 115 // ファイルリストを取得 116 $this->arrCSSList = $this->lfGetCSSList($css_dir); 117 118 // 画面の表示 119 $objView->assignobj($this); 120 $objView->display(MAIN_FRAME); 121 } 122 123 /** 124 * デストラクタ. 125 * 126 * @return void 127 */ 128 function destroy() { 129 parent::destroy(); 130 } 131 132 function lfExecuteConfirm($css_dir, $css_name, $old_css_name, $css_path) { 133 // エラーチェック 134 $this->arrErr = $this->lfErrorCheck($_POST, $css_dir); 135 136 // エラーがなければ更新処理を行う 137 if (count($this->arrErr) == 0) { 138 // 旧ファイルの削除 139 if ($old_css_name != '' && $old_css_name != $css_name && file_exists($css_dir . $old_css_name . '.css')) { 140 unlink($css_dir . $old_css_name . '.css'); 141 } 72 142 // プレビュー用テンプレートに書き込み 73 143 $fp = fopen($css_path,"w"); // TODO … … 76 146 77 147 $this->tpl_onload="alert('登録が完了しました。');"; 78 } 79 80 // CSSファイルの読み込み 81 if(file_exists($css_path)){ 82 $css_data = file_get_contents($css_path); 83 } 84 85 // テキストエリアに表示 86 $this->css_data = $css_data; 87 88 // 画面の表示 89 $objView->assignobj($this); 90 $objView->display(MAIN_FRAME); 91 } 92 93 /** 94 * デストラクタ. 95 * 96 * @return void 97 */ 98 function destroy() { 99 parent::destroy(); 148 $this->old_css_name = $css_name; 149 } 150 $this->css_data = $_POST['css']; 151 } 152 153 function lfExecuteDelete($css_path) { 154 // css_name が空でない場合にはdeleteを実行 155 if ($_POST['css_name'] !== '' && file_exists($css_path)) { 156 unlink($css_path); 157 } 158 $this->sendRedirect($this->getLocation("./css.php")); 159 } 160 161 /** 162 * CSSファイルのリストを取得. 163 * 164 * @param array $css_dir CSSディレクトリ 165 * @return array ファイルリスト 166 */ 167 function lfGetCSSList($css_dir) { 168 $objFileManager = new SC_Helper_FileManager_Ex(); 169 170 $arrFileList = $objFileManager->sfGetFileList($css_dir); 171 foreach ($arrFileList as $key => $val) { 172 if (!$val['is_dir']) { 173 $arrCSSList[] = array( 174 'file_name' => $val['file_name'], 175 'css_name' => preg_replace('/(.+)\.(.+?)$/','$1',$val['file_name']), 176 ); 177 } 178 } 179 return $arrCSSList; 180 } 181 182 /** 183 * 入力項目のエラーチェックを行う. 184 * 185 * @param array $arrData 入力データ 186 * @param array $css_dir CSSディレクトリ 187 * @return array エラー情報 188 */ 189 function lfErrorCheck($array, $css_dir) { 190 $objErr = new SC_CheckError($array); 191 192 $objErr->doFunc(array("CSSファイル名", "css_name", STEXT_LEN), array("EXIST_CHECK", "NO_SPTAB", "MAX_LENGTH_CHECK")); 193 194 // 入力文字が英数字,"_","-"以外ならエラーを返す 195 if(!isset($objErr->arrErr['css_name'])){ 196 if(!ereg("^[a-zA-Z0-9_\.-]+$", $array['css_name'])) { 197 $objErr->arrErr['css_name'] = '※ CSSファイル名は英数字と"_"および"-"だけを入力してください。<br />'; 198 } 199 } 200 201 // 同一のファイル名が存在している場合にはエラー 202 if(!isset($objErr->arrErr['css_name'])){ 203 $arrCSSList = $this->lfGetCSSList($css_dir); 204 foreach ($arrCSSList as $key => $val) { 205 if ($val['css_name'] == $array['css_name']) { 206 if ($array['old_css_name'] == '' || $array['old_css_name'] != $array['css_name']) { 207 $errFlg = TRUE; 208 } 209 } 210 } 211 if ($errFlg) $objErr->arrErr['css_name'] = '※ 同じファイル名のデータが存在しています。別の名称を付けてください。<br />'; 212 } 213 214 return $objErr->arrErr; 100 215 } 101 216 }
Note: See TracChangeset
for help on using the changeset viewer.