Changeset 16829


Ignore:
Timestamp:
2007/11/28 15:22:01 (16 years ago)
Author:
satou
Message:

#192
修正しました。

Location:
branches/feature-module-update
Files:
2 added
1 edited

Legend:

Unmodified
Added
Removed
  • branches/feature-module-update/html/admin/system/rank.php

    r16582 r16829  
    2121 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA. 
    2222 */ 
     23// {{{ requires 
    2324require_once("../require.php"); 
     25require_once(CLASS_EX_PATH . "page_extends/admin/system/LC_Page_Admin_System_Rank_Ex.php"); 
    2426 
    25 $conn = new SC_DbConn(); 
     27// }}} 
     28// {{{ generate page 
    2629 
    27 // 認証可否の判定 
    28 $objSess = new SC_Session(); 
    29 sfIsSuccess($objSess); 
     30$objPage = new LC_Page_Admin_System_Rank_Ex(); 
     31register_shutdown_function(array($objPage, "destroy")); 
     32$objPage->init(); 
     33$objPage->process(); 
    3034 
    31 // ランキングの変更 
    32 if($_GET['move'] == 'up') { 
    33     // 正当な数値であった場合 
    34     if(sfIsInt($_GET['id'])){ 
    35         lfRunkUp($conn, $_GET['id']); 
    36     } else { 
    37         // エラー処理 
    38         gfPrintLog("error id=".$_GET['id']); 
    39     } 
    40 } else if($_GET['move'] == 'down') { 
    41     if(sfIsInt($_GET['id'])){ 
    42         lfRunkDown($conn, $_GET['id']); 
    43     }  else { 
    44         // エラー処理 
    45         gfPrintLog("error id=".$_GET['id']); 
    46     } 
    47 } 
    48  
    49 // ページの表示 
    50 $location = "Location: " . URL_SYSTEM_TOP . "?pageno=".$_GET['pageno']; 
    51 header($location); 
    52  
    53 // ランキングを上げる。 
    54 function lfRunkUp($conn, $id) { 
    55     // 自身のランクを取得する。 
    56     $rank = $conn->getOne("SELECT rank FROM dtb_member WHERE member_id = ".$id); 
    57     // ランクの最大値を取得する。 
    58     $maxno = $conn->getOne("SELECT max(rank) FROM dtb_member"); 
    59     // ランクが最大値よりも小さい場合に実行する。 
    60     if($rank < $maxno) { 
    61         // ランクがひとつ上のIDを取得する。 
    62         $sqlse = "SELECT member_id FROM dtb_member WHERE rank = ?"; 
    63         $up_id = $conn->getOne($sqlse, $rank + 1); 
    64         // ランク入れ替えの実行 
    65         $conn->query("BEGIN"); 
    66         $sqlup = "UPDATE dtb_member SET rank = ? WHERE member_id = ?"; 
    67         $conn->query($sqlup, array($rank + 1, $id)); 
    68         $conn->query($sqlup, array($rank, $up_id)); 
    69         $conn->query("COMMIT"); 
    70     } 
    71 } 
    72  
    73 // ランキングを下げる。 
    74 function lfRunkDown($conn, $id) { 
    75     // 自身のランクを取得する。 
    76     $rank = $conn->getOne("SELECT rank FROM dtb_member WHERE member_id = ".$id); 
    77     // ランクの最小値を取得する。 
    78     $minno = $conn->getOne("SELECT min(rank) FROM dtb_member"); 
    79     // ランクが最大値よりも大きい場合に実行する。 
    80     if($rank > $minno) { 
    81         // ランクがひとつ下のIDを取得する。 
    82         $sqlse = "SELECT member_id FROM dtb_member WHERE rank = ?"; 
    83         $down_id = $conn->getOne($sqlse, $rank - 1); 
    84         // ランク入れ替えの実行 
    85         $conn->query("BEGIN"); 
    86         $sqlup = "UPDATE dtb_member SET rank = ? WHERE member_id = ?"; 
    87         $conn->query($sqlup, array($rank - 1, $id)); 
    88         $conn->query($sqlup, array($rank, $down_id)); 
    89         $conn->query("COMMIT"); 
    90     } 
    91 }    
    9235?> 
Note: See TracChangeset for help on using the changeset viewer.