<?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":
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++; } }