require "file.php"; require "format.php"; require "htmLawed.php"; require "url.php"; //hook up error.php set_error_handler("error_handle_php"); //find out about environment (you can use draw_array($array, false) to display these arrays for debugging -- see line 75 below) $_josh["request"] = $_josh["server"]["host"] ? url_parse($_josh["server"]["protocol"] . "://" . $_josh["server"]["host"] . $_josh["server"]["request"] . "?" . $_josh["server"]["query"]) : false; $_josh["referrer"] = $_josh["server"]["refer"] ? url_parse($_josh["server"]["refer"]) : false; //get configuration variables configure(); //set error reporting level by determining whether this is a dev or live situation if (isset($_josh["mode"]) && $_josh["mode"] == "dev") { //1: you can set the option manually error_reporting(E_ALL); } elseif (format_text_starts("dev-", $_SERVER["HTTP_HOST"]) || format_text_starts("beta.", $_SERVER["HTTP_HOST"]) || format_text_ends(".site", $_SERVER["HTTP_HOST"])) { //2: urls start with dev- or end with .site are automatically considered dev sites $_josh["mode"] = "dev"; error_reporting(E_ALL); } else { $_josh["mode"] = "live"; error_reporting(0); } //handle https if (isset($_josh["request"]["protocol"])) { if ($_josh["is_secure"] && $_josh["request"]["protocol"] != "https") { url_change("https://" . $_josh["request"]["host"] . $_josh["request"]["path_query"]); } elseif (!$_josh["is_secure"] && $_josh["request"]["protocol"] != "http") { url_change("http://" . $_josh["request"]["host"] . $_josh["request"]["path_query"]); } }
function db_query($query, $limit = false, $suppress_error = false, $offset = false) { global $_josh; db_open(); $query = trim($query); if (isset($_josh["basedblanguage"]) && $_josh["basedblanguage"] != $_josh["db"]["language"]) { $query = db_translate($query, $_josh["basedblanguage"], $_josh["db"]["language"]); } $_josh["queries"][] = $query; if ($_josh["db"]["language"] == "mysql") { if ($limit) { $query .= " LIMIT " . $limit; } if ($offset) { $query .= " OFFSET " . $offset; } if ($result = @mysql_query($query, $_josh["db"]["pointer"])) { error_debug("<b>db_query</b> <i>" . $query . "</i>, " . db_found($result) . " results returned"); if (format_text_starts("insert", $query)) { return db_id(); } return $result; } else { error_debug("<b>db_query</b> failed <i>" . $query . "</i>"); if ($suppress_error) { return false; } error_handle("mysql error", format_code($query) . "<br>" . mysql_error()); } } elseif ($_josh["db"]["language"] == "mssql") { //echo $_josh["db"]["location"]. " db"; if ($limit) { $query = "SELECT TOP " . $limit . substr($query, 6); } if ($result = @mssql_query($query, $_josh["db"]["pointer"])) { error_debug("<b>db_query</b> <i>" . $query . "</i>, " . db_found($result) . " results returned"); if (format_text_starts("insert", $query)) { return db_id(); } return $result; } else { if ($suppress_error) { return false; } error_handle("mssql error", format_code($query) . "<br>" . mssql_get_last_message()); } } }
function format_url($str = "") { if (empty($str)) { return false; } if (format_text_starts("http://", $str) || format_text_starts("https://", $str)) { return $str; } return "http://" . $str; }