if ($page == "all") { // Get all pages and merge special data with page array $page_array = array_merge($page_array, array("isspecial" => true, "title" => "All pages", "html" => "", "childs" => $db->select_rows("SELECT slug,title,excerpt FROM pages ORDER BY title ASC"))); } else { if ($page == "blog") { $blogs = $db->select_rows("SELECT slug,title,body,excerpt,created FROM blog ORDER BY created DESC"); $page_array = array_merge(array_merge($page_array, array_shift($blogs)), array("isblog" => true, "isspecial" => true, "blogposts" => $blogs)); } } /// Regular Pages /////////////////// if (!$page_array["isspecial"]) { $page_array["isblog"] = is_blog($page); $page_escape = mysql_real_escape_string($page); $table = $page_array["isblog"] ? "blog" : "pages"; // Merge with $page_array if ($newarray = $db->select_row("SELECT * FROM {$table} WHERE slug='{$page_escape}' LIMIT 1")) { $page_array = array_merge($page_array, $newarray); } // Page if database result carries a lastupdate variable $page_array["isreal"] = $page_array["isblog"] ? $page_array["created"] != 0 : $page_array["lastupdate"] != 0; // Pages can exist without being in the database, // If they exist in database: if ($page_array["isreal"]) { // SQL returns the tags as array(array("tag" => "page1"), array("tag" => "page2")); // So place each value of "tag" into a new array $page_array["tags"] = array_place('$v[tag]', $db->select_rows("SELECT tag FROM pages_tags WHERE slug='{$page_escape}' ORDER BY tag")); } // Get all child pages $page_array["childs"] = $db->select_rows("SELECT pages.slug, pages.title, pages.excerpt\n\t\t FROM pages, pages_tags\n\t\t WHERE pages.slug = pages_tags.slug AND pages_tags.tag = '{$page_escape}'\n\t\t ORDER BY pages.title"); if ($page == "home") { $page_array["blogposts"] = $db->select_rows("SELECT slug,title,excerpt,created FROM blog ORDER BY created DESC");