public function doExecute() { //Cancel? $arrDefaultReturn = array("base" => "collections", "action" => "edit_form", "subject" => $this->request->getProperty("subject"), "subcategory" => $this->request->getProperty("subcategory"), "username" => $this->request->getProperty("username")); if ($this->request->getProperty("cancel")) { $this->returnWithMessage($this->getLabel("text_collections_cancelled"), $arrDefaultReturn); return 1; } $strSubject = $this->request->getProperty("subject"); $strSubcatID = $this->request->getProperty("subcategory"); $strUsername = $this->request->getProperty("username"); $strNewName = $this->request->getProperty("new_name"); if (empty($strNewName)) { $this->returnWithMessage($this->getLabel("text_collections_blank_name"), $arrDefaultReturn); return 1; } // make sure they are logged in as the user they are trying to save as. $this->ensureSpecifiedUser(); $objData = new Xerxes_DataMap(); $category = $objData->getSubject($strSubject, null, Xerxes_DataMap::userCreatedMode, $strUsername); if (!empty($strSubcatID)) { // rename a subcategory $subcat = $this->getSubcategory($category, $strSubcatID); $subcat->name = $strNewName; $objData->updateUserSubcategoryProperties($subcat); } else { // rename category $category->name = $strNewName; $objData->updateUserCategoryProperties($category); } // new name if it's been changed! $arrDefaultReturn["subject"] = $category->normalized; $this->returnWithMessage($this->getLabel("text_collections_renamed"), $arrDefaultReturn); return 1; }
public function doExecute() { // cancel? $arrDefaultReturn = array("base" => "collections", "action" => "edit_form", "subject" => $this->request->getProperty("subject"), "subcategory" => $this->request->getProperty("subcategory"), "username" => $this->request->getProperty("username")); if ($this->request->getProperty("cancel")) { $this->returnWithMessage($this->getLabel("text_collections_cancelled"), $arrDefaultReturn); return 1; } $strSubject = $this->request->getProperty("subject"); $strSubcatID = $this->request->getProperty("subcategory"); $strPublished = $this->request->getProperty("published"); $strUsername = $this->request->getProperty("username"); $strNewName = $this->request->getProperty("new_name"); // Make sure they are logged in as the user they are trying to save as. $this->ensureSpecifiedUser(); $objData = new Xerxes_DataMap(); $category = $objData->getSubject($strSubject, null, Xerxes_DataMap::userCreatedMode, $strUsername); $message = ""; if (!empty($strSubcatID)) { // edit a subcategory, rename $subcat = $this->getSubcategory($category, $strSubcatID); if (!empty($strNewName)) { $message .= "Section name changed. "; $subcat->name = $strNewName; $objData->updateUserSubcategoryProperties($subcat); } } else { // edit a category: rename/publish if (!empty($strNewName)) { $category->name = $strNewName; $message .= $this->getLabel("text_collections_name_changed"); } if (!empty($strPublished)) { $boolPublished = (int) ($strPublished == "true"); $category->published = $boolPublished; if ($boolPublished) { $message .= $this->getLabel("text_collections_made_published"); } else { $message .= $this->getLabel("text_collections_made_private"); } } $objData->updateUserCategoryProperties($category); } // new name if it's been changed! $arrDefaultReturn["subject"] = $category->normalized; $this->returnWithMessage($message, $arrDefaultReturn); return 1; }