Ignore:
Timestamp:
2007/03/10 21:35:02 (19 years ago)
Author:
nanasess
Message:

UTF-8 へ変換

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/comu/html/admin/contents/index.php

    r15 r11729  
    77require_once("../require.php"); 
    88 
    9 //---- ǧ¾Ú²ÄÈݤÎȽÄê 
     9//---- 認証可否の判定 
    1010$objSess = new SC_Session(); 
    1111sfIsSuccess($objSess); 
    1212 
    13 //---- ¥Ú¡¼¥¸É½¼¨¥¯¥é¥¹ 
     13//---- ページ表示クラス 
    1414class LC_Page { 
    1515     
     
    4040        $this->selected_month = date("n"); 
    4141        $this->selected_day = date("j"); 
    42         $this->tpl_subtitle = '¿·Ãå¾ðÊó´ÉÍý'; 
    43     } 
    44 } 
    45  
    46  
    47 //---- ¥Ú¡¼¥¸½é´üÀßÄê 
     42        $this->tpl_subtitle = '新着情報管理'; 
     43    } 
     44} 
     45 
     46 
     47//---- ページ初期設定 
    4848$conn = new SC_DbConn(); 
    4949$objPage = new LC_Page(); 
     
    5151$objDate = new SC_Date(ADMIN_NEWS_STARTYEAR); 
    5252 
    53 //----¡¡ÆüÉÕ¥×¥ë¥À¥¦¥óÀßÄê 
     53//---- 日付プルダウン設定 
    5454$objPage->arrYear = $objDate->getYear(); 
    5555$objPage->arrMonth = $objDate->getMonth(); 
    5656$objPage->arrDay = $objDate->getDay(); 
    5757 
    58 //----¡¡¿·µ¬ÅÐÏ¿/ÊÔ½¸ÅÐÏ¿ 
     58//---- 新規登録/編集登録 
    5959if ( $_POST['mode'] == 'regist'){ 
    6060    $_POST = lfConvData($_POST); 
    6161 
    62     if ($objPage->arrErr = lfErrorCheck()) {        // ÆþÎÏ¥¨¥é¡¼¤Î¥Á¥§¥Ã¥¯ 
     62    if ($objPage->arrErr = lfErrorCheck()) {        // 入力エラーのチェック 
    6363        foreach($_POST as $key => $val) { 
    6464            $objPage->$key = $val; 
     
    7676        $registDate = $_POST['year'] ."/". $_POST['month'] ."/". $_POST['day']; 
    7777 
    78         //-- ÊÔ½¸ÅÐÏ¿ 
     78        //-- 編集登録 
    7979        if (strlen($_POST["news_id"]) > 0 && is_numeric($_POST["news_id"])) { 
    8080 
    8181            lfNewsUpdate(); 
    8282 
    83         //--¡¡¿·µ¬ÅÐÏ¿ 
     83        //-- 新規登録 
    8484        } else { 
    8585            lfNewsInsert(); 
    8686        } 
    8787 
    88         $objPage->tpl_onload = "window.alert('ÊÔ½¸¤¬´°Î»¤·¤Þ¤·¤¿');"; 
    89     } 
    90 } 
    91  
    92 //----¡¡ÊÔ½¸¥Ç¡¼¥¿¼èÆÀ 
     88        $objPage->tpl_onload = "window.alert('編集が完了しました');"; 
     89    } 
     90} 
     91 
     92//---- 編集データ取得 
    9393if ($_POST["mode"] == "search" && is_numeric($_POST["news_id"])) { 
    9494    $sql = "SELECT *, cast(substring(news_date,1, 10) as date) as cast_news_date FROM dtb_news WHERE news_id = ? "; 
     
    106106} 
    107107 
    108 //----¡¡¥Ç¡¼¥¿ºï½ü 
     108//---- データ削除 
    109109if ( $_POST['mode'] == 'delete' && is_numeric($_POST["news_id"])) { 
    110110     
    111     // rank¤ò¼èÆÀ 
     111    // rankを取得 
    112112    $pre_rank = $conn->getone(" SELECT rank FROM dtb_news WHERE del_flg = 0 AND news_id = ? ", array( $_POST['news_id']  )); 
    113113 
    114     //-- ºï½ü¤¹¤ë¿·Ãå¾ðÊó°Ê¹ß¤Îrank¤ò1¤Ä·«¤ê¾å¤²¤Æ¤ª¤¯ 
     114    //-- 削除する新着情報以降のrankを1つ繰り上げておく 
    115115    $conn->query("BEGIN"); 
    116116    $sql = "UPDATE dtb_news SET rank = rank - 1, update_date = NOW() WHERE del_flg = 0 AND rank > ?"; 
     
    121121    $conn->query("COMMIT"); 
    122122 
    123     sfReload();             //¼«Ê¬¤Ë¥ê¥À¥¤¥ì¥¯¥È¡ÊºÆÆÉ¹þ¤Ë¤è¤ë¸íưºîËɻߡˠ
    124 } 
    125  
    126 //----¡¡É½¼¨½ç°Ì°Üư 
     123    sfReload();             //自分にリダイレクト(再読込による誤動作防止) 
     124} 
     125 
     126//---- 表示順位移動 
    127127 
    128128if ( $_POST['mode'] == 'move' && is_numeric($_POST["news_id"]) ) { 
     
    136136} 
    137137 
    138 //----¡¡»ØÄêɽ¼¨½ç°Ì°Üư 
     138//---- 指定表示順位移動 
    139139if ($_POST['mode'] == 'moveRankSet') { 
    140140    $key = "pos-".$_POST['news_id']; 
     
    147147 
    148148 
    149 //---- Á´¥Ç¡¼¥¿¼èÆÀ 
     149//---- 全データ取得 
    150150$sql = "SELECT *, cast(substring(news_date,1, 10) as date) as cast_news_date FROM dtb_news WHERE del_flg = '0' ORDER BY rank DESC"; 
    151151$objPage->list_data = $conn->getAll($sql); 
    152152$objPage->line_max = count($objPage->list_data); 
    153 $sql = "SELECT MAX(rank) FROM dtb_news WHERE del_flg = '0'";        // rank¤ÎºÇÂçÃͤò¼èÆÀ 
     153$sql = "SELECT MAX(rank) FROM dtb_news WHERE del_flg = '0'";        // rankの最大値を取得 
    154154$objPage->max_rank = $conn->getOne($sql); 
    155155 
    156156$objPage->arrForm['news_select'] = 0; 
    157157 
    158 //----¡¡¥Ú¡¼¥¸É½¼¨ 
     158//---- ページ表示 
    159159$objView->assignobj($objPage); 
    160160$objView->display(MAIN_FRAME); 
     
    163163//function ---------------------------------------------------------------------------------------------  
    164164 
    165 //---- ÆþÎÏʸ»úÎó¤òÇÛÎ󤨠
     165//---- 入力文字列を配列へ 
    166166function lfConvData( $data ){ 
    167167     
    168      // ʸ»úÎó¤ÎÊÑ´¹¡Êmb_convert_kana¤ÎÊÑ´¹¥ª¥×¥·¥ç¥ó¡Ë                          
     168     // 文字列の変換(mb_convert_kanaの変換オプション)                          
    169169    $arrFlag = array( 
    170170                      "year" => "n" 
     
    186186} 
    187187 
    188 //----¡¡»ØÄê½ç°Ì¤Ø°Üư 
     188//---- 指定順位へ移動 
    189189function sf_setRankPosition($conn, $tableName, $keyIdColumn, $keyId, $position) { 
    190190 
    191     // ¼«¿È¤Î¥é¥ó¥¯¤ò¼èÆÀ¤¹¤ë 
     191    // 自身のランクを取得する 
    192192    $conn->query("BEGIN"); 
    193193    $rank = $conn->getOne("SELECT rank FROM $tableName WHERE $keyIdColumn = ?", array($keyId));  
    194194 
    195     if( $position > $rank ) $term = "- 1";  //Æþ¤ìÂØ¤¨Àè¤Î½ç°Ì¤¬Æþ¤ì´¹¤¨¸µ¤Î½ç°Ì¤è¤êÂ礭¤¤¾ì¹ç 
    196     if( $position < $rank ) $term = "+ 1";  //Æþ¤ìÂØ¤¨Àè¤Î½ç°Ì¤¬Æþ¤ì´¹¤¨¸µ¤Î½ç°Ì¤è¤ê¾®¤µ¤¤¾ì¹ç 
    197  
    198     //--¡¡»ØÄꤷ¤¿½ç°Ì¤Î¾¦Éʤ«¤é°Üư¤µ¤»¤ë¾¦ÉʤޤǤÎrank¤ò£±¤Ä¤º¤é¤¹ 
     195    if( $position > $rank ) $term = "- 1";  //入れ替え先の順位が入れ換え元の順位より大きい場合 
     196    if( $position < $rank ) $term = "+ 1";  //入れ替え先の順位が入れ換え元の順位より小さい場合 
     197 
     198    //-- 指定した順位の商品から移動させる商品までのrankを1つずらす 
    199199    $sql = "UPDATE $tableName SET rank = rank $term, update_date = NOW() WHERE rank BETWEEN ? AND ? AND del_flg = 0"; 
    200200    if( $position > $rank ) $conn->query( $sql, array( $rank + 1, $position ) ); 
    201201    if( $position < $rank ) $conn->query( $sql, array( $position, $rank - 1 ) ); 
    202202 
    203     //-- »ØÄꤷ¤¿½ç°Ì¤Ørank¤ò½ñ¤­´¹¤¨¤ë¡£ 
     203    //-- 指定した順位へrankを書き換える。 
    204204    $sql  = "UPDATE $tableName SET rank = ?, update_date = NOW() WHERE $keyIdColumn = ? AND del_flg = 0 "; 
    205205    $conn->query( $sql, array( $position, $keyId ) ); 
     
    207207} 
    208208 
    209 //---- ÆþÎÏ¥¨¥é¡¼¥Á¥§¥Ã¥¯¡Ê½ç°Ì°ÜưÍѡˠ
     209//---- 入力エラーチェック(順位移動用) 
    210210function sf_errorCheckPosition($conn, $tableName, $position, $keyIdColumn, $keyId) { 
    211211 
    212212    $objErr = new SC_CheckError(); 
    213     $objErr->doFunc( array("°Üư½ç°Ì", "moveposition", 4 ), array( "ZERO_CHECK", "NUM_CHECK", "EXIST_CHECK", "MAX_LENGTH_CHECK" ) ); 
    214  
    215     // ¼«¿È¤Î¥é¥ó¥¯¤ò¼èÆÀ¤¹¤ë¡£ 
     213    $objErr->doFunc( array("移動順位", "moveposition", 4 ), array( "ZERO_CHECK", "NUM_CHECK", "EXIST_CHECK", "MAX_LENGTH_CHECK" ) ); 
     214 
     215    // 自身のランクを取得する。 
    216216    $rank = $conn->getOne("SELECT rank FROM $tableName WHERE $keyIdColumn = ?", array($keyId)); 
    217     if ($rank == $position ) $objErr->arrErr["moveposition"] .= "¢¨ »ØÄꤷ¤¿°Üư½ç°Ì¤Ï¸½ºß¤Î½ç°Ì¤Ç¤¹¡£"; 
    218      
    219     // rank¤ÎºÇÂçÃͰʾå¤ÎÆþÎϤòµöÍÆ¤·¤Ê¤¤                                             
     217    if ($rank == $position ) $objErr->arrErr["moveposition"] .= "※ 指定した移動順位は現在の順位です。"; 
     218     
     219    // rankの最大値以上の入力を許容しない                                            
    220220    if( ! $objErr->arrErr["position"] ) {                                 
    221221        $sql = "SELECT MAX( rank ) FROM " .$tableName. " WHERE del_flg = 0"; 
    222222        $result = $conn->getOne($sql); 
    223         if( $position > $result ) $objErr->arrErr["moveposition"] .= "¢¨ ÆþÎϤµ¤ì¤¿½ç°Ì¤Ï¡¢ÅÐÏ¿¿ô¤ÎºÇÂçÃͤòͤ¨¤Æ¤¤¤Þ¤¹¡£"; 
     223        if( $position > $result ) $objErr->arrErr["moveposition"] .= "※ 入力された順位は、登録数の最大値を超えています。"; 
    224224    } 
    225225 
     
    227227} 
    228228 
    229 //---- ÆþÎÏ¥¨¥é¡¼¥Á¥§¥Ã¥¯ 
     229//---- 入力エラーチェック 
    230230function lfErrorCheck(){ 
    231231 
    232232    $objErr = new SC_CheckError(); 
    233233 
    234     $objErr->doFunc(array("ÆüÉÕ(ǯ)", "year"), array("EXIST_CHECK")); 
    235     $objErr->doFunc(array("ÆüÉÕ(·î)", "month"), array("EXIST_CHECK")); 
    236     $objErr->doFunc(array("ÆüÉÕ(Æü)", "day"), array("EXIST_CHECK")); 
    237     $objErr->doFunc(array("ÆüÉÕ", "year", "month", "day"), array("CHECK_DATE")); 
    238     $objErr->doFunc(array("¥¿¥¤¥È¥ë", 'news_title', MTEXT_LEN), array("EXIST_CHECK","MAX_LENGTH_CHECK")); 
    239     $objErr->doFunc(array("ËÜʸ", 'url', URL_LEN), array("MAX_LENGTH_CHECK")); 
    240     $objErr->doFunc(array("ËÜʸ", 'news_comment', LTEXT_LEN), array("MAX_LENGTH_CHECK")); 
     234    $objErr->doFunc(array("日付(年)", "year"), array("EXIST_CHECK")); 
     235    $objErr->doFunc(array("日付(月)", "month"), array("EXIST_CHECK")); 
     236    $objErr->doFunc(array("日付(日)", "day"), array("EXIST_CHECK")); 
     237    $objErr->doFunc(array("日付", "year", "month", "day"), array("CHECK_DATE")); 
     238    $objErr->doFunc(array("タイトル", 'news_title', MTEXT_LEN), array("EXIST_CHECK","MAX_LENGTH_CHECK")); 
     239    $objErr->doFunc(array("本文", 'url', URL_LEN), array("MAX_LENGTH_CHECK")); 
     240    $objErr->doFunc(array("本文", 'news_comment', LTEXT_LEN), array("MAX_LENGTH_CHECK")); 
    241241 
    242242    return $objErr->arrErr; 
    243243} 
    244244 
    245 //INSERTʸ 
     245//INSERT 
    246246function lfNewsInsert(){ 
    247247    global $conn; 
     
    252252    } 
    253253     
    254     //rank¤ÎºÇÂç+1¤ò¼èÆÀ¤¹¤ë 
     254    //rankの最大+1を取得する 
    255255    $rank_max = $conn->getone("SELECT MAX(rank) + 1 FROM dtb_news WHERE del_flg = '0'"); 
    256256 
     
    261261    $conn->query($sql, $arrRegist); 
    262262     
    263     // ºÇ½é¤Î1·ïÌܤÎÅÐÏ¿¤Ïrank¤ËNULL¤¬Æþ¤ë¤Î¤ÇÂкö 
     263    // 最初の1件目の登録はrankにNULLが入るので対策 
    264264    $sql = "UPDATE dtb_news SET rank = 1 WHERE del_flg = 0 AND rank IS NULL"; 
    265265    $conn->query($sql); 
Note: See TracChangeset for help on using the changeset viewer.