query_firstrow($sql);
$game_id = $art["game_id"];
$article_type = $art["type"];
$type = $art2type[$article_type];
}
if($file_id && $type == "play") {
$sql = "SELECT * FROM " . FILEINFO_TABLE . " WHERE file_id = '$file_id';";
$file_info = $site_db->query_firstrow($sql);
$game_id = $file_info["game_id"];
}
/**
* Comment
* @template {template}
* @var {var} Comment.
* @var {var} Comment.
* @var {var} Comment.
*/
if($game_id) {
$sql = "SELECT * FROM " . GAMES_TABLE . "
LEFT JOIN " . GENRES_TABLE . " ON(" . GAMES_TABLE . ".game_genre = " . GENRES_TABLE . ".gen_id)
LEFT JOIN " . DEVELOPERS_TABLE . " ON(" . GAMES_TABLE . ".game_dev = " . DEVELOPERS_TABLE . ".dev_id)
LEFT JOIN " . PUBLISHERS_TABLE . " ON(" . GAMES_TABLE . ".game_pub = " . PUBLISHERS_TABLE . ".pub_id)
WHERE game_id = '$game_id';";
$game_info = $site_db->query_firstrow($sql);
$sql = "SELECT type FROM " . ARTICLES_TABLE . " WHERE game_id = '" . $game_info['game_id'] . "' AND hidden = '0'";
$result = $site_db->query($sql);
$ok = 0;
$least_type = 0;
$have_article_types = array();
$have_download_types = array();
while ($row = $site_db->fetch_array($result)) {
$have_article_types[$row["type"]] = 1;
if($row["type"] == $article_type) {
$ok = 1;
} else {
$least_type = $row["type"];
}
}
if(!$ok) { $article_type = $least_type; }
if($game_info["game_genre"] && $game_info["game_genre_sub"]) { $similar_games = 1; }
if($game_info["have_demos"]) { $have_download_types["demos"] = 1; }
if($game_info["have_movies"]) { $have_download_types["movies"] = 1; }
if($game_info["have_updates"]) { $have_download_types["updates"] = 1; }
if($game_info["have_cheats"]) { $have_download_types["cheats"] = 1; }
}
$center_menu_active = $type;
if($type == "play") { $center_menu_active = "movies"; }
$banner = banners("right", "2", "index");
$site_template->register_vars("banner_right_2", $banner['link']);
if ($game_info["game_released"] && $user_info["user_level"] >= USER) { $voting=1; }
include(ROOT_PATH . "includes/page_header.php");
$site_template->register_vars("lang_added", $lang["added"]);
$site_template->register_vars("lang_file_size", $lang["file_size"]);
$site_template->register_vars("lang_downloaded", $lang["downloaded"]);
$page_content = "";
if($game_id) {
$hubs = array();
$game_hubs = "";
$ghubs = array();
$sql = "SELECT * FROM " . HUBS_TABLE . ";";
$result = $site_db->query($sql);
while($row = $site_db->fetch_array($result)) {
$hubs[$row["hub_id"]] = $row["hub_name"];
}
if($game_info["game_hubs"]) {
$tmp = explode("|", $game_info["game_hubs"]);
foreach($tmp as $key => $val) {
if($val) {
$ghubs[] = '' . $hubs[$val] . '';
}
}
$game_hubs = implode(", ", $ghubs);
}
if($game_info["game_rdate"]) {
$game_info["game_rdate"] = date("d/m/Y", $game_info["game_rdate"]);
} else {
$game_info["game_rdate"] = "N/A";
}
if(!$game_info["game_released"]) { $game_info["game_rdate"] = "TBA"; }
$game_details = "";
if($game_info["dev_name"]) {
$game_details .= '
';
}
if($game_info["pub_name"]) {
$game_details .= '';
}
if($game_info["gen_name"]) {
$game_details .= '';
}
if($game_info["game_rdate"]) {
$game_details .= '';
$game_details .= '' . $lang["release_date"] . ': ';
$game_details .= $game_info["game_rdate"];
$game_details .= '
';
}
if($game_hubs) {
$game_details .= '';
$game_details .= '' . $lang["hubs"] . ': ';
$game_details .= $game_hubs;
$game_details .= '
';
}
if($game_info["game_url"]) {
$game_details .= '';
}
/*
if($game_info["game_req"]) {
$game_details .= '';
$game_details .= '' . $lang["requirements"] . ': ';
$game_details .= $game_info["game_req"];
$game_details .= '
';
}
*/
if ($game_info["game_image"]) {
$game_image = $game_info["game_id"];
} else {
unset($game_image);
}
// Admin UI START
if ($user_info["user_level"] > USER) {
$game_details .= '';
$game_details .= '
[Edit GI]';
$game_details .= '
';
}
if ($user_info["user_level"] > USER) {
$game_details .= '';
$game_details .= '
[WP]';
$game_details .= '
';
}
if ($user_info["user_level"] > USER) {
$game_details .= '';
$game_details .= '
[SS]';
$game_details .= '
';
}
// Admin UI END
if ($game_info["game_rating"] > 0) {
$site_template->register_vars("game_rating", $game_info["game_rating"]);
} else {
$site_template->register_vars("game_rating", "N/A");
}
$site_template->register_vars("game_details", $game_details);
$site_template->register_vars("item_title", $game_info["game_name"]);
$site_template->register_vars("lang_author", $lang["author"]);
if($game_image) {
$site_template->register_vars("info_image", "
");
}
}
/**
* Comment
* @template {template}
* @var {var} Comment.
* @var {var} Comment.
* @var {var} Comment.
*/
if($type == "review" || $type == "preview" || $type == "news") {
if($game_id && !$site_sess->get_session_var("viewed_game_" . $game_id)) {
$site_sess->set_session_var("viewed_game_" . $game_id, 1);
$sql = "UPDATE " . GAMES_TABLE . " SET game_hits = game_hits + 1 WHERE game_id = '$game_id';";
$update = $site_db->query($sql);
}
$hidden_flag = 0;
if($adm == 1 && $user_info['user_level'] > USER) {
$hidden_flag = 1;
}
$sql = "SELECT * FROM " . ARTICLES_TABLE . "
LEFT JOIN " . GAMES_TABLE . " ON(" . ARTICLES_TABLE . ".game_id=" . GAMES_TABLE . ".game_id)
LEFT JOIN " . AUTHORS_TABLE . " ON (" . ARTICLES_TABLE . ".author_id=" . AUTHORS_TABLE . ".author_id)
LEFT JOIN " . GENRES_TABLE . " ON (" . GAMES_TABLE . ".game_genre=" . GENRES_TABLE . ".gen_id)
LEFT JOIN " . DEVELOPERS_TABLE . " ON (" . GAMES_TABLE . ".game_dev=" . DEVELOPERS_TABLE . ".dev_id)
LEFT JOIN " . PUBLISHERS_TABLE . " ON (" . GAMES_TABLE . ".game_pub=" . PUBLISHERS_TABLE . ".pub_id)
WHERE hidden='$hidden_flag' AND ";
if($rid) {
$sql .= "rid='$rid'";
} else {
$sql .= "type='$article_type' AND " . ARTICLES_TABLE . ".game_id='$game_id' ORDER by cdate DESC, rid DESC;";
}
$result = $site_db->query($sql);
$first = 1;
$scores = 1;
$page_content = "";
while($row = $site_db->fetch_array($result)) {
if($row["bbcode"]) {
if ($user_info["user_level"] < ADMIN && !$user_info["user_paid"] && $art2type[$row["type"]] != "news") {
$row["body"] = get_text_piece($row["body"], 1200, ".");
$row["body"] = format_text($row["body"], 1, 0, 1, 0, 1, "", 1) . "..
" . $lang['billing_article_notice'] . "";
$scores = 0;
} else {
$row["body"] = format_text($row["body"], 1, 0, 1, 1);
}
}
if($row["no_logo"] || !$game_image) {
$site_template->un_register_vars("info_image", "
");
}
if (!$row["no_boxshot"] && $row["game_boxshot_width"]) {
$site_template->register_vars("boxshot_image", '
');
} else if ($row["no_boxshot"]) {
$site_template->un_register_vars("boxshot_image");
}
if (!$site_sess->get_session_var("viewed_art_".$row['rid'])) {
$site_sess->set_session_var("viewed_art_".$row['rid'], 1);
$sql = "UPDATE ".ARTICLES_TABLE." SET hits=hits+1 WHERE rid='".$row['rid']."'";
$update = $site_db->query($sql);
}
//## register vars
if ($user_info['user_level'] > USER) {
$row['title'] = "".$row['title']."";
}
$row['title'] = "".$row['title']."";
$site_template->register_vars("item_subtitle", $row['title']);
$site_template->register_vars("item_date", date("d.m.Y", $row['cdate']));
if ($scores && $row['overall']) {
$scores=0;
if ($type == "gamespace") $multiply = 20;
else $multiply = 35;
$site_template->register_vars("lang_graphics", $lang['score_graphics']);
$site_template->register_vars("graphics_score", $row['graphics_score']);
$site_template->register_vars("graphics_text", $row['graphics_text']);
$site_template->register_vars("bar_graphics_width", floor($row['graphics_score'] * $multiply));
$site_template->register_vars("bar_graphics_rest", floor((10 - $row['graphics_score']) * $multiply));
$site_template->register_vars("lang_sound", $lang['score_sound']);
$site_template->register_vars("sound_score", $row['sound_score']);
$site_template->register_vars("sound_text", $row['sound_text']);
$site_template->register_vars("bar_sound_width", floor($row['sound_score'] * $multiply));
$site_template->register_vars("bar_sound_rest", floor((10 - $row['sound_score']) * $multiply));
$site_template->register_vars("lang_interesting", $lang['score_interesting']);
$site_template->register_vars("interesting_score", $row['interesting_score']);
$site_template->register_vars("interesting_text", $row['interesting_text']);
$site_template->register_vars("bar_interesting_width", floor($row['interesting_score'] * $multiply));
$site_template->register_vars("bar_interesting_rest", floor((10 - $row['interesting_score']) * $multiply));
$site_template->register_vars("lang_design", $lang['score_design']);
$site_template->register_vars("design_score", $row['design_score']);
$site_template->register_vars("design_text", $row['design_text']);
$site_template->register_vars("bar_design_width", floor($row['design_score'] * $multiply));
$site_template->register_vars("bar_design_rest", floor((10 - $row['design_score']) * $multiply));
$site_template->register_vars("lang_overall", $lang['score_overall']);
$site_template->register_vars("overall_score", $row['overall']);
$site_template->register_vars("overall_text", $lang['score_rank_'.$row['overall']]);
$site_template->register_vars("bar_overall_width", floor($row['overall'] * $multiply));
$site_template->register_vars("bar_overall_rest", floor((10 - $row['overall']) * $multiply));
$site_template->register_vars("lang_pluses", $lang['score_pluses']);
$site_template->register_vars("lang_minuses", $lang['score_minuses']);
$site_template->register_vars("lang_preview_overall", $lang['preview_overall']);
$site_template->register_vars("lang_preview_pluses", $lang['preview_pluses']);
$site_template->register_vars("lang_preview_minuses", $lang['preview_minuses']);
$site_template->register_vars("pluses_text", full_replace("\n", "
\n", $row['pluses']));
$site_template->register_vars("minuses_text", full_replace("\n", "
\n", $row['minuses']));
if ($row['type'] == "1") {
$site_template->register_vars("score_content_pos", "");
$score_content_short = $site_template->parse_template("score_review_short");
$site_template->register_vars("score_content", $score_content);
} else {
$row['body'] = $score_content_preview."
\n".$row['body'];
}
}
$site_template->register_vars("item_author", $row['author_name']);
$site_template->register_vars("item_content", $row['body']);
$page_content .= "| ";
$page_content .= $site_template->parse_template("game_info_bit");
$page_content .= " |
";
unset($first);
}
}
/**
* Comment
* @template {template}
* @var {var} Comment.
* @var {var} Comment.
* @var {var} Comment.
*/
if($type == "gamespace") {
$have_boxshot = 0;
$have_articles = 0;
$have_ss = 0;
if($game_id && !$site_sess->get_session_var("viewed_game_" . $game_id)) {
$site_sess->set_session_var("viewed_game_".$game_id, 1);
$sql = "UPDATE " . GAMES_TABLE . " SET game_hits = game_hits + 1 WHERE game_id = '$game_id';";
$update = $site_db->query($sql);
}
if(!$game_info["no_boxshot"] && $game_info["game_boxshot_width"]) {
$have_boxshot = 1;
$site_template->register_vars("boxshot_image", '
');
} else if($game_info["no_boxshot"]) {
$site_template->un_register_vars("boxshot_image");
}
$sql = "SELECT count(*) AS CNT FROM " . SCREENSHOTS_TABLE . " WHERE game_id = '$game_id';";
$row = $site_db->query_firstrow($sql);
$sql = "SELECT * FROM " . SCREENSHOTS_TABLE . " WHERE game_id = '$game_id' ORDER BY RAND() LIMIT 4";
$result = $site_db->query($sql);
$i = 0;
$ss_ih = 80;
while($random_image = $site_db->fetch_array($result)) {
$i++;
if ($random_image['image_thumb_height'] > 160) {
$random_image['image_thumb_height'] = 160;
}
$link = "";
$content = $link."
";
$ss_ih = max($ss_ih, $random_image['image_thumb_height']);
$site_template->register_vars("screenshot_".$i, $content);
$have_ss = 1;
}
$site_template->register_vars("screenshots_link", "");
if($game_info["have_info"]) {
if(!$game_info["no_boxshot"] && $game_info["game_boxshot_height"]) {
$ih = round($game_info['game_boxshot_height']/($game_info['game_boxshot_width'] / 200));
} else {
$ih = 260;
}
$max_len = 750 + ((($ih - 260) / 30) * 80);
$max_rows = floor(($ih - ($ss_ih + 20)) / 12) - 1;
if ($max_rows <= 2) {
$max_rows = 3;
}
$sql = "SELECT * FROM " . ARTICLES_TABLE . "
LEFT JOIN " . GAMES_TABLE . " ON(" . ARTICLES_TABLE . ".game_id = " . GAMES_TABLE . ".game_id)
LEFT JOIN " . AUTHORS_TABLE . " ON(" . ARTICLES_TABLE . ".author_id = " . AUTHORS_TABLE . ".author_id)
WHERE " . ARTICLES_TABLE . ".game_id = '$game_id' and type < 3 ORDER BY type ASC, cdate DESC";
$result = $site_db->query($sql);
$first = 1;
$acnt = 0;
while($row = $site_db->fetch_array($result)) {
$acnt++;
$type_text = $lang["full_" . $art2type[$row["type"]]];
if($first) {
$art_text = get_text_piece($row["body"], $max_len, ".", 79, $max_rows, 1);
$art_text = format_text($art_text, 1, 0, 1, 0, 1, "", 1) . "..";
$site_template->register_vars("game_space_text", $art_text);
$site_template->register_vars("game_space_link", "$type_text »");
}
$art_text = get_text_piece($row["body"], 400, ".");
$art_text = format_text($art_text, 1, 0, 1, 0, 1, "", 1) . "..";
$have_articles = 1;
unset($first);
}
if($acnt > 1) {
if ($review_content) $site_template->register_vars("reviews_content", $review_content);
if ($preview_content) $site_template->register_vars("previews_content", $preview_content);
if ($new_content) $site_template->register_vars("news_content", $new_content);
}
}
$dtypes = array();
$dtypes[] = "demos";
$dtypes[] = "updates";
$dtypes[] = "movies";
while (list($key, $dtype) = each($dtypes)) {
$sql = "SELECT * FROM ".FILEINFO_TABLE."
LEFT JOIN ".FILEVISITS_TABLE." ON (".FILEINFO_TABLE.".file_id=".FILEVISITS_TABLE.".file_id)
LEFT JOIN ".GAMES_TABLE." ON (".FILEINFO_TABLE.".game_id=".GAMES_TABLE.".game_id)
LEFT JOIN ".GENRES_TABLE." ON (".GAMES_TABLE.".game_genre=".GENRES_TABLE.".gen_id)
LEFT JOIN ".DEVELOPERS_TABLE." ON (".GAMES_TABLE.".game_dev=".DEVELOPERS_TABLE.".dev_id)
LEFT JOIN ".PUBLISHERS_TABLE." ON (".GAMES_TABLE.".game_pub=".PUBLISHERS_TABLE.".pub_id)
WHERE ".FILEINFO_TABLE.".game_id='$game_id' AND file_type='$dtype' AND file_hidden=0 ORDER by file_time DESC LIMIT 3";
$result = $site_db->query($sql);
$scores=1; $first=1; $cnt = 0;
$item_content = "";
while ($row = $site_db->fetch_array($result)) { $cnt++;
show_file($row);
if (!$first) {
$page_content .= " |
";
} else unset($first);
$item_content .= "| ";
$item_content .= $site_template->parse_template("download_item_bit");
$item_content .= " |
";
}
$item_content .= "
";
if ($cnt) {
$site_template->register_vars("game_name", $game_info['game_name']);
$site_template->register_vars("type_name", "- ".$lang['last_'.$dtype]);
$site_template->register_vars("items_content", $item_content);
$site_template->register_vars($dtype."_content", $site_template->parse_template("download_item"));
}
}
if ($have_boxshot || $have_artciles || $have_ss)
$page_content = $site_template->parse_template("game_space");
}
if ($type == "movies" || $type == "updates" || $type == "cheats" || $type == "demos") {
$sql = "SELECT * FROM ".FILEINFO_TABLE."
LEFT JOIN ".FILEVISITS_TABLE." ON (".FILEINFO_TABLE.".file_id=".FILEVISITS_TABLE.".file_id)
LEFT JOIN ".GAMES_TABLE." ON (".FILEINFO_TABLE.".game_id=".GAMES_TABLE.".game_id)
LEFT JOIN ".GENRES_TABLE." ON (".GAMES_TABLE.".game_genre=".GENRES_TABLE.".gen_id)
LEFT JOIN ".DEVELOPERS_TABLE." ON (".GAMES_TABLE.".game_dev=".DEVELOPERS_TABLE.".dev_id)
LEFT JOIN ".PUBLISHERS_TABLE." ON (".GAMES_TABLE.".game_pub=".PUBLISHERS_TABLE.".pub_id)
WHERE ".FILEINFO_TABLE.".game_id='$game_id' AND file_type='$type' AND file_hidden=0 ORDER by file_title";
$result = $site_db->query($sql);
$scores=1; $first=1;
$page_content = "";
while ($row = $site_db->fetch_array($result)) {
show_file($row);
if (!$first) {
$page_content .= " |
";
} else unset($first);
$page_content .= "| ";
$page_content .= $site_template->parse_template("download_item_bit");
$page_content .= " |
";
}
$page_content .= "
";
$site_template->register_vars("game_name", $game_info['game_name']);
if ($type == "movies") $site_template->register_vars("type_name", $lang['movies']);
if ($type == "updates") $site_template->register_vars("type_name", $lang['updates']);
if ($type == "cheats") $site_template->register_vars("type_name", $lang['cheats']);
$site_template->register_vars("items_content", $page_content);
$page_content = $site_template->parse_template("download_item");
}
if ($type == "play") {
if ($user_info['user_level'] < ADMIN && !$user_info['user_paid']) {
header("Location: ".$site_sess->url(ROOT_PATH."billing.php"));
die();
}
$sql = "SELECT * FROM ".FILEINFO_TABLE."
LEFT JOIN ".FILEVISITS_TABLE." ON (".FILEINFO_TABLE.".file_id=".FILEVISITS_TABLE.".file_id)
LEFT JOIN ".GAMES_TABLE." ON (".FILEINFO_TABLE.".game_id=".GAMES_TABLE.".game_id)
LEFT JOIN ".GENRES_TABLE." ON (".GAMES_TABLE.".game_genre=".GENRES_TABLE.".gen_id)
LEFT JOIN ".DEVELOPERS_TABLE." ON (".GAMES_TABLE.".game_dev=".DEVELOPERS_TABLE.".dev_id)
LEFT JOIN ".PUBLISHERS_TABLE." ON (".GAMES_TABLE.".game_pub=".PUBLISHERS_TABLE.".pub_id)
WHERE ".FILEINFO_TABLE.".game_id='$game_id' AND ".FILEINFO_TABLE.".file_id='".sql_iformat($file_id)."'";
$row = $site_db->query_firstrow($sql);
if ($row['file_id']) {
show_file($row);
$site_template->register_vars("lang_description", $lang['description']);
$site_template->register_vars("lang_length", $lang['length']);
$site_template->register_vars("lang_format", $lang['format']);
$site_template->register_vars("lang_hits", $lang['hits']);
$site_template->register_vars("lang_votes", $lang['votes']);
$site_template->register_vars("game_name", $game_info['game_name']);
$site_template->register_vars("type_name", $lang['movies']." - ".$row['file_title']);
$page_content = "";
$page_content .= "| ";
$site_template->register_vars("clip_info", $site_template->parse_template("download_clip_info"));
$page_content .= $site_template->parse_template("download_item");
$page_content .= " |
";
}
}
if ($type == "images" || $type == "screenshots" || $type == "wallpapers") {
if ($type == "screenshots") { $zs = 1; $ze = 1; }
if ($type == "wallpapers") { $zs = 2; $ze = 2; }
if ($type == "images") { $zs = 1; $ze = 2; }
$content = "";
for ($z = $zs; $z <= $ze; $z++) {
if ($z == 1) {
$used_table = SCREENSHOTS_TABLE;
$used_path = SCREENSHOTS_THUMB_PATH;
$used_type = "screenshots";
} else {
$used_table = WALLPAPERS_TABLE;
$used_path = WALLPAPERS_THUMB_PATH;
$used_type = "wallpapers";
}
$link_arg = $site_sess->url(ROOT_PATH."game_info.php?type=$used_type&game_id=".$game_id);
$sql = "SELECT count(*) as CNT FROM ".$used_table." WHERE game_id='$game_id'";
$row = $site_db->query_firstrow($sql);
$num_rows_all = $row['CNT'];
include(ROOT_PATH.'includes/paging.php');
$getpaging = new Paging($page, $perpage, $num_rows_all, $link_arg, "images");
$offset = $getpaging->get_offset();
if ($num_rows_all) {
$site_template->register_vars(array(
"paging" => $getpaging->get_paging(),
"paging_stats" => $getpaging->get_paging_stats()
));
}
$imgtable_width = ceil((intval($config['image_table_width'])) / $config['image_cells']);
if ((substr($config['image_table_width'], -1)) == "%") {
$imgtable_width .= "%";
}
if ($num_rows_all)
$thumbnails = $getpaging->get_paging_stats()."
";
else
$thumbnails = $lang['none'];
$thumbnails .= "\n";
$count = 0;
$bgcounter = 0;
$sql = "SELECT * FROM ".$used_table." WHERE game_id='$game_id' ORDER by image_id LIMIT $offset,$perpage";
$result = $site_db->query($sql); $prev_id = 0; $next_id = 0; $prev = 0;
while ($row = $site_db->fetch_array($result)) {
if ($count == 0) {
$row_bg_number = ($bgcounter++ % 2 == 0) ? 1 : 2;
$thumbnails .= "\n";
}
$thumbnails .= "\n";
$thumbnails .= "";
$thumbnails .= " ";
$thumbnails .= " | \n";
$count++;
if ($count == $config['image_cells']) {
$thumbnails .= "
\n";
$count = 0;
}
}
if ($count > 0) {
$leftover = ($config['image_cells'] - $count);
if ($leftover > 0) {
for ($i = 0; $i < $leftover; $i++){
$thumbnails .= "\n \n | \n";
}
$thumbnails .= "\n";
}
}
$thumbnails .= "
\n";
if ($getpaging->get_paging())
$thumbnails .= "
".$getpaging->get_paging()."
\n";
//$content .= titled_table($lang[$used_type], $thumbnails, "small", "100%", "", 5).$small_space;
}
$site_template->register_vars("thumbnails", $content);
// $site_template->register_vars("thumbnails", $thumbnails);
unset($thumbnails);
$header = $site_template->parse_template("header");
$footer = $site_template->parse_template("footer");
$page_content = $site_template->parse_template("categories");
}
$site_template->register_vars("item_title", $game_info['game_name']);
$site_template->register_vars("page_content", $page_content);
//-----------------------------------------------------
//--- Print Out ---------------------------------------
//-----------------------------------------------------
$site_template->register_vars("msg", $msg);
$main_template = 'game_info';
include(ROOT_PATH.'includes/page_real_header.php');
$site_template->print_template($site_template->parse_template($main_template));
include(ROOT_PATH.'includes/page_footer.php');
?>