0 ? intval($_GET["page_id"]) : CFG_HOMEPAGE_ID ) : CFG_HOMEPAGE_ID; $lid = isset($_GET["lid"]) ? intval($_GET["lid"]) : 1; $cid = isset($_GET["cid"]) ? intval($_GET["cid"]) : 0; $cmd = isset($_GET["cmd"]) ? preg_replace("/[^0-9a-zA-Z_]/", "", $_GET["cmd"]) : ""; $error = isset($_GET["error"]) ? $_GET["error"] : false; /****************************************************************************** * read language file *****************************************************************************/ // get language details $language = get_details("language", $lid); // check if there is a language file if (is_file("include/lang_" . $language["short"] . ".inc")){ $textblocks = parse_ini_file("include/lang_" . $language["short"] . ".inc"); } else { $textblocks = parse_ini_file("include/lang_it.inc"); } /****************************************************************************** * read page data *****************************************************************************/ if (!$page = get_page_content($page_id)){ $error= "notexisting"; $page = get_page_content(CFG_HOMEPAGE_ID); } /****************************************************************************** * get user rights *****************************************************************************/ // check for user if (isset($_SESSION[CFG_APP_NAME]["member"])){ $member = $_SESSION[CFG_APP_NAME]["member"]; if ($member["is_admin"]){ // an admin has privilege 1 and $is_admin = true $is_admin = true; $privilege = 1; } else { // check if user has access rights on category of the page if (in_array($page["category_id"], $member["privileges"])){ $privilege = 2; } else { $privilege = 0; } $is_admin = false; } } else { $member = false; $is_admin = false; $privilege = 0; } $membermenue = ""; //get_membermeue($member); /****************************************************************************** * write statistics *****************************************************************************/ $sql="insert into sys_statistics (page_id, lid, cid, cmd, date_day, date_time, user_id, ip, session) values ($page_id, $lid, $cid, '$cmd', current_date, current_time, " . ( $member ? $member["user_id"] : "NULL") . ", '" . $_SERVER["REMOTE_ADDR"] . "', '" . session_id() . "')"; $result = mysql_query($sql); if (!$result){ send_error("Statistics query failed", $sql); } /****************************************************************************** * evaluate page content *****************************************************************************/ switch ($page["page_type"]){ case "script": $script="modules/" . $page["content_script"] ; if (!is_file($script)){ $error="module"; } break; case "internal": if ($page["link_int"]==""){ $page_content=""; } else { header("Location: " . CFG_ENGINE . "?page_id=" . $page["link_int"] . "&lid=" . $lid . "&cid=" . $cid); die; } break; case "external": if ($page["link_ext"]==""){ $error = "url_undefined"; } else { header("Location: $page[link_ext]" ); die; } break; default: $page_content= empty($page["content_html"]) ? "
" . $textblocks["under_construction"]. "
" : $page["content_html"]; } // if page title is empty, page title = page name if (empty($page["title"])){ $page["title"]= $page["name"]; } // do not show page if status is offline and the visitor is not an admin! if ($page["online_status"]==0){ if ($privilege > 0){ $page["name"] .= " [offline!]"; $page["title"] .= " [offline!]"; } else { $error="offline"; } } // do not show page if it requires a login and the visitor is not loged in if ($page["req_login"] and $member==false){ $error="login"; } // define constant SCRIPT_SELF define("SCRIPT_SELF", CFG_ENGINE . "?page_id=" . $page["page_id"] . "&lid=" . $lid . (CFG_CID ? "&cid=" . $cid : "") ); /****************************************************************************** * create navigation *****************************************************************************/ $mainnavi = get_navi(CFG_HOMEPAGE_ID); $whereami = get_pathnavi($page["lft"], $page["rgt"], $page["root_id"]); $sidenavi= get_navi("Sidenavigation", false); $langnavi = get_langnavi(); /****************************************************************************** * create attachment *****************************************************************************/ $attachment = get_attachment($page_id); /****************************************************************************** * create box *****************************************************************************/ // more boxes could be created! just increase the number value $box = get_box($page["category_id"], 3); // check for errors to display if ($error){ print_error($error); } // call template include("template.php"); /****************************************************************************** * sub-functions *****************************************************************************/ /** * returns string for boxes * @param int $category_id id of category, that the box should have * @param int $num number of boxes that should be displayed */ function get_box($category_id="", $num=1){ global $lid, $member, $cfg_images_sizes, $textblocks; // define if the user is logged in $req_login = $member ? "" : "and req_login=0"; $sql = "select * from box where (category_id= " . (empty($category_id)?"NULL":$category_id). " or category_id=1) and online_status=1 and language_id=" . $lid . " " . $req_login . " order by rand() limit 0," . $num; $result = mysql_query($sql); $box = ""; // if there are boxes of the given category if (mysql_num_rows($result)>0){ while ($row = mysql_fetch_array($result)){ $box .= "\n" . $textblocks["p_flash_error"] . "
\n"; $box .= "Error: could not create Navigation.
"; } $navi = ""; $start_level = $show_home? 1: 2; $prev_level = $start_level; while($row = mysql_fetch_array($result)){ $selected = $row["page_id"] == $page["page_id"]; $level = $row["level"]; $show_open = (($row["level"] == $row["open_levels"]) and (($row["lft"] + 1) != $row["rgt"])); $address = "" . (empty($row["t_name"]) ? $row["name"] : $row["t_name"]) . ""; if ($level == $prev_level) { // Same level. if (!empty($navi)) { $navi .= ""; } $navi .= "User: " . $member["name"] . "
\n" . "". $login_msg ."
\n"; } $menue .= $content . "\n\n"; return $menue; } /** * creates a menu with all selectable languages */ function get_langnavi(){ global $page_id, $cid, $lid; $navi=""; $sql="select * from language where online_status=1"; $result = mysql_query($sql); if (!$result){ send_error("Can't get Language navigation", $sql); return false; } while ($row=mysql_fetch_array($result)){ $navi .= "Error: can't get attachments.
\n"; } while ($row = mysql_fetch_array($result)){ $name = (empty($row["name"])?$row["file_original"]:$row["name"]); $temp = explode(".", $row["file_original"]); $type = strtolower(array_pop($temp)); if (!in_array($type, array('doc', 'gif', 'jpg', 'pdf', 'ppt', 'xls', 'txt'))){ $type = "div"; } $attachment .= "" . $textblocks["p_error_" . $error_type] . "
\n" . "" . str_replace("{webmaster}", return_emaillink(CFG_WEBMASTER_MAIL, $textblocks["p_webmaster"]), $textblocks["p_error_questions"]) . "
\n" . "" . $textblocks["p_error_back"] . " " . "" . $textblocks["p_error_home"] ."
"; // empty attachment $attachment=""; return; } ?>