return error when pool title exists + fix pool error reporting

This commit is contained in:
Daku 2013-12-29 22:24:34 +00:00
parent 59eb6d7ec2
commit 3e240fa78d
2 changed files with 23 additions and 26 deletions

View File

@ -116,7 +116,7 @@ class Pools extends Extension {
$this->theme->new_pool_composer($page);
} else {
$errMessage = "You must be registered and logged in to create a new pool.";
$this->theme->display_error($errMessage);
$this->theme->display_error(401, "Error", $errMessage);
}
break;
@ -127,7 +127,7 @@ class Pools extends Extension {
$page->set_redirect(make_link("pool/view/".$newPoolID));
}
catch(PoolCreationException $e) {
$this->theme->display_error($e->error);
$this->theme->display_error(400, "Error", $e->error);
}
break;
@ -173,7 +173,7 @@ class Pools extends Extension {
$page->set_mode("redirect");
$page->set_redirect(make_link("pool/view/".$pool_id));
} else {
$this->theme->display_error("Permssion denied.");
$this->theme->display_error(403, "Permission Denied", "You do not have permission to access this page");
}
}
break;
@ -182,7 +182,7 @@ class Pools extends Extension {
if ($this->have_permission($user, $pool)) {
$this->import_posts($pool_id);
} else {
$this->theme->display_error("Permssion denied.");
$this->theme->display_error(403, "Permission Denied", "You do not have permission to access this page");
}
break;
@ -192,7 +192,7 @@ class Pools extends Extension {
$page->set_mode("redirect");
$page->set_redirect(make_link("pool/view/".$pool_id));
} else {
$this->theme->display_error("Permssion denied.");
$this->theme->display_error(403, "Permission Denied", "You do not have permission to access this page");
}
break;
@ -202,7 +202,7 @@ class Pools extends Extension {
$page->set_mode("redirect");
$page->set_redirect(make_link("pool/view/".$pool_id));
} else {
$this->theme->display_error("Permssion denied.");
$this->theme->display_error(403, "Permission Denied", "You do not have permission to access this page");
}
break;
@ -215,7 +215,7 @@ class Pools extends Extension {
$page->set_mode("redirect");
$page->set_redirect(make_link("pool/list"));
} else {
$this->theme->display_error("Permssion denied.");
$this->theme->display_error(403, "Permission Denied", "You do not have permission to access this page");
}
break;
@ -336,14 +336,16 @@ class Pools extends Extension {
*/
private function add_pool() {
global $user, $database;
#throw new PoolCreationException("Pool needs a title");
if($user->is_anonymous()) {
throw new PoolCreationException("You must be registered and logged in to add a image.");
}
if(empty($_POST["title"])) {
throw new PoolCreationException("Pool needs a title");
throw new PoolCreationException("Pool title is empty.");
}
if($this->get_single_pool_from_title($_POST["title"])) {
throw new PoolCreationException("A pool using this title already exists.");
}
$public = $_POST["public"] == "Y" ? "Y" : "N";
$database->execute("
INSERT INTO pools (user_id, public, title, description, date)
@ -377,6 +379,16 @@ class Pools extends Extension {
return $database->get_row("SELECT * FROM pools WHERE id=:id", array("id"=>$poolID));
}
/**
* Retrieve information about a pool given a pool title.
* @param $poolTitle Integer
* @retval 2D array (with only 1 element in the one dimension)
*/
private function get_single_pool_from_title(/*string*/ $poolTitle) {
global $database;
return $database->get_row("SELECT * FROM pools WHERE title=:title", array("title"=>$poolTitle));
}
/**
* Get all of the pool IDs that an image is in, given an image ID.
* @param $imageID Integer

View File

@ -389,20 +389,5 @@ class PoolsTheme extends Themelet {
$this->display_paginator($page, "pool/updated", null, $pageNumber, $totalPages);
}
/**
* Display an error message to the user.
*/
public function display_error(/*int*/ $code, /*string*/ $title, /*string*/ $message) {
global $page;
// Quick n' Dirty fix
$message = $code;
$page->set_title("Error");
$page->set_heading("Error");
$page->add_block(new Block("Error", $errMessage, "main", 10));
}
}
?>