return error when pool title exists + fix pool error reporting
This commit is contained in:
parent
59eb6d7ec2
commit
3e240fa78d
@ -116,7 +116,7 @@ class Pools extends Extension {
|
|||||||
$this->theme->new_pool_composer($page);
|
$this->theme->new_pool_composer($page);
|
||||||
} else {
|
} else {
|
||||||
$errMessage = "You must be registered and logged in to create a new pool.";
|
$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;
|
break;
|
||||||
|
|
||||||
@ -127,7 +127,7 @@ class Pools extends Extension {
|
|||||||
$page->set_redirect(make_link("pool/view/".$newPoolID));
|
$page->set_redirect(make_link("pool/view/".$newPoolID));
|
||||||
}
|
}
|
||||||
catch(PoolCreationException $e) {
|
catch(PoolCreationException $e) {
|
||||||
$this->theme->display_error($e->error);
|
$this->theme->display_error(400, "Error", $e->error);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
@ -173,7 +173,7 @@ class Pools extends Extension {
|
|||||||
$page->set_mode("redirect");
|
$page->set_mode("redirect");
|
||||||
$page->set_redirect(make_link("pool/view/".$pool_id));
|
$page->set_redirect(make_link("pool/view/".$pool_id));
|
||||||
} else {
|
} else {
|
||||||
$this->theme->display_error("Permssion denied.");
|
$this->theme->display_error(403, "Permission Denied", "You do not have permission to access this page");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
@ -182,7 +182,7 @@ class Pools extends Extension {
|
|||||||
if ($this->have_permission($user, $pool)) {
|
if ($this->have_permission($user, $pool)) {
|
||||||
$this->import_posts($pool_id);
|
$this->import_posts($pool_id);
|
||||||
} else {
|
} else {
|
||||||
$this->theme->display_error("Permssion denied.");
|
$this->theme->display_error(403, "Permission Denied", "You do not have permission to access this page");
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
@ -192,7 +192,7 @@ class Pools extends Extension {
|
|||||||
$page->set_mode("redirect");
|
$page->set_mode("redirect");
|
||||||
$page->set_redirect(make_link("pool/view/".$pool_id));
|
$page->set_redirect(make_link("pool/view/".$pool_id));
|
||||||
} else {
|
} else {
|
||||||
$this->theme->display_error("Permssion denied.");
|
$this->theme->display_error(403, "Permission Denied", "You do not have permission to access this page");
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
@ -202,7 +202,7 @@ class Pools extends Extension {
|
|||||||
$page->set_mode("redirect");
|
$page->set_mode("redirect");
|
||||||
$page->set_redirect(make_link("pool/view/".$pool_id));
|
$page->set_redirect(make_link("pool/view/".$pool_id));
|
||||||
} else {
|
} else {
|
||||||
$this->theme->display_error("Permssion denied.");
|
$this->theme->display_error(403, "Permission Denied", "You do not have permission to access this page");
|
||||||
}
|
}
|
||||||
|
|
||||||
break;
|
break;
|
||||||
@ -215,7 +215,7 @@ class Pools extends Extension {
|
|||||||
$page->set_mode("redirect");
|
$page->set_mode("redirect");
|
||||||
$page->set_redirect(make_link("pool/list"));
|
$page->set_redirect(make_link("pool/list"));
|
||||||
} else {
|
} else {
|
||||||
$this->theme->display_error("Permssion denied.");
|
$this->theme->display_error(403, "Permission Denied", "You do not have permission to access this page");
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
@ -336,14 +336,16 @@ class Pools extends Extension {
|
|||||||
*/
|
*/
|
||||||
private function add_pool() {
|
private function add_pool() {
|
||||||
global $user, $database;
|
global $user, $database;
|
||||||
|
#throw new PoolCreationException("Pool needs a title");
|
||||||
if($user->is_anonymous()) {
|
if($user->is_anonymous()) {
|
||||||
throw new PoolCreationException("You must be registered and logged in to add a image.");
|
throw new PoolCreationException("You must be registered and logged in to add a image.");
|
||||||
}
|
}
|
||||||
if(empty($_POST["title"])) {
|
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";
|
$public = $_POST["public"] == "Y" ? "Y" : "N";
|
||||||
$database->execute("
|
$database->execute("
|
||||||
INSERT INTO pools (user_id, public, title, description, date)
|
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));
|
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.
|
* Get all of the pool IDs that an image is in, given an image ID.
|
||||||
* @param $imageID Integer
|
* @param $imageID Integer
|
||||||
|
@ -389,20 +389,5 @@ class PoolsTheme extends Themelet {
|
|||||||
|
|
||||||
$this->display_paginator($page, "pool/updated", null, $pageNumber, $totalPages);
|
$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));
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
?>
|
?>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user