コード例 #1
0
<?php

if (!defined("NODIRECT")) {
    die("No direct Access !!");
}
if ($_SESSION['levelUser'] != 1) {
    header("Location:index.php");
}
require_once PATH_CLASS . "/IJGA/parameter.class.php";
$param = new parameter_ranking();
// def var
$template = "tour_param_ranking.tpl";
$smarty->assign('judul', "Tournament Parameter - Ranking");
$smarty->assign('refresh', $_SERVER['REQUEST_URI']);
$smarty->assign('referer', $_SERVER['SCRIPT_NAME'] . "?aksi=ranking");
$smarty->assign("button_value", "Add");
// pilih aksi2
$aksi2 = @preg_replace("@[^0-9a-z]@i", "", $_GET['aksi2']);
if (strtolower(trim($_POST['addbtn'])) == "add") {
    $aksi2 = "add";
} else {
    if (strtolower(trim($_POST['addbtn'])) == "update") {
        $aksi2 = "update";
    }
}
$smarty->assign('aksi2', $aksi2);
$smarty->assign("ranking", "0");
$smarty->assign("prosentase", "0");
// Process aksi2
switch ($aksi2) {
    case "add":
コード例 #2
0
 function CalculateTournaments($tour_id)
 {
     $tournaments = $this->getTournaments($tour_id);
     $parameter = new parameter_ranking();
     $REWARD = $tournaments->reward;
     $TRIAL_POINT = $tournaments->points;
     $TRIAL_ACUAN = 0;
     $key = 1;
     // Select All Games Result where belong tournaments Order By Total_Score Asc
     $SQL = "select ";
     $SQL .= "  sum(a.total_par) as par,";
     $SQL .= "  sum(a.total_score) as score,";
     $SQL .= "  b.id_player,";
     $SQL .= "  b.members_id,";
     $SQL .= "  b.members_name";
     $SQL .= " from t_games_result a inner join t_games b";
     $SQL .= " where a.games_id = b.games_id ";
     $SQL .= "  and b.id_round_tour in (select id_round_tour from t_tournaments_round d where d.tour_id='{$tour_id}')";
     $SQL .= " group by b.id_player order by score asc";
     $this->SimpleDB->connect();
     $rst = $this->SimpleDB->query($SQL);
     $this->SimpleDB->disconnect();
     while (is_object($rst) && $rst->next()) {
         $score = $rst->get(1);
         $player_id = $rst->get(2);
         $member_id = $rst->get(3);
         $member_name = $rst->get(4);
         if ($key == 1) {
             $TRIAL_ACUAN = $score;
         }
         $param = $parameter->get_rankingByPos($key);
         $prosentase = $param[0]["prosentase"];
         $voucher = $prosentase / 100 * $REWARD;
         $ranking = $param[0]["points"];
         $trial = $TRIAL_POINT - ($score - $TRIAL_ACUAN);
         // Update T_Tournaments_Player
         $SQL = "update t_tournaments_player set";
         $SQL .= "  par_total = {$score},";
         $SQL .= "  ranking_points = {$ranking},";
         $SQL .= "  voucher_points = {$voucher},";
         $SQL .= "  trial_points = {$trial},";
         $SQL .= "  position = {$key}";
         $SQL .= " where tour_playerid = {$player_id}";
         $this->SimpleDB->connect();
         $this->SimpleDB->execute($SQL);
         $this->SimpleDB->disconnect();
         // CHECK EXIST TOUR ID in TBL_MEMBERSHIP_REWARD WHERE ID_MEMBER NOT EMPTY
         if (trim($member_id) != "") {
             $SQL = "select tour_id from tbl_membership_reward where tour_id = '{$tour_id}' and membership_id = '{$member_id}'";
             $UPDT = "update tbl_membership_reward set ";
             $UPDT .= "  earning_reward = {$voucher},";
             $UPDT .= "  earning_ranking_points = {$ranking},";
             $UPDT .= "  earning_trial_points = {$trial}";
             $UPDT .= " where tour_id='{$tour_id}' and membership_id='{$member_id}'";
             $INST = "insert intp tbl_membership_reward(membership_id, membership_name, post_date, tour_id, earning_reward, earning_ranking_points, earning_trial_points) values(";
             $INST .= "  '{$member_id}',";
             $INST .= "  '{$member_name}',";
             $INST .= "  '" . date("Y/m/d") . "',";
             $INST .= "  '{$tour_id}',";
             $INST .= "  {$voucher},";
             $INST .= "  {$ranking},";
             $INST .= "  {$trial})";
             $this->SimpleDB->connect();
             $rest = $this->SimpleDB->query($SQL);
             $this->SimpleDB->disconnect();
             // IF EXIST UPDATE, ELSE INSERT
             if (is_object($rest) && $rest->next()) {
                 $this->SimpleDB->connect();
                 $this->SimpleDB->execute($UPDT);
                 $this->SimpleDB->disconnect();
             } else {
                 $this->SimpleDB->connect();
                 $this->SimpleDB->execute($INST);
                 $this->SimpleDB->disconnect();
             }
             // CALCULATE TBL_MEMBERSHIP
             $SQL = "select sum(a.earning_reward), sum(a.earning_ranking_points), sum(a.earning_trial_points) from tbl_membership_reward a where a.membership_id = '{$member_id}'";
             $this->SimpleDB->connect();
             $rast = $this->SimpleDB->query($SQL);
             $this->SimpleDB->disconnect();
             if (is_object($rast) && $rast->next()) {
                 $UPDT = "update tbl_membership set ";
                 $UPDT .= "  reward_earned = " . $rast->get(0) . ",";
                 $UPDT .= "  ranking_point = " . $rast->get(1) . ",";
                 $UPDT .= "  trial_point = " . $rast->get(2) . "";
                 $UPDT .= " where id='{$member_id}'";
                 $this->SimpleDB->connect();
                 $this->SimpleDB->execute($UPDT);
                 $this->SimpleDB->disconnect();
             }
         }
         $key++;
     }
 }