- 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/bloc.php
r12157 r15078 18 18 $this->tpl_subno = "bloc"; 19 19 $this->tpl_mainno = "design"; 20 $this->tpl_subtitle = ' ¥Ö¥í¥Ã¥¯ÊÔ½¸';20 $this->tpl_subtitle = 'ブロック編集'; 21 21 } 22 22 } … … 25 25 $objView = new SC_AdminView(); 26 26 27 // ǧ¾Ú²ÄÈݤÎȽÄê27 // 認証可否の判定 28 28 $objSess = new SC_Session(); 29 29 sfIsSuccess($objSess); 30 30 31 // ¥Ö¥í¥Ã¥¯°ìÍ÷¤ò¼èÆÀ31 // ブロック一覧を取得 32 32 $objPage->arrBlocList = lfgetBlocData(); 33 33 34 // ¥Ö¥í¥Ã¥¯ID¤ò¼èÆÀ34 // ブロックIDを取得 35 35 if (isset($_POST['bloc_id'])) { 36 36 $bloc_id = $_POST['bloc_id']; … … 42 42 $objPage->bloc_id = $bloc_id; 43 43 44 // bloc_id ¤¬»ØÄꤵ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ë¤Ï¥Ö¥í¥Ã¥¯¥Ç¡¼¥¿¤Î¼èÆÀ44 // bloc_id が指定されている場合にはブロックデータの取得 45 45 if ($bloc_id != '') { 46 46 $arrBlocData = lfgetBlocData(" bloc_id = ? " , array($bloc_id)); 47 47 $arrBlocData[0]['tpl_path'] = USER_PATH . $arrBlocData[0]['tpl_path']; 48 48 49 // ¥Æ¥ó¥×¥ì¡¼¥È¥Õ¥¡¥¤¥ë¤ÎÆɤ߹þ¤ß49 // テンプレートファイルの読み込み 50 50 $arrBlocData[0]['tpl_data'] = file_get_contents($arrBlocData[0]['tpl_path']); 51 51 $objPage->arrBlocData = $arrBlocData[0]; 52 52 } 53 53 54 // ¥á¥Ã¥»¡¼¥¸É½¼¨54 // メッセージ表示 55 55 if ($_GET['msg'] == "on") { 56 // ´°Î»¥á¥Ã¥»¡¼¥¸57 $objPage->tpl_onload="alert(' ÅÐÏ¿¤¬´°Î»¤·¤Þ¤·¤¿¡£');";58 } 59 60 // ¥×¥ì¥Ó¥å¡¼É½¼¨56 // 完了メッセージ 57 $objPage->tpl_onload="alert('登録が完了しました。');"; 58 } 59 60 // プレビュー表示 61 61 if ($_POST['mode'] == "preview") { 62 // ¥×¥ì¥Ó¥å¡¼¥Õ¥¡¥¤¥ëºîÀ®62 // プレビューファイル作成 63 63 $prev_path = USER_INC_PATH . 'preview/bloc_preview.tpl'; 64 64 $fp = fopen($prev_path,"w"); … … 66 66 fclose($fp); 67 67 68 // ¥×¥ì¥Ó¥å¡¼¥Ç¡¼¥¿É½¼¨68 // プレビューデータ表示 69 69 $objPage->preview = "on"; 70 70 $objPage->arrBlocData['tpl_data'] = $_POST['bloc_html']; … … 77 77 } 78 78 79 // ¥Ç¡¼¥¿ÅÐÏ¿½èÍý79 // データ登録処理 80 80 if ($_POST['mode'] == 'confirm') { 81 81 82 // ¥¨¥é¡¼¥Á¥§¥Ã¥¯82 // エラーチェック 83 83 $objPage->arrErr = lfErrorCheck($_POST); 84 84 85 // ¥¨¥é¡¼¤¬¤Ê¤±¤ì¤Ð¹¹¿·½èÍý¤ò¹Ô¤¦85 // エラーがなければ更新処理を行う 86 86 if (count($objPage->arrErr) == 0) { 87 // DB ¤Ø¥Ç¡¼¥¿¤ò¹¹¿·¤¹¤ë87 // DBへデータを更新する 88 88 lfEntryBlocData($_POST); 89 89 90 // ¥Õ¥¡¥¤¥ë¤Îºï½ü90 // ファイルの削除 91 91 $del_file=BLOC_PATH . $arrBlocData[0]['filename']. '.tpl'; 92 92 if (file_exists($del_file)) { … … 94 94 } 95 95 96 // ¥Õ¥¡¥¤¥ëºîÀ®96 // ファイル作成 97 97 $fp = fopen(BLOC_PATH . $_POST['filename'] . '.tpl',"w"); 98 98 fwrite($fp, $_POST['bloc_html']); … … 104 104 header("location: ./bloc.php?bloc_id=$bloc_id&msg=on"); 105 105 }else{ 106 // ¥¨¥é¡¼¤¬¤¢¤ì¤ÐÆþÎÏ»þ¤Î¥Ç¡¼¥¿¤òɽ¼¨¤¹¤ë106 // エラーがあれば入力時のデータを表示する 107 107 $objPage->arrBlocData = $_POST; 108 108 } 109 109 } 110 110 111 // ¥Ç¡¼¥¿ºï½ü½èÍý111 // データ削除処理 112 112 if ($_POST['mode'] == 'delete') { 113 113 114 // DB ¤Ø¥Ç¡¼¥¿¤ò¹¹¿·¤¹¤ë115 $objDBConn = new SC_DbConn; // DB Áàºî¥ª¥Ö¥¸¥§¥¯¥È116 $sql = ""; // ¥Ç¡¼¥¿¹¹¿·SQLÀ¸À®ÍÑ117 $ret = ""; // ¥Ç¡¼¥¿¹¹¿··ë²Ì³ÊǼÍÑ118 $arrDelData = array(); // ¹¹¿·¥Ç¡¼¥¿À¸À®ÍÑ119 120 // ¹¹¿·¥Ç¡¼¥¿À¸À®114 // DBへデータを更新する 115 $objDBConn = new SC_DbConn; // DB操作オブジェクト 116 $sql = ""; // データ更新SQL生成用 117 $ret = ""; // データ更新結果格納用 118 $arrDelData = array(); // 更新データ生成用 119 120 // 更新データ生成 121 121 $arrUpdData = array($arrData['bloc_name'], BLOC_DIR . $arrData['filename'] . '.tpl', $arrData['filename']); 122 122 123 // bloc_id ¤¬¶õ¤Ç¤Ê¤¤¾ì¹ç¤Ë¤Ïdelete¤ò¼Â¹Ô123 // bloc_id が空でない場合にはdeleteを実行 124 124 if ($_POST['bloc_id'] !== '') { 125 // SQL À¸À®125 // SQL生成 126 126 $sql = " DELETE FROM dtb_bloc WHERE bloc_id = ?"; 127 // SQL ¼Â¹Ô127 // SQL実行 128 128 $ret = $objDBConn->query($sql,array($_POST['bloc_id'])); 129 129 130 // ¥Ú¡¼¥¸¤ËÇÛÃÖ¤µ¤ì¤Æ¤¤¤ë¥Ç¡¼¥¿¤âºï½ü¤¹¤ë130 // ページに配置されているデータも削除する 131 131 $sql = "DELETE FROM dtb_blocposition WHERE bloc_id = ?"; 132 // SQL ¼Â¹Ô132 // SQL実行 133 133 $ret = $objDBConn->query($sql,array($_POST['bloc_id'])); 134 134 135 // ¥Õ¥¡¥¤¥ë¤Îºï½ü135 // ファイルの削除 136 136 $del_file = BLOC_PATH . $arrBlocData[0]['filename']. '.tpl'; 137 137 if(file_exists($del_file)){ … … 144 144 145 145 146 // ²èÌ̤Îɽ¼¨146 // 画面の表示 147 147 $objView->assignobj($objPage); 148 148 $objView->display(MAIN_FRAME); … … 151 151 152 152 /************************************************************************************************************** 153 * ´Ø¿ô̾ ¡§lfgetBlocData154 * ½èÍýÆâÍÆ ¡§¥Ö¥í¥Ã¥¯¾ðÊó¤ò¼èÆÀ¤¹¤ë155 * °ú¿ô1 ¡§$where ¥¥¥ Where¶çʸ156 * °ú¿ô2 ¡§$arrVal ¥¥¥ Where¶ç¤Î¹Ê¹þ¾ò·ïÃÍ157 * Ìá¤êÃÍ ¡§¥Ö¥í¥Ã¥¯¾ðÊó153 * 関数名 :lfgetBlocData 154 * 処理内容 :ブロック情報を取得する 155 * 引数1 :$where ・・・ Where句文 156 * 引数2 :$arrVal ・・・ Where句の絞込条件値 157 * 戻り値 :ブロック情報 158 158 **************************************************************************************************************/ 159 159 function lfgetBlocData($where = '', $arrVal = ''){ 160 $objDBConn = new SC_DbConn; // DB Áàºî¥ª¥Ö¥¸¥§¥¯¥È161 $sql = ""; // ¥Ç¡¼¥¿¼èÆÀSQLÀ¸À®ÍÑ162 $arrRet = array(); // ¥Ç¡¼¥¿¼èÆÀÍÑ163 164 // SQL À¸À®160 $objDBConn = new SC_DbConn; // DB操作オブジェクト 161 $sql = ""; // データ取得SQL生成用 162 $arrRet = array(); // データ取得用 163 164 // SQL生成 165 165 $sql = " SELECT "; 166 166 $sql .= " bloc_id"; … … 175 175 $sql .= " dtb_bloc"; 176 176 177 // where ¶ç¤Î»ØÄ꤬¤¢¤ì¤ÐÄɲÃ177 // where句の指定があれば追加 178 178 if ($where != '') { 179 179 $sql .= " WHERE " . $where; … … 188 188 189 189 /************************************************************************************************************** 190 * ´Ø¿ô̾ ¡§lfEntryBlocData191 * ½èÍýÆâÍÆ ¡§¥Ö¥í¥Ã¥¯¾ðÊó¤ò¹¹¿·¤¹¤ë192 * °ú¿ô1 ¡§$arrData ¥¥¥ ¹¹¿·¥Ç¡¼¥¿193 * Ìá¤êÃÍ ¡§¹¹¿··ë²Ì190 * 関数名 :lfEntryBlocData 191 * 処理内容 :ブロック情報を更新する 192 * 引数1 :$arrData ・・・ 更新データ 193 * 戻り値 :更新結果 194 194 **************************************************************************************************************/ 195 195 function lfEntryBlocData($arrData){ 196 $objDBConn = new SC_DbConn; // DB Áàºî¥ª¥Ö¥¸¥§¥¯¥È197 $sql = ""; // ¥Ç¡¼¥¿¹¹¿·SQLÀ¸À®ÍÑ198 $ret = ""; // ¥Ç¡¼¥¿¹¹¿··ë²Ì³ÊǼÍÑ199 $arrUpdData = array(); // ¹¹¿·¥Ç¡¼¥¿À¸À®ÍÑ200 $arrChk = array(); // ÇÓ¾¥Á¥§¥Ã¥¯ÍÑ201 202 // ¹¹¿·¥Ç¡¼¥¿À¸À®196 $objDBConn = new SC_DbConn; // DB操作オブジェクト 197 $sql = ""; // データ更新SQL生成用 198 $ret = ""; // データ更新結果格納用 199 $arrUpdData = array(); // 更新データ生成用 200 $arrChk = array(); // 排他チェック用 201 202 // 更新データ生成 203 203 $arrUpdData = array($arrData['bloc_name'], BLOC_DIR . $arrData['filename'] . '.tpl', $arrData['filename']); 204 204 205 // ¥Ç¡¼¥¿¤¬Â¸ºß¤·¤Æ¤¤¤ë¤«¥Á¥§¥Ã¥¯¤ò¹Ô¤¦205 // データが存在しているかチェックを行う 206 206 if($arrData['bloc_id'] !== ''){ 207 207 $arrChk = lfgetBlocData("bloc_id = ?", array($arrData['bloc_id'])); 208 208 } 209 209 210 // bloc_id ¤¬¶õ ¼ã¤·¤¯¤Ï ¥Ç¡¼¥¿¤¬Â¸ºß¤·¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ë¤ÏINSERT¤ò¹Ô¤¦210 // bloc_id が空 若しくは データが存在していない場合にはINSERTを行う 211 211 if ($arrData['bloc_id'] === '' or !isset($arrChk[0])) { 212 // SQL À¸À®212 // SQL生成 213 213 $sql = " INSERT INTO dtb_bloc"; 214 214 $sql .= " ( "; 215 $sql .= " bloc_name "; // ¥Ö¥í¥Ã¥¯Ì¾¾Î216 $sql .= " ,tpl_path "; // ¥Æ¥ó¥×¥ì¡¼¥ÈÊݸÀè217 $sql .= " ,filename "; // ¥Õ¥¡¥¤¥ë̾¾Î218 $sql .= " ,create_date "; // ºîÀ®Æü219 $sql .= " ,update_date "; // ¹¹¿·Æü215 $sql .= " bloc_name "; // ブロック名称 216 $sql .= " ,tpl_path "; // テンプレート保存先 217 $sql .= " ,filename "; // ファイル名称 218 $sql .= " ,create_date "; // 作成日 219 $sql .= " ,update_date "; // 更新日 220 220 $sql .= " ) VALUES ( ?,?,?,now(),now() )"; 221 221 $sql .= " "; 222 222 }else{ 223 // ¥Ç¡¼¥¿¤¬Â¸ºß¤·¤Æ¤ë¾ì¹ç¤Ë¤Ï¥¢¥Ã¥×¥Ç¡¼¥È¤ò¹Ô¤¦224 // SQL À¸À®223 // データが存在してる場合にはアップデートを行う 224 // SQL生成 225 225 $sql = " UPDATE dtb_bloc"; 226 226 $sql .= " SET"; 227 $sql .= " bloc_name = ? "; // ¥Ö¥í¥Ã¥¯Ì¾¾Î228 $sql .= " ,tpl_path = ? "; // ¥Æ¥ó¥×¥ì¡¼¥ÈÊݸÀè229 $sql .= " ,filename = ? "; // ¥Æ¥ó¥×¥ì¡¼¥È¥Õ¥¡¥¤¥ë̾227 $sql .= " bloc_name = ? "; // ブロック名称 228 $sql .= " ,tpl_path = ? "; // テンプレート保存先 229 $sql .= " ,filename = ? "; // テンプレートファイル名 230 230 $sql .= " ,update_date = now()"; 231 231 $sql .= " WHERE bloc_id = ?"; 232 232 $sql .= " "; 233 233 234 // ¹¹¿·¥Ç¡¼¥¿¤Ë¥Ö¥í¥Ã¥¯ID¤òÄɲÃ234 // 更新データにブロックIDを追加 235 235 array_push($arrUpdData, $arrData['bloc_id']); 236 236 } 237 237 238 // SQL ¼Â¹Ô238 // SQL実行 239 239 $ret = $objDBConn->query($sql,$arrUpdData); 240 240 … … 244 244 245 245 /************************************************************************************************************** 246 * ´Ø¿ô̾ ¡§lfErrorCheck247 * ½èÍýÆâÍÆ ¡§ÆþÎϹàÌܤΥ¨¥é¡¼¥Á¥§¥Ã¥¯¤ò¹Ô¤¦248 * °ú¿ô1 ¡§$arrData ¥¥¥ ÆþÎϥǡ¼¥¿249 * Ìá¤êÃÍ ¡§¥¨¥é¡¼¾ðÊó246 * 関数名 :lfErrorCheck 247 * 処理内容 :入力項目のエラーチェックを行う 248 * 引数1 :$arrData ・・・ 入力データ 249 * 戻り値 :エラー情報 250 250 **************************************************************************************************************/ 251 251 function lfErrorCheck($array) { … … 253 253 $objErr = new SC_CheckError($array); 254 254 255 $objErr->doFunc(array(" ¥Ö¥í¥Ã¥¯Ì¾", "bloc_name", STEXT_LEN), array("EXIST_CHECK", "SPTAB_CHECK", "MAX_LENGTH_CHECK"));256 $objErr->doFunc(array(" ¥Õ¥¡¥¤¥ë̾", "filename", STEXT_LEN), array("EXIST_CHECK", "NO_SPTAB", "MAX_LENGTH_CHECK","FILE_NAME_CHECK"));257 258 // Ʊ°ì¤Î¥Õ¥¡¥¤¥ë̾¤¬Â¸ºß¤·¤Æ¤¤¤ë¾ì¹ç¤Ë¤Ï¥¨¥é¡¼255 $objErr->doFunc(array("ブロック名", "bloc_name", STEXT_LEN), array("EXIST_CHECK", "SPTAB_CHECK", "MAX_LENGTH_CHECK")); 256 $objErr->doFunc(array("ファイル名", "filename", STEXT_LEN), array("EXIST_CHECK", "NO_SPTAB", "MAX_LENGTH_CHECK","FILE_NAME_CHECK")); 257 258 // 同一のファイル名が存在している場合にはエラー 259 259 if(!isset($objErr->arrErr['filename']) and $array['filename'] !== ''){ 260 260 $arrChk = lfgetBlocData("filename = ?", array($array['filename'])); 261 261 262 262 if (count($arrChk[0]) >= 1 and $arrChk[0]['bloc_id'] != $array['bloc_id']) { 263 $objErr->arrErr['filename'] = ' ¢¨ Ʊ¤¸¥Õ¥¡¥¤¥ë̾¤Î¥Ç¡¼¥¿¤¬Â¸ºß¤·¤Æ¤¤¤Þ¤¹¡£Ê̤Î̾¾Î¤òÉÕ¤±¤Æ¤¯¤À¤µ¤¤¡£';263 $objErr->arrErr['filename'] = '※ 同じファイル名のデータが存在しています。別の名称を付けてください。'; 264 264 } 265 265 }
Note: See TracChangeset
for help on using the changeset viewer.