/** Utfør spørring */ public function query($query, $critical = true, $debug = false) { // hent data $result = parent::query($query, $critical, $debug); $info = mysql_info($this->link); // tid siden forrige spørring if ($this->lastquery) { $time = $this->time_last_begin - $this->lastquery; } else { $time = 0; } // lagre debug $this->queries_text[] = array("script_time____" => (microtime(true) - SCRIPT_START) * 1000, "time_last_query" => round($time, 6) * 1000, "query_time_____" => round($this->time_last, 6) * 1000, "query_info_____" => $info, "query__________" => $query); $this->lastquery = microtime(true); // send svaret tilbake return $result; }
/** Hent inn moduler */ public function __get($module) { switch ($module) { case "db": // hent inn databasemodulen $this->db = $this->db_debug ? new db_wrap_debug() : new db_wrap(); // koble til databasen $this->db->connect(DBHOST, DBUSER, DBPASS, DBNAME); return $this->db; case "page": // hent inn sidemodulen $this->page = new page(); return $this->page; case "date": // hent inn tidsbehandling $this->date = new date(); return $this->date; default: throw new HSException("Ukjent modul: {$module}"); } }
} if ($_SERVER['REMOTE_ADDR'] != $_SERVER['SERVER_ADDR']) { die("Kan kun kjøres lokalt."); } // kontroller mysql-program $ret = shell_exec("mysql --version"); if (empty($ret)) { die("Det ser ikke ut som mysql kommandoen er tilgjengelig på systemet."); } /** Egen exception type */ class HSException extends Exception { } require "../../app/extra/class.db_wrap.php"; // last inn databaseobjekt $db = new db_wrap(); // koble til databasen $db->connect(DBHOST, DBUSER, DBPASS); // laste opp ny database? if (isset($_FILES['sqlfile'])) { $src = $_FILES['sqlfile']['tmp_name']; if (!file_exists($src) || !is_uploaded_file($src)) { die("Filen ble ikke korrekt lastet opp."); } // kontroller at dette er en MySQL dump $fh = fopen($src, "r"); if (!$fh) { die("Filen {$src} kunne ikke bli åpnet."); } $first = fgets($fh, 1024); if (mb_strpos($first, "MySQL dump") === false) {