Changeset 16829
- Timestamp:
- 2007/11/28 15:22:01 (16 years ago)
- 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 21 21 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 22 22 */ 23 // {{{ requires 23 24 require_once("../require.php"); 25 require_once(CLASS_EX_PATH . "page_extends/admin/system/LC_Page_Admin_System_Rank_Ex.php"); 24 26 25 $conn = new SC_DbConn(); 27 // }}} 28 // {{{ generate page 26 29 27 // 認証可否の判定 28 $objSess = new SC_Session(); 29 sfIsSuccess($objSess); 30 $objPage = new LC_Page_Admin_System_Rank_Ex(); 31 register_shutdown_function(array($objPage, "destroy")); 32 $objPage->init(); 33 $objPage->process(); 30 34 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 }92 35 ?>
Note: See TracChangeset
for help on using the changeset viewer.