<?php $new_achievements = array(); $all_achievements = $achievements->getAchievements() or array(); $achievement_completions = array(); $new_achievements = array(); if (!empty($all_achievements)) { foreach ($all_achievements as $achievement => $value) { $achievement_completions[] = $value['column']; } $achievement_completions = $achievements->getPlayerAchievementsCompletion($achievement_completions); $players_total = $achievement_completions['TOTAL_RECORDS']; foreach ($all_achievements as $achievement => $value) { $d = $players_total == 0 ? 0 : $achievement_completions[$value['column']] / $players_total; array_push($new_achievements, array('name' => $value['name'], 'desc' => $value['desc'], 'icon' => $value['icon'], 'tokens' => $value['tokens'], 'percent' => round($d * 100, 1) . "%", 'players_unlocked' => $achievement_completions[$value['column']])); } $new_achievements = ACLIB::ArrSort($new_achievements, 'players_unlocked'); } $smarty->assign("all_achievements", $new_achievements);
<?php $content = ACLIB::GetContent(); $form_link = ACLIB::BuildUrl('', array(), 'sch'); if ($achievements->server_exists) { $url = array("home" => ACLIB::BuildUrl('', array(), 'hom'), "ldr" => ACLIB::BuildUrl('', array(), 'ldr')); } else { $url = array("home" => "#z", "ldr" => "#z"); echo "<script> window.location.hash = 'openServerSelection' </script>"; } $template_dir = $smarty->getTemplateDir(); $all_ac = $achievements->getAchievements(); $ac_count = is_array($all_ac) && !empty($all_ac) ? count($all_ac) : 0; $smarty->assignSingleVariable("Lang", $SmartyLang); $smarty->assignMultipleVariables(array('page_title' => 'Achievements v2', 'server_exists' => $achievements->server_exists, 'server' => $achievements->server, 'server_name' => $achievements->server_name, 'total_achievements' => $ac_count, 'servers' => ACLIB::GetServers(), 'home_page_content' => $content != 'content_player' ? true : false, 'content_file' => $content, 'template_dir' => $template_dir[0], 'form_link' => $form_link, 'url' => $url, 'show_content' => $achievements->server_exists, 'search_value' => isset($_GET['searchinput']) ? $_GET['searchinput'] : "Name/Auth", 'root_path' => __ROOT__, 'relative_path' => "themes/{$current_theme}/", 'script_name' => $_SERVER['REQUEST_URI'], 'website_url' => $website_url)); ?> <script type="text/javascript"> function search_navigate( obj ) { var keyword = obj.value; var dst = "<?php echo $achievements->server; ?> /search/" + keyword; window.location = dst; } function formHandler( obj ) { var gid = document.getElementById( 'input_search' );
foreach ($player_achievements as $achievement => $value) { if (!isset($category_achievements[$value['cat']]['unlocked'])) { $category_achievements[$value['cat']] = array(); $category_achievements[$value['cat']]['unlocked'] = 0; $category_achievements[$value['cat']]['total'] = 0; } if ($value['unlocked_date']) { $achievements_unlocked++; $category_achievements[$value['cat']]['unlocked']++; } $category_achievements[$value['cat']]['total']++; $achievements_total++; } $final_categories = array(); foreach ($all_categories as $category => $value) { $final_categories[$category]['url'] = ACLIB::BuildUrl('', array("cat_id" => $category, "plr" => $achievements->player_id), 'cat'); $final_categories[$category]['name'] = $value; if (isset($category_achievements[$category]['total'])) { $final_categories[$category]['total_unlocks'] = $category_achievements[$category]['unlocked']; $final_categories[$category]['total_achievements'] = $category_achievements[$category]['total']; $final_categories[$category]['ratio'] = $category_achievements[$category]['total'] > 0 ? round($category_achievements[$category]['unlocked'] / $category_achievements[$category]['total'] * 100, 1) : 0.0; } else { $final_categories[$category]['total_achievements'] = 0; $final_categories[$category]['ratio'] = 0.0; } } $smarty->assign("achievements_total_url", $achievements_total_url); $smarty->assign("achievements_unlocked", $achievements_unlocked); $smarty->assign("achievements_total", $achievements_total); $smarty->assign("achievements_ratio", $achievements_total > 0 ? round($achievements_unlocked / $achievements_total * 100, 1) : 0.0); $smarty->assign("achievement_categories", $final_categories);
<?php $top_players = $achievements->getTopPlayers(); if (!empty($top_players)) { $x = 0; foreach ($top_players as $player => $value) { $top_players[$player]['rank'] = $x + 1; $top_players[$player]['link'] = ACLIB::BuildUrl('', array('plr' => $value['plrid']), 'ovr'); $x++; } } $smarty->assign("ladder_players", $top_players);
$total_achievements++; $completed_achievements[$column]['showbar'] = false; $completed_achievements[$column]['locked'] = ''; if ($locked) { $completed_achievements[$column]['locked'] = "locked"; if ($value['value']) { $completed_achievements[$column]['showbar'] = true; $completed_achievements[$column]['completed'] = $achievements_plr_status[$column]['progress']; $completed_achievements[$column]['max'] = $value['max']; $completed_achievements[$column]['percent'] = $value['max'] > 0 ? round($achievements_plr_status[$column]['progress'] / $value['max'] * 100, 1) : 0.0; } } else { $achievements_unlocked++; } $completed_achievements[$column]['name'] = $value['name']; $completed_achievements[$column]['desc'] = $value['desc']; $completed_achievements[$column]['tokens'] = $value['tokens']; $completed_achievements[$column]['icon'] = $value['icon']; $completed_achievements[$column]['date'] = $locked ? "0" : date($format, $achievements_plr_status[$column]['unlocked_date']); } $completed_achievements = ACLIB::ArrSort($completed_achievements, "date"); foreach ($completed_achievements as $achievement => $value) { if ($value['date'] == "0") { $completed_achievements[$achievement]['date'] = $Lang['achievement_locked']; } } $smarty->assignSingleVariable("category_name", $category_name); $smarty->assignSingleVariable("total_achievements", $total_achievements); $smarty->assignSingleVariable("achievements_unlocked", $achievements_unlocked); $smarty->assignSingleVariable("completion", $total_achievements > 0 ? round($achievements_unlocked / $total_achievements * 100, 1) : 0.0); $smarty->assignSingleVariable("completed_achievements", $completed_achievements);
<?php /* Basic Achievements MVC model */ require_once __ROOT__ . "core/includes/class/mysql.class.php"; require_once __ROOT__ . "core/includes/smarty/Smarty.class.php"; $db = new MySQL(false, $sql_dbname, $sql_host, $sql_user, $sql_pass, $sql_charset, $sql_pcon); $success = $db->Open(); if (!$success) { die("Couldn't establish database connection. Check your configuration file."); } $db->TimerStart(); require_once __ROOT__ . "core/includes/achievements/achievements.class.php"; $achievements = new Achievements(); require_once __ROOT__ . "core/includes/func/func.inc.php"; require_once __ROOT__ . "core/controllers/initialize.php"; $smarty = new Controller(); $smarty->setTemplateDir(__ROOT__ . "themes/{$current_theme}/"); require_once __ROOT__ . "/core/language/LanguageInit.inc.php"; require_once __ROOT__ . "core/controllers/main.ctr.php"; require_once __ROOT__ . "core/controllers/content_controllers/" . ACLIB::GetContent() . ".ctr.php"; $smarty->debugging = $smarty_debug; $db->TimerStop(); if (isset($_GET['simplified'])) { $smarty->displayTemplate(__ROOT__ . "themes/{$current_theme}/templates/main_game.tpl"); } else { $smarty->displayTemplate(__ROOT__ . "themes/{$current_theme}/templates/main.tpl"); }
$menuitem[] = array("classes" => $ovr_classes, "url" => ACLIB::BuildUrl('', array('plr' => $achievements->player_id), 'ovr'), "name" => $overview); $menuitem[] = array("classes" => $aac_classes, "url" => ACLIB::Buildurl('', array('plr' => $achievements->player_id), 'cat'), "name" => $all_ac); $all_categories = $achievements->getAllCategories(); if (!empty($all_categories)) { $arr = "<span class='arr2'>› </span>"; foreach ($all_categories as $category => $value) { $class = ''; $show_arr = true; if (isset($_GET['cat_id']) && $_GET['cat_id'] == $category) { $class = "current"; $show_arr = false; } $cat_name = $value; if ($show_arr) { $cat_name .= $arr; } $menuitem[] = array("classes" => $class, "url" => ACLIB::BuildUrl('', array('plr' => $achievements->player_id, 'cat_id' => $category), 'cat'), "name" => $cat_name); } } $tab_achievements_class = $__PAGE == 'sts' ? '' : 'tab-active'; $tab_statistics_class = $__PAGE == 'sts' ? 'tab-active' : ''; $tab_achievements_url = ACLIB::BuildUrl('', array('plr' => $achievements->player_id), 'ovr'); $tab_statistics_url = ACLIB::BuildUrl('', array('plr' => $achievements->player_id), 'sts'); $smarty->assign("player", $player); $smarty->assign("menuitems", $menuitem); $smarty->assign("tab_achievements_class", $tab_achievements_class); $smarty->assign("tab_achievements_url", $tab_achievements_url); $smarty->assign("tab_statistics_class", $tab_statistics_class); $smarty->assign("tab_statistics_url", $tab_statistics_url); $smarty->assign("page_file", $page_file); require_once __ROOT__ . "core/controllers/page_controllers/" . $page_file . ".ctr.php";
<?php $search_string = mysql_real_escape_string($_GET['searchinput']); if (strlen($search_string) < 3) { $smarty->assign("too_short", 1); } else { $smarty->assign("too_short", 0); $search_results = $achievements->searchForPlayers($search_string); } if (!empty($search_results)) { foreach ($search_results as $result => $value) { $search_results[$result]['url'] = ACLIB::BuildUrl('', array("plr" => $value['plrid']), 'ovr'); } } else { $search_results = array(); } $smarty->assign("search_string", $search_string); $smarty->assign("search_results", $search_results);
<?php $ConfigLang = LANGUAGE_PACKAGE; $Lang = array(); $SmartyLang = array(); $content = ACLIB::GetContent(); $page = ACLIB::GetPage(); $dir = dirname(__FILE__); $LangFiles = array("{$dir}/{$ConfigLang}/php/{$content}.lang.php", "{$dir}/{$ConfigLang}/php/{$page}.lang.php", "{$dir}/{$ConfigLang}/php/main.lang.php", "{$dir}/{$ConfigLang}/smarty/main.lang.php", "{$dir}/{$ConfigLang}/smarty/{$content}.lang.php", "{$dir}/{$ConfigLang}/smarty/{$page}.lang.php"); foreach ($LangFiles as $file) { if (file_exists($file)) { include $file; } }