more pdo compat

This commit is contained in:
Shish 2011-01-01 16:28:04 +00:00
parent 7684def0f8
commit d6baeab977
16 changed files with 93 additions and 86 deletions

View File

@ -434,7 +434,7 @@ class Artists implements Extension {
{ {
global $database; global $database;
$result = $database->db->GetOne("SELECT COUNT(1) FROM artist_urls WHERE url = ?", array(mysql_real_escape_string($url))); $result = $database->get_one("SELECT COUNT(1) FROM artist_urls WHERE url = ?", array(mysql_real_escape_string($url)));
return ($result != 0); return ($result != 0);
} }
@ -442,7 +442,7 @@ class Artists implements Extension {
{ {
global $database; global $database;
$result = $database->db->GetOne("SELECT COUNT(1) FROM artist_members WHERE name = ?", array(mysql_real_escape_string($member))); $result = $database->get_one("SELECT COUNT(1) FROM artist_members WHERE name = ?", array(mysql_real_escape_string($member)));
return ($result != 0); return ($result != 0);
} }
@ -450,7 +450,7 @@ class Artists implements Extension {
{ {
global $database; global $database;
$result = $database->db->GetOne("SELECT COUNT(1) FROM artist_alias WHERE alias = ?", array(mysql_real_escape_string($alias))); $result = $database->get_one("SELECT COUNT(1) FROM artist_alias WHERE alias = ?", array(mysql_real_escape_string($alias)));
return ($result != 0); return ($result != 0);
} }
@ -459,7 +459,7 @@ class Artists implements Extension {
global $database; global $database;
$result = $database->db->GetOne("SELECT COUNT(1) FROM artist_alias WHERE artist_id = ? AND alias = ?", array( $result = $database->get_one("SELECT COUNT(1) FROM artist_alias WHERE artist_id = ? AND alias = ?", array(
$artistID $artistID
, mysql_real_escape_string($alias) , mysql_real_escape_string($alias)
)); ));
@ -870,7 +870,7 @@ class Artists implements Extension {
private function artist_exists($name){ private function artist_exists($name){
global $database; global $database;
$result = $database->db->GetOne("SELECT COUNT(1) FROM artists WHERE name = ?" $result = $database->get_one("SELECT COUNT(1) FROM artists WHERE name = ?"
, array( , array(
mysql_real_escape_string($name) mysql_real_escape_string($name)
)); ));
@ -1046,7 +1046,7 @@ class Artists implements Extension {
$listing[$i]["artist_name"] = stripslashes($listing[$i]["artist_name"]); $listing[$i]["artist_name"] = stripslashes($listing[$i]["artist_name"]);
} }
$count = $database->db->GetOne( $count = $database->get_one(
"SELECT COUNT(1) "SELECT COUNT(1)
FROM artists AS a FROM artists AS a
LEFT OUTER JOIN artist_members AS am LEFT OUTER JOIN artist_members AS am
@ -1170,7 +1170,7 @@ class Artists implements Extension {
global $database; global $database;
$result = $database->db->GetOne("SELECT COUNT(1) FROM artist_members WHERE artist_id = ? AND name = ?" $result = $database->get_one("SELECT COUNT(1) FROM artist_members WHERE artist_id = ? AND name = ?"
, array( , array(
$artistID $artistID
, mysql_real_escape_string($member) , mysql_real_escape_string($member)
@ -1184,7 +1184,7 @@ class Artists implements Extension {
global $database; global $database;
$result = $database->db->GetOne("SELECT COUNT(1) FROM artist_urls WHERE artist_id = ? AND url = ?" $result = $database->get_one("SELECT COUNT(1) FROM artist_urls WHERE artist_id = ? AND url = ?"
, array( , array(
$artistID $artistID
, mysql_real_escape_string($url) , mysql_real_escape_string($url)

View File

@ -50,14 +50,14 @@ class ET implements Extension {
$info['sys_server'] = $_SERVER["SERVER_SOFTWARE"]; $info['sys_server'] = $_SERVER["SERVER_SOFTWARE"];
include "config.php"; // more magical hax include "config.php"; // more magical hax
$proto = preg_replace("#(.*)://.*#", "$1", $database_dsn); $proto = preg_replace("#(.*)://.*#", "$1", $database_dsn);
$db = $database->db->ServerInfo(); #$db = $database->db->ServerInfo();
$info['sys_db'] = "$proto / {$db['version']}"; #$info['sys_db'] = "$proto / {$db['version']}";
$info['stat_images'] = $database->db->GetOne("SELECT COUNT(*) FROM images"); $info['stat_images'] = $database->get_one("SELECT COUNT(*) FROM images");
$info['stat_comments'] = $database->db->GetOne("SELECT COUNT(*) FROM comments"); $info['stat_comments'] = $database->get_one("SELECT COUNT(*) FROM comments");
$info['stat_users'] = $database->db->GetOne("SELECT COUNT(*) FROM users"); $info['stat_users'] = $database->get_one("SELECT COUNT(*) FROM users");
$info['stat_tags'] = $database->db->GetOne("SELECT COUNT(*) FROM tags"); $info['stat_tags'] = $database->get_one("SELECT COUNT(*) FROM tags");
$info['stat_image_tags'] = $database->db->GetOne("SELECT COUNT(*) FROM image_tags"); $info['stat_image_tags'] = $database->get_one("SELECT COUNT(*) FROM image_tags");
$els = array(); $els = array();
foreach($_event_listeners as $el) { foreach($_event_listeners as $el) {

View File

@ -14,6 +14,8 @@ class ETTheme extends Themelet {
} }
protected function build_data_form($info) { protected function build_data_form($info) {
global $user;
$data = <<<EOD $data = <<<EOD
Optional: Optional:
Site title: {$info['site_title']} Site title: {$info['site_title']}
@ -27,7 +29,6 @@ Schema: {$info['sys_schema']}
PHP: {$info['sys_php']} PHP: {$info['sys_php']}
OS: {$info['sys_os']} OS: {$info['sys_os']}
Server: {$info['sys_server']} Server: {$info['sys_server']}
Database: {$info['sys_db']}
Disk use: {$info['sys_disk']} Disk use: {$info['sys_disk']}
Shimmie stats: Shimmie stats:

View File

@ -40,7 +40,7 @@ class Favorites extends SimpleExtension {
$user_id = $user->id; $user_id = $user->id;
$image_id = $event->image->id; $image_id = $event->image->id;
$is_favorited = $database->db->GetOne( $is_favorited = $database->get_one(
"SELECT COUNT(*) AS ct FROM user_favorites WHERE user_id = ? AND image_id = ?", "SELECT COUNT(*) AS ct FROM user_favorites WHERE user_id = ? AND image_id = ?",
array($user_id, $image_id)) > 0; array($user_id, $image_id)) > 0;

View File

@ -60,8 +60,8 @@ class Forum extends SimpleExtension {
public function onUserPageBuilding($event) { public function onUserPageBuilding($event) {
global $page, $user, $database; global $page, $user, $database;
$threads_count = $database->db->GetOne("SELECT COUNT(*) FROM forum_threads WHERE user_id=?", array($event->display_user->id)); $threads_count = $database->get_one("SELECT COUNT(*) FROM forum_threads WHERE user_id=?", array($event->display_user->id));
$posts_count = $database->db->GetOne("SELECT COUNT(*) FROM forum_posts WHERE user_id=?", array($event->display_user->id)); $posts_count = $database->get_one("SELECT COUNT(*) FROM forum_posts WHERE user_id=?", array($event->display_user->id));
$days_old = ((time() - strtotime($event->display_user->join_date)) / 86400) + 1; $days_old = ((time() - strtotime($event->display_user->join_date)) / 86400) + 1;
@ -278,7 +278,7 @@ class Forum extends SimpleExtension {
, array($pageNumber * $threadsPerPage, $threadsPerPage) , array($pageNumber * $threadsPerPage, $threadsPerPage)
); );
$totalPages = ceil($database->db->GetOne("SELECT COUNT(*) FROM forum_threads") / $threadsPerPage); $totalPages = ceil($database->get_one("SELECT COUNT(*) FROM forum_threads") / $threadsPerPage);
$this->theme->display_thread_list($page, $threads, $showAdminOptions, $pageNumber + 1, $totalPages); $this->theme->display_thread_list($page, $threads, $showAdminOptions, $pageNumber + 1, $totalPages);
} }
@ -309,7 +309,7 @@ class Forum extends SimpleExtension {
, array($threadID, $pageNumber * $postsPerPage, $postsPerPage) , array($threadID, $pageNumber * $postsPerPage, $postsPerPage)
); );
$totalPages = ceil($database->db->GetOne("SELECT COUNT(*) FROM forum_posts WHERE thread_id = ?", array($threadID)) / $postsPerPage); $totalPages = ceil($database->get_one("SELECT COUNT(*) FROM forum_posts WHERE thread_id = ?", array($threadID)) / $postsPerPage);
$threadTitle = $this->get_thread_title($threadID); $threadTitle = $this->get_thread_title($threadID);

View File

@ -45,7 +45,7 @@ class ImageBan extends SimpleExtension {
public function onDataUpload(DataUploadEvent $event) { public function onDataUpload(DataUploadEvent $event) {
global $database; global $database;
$row = $database->db->GetRow("SELECT * FROM image_bans WHERE hash = ?", $event->hash); $row = $database->get_row("SELECT * FROM image_bans WHERE hash = :hash", array("hash"=>$event->hash));
if($row) { if($row) {
log_info("image_hash_ban", "Blocked image ({$event->hash})"); log_info("image_hash_ban", "Blocked image ({$event->hash})");
throw new UploadException("Image ".html_escape($row["hash"])." has been banned, reason: ".format_text($row["reason"])); throw new UploadException("Image ".html_escape($row["hash"])." has been banned, reason: ".format_text($row["reason"]));
@ -87,7 +87,7 @@ class ImageBan extends SimpleExtension {
$page_num = int_escape($event->get_arg(1)); $page_num = int_escape($event->get_arg(1));
} }
$page_size = 100; $page_size = 100;
$page_count = ceil($database->db->getone("SELECT COUNT(id) FROM image_bans")/$page_size); $page_count = ceil($database->get_one("SELECT COUNT(id) FROM image_bans")/$page_size);
$this->theme->display_Image_hash_Bans($page, $page_num, $page_count, $this->get_image_hash_bans($page_num, $page_size)); $this->theme->display_Image_hash_Bans($page, $page_num, $page_count, $this->get_image_hash_bans($page_num, $page_size));
} }
} }

View File

@ -49,38 +49,34 @@ class LogDatabase extends SimpleExtension {
$page_num = int_escape($event->get_arg(0)); $page_num = int_escape($event->get_arg(0));
if($page_num <= 0) $page_num = 1; if($page_num <= 0) $page_num = 1;
if(!empty($_GET["time"])) { if(!empty($_GET["time"])) {
$wheres[] = "date_sent LIKE ?"; $wheres[] = "date_sent LIKE :time";
$args[] = $_GET["time"]."%"; $args["time"] = $_GET["time"]."%";
} }
if(!empty($_GET["module"])) { if(!empty($_GET["module"])) {
$wheres[] = "section = ?"; $wheres[] = "section = :module";
$args[] = $_GET["module"]; $args["module"] = $_GET["module"];
} }
if(!empty($_GET["user"])) { if(!empty($_GET["user"])) {
if($database->engine->name == "pgsql") { if($database->engine->name == "pgsql") {
if(preg_match("#\d+\.\d+\.\d+\.\d+(/\d+)?#", $_GET["user"])) { if(preg_match("#\d+\.\d+\.\d+\.\d+(/\d+)?#", $_GET["user"])) {
$wheres[] = "(username = ? OR address << ?)"; $wheres[] = "(username = :user OR address << :user)";
$args[] = $_GET["user"];
$args[] = $_GET["user"];
} }
else { else {
$wheres[] = "lower(username) = lower(?)"; $wheres[] = "lower(username) = lower(:user)";
$args[] = $_GET["user"];
} }
} }
else { else {
$wheres[] = "(username = ? OR address = ?)"; $wheres[] = "(username = :user OR address = :user)";
$args[] = $_GET["user"];
$args[] = $_GET["user"];
} }
$args["user"] = $_GET["user"];
} }
if(!empty($_GET["priority"])) { if(!empty($_GET["priority"])) {
$wheres[] = "priority >= ?"; $wheres[] = "priority >= :priority";
$args[] = int_escape($_GET["priority"]); $args["priority"] = int_escape($_GET["priority"]);
} }
else { else {
$wheres[] = "priority >= ?"; $wheres[] = "priority >= :priority";
$args[] = 20; $args["priority"] = 20;
} }
$where = ""; $where = "";
if(count($wheres) > 0) { if(count($wheres) > 0) {
@ -92,16 +88,16 @@ class LogDatabase extends SimpleExtension {
$offset = ($page_num-1) * $limit; $offset = ($page_num-1) * $limit;
$page_total = $database->cache->get("event_log_length"); $page_total = $database->cache->get("event_log_length");
if(!$page_total) { if(!$page_total) {
$page_total = $database->db->GetOne("SELECT count(*) FROM score_log $where", $args); $page_total = $database->get_one("SELECT count(*) FROM score_log $where", $args);
// don't cache a length of zero when the extension is first installed // don't cache a length of zero when the extension is first installed
if($page_total > 10) { if($page_total > 10) {
$database->cache->set("event_log_length", 600); $database->cache->set("event_log_length", 600);
} }
} }
$args[] = $limit; $args["limit"] = $limit;
$args[] = $offset; $args["offset"] = $offset;
$events = $database->get_all("SELECT * FROM score_log $where ORDER BY id DESC LIMIT ? OFFSET ?", $args); $events = $database->get_all("SELECT * FROM score_log $where ORDER BY id DESC LIMIT :limit OFFSET :offset", $args);
$this->theme->display_events($events, $page_num, 100); $this->theme->display_events($events, $page_num, 100);
} }
@ -124,8 +120,11 @@ class LogDatabase extends SimpleExtension {
if($event->priority >= $config->get_int("log_db_priority")) { if($event->priority >= $config->get_int("log_db_priority")) {
$database->execute(" $database->execute("
INSERT INTO score_log(date_sent, section, priority, username, address, message) INSERT INTO score_log(date_sent, section, priority, username, address, message)
VALUES(now(), ?, ?, ?, ?, ?) VALUES(now(), :section, :priority, :username, :address, :message)
", array($event->section, $event->priority, $user->name, $_SERVER['REMOTE_ADDR'], $event->message)); ", array(
"section"=>$event->section, "priority"=>$event->priority, "username"=>$user->name,
"address"=>$_SERVER['REMOTE_ADDR'], "message"=>$event->message
));
} }
} }
} }

View File

@ -436,7 +436,7 @@ class Notes extends SimpleExtension {
$result = $database->Execute($get_notes, array(1, $pageNumber * $notesPerPage, $notesPerPage)); $result = $database->Execute($get_notes, array(1, $pageNumber * $notesPerPage, $notesPerPage));
$totalPages = ceil($database->db->GetOne("SELECT COUNT(DISTINCT image_id) FROM notes") / $notesPerPage); $totalPages = ceil($database->get_one("SELECT COUNT(DISTINCT image_id) FROM notes") / $notesPerPage);
$images = array(); $images = array();
while(!$result->EOF) { while(!$result->EOF) {
@ -476,7 +476,7 @@ class Notes extends SimpleExtension {
$result = $database->Execute($get_requests, array($pageNumber * $requestsPerPage, $requestsPerPage)); $result = $database->Execute($get_requests, array($pageNumber * $requestsPerPage, $requestsPerPage));
$totalPages = ceil($database->db->GetOne("SELECT COUNT(*) FROM note_request") / $requestsPerPage); $totalPages = ceil($database->get_one("SELECT COUNT(*) FROM note_request") / $requestsPerPage);
$images = array(); $images = array();
while(!$result->EOF) { while(!$result->EOF) {
@ -498,7 +498,7 @@ class Notes extends SimpleExtension {
$userID = $user->id; $userID = $user->id;
$reviewID = $database->db->GetOne("SELECT COUNT(*) FROM note_histories WHERE note_id = ?", array($noteID)); $reviewID = $database->get_one("SELECT COUNT(*) FROM note_histories WHERE note_id = ?", array($noteID));
$reviewID = $reviewID + 1; $reviewID = $reviewID + 1;
$database->execute(" $database->execute("
@ -536,7 +536,7 @@ class Notes extends SimpleExtension {
"ORDER BY date DESC LIMIT ?, ?", "ORDER BY date DESC LIMIT ?, ?",
array($pageNumber * $histiriesPerPage, $histiriesPerPage)); array($pageNumber * $histiriesPerPage, $histiriesPerPage));
$totalPages = ceil($database->db->GetOne("SELECT COUNT(*) FROM note_histories") / $histiriesPerPage); $totalPages = ceil($database->get_one("SELECT COUNT(*) FROM note_histories") / $histiriesPerPage);
$this->theme->display_histories($histories, $pageNumber + 1, $totalPages); $this->theme->display_histories($histories, $pageNumber + 1, $totalPages);
} }
@ -569,7 +569,7 @@ class Notes extends SimpleExtension {
"ORDER BY date DESC LIMIT ?, ?", "ORDER BY date DESC LIMIT ?, ?",
array($noteID, $pageNumber * $histiriesPerPage, $histiriesPerPage)); array($noteID, $pageNumber * $histiriesPerPage, $histiriesPerPage));
$totalPages = ceil($database->db->GetOne("SELECT COUNT(*) FROM note_histories WHERE note_id = ?", array($noteID)) / $histiriesPerPage); $totalPages = ceil($database->get_one("SELECT COUNT(*) FROM note_histories WHERE note_id = ?", array($noteID)) / $histiriesPerPage);
$this->theme->display_history($histories, $pageNumber + 1, $totalPages); $this->theme->display_history($histories, $pageNumber + 1, $totalPages);
} }

View File

@ -284,7 +284,7 @@ class Pools extends SimpleExtension {
", array($poolsPerPage, $pageNumber * $poolsPerPage) ", array($poolsPerPage, $pageNumber * $poolsPerPage)
); );
$totalPages = ceil($database->db->GetOne("SELECT COUNT(*) FROM pools") / $poolsPerPage); $totalPages = ceil($database->get_one("SELECT COUNT(*) FROM pools") / $poolsPerPage);
$this->theme->list_pools($page, $pools, $pageNumber + 1, $totalPages); $this->theme->list_pools($page, $pools, $pageNumber + 1, $totalPages);
} }
@ -372,7 +372,7 @@ class Pools extends SimpleExtension {
} }
if(!strlen($images) == 0) { if(!strlen($images) == 0) {
$count = $database->db->GetOne("SELECT COUNT(*) FROM pool_images WHERE pool_id=?", array($poolID)); $count = $database->get_one("SELECT COUNT(*) FROM pool_images WHERE pool_id=?", array($poolID));
$this->add_history($poolID, 1, $images, $count); $this->add_history($poolID, 1, $images, $count);
} }
@ -418,7 +418,7 @@ class Pools extends SimpleExtension {
$images .= " ".$imageID; $images .= " ".$imageID;
} }
$count = $database->db->GetOne("SELECT COUNT(*) FROM pool_images WHERE pool_id=?", array($poolID)); $count = $database->get_one("SELECT COUNT(*) FROM pool_images WHERE pool_id=?", array($poolID));
$this->add_history($poolID, 0, $images, $count); $this->add_history($poolID, 0, $images, $count);
return $poolID; return $poolID;
} }
@ -430,7 +430,7 @@ class Pools extends SimpleExtension {
*/ */
private function check_post($poolID, $imageID) { private function check_post($poolID, $imageID) {
global $database; global $database;
$result = $database->db->GetOne("SELECT COUNT(*) FROM pool_images WHERE pool_id=? AND image_id=?", array($poolID, $imageID)); $result = $database->get_one("SELECT COUNT(*) FROM pool_images WHERE pool_id=? AND image_id=?", array($poolID, $imageID));
return ($result != 0); return ($result != 0);
} }
@ -467,7 +467,7 @@ class Pools extends SimpleExtension {
LIMIT ? OFFSET ?", LIMIT ? OFFSET ?",
array($poolID, $imagesPerPage, $pageNumber * $imagesPerPage)); array($poolID, $imagesPerPage, $pageNumber * $imagesPerPage));
$totalPages = ceil($database->db->GetOne(" $totalPages = ceil($database->get_one("
SELECT COUNT(*) SELECT COUNT(*)
FROM pool_images AS p FROM pool_images AS p
INNER JOIN images AS i ON i.id = p.image_id INNER JOIN images AS i ON i.id = p.image_id
@ -482,7 +482,7 @@ class Pools extends SimpleExtension {
ORDER BY image_order ASC ORDER BY image_order ASC
LIMIT ? OFFSET ?", LIMIT ? OFFSET ?",
array($poolID, $imagesPerPage, $pageNumber * $imagesPerPage)); array($poolID, $imagesPerPage, $pageNumber * $imagesPerPage));
$totalPages = ceil($database->db->GetOne("SELECT COUNT(*) FROM pool_images WHERE pool_id=?", array($poolID)) / $imagesPerPage); $totalPages = ceil($database->get_one("SELECT COUNT(*) FROM pool_images WHERE pool_id=?", array($poolID)) / $imagesPerPage);
} }
$images = array(); $images = array();
@ -604,7 +604,7 @@ class Pools extends SimpleExtension {
LIMIT ? OFFSET ? LIMIT ? OFFSET ?
", array($historiesPerPage, $pageNumber * $historiesPerPage)); ", array($historiesPerPage, $pageNumber * $historiesPerPage));
$totalPages = ceil($database->db->GetOne("SELECT COUNT(*) FROM pool_history") / $historiesPerPage); $totalPages = ceil($database->get_one("SELECT COUNT(*) FROM pool_history") / $historiesPerPage);
$this->theme->show_history($history, $pageNumber + 1, $totalPages); $this->theme->show_history($history, $pageNumber + 1, $totalPages);
} }
@ -645,7 +645,7 @@ class Pools extends SimpleExtension {
} }
} }
$count = $database->db->GetOne("SELECT COUNT(*) FROM pool_images WHERE pool_id=?", array($poolID)); $count = $database->get_one("SELECT COUNT(*) FROM pool_images WHERE pool_id=?", array($poolID));
$this->add_history($poolID, $newAction, $imageArray, $count); $this->add_history($poolID, $newAction, $imageArray, $count);
} }
} }

View File

@ -213,11 +213,11 @@ class Tag_History implements Extension {
// if needed remove oldest one // if needed remove oldest one
if($allowed == -1) return; if($allowed == -1) return;
$entries = $database->db->GetOne("SELECT COUNT(*) FROM tag_histories WHERE image_id = ?", array($image->id)); $entries = $database->get_one("SELECT COUNT(*) FROM tag_histories WHERE image_id = ?", array($image->id));
if($entries > $allowed) if($entries > $allowed)
{ {
// TODO: Make these queries better // TODO: Make these queries better
$min_id = $database->db->GetOne("SELECT MIN(id) FROM tag_histories WHERE image_id = ?", array($image->id)); $min_id = $database->get_one("SELECT MIN(id) FROM tag_histories WHERE image_id = ?", array($image->id));
$database->execute("DELETE FROM tag_histories WHERE id = ?", array($min_id)); $database->execute("DELETE FROM tag_histories WHERE id = ?", array($min_id));
} }
} }

View File

@ -198,7 +198,7 @@ class Wiki extends SimpleExtension {
private function get_page($title, $revision=-1) { private function get_page($title, $revision=-1) {
global $database; global $database;
// first try and get the actual page // first try and get the actual page
$row = $database->db->GetRow(" $row = $database->get_row("
SELECT * SELECT *
FROM wiki_pages FROM wiki_pages
WHERE title LIKE ? WHERE title LIKE ?
@ -206,7 +206,7 @@ class Wiki extends SimpleExtension {
// fall back to wiki:default // fall back to wiki:default
if(empty($row)) { if(empty($row)) {
$row = $database->db->GetRow(" $row = $database->get_row("
SELECT * SELECT *
FROM wiki_pages FROM wiki_pages
WHERE title LIKE ? WHERE title LIKE ?

View File

@ -79,7 +79,7 @@ class Image {
assert(is_string($hash)); assert(is_string($hash));
global $database; global $database;
$image = null; $image = null;
$row = $database->db->GetRow("SELECT images.* FROM images WHERE hash=:hash", array("hash"=>$hash)); $row = $database->get_row("SELECT images.* FROM images WHERE hash=:hash", array("hash"=>$hash));
return ($row ? new Image($row) : null); return ($row ? new Image($row) : null);
} }
@ -132,7 +132,7 @@ class Image {
assert(is_array($tags)); assert(is_array($tags));
global $database; global $database;
if(count($tags) == 0) { if(count($tags) == 0) {
#return $database->db->GetOne("SELECT COUNT(*) FROM images"); #return $database->get_one("SELECT COUNT(*) FROM images");
$total = $database->cache->get("image-count"); $total = $database->cache->get("image-count");
if(!$total) { if(!$total) {
$total = $database->get_one("SELECT COUNT(*) FROM images"); $total = $database->get_one("SELECT COUNT(*) FROM images");
@ -190,13 +190,13 @@ class Image {
} }
if(count($tags) == 0) { if(count($tags) == 0) {
$row = $database->db->GetRow("SELECT images.* FROM images WHERE images.id $gtlt {$this->id} ORDER BY images.id $dir LIMIT 1"); $row = $database->get_row("SELECT images.* FROM images WHERE images.id $gtlt {$this->id} ORDER BY images.id $dir LIMIT 1");
} }
else { else {
$tags[] = "id$gtlt{$this->id}"; $tags[] = "id$gtlt{$this->id}";
$querylet = Image::build_search_querylet($tags); $querylet = Image::build_search_querylet($tags);
$querylet->append_sql(" ORDER BY images.id $dir LIMIT 1"); $querylet->append_sql(" ORDER BY images.id $dir LIMIT 1");
$row = $database->db->GetRow($querylet->sql, $querylet->variables); $row = $database->get_row($querylet->sql, $querylet->variables);
} }
return ($row ? new Image($row) : null); return ($row ? new Image($row) : null);
@ -409,7 +409,7 @@ class Image {
// insert each new tags // insert each new tags
foreach($tags as $tag) { foreach($tags as $tag) {
$id = $database->db->GetOne( $id = $database->get_one(
$database->engine->scoreql_to_sql( $database->engine->scoreql_to_sql(
"SELECT id FROM tags WHERE SCORE_STRNORM(tag) = SCORE_STRNORM(:tag)" "SELECT id FROM tags WHERE SCORE_STRNORM(tag) = SCORE_STRNORM(:tag)"
), ),

View File

@ -67,12 +67,12 @@ class AliasEditor extends SimpleExtension {
$alias_per_page = $config->get_int('alias_items_per_page', 30); $alias_per_page = $config->get_int('alias_items_per_page', 30);
$query = "SELECT oldtag, newtag FROM aliases ORDER BY newtag ASC LIMIT ? OFFSET ?"; $query = "SELECT oldtag, newtag FROM aliases ORDER BY newtag ASC LIMIT :limit OFFSET :offset";
$alias = $database->db->GetAssoc($query, $alias = $database->get_pairs($query,
array($alias_per_page, $page_number * $alias_per_page) array("limit"=>$alias_per_page, "offset"=>$page_number * $alias_per_page)
); );
$total_pages = ceil($database->db->GetOne("SELECT COUNT(*) FROM aliases") / $alias_per_page); $total_pages = ceil($database->get_one("SELECT COUNT(*) FROM aliases") / $alias_per_page);
$this->theme->display_aliases($page, $alias, $user->is_admin(), $page_number + 1, $total_pages); $this->theme->display_aliases($page, $alias, $user->is_admin(), $page_number + 1, $total_pages);
} }
@ -104,7 +104,7 @@ class AliasEditor extends SimpleExtension {
public function onAddAlias(AddAliasEvent $event) { public function onAddAlias(AddAliasEvent $event) {
global $database; global $database;
$pair = array($event->oldtag, $event->newtag); $pair = array($event->oldtag, $event->newtag);
if($database->db->GetRow("SELECT * FROM aliases WHERE oldtag=? AND lower(newtag)=lower(?)", $pair)) { if($database->get_row("SELECT * FROM aliases WHERE oldtag=? AND lower(newtag)=lower(?)", $pair)) {
throw new AddAliasException("That alias already exists"); throw new AddAliasException("That alias already exists");
} }
else { else {

View File

@ -397,7 +397,7 @@ class CommentList extends SimpleExtension {
private function is_dupe($image_id, $comment) { private function is_dupe($image_id, $comment) {
global $database; global $database;
return ($database->db->GetRow("SELECT * FROM comments WHERE image_id=? AND comment=?", array($image_id, $comment))); return ($database->get_row("SELECT * FROM comments WHERE image_id=? AND comment=?", array($image_id, $comment)));
} }
private function add_comment_wrapper($image_id, $user, $comment, $event) { private function add_comment_wrapper($image_id, $user, $comment, $event) {

View File

@ -234,13 +234,20 @@ class ImageIO extends SimpleExtension {
$database->Execute( $database->Execute(
"INSERT INTO images( "INSERT INTO images(
owner_id, owner_ip, filename, filesize, owner_id, owner_ip, filename, filesize,
hash, ext, width, height, posted, source) hash, ext, width, height, posted, source
VALUES (?, ?, ?, ?, ?, ?, ?, ?, now(), ?)", )
array($user->id, $_SERVER['REMOTE_ADDR'], $image->filename, $image->filesize, VALUES (
$image->hash, $image->ext, $image->width, $image->height, $image->source)); :owner_id, :owner_ip, :filename, :filesize,
:hash, :ext, :width, :height, now(), :source
)",
array(
"owner_id"=>$user->id, "owner_ip"=>$_SERVER['REMOTE_ADDR'], "filename"=>$image->filename, "filesize"=>$image->filesize,
"hash"=>$image->hash, "ext"=>$image->ext, "width"=>$image->width, "height"=>$image->height, "source"=>$image->source
)
);
if($database->engine->name == "pgsql") { if($database->engine->name == "pgsql") {
$database->Execute("UPDATE users SET image_count = image_count+1 WHERE id = ? ", array($user->id)); $database->Execute("UPDATE users SET image_count = image_count+1 WHERE id = ? ", array($user->id));
$image->id = $database->db->GetOne("SELECT id FROM images WHERE hash=?", array($image->hash)); $image->id = $database->get_one("SELECT id FROM images WHERE hash=?", array($image->hash));
} }
else { else {
$image->id = $database->db->lastInsertId(); $image->id = $database->db->lastInsertId();

View File

@ -286,7 +286,7 @@ class UserPage extends SimpleExtension {
"Username contains invalid characters. Allowed characters are ". "Username contains invalid characters. Allowed characters are ".
"letters, numbers, dash, and underscore"); "letters, numbers, dash, and underscore");
} }
else if($database->db->GetRow("SELECT * FROM users WHERE name = ?", array($name))) { else if($database->get_row("SELECT * FROM users WHERE name = ?", array($name))) {
throw new UserCreationException("That username is already taken"); throw new UserCreationException("That username is already taken");
} }
} }
@ -298,7 +298,7 @@ class UserPage extends SimpleExtension {
$email = (!empty($event->email)) ? $event->email : null; $email = (!empty($event->email)) ? $event->email : null;
// if there are currently no admins, the new user should be one // if there are currently no admins, the new user should be one
$need_admin = ($database->db->GetOne("SELECT COUNT(*) FROM users WHERE admin IN ('Y', 't', '1')") == 0); $need_admin = ($database->get_one("SELECT COUNT(*) FROM users WHERE admin IN ('Y', 't', '1')") == 0);
$admin = $need_admin ? 'Y' : 'N'; $admin = $need_admin ? 'Y' : 'N';
$database->Execute( $database->Execute(
@ -427,28 +427,28 @@ class UserPage extends SimpleExtension {
// ips {{{ // ips {{{
private function count_upload_ips($duser) { private function count_upload_ips($duser) {
global $database; global $database;
$rows = $database->db->GetAssoc(" $rows = $database->get_pairs("
SELECT SELECT
owner_ip, owner_ip,
COUNT(images.id) AS count, COUNT(images.id) AS count,
MAX(posted) AS most_recent MAX(posted) AS most_recent
FROM images FROM images
WHERE owner_id=? WHERE owner_id=:id
GROUP BY owner_ip GROUP BY owner_ip
ORDER BY most_recent DESC", array($duser->id), false, true); ORDER BY most_recent DESC", array("id"=>$duser->id));
return $rows; return $rows;
} }
private function count_comment_ips($duser) { private function count_comment_ips($duser) {
global $database; global $database;
$rows = $database->db->GetAssoc(" $rows = $database->get_pairs("
SELECT SELECT
owner_ip, owner_ip,
COUNT(comments.id) AS count, COUNT(comments.id) AS count,
MAX(posted) AS most_recent MAX(posted) AS most_recent
FROM comments FROM comments
WHERE owner_id=? WHERE owner_id=:id
GROUP BY owner_ip GROUP BY owner_ip
ORDER BY most_recent DESC", array($duser->id), false, true); ORDER BY most_recent DESC", array("id"=>$duser->id));
return $rows; return $rows;
} }
// }}} // }}}