diff --git a/core/config.class.php b/core/config.class.php index f45c0628..2f918173 100644 --- a/core/config.class.php +++ b/core/config.class.php @@ -175,7 +175,10 @@ class DatabaseConfig extends BaseConfig { $this->values = $cached; } else { - $this->values = $this->database->db->query("SELECT name, value FROM config")->fetchAll(); + $this->values = array(); + foreach($this->database->get_all("SELECT name, value FROM config") as $row) { + $this->values[$row["name"]] = $row["value"]; + } $this->database->cache->set("config", $this->values); } } @@ -190,8 +193,8 @@ class DatabaseConfig extends BaseConfig { } } else { - $this->database->Execute("DELETE FROM config WHERE name = ?", array($name)); - $this->database->Execute("INSERT INTO config VALUES (?, ?)", array($name, $this->values[$name])); + $this->database->Execute("DELETE FROM config WHERE name = :name", array("name"=>$name)); + $this->database->Execute("INSERT INTO config VALUES (:name, :value)", array("name"=>$name, "value"=>$this->values[$name])); } $this->database->cache->delete("config"); } diff --git a/core/imageboard.pack.php b/core/imageboard.pack.php index 1eb9405e..08ac4371 100644 --- a/core/imageboard.pack.php +++ b/core/imageboard.pack.php @@ -66,7 +66,7 @@ class Image { assert(is_numeric($id)); global $database; $image = null; - $row = $database->get_row("SELECT * FROM images WHERE images.id=?", array($id)); + $row = $database->get_row("SELECT * FROM images WHERE images.id=:id", array("id"=>$id)); return ($row ? new Image($row) : null); } @@ -79,7 +79,7 @@ class Image { assert(is_string($hash)); global $database; $image = null; - $row = $database->db->GetRow("SELECT images.* FROM images WHERE hash=?", array($hash)); + $row = $database->db->GetRow("SELECT images.* FROM images WHERE hash=:hash", array("hash"=>$hash)); return ($row ? new Image($row) : null); } @@ -112,12 +112,11 @@ class Image { if($limit < 1) $limit = 1; $querylet = Image::build_search_querylet($tags); - $querylet->append(new Querylet("ORDER BY images.id DESC LIMIT ? OFFSET ?", array($limit, $start))); + $querylet->append(new Querylet("ORDER BY images.id DESC LIMIT :limit OFFSET :offset", array("limit"=>$limit, "offset"=>$start))); $result = $database->execute($querylet->sql, $querylet->variables); - while(!$result->EOF) { - $images[] = new Image($result->fields); - $result->MoveNext(); + while($row = $result->fetch()) { + $images[] = new Image($row); } return $images; } @@ -136,15 +135,15 @@ class Image { #return $database->db->GetOne("SELECT COUNT(*) FROM images"); $total = $database->cache->get("image-count"); if(!$total) { - $total = $database->db->GetOne("SELECT COUNT(*) FROM images"); + $total = $database->get_one("SELECT COUNT(*) FROM images"); $database->cache->set("image-count", $total, 600); } return $total; } else if(count($tags) == 1 && !preg_match("/[:=><]/", $tags[0])) { - return $database->db->GetOne( - $database->engine->scoreql_to_sql("SELECT count FROM tags WHERE SCORE_STRNORM(tag) = SCORE_STRNORM(?)"), - $tags); + return $database->get_one( + $database->engine->scoreql_to_sql("SELECT count FROM tags WHERE SCORE_STRNORM(tag) = SCORE_STRNORM(:tag)"), + array("tag"=>$tags[0])); } else { $querylet = Image::build_search_querylet($tags); @@ -230,12 +229,7 @@ class Image { if($cached) return $cached; if(!isset($this->tag_array)) { - $this->tag_array = Array(); - $row = $database->Execute("SELECT tag FROM image_tags JOIN tags ON image_tags.tag_id = tags.id WHERE image_id=? ORDER BY tag", array($this->id)); - while(!$row->EOF) { - $this->tag_array[] = $row->fields['tag']; - $row->MoveNext(); - } + $this->tag_array = $database->get_col("SELECT tag FROM image_tags JOIN tags ON image_tags.tag_id = tags.id WHERE image_id=:id ORDER BY tag", array("id"=>$this->id)); } $database->cache->set("image-{$this->id}-tags", $this->tag_array); diff --git a/core/user.class.php b/core/user.class.php index 1b5ff117..b1b9dc64 100644 --- a/core/user.class.php +++ b/core/user.class.php @@ -41,12 +41,12 @@ class User { public static function by_session($name, $session) { global $config, $database; if($database->engine->name == "mysql") { - $query = "SELECT * FROM users WHERE name = ? AND md5(concat(pass, ?)) = ?"; + $query = "SELECT * FROM users WHERE name = :name AND md5(concat(pass, :ip)) = :sess"; } else { - $query = "SELECT * FROM users WHERE name = ? AND md5(pass || ?) = ?"; + $query = "SELECT * FROM users WHERE name = :name AND md5(pass || :ip) = :sess"; } - $row = $database->get_row($query, array($name, get_session_ip($config), $session)); + $row = $database->get_row($query, array("name"=>$name, "ip"=>get_session_ip($config), "sess"=>$session)); return is_null($row) ? null : new User($row); }