better error handling

This commit is contained in:
steinm 2012-12-14 08:13:41 +00:00
parent ec480c2a7d
commit 20df7fa523

View File

@ -27,45 +27,51 @@ if ($user->isGuest()) {
UI::exitError(getMLText("edit_default_keywords"),getMLText("access_denied")); UI::exitError(getMLText("edit_default_keywords"),getMLText("access_denied"));
} }
$action = ''; if (isset($_POST["action"])) $action=$_POST["action"];
if (isset($_REQUEST["action"])) { else $action=NULL;
$action = $_REQUEST["action"];
}
/* Create new category ------------------------------------------------ */ /* Create new category ------------------------------------------------ */
if ($action == "addcategory") { if ($action == "addcategory") {
if (isset($_REQUEST["name"]) && $_REQUEST["name"]) { /* Check if the form data comes for a trusted request */
$name = $_REQUEST["name"]; if(!checkFormKey('addcategory')) {
UI::exitError(getMLText("admin_tools"),getMLText("invalid_request_token"));
$newCategory = $dms->addKeywordCategory($user->getID(), $name);
if (!$newCategory) {
UI::exitError(getMLText("personal_default_keywords"),getMLText("error_occured"));
}
$categoryid=$newCategory->getID();
} else {
UI::exitError(getMLText("personal_default_keywords"),getMLText("error_occured"));
} }
$name = $_POST["name"];
if (is_object($dms->getKeywordCategoryByName($name, $user->getID()))) {
UI::exitError(getMLText("admin_tools"),getMLText("keyword_exists"));
}
$newCategory = $dms->addKeywordCategory($user->getID(), $name);
if (!$newCategory) {
UI::exitError(getMLText("admin_tools"),getMLText("error_occured"));
}
$categoryid=$newCategory->getID();
} }
/* Delete category ---------------------------------------------------- */ /* Delete category ---------------------------------------------------- */
else if ($action == "removecategory") { else if ($action == "removecategory") {
$categoryid = 0; /* Check if the form data comes for a trusted request */
if (isset($_REQUEST["categoryid"]) && $_REQUEST["categoryid"]) { if(!checkFormKey('removecategory')) {
$categoryid = intval($_POST["categoryid"]); UI::exitError(getMLText("admin_tools"),getMLText("invalid_request_token"));
} }
if (!isset($_POST["categoryid"]) || !is_numeric($_POST["categoryid"]) || intval($_POST["categoryid"])<1) {
UI::exitError(getMLText("admin_tools"),getMLText("unknown_keyword_category"));
}
$categoryid = $_POST["categoryid"];
$category = $dms->getKeywordCategory($categoryid); $category = $dms->getKeywordCategory($categoryid);
if (is_object($category)) { if (!is_object($category)) {
$owner = $category->getOwner(); UI::exitError(getMLText("admin_tools"),getMLText("unknown_keyword_category"));
if ($owner->getID() != $user->getID()) { }
UI::exitError(getMLText("personal_default_keywords"),getMLText("access_denied"));
} $owner = $category->getOwner();
if (!$category->remove()) { if ($owner->getID() != $user->getID()) {
UI::exitError(getMLText("personal_default_keywords"),getMLText("error_occured")); UI::exitError(getMLText("personal_default_keywords"),getMLText("access_denied"));
} }
} else { if (!$category->remove()) {
UI::exitError(getMLText("personal_default_keywords"),getMLText("error_occured")); UI::exitError(getMLText("personal_default_keywords"),getMLText("error_occured"));
} }
$categoryid=-1; $categoryid=-1;
@ -74,36 +80,40 @@ else if ($action == "removecategory") {
/* Edit category: new name -------------------------------------------- */ /* Edit category: new name -------------------------------------------- */
else if ($action == "editcategory") { else if ($action == "editcategory") {
$categoryid = 0; /* Check if the form data comes for a trusted request */
if (isset($_REQUEST["categoryid"]) && $_REQUEST["categoryid"]) { if(!checkFormKey('editcategory')) {
$categoryid = intval($_POST["categoryid"]); UI::exitError(getMLText("admin_tools"),getMLText("invalid_request_token"));
} }
$category = $dms->getKeywordCategory($categoryid);
if (is_object($category)) {
$owner = $category->getOwner();
if ($owner->getID() != $user->getID()) {
UI::exitError(getMLText("personal_default_keywords"),getMLText("access_denied"));
}
if (isset($_REQUEST["name"]) && $_REQUEST["name"]) {
$name = $_REQUEST["name"];
if (!$category->setName($name)) { if (!isset($_POST["categoryid"]) || !is_numeric($_POST["categoryid"]) || intval($_POST["categoryid"])<1) {
UI::exitError(getMLText("personal_default_keywords"),getMLText("error_occured")); UI::exitError(getMLText("admin_tools"),getMLText("unknown_keyword_category"));
} }
} else { $categoryid = $_POST["categoryid"];
UI::exitError(getMLText("personal_default_keywords"),getMLText("error_occured")); $category = $dms->getKeywordCategory($categoryid);
} if (!is_object($category)) {
UI::exitError(getMLText("admin_tools"),getMLText("unknown_keyword_category"));
}
$owner = $category->getOwner();
if ($owner->getID() != $user->getID()) {
UI::exitError(getMLText("personal_default_keywords"),getMLText("access_denied"));
}
$name = $_POST["name"];
if (!$category->setName($name)) {
UI::exitError(getMLText("personal_default_keywords"),getMLText("error_occured"));
} }
else UI::exitError(getMLText("personal_default_keywords"),getMLText("error_occured"));
} }
/* Edit category: new keyword list ----------------------------------- */ /* Edit category: new keyword list ----------------------------------- */
else if ($action == "newkeywords") { else if ($action == "newkeywords") {
$categoryid = 0; /* Check if the form data comes for a trusted request */
if (isset($_REQUEST["categoryid"]) && $_REQUEST["categoryid"]) { if(!checkFormKey('newkeywords')) {
$categoryid = intval($_POST["categoryid"]); UI::exitError(getMLText("admin_tools"),getMLText("invalid_request_token"));
} }
$categoryid = (int) $_POST["categoryid"];
$category = $dms->getKeywordCategory($categoryid); $category = $dms->getKeywordCategory($categoryid);
if (is_object($category)) { if (is_object($category)) {
$owner = $category->getOwner(); $owner = $category->getOwner();
@ -114,11 +124,10 @@ else if ($action == "newkeywords") {
if (isset($_POST["keywords"])) { if (isset($_POST["keywords"])) {
$keywords = $_POST["keywords"]; $keywords = $_POST["keywords"];
} }
else { if(trim($keywords)) {
$keywords = $_GET["keywords"]; if (!$category->addKeywordList($keywords)) {
} UI::exitError(getMLText("personal_default_keywords"),getMLText("error_occured"));
if (!$category->addKeywordList($keywords)) { }
UI::exitError(getMLText("personal_default_keywords"),getMLText("error_occured"));
} }
} }
else UI::exitError(getMLText("personal_default_keywords"),getMLText("error_occured")); else UI::exitError(getMLText("personal_default_keywords"),getMLText("error_occured"));
@ -127,11 +136,11 @@ else if ($action == "newkeywords") {
/* Edit category: edit keyword list ----------------------------------*/ /* Edit category: edit keyword list ----------------------------------*/
else if ($action == "editkeywords") { else if ($action == "editkeywords") {
$categoryid = 0; if (!isset($_POST["categoryid"]) || !is_numeric($_POST["categoryid"]) || intval($_POST["categoryid"])<1) {
if (isset($_REQUEST["categoryid"]) && $_REQUEST["categoryid"]) { UI::exitError(getMLText("admin_tools"),getMLText("unknown_keyword_category"));
$categoryid = intval($_POST["categoryid"]);
} }
$categoryid = $_POST["categoryid"];
$category = $dms->getKeywordCategory($categoryid); $category = $dms->getKeywordCategory($categoryid);
if (is_object($category)) { if (is_object($category)) {
$owner = $category->getOwner(); $owner = $category->getOwner();
@ -159,10 +168,15 @@ else if ($action == "editkeywords") {
/* Edit category: delete keyword list -------------------------------- */ /* Edit category: delete keyword list -------------------------------- */
else if ($action == "removekeywords") { else if ($action == "removekeywords") {
$categoryid = 0; /* Check if the form data comes for a trusted request */
if (isset($_REQUEST["categoryid"]) && $_REQUEST["categoryid"]) { if(!checkFormKey('removekeywords')) {
$categoryid = intval($_POST["categoryid"]); UI::exitError(getMLText("admin_tools"),getMLText("invalid_request_token"));
} }
if (!isset($_POST["categoryid"]) || !is_numeric($_POST["categoryid"]) || intval($_POST["categoryid"])<1) {
UI::exitError(getMLText("admin_tools"),getMLText("unknown_keyword_category"));
}
$categoryid = $_POST["categoryid"];
$category = $dms->getKeywordCategory($categoryid); $category = $dms->getKeywordCategory($categoryid);
if (is_object($category)) { if (is_object($category)) {
$owner = $category->getOwner(); $owner = $category->getOwner();