示例#1
0
 public function rename($id)
 {
     access::verify_csrf();
     $tag = ORM::factory("tag", $id);
     if (!$tag->loaded()) {
         throw new Kohana_404_Exception();
     }
     $in_place_edit = InPlaceEdit::factory($tag->name)->action("admin/tags/rename/{$tag->id}")->rules(array("required", "length[1,64]"));
     if ($in_place_edit->validate()) {
         $old_name = $tag->name;
         $new_name_or_list = $in_place_edit->value();
         $tag_list = explode(",", $new_name_or_list);
         $tag->name = array_shift($tag_list);
         $tag->save();
         if (!empty($tag_list)) {
             $this->_copy_items_for_tags($tag, $tag_list);
             $message = t("Split tag <i>%old_name</i> into <i>%tag_list</i>", array("old_name" => $old_name, "tag_list" => $new_name_or_list));
         } else {
             $message = t("Renamed tag <i>%old_name</i> to <i>%new_name</i>", array("old_name" => $old_name, "new_name" => $tag->name));
         }
         message::success($message);
         log::success("tags", $message);
         json::reply(array("result" => "success", "location" => url::site("admin/tags")));
     } else {
         json::reply(array("result" => "error", "form" => (string) $in_place_edit->render()));
     }
 }
示例#2
0
 public function rename($id)
 {
     access::verify_csrf();
     $tag = ORM::factory("tag", $id);
     if (!$tag->loaded()) {
         throw new Kohana_404_Exception();
     }
     $in_place_edit = InPlaceEdit::factory($tag->name)->action("admin/tags/rename/{$tag->id}")->rules(array("required", "length[1,64]"))->messages(array("in_use" => t("There is already a tag with that name")))->callback(array($this, "check_for_duplicate"));
     if ($in_place_edit->validate()) {
         $old_name = $tag->name;
         $tag->name = $in_place_edit->value();
         $tag->save();
         $message = t("Renamed tag %old_name to %new_name", array("old_name" => $old_name, "new_name" => $tag->name));
         message::success($message);
         log::success("tags", $message);
         print json_encode(array("result" => "success", "location" => url::site("admin/tags")));
     } else {
         print json_encode(array("result" => "error", "form" => $in_place_edit->render()));
     }
 }
 public function rename($id)
 {
     // Rename an existing page.
     access::verify_csrf();
     // Make sure the page specified by $id exists.
     $one_page = ORM::factory("px_static_page", $id);
     if (!$one_page->loaded()) {
         throw new Kohana_404_Exception();
     }
     $in_place_edit = InPlaceEdit::factory($one_page->name)->action("admin/pages_xtra/rename/{$one_page->id}")->rules(array("required", "length[1,64]"));
     // If the form validates, and if the new name doesn't already exist, rename the page.
     if ($in_place_edit->validate()) {
         $old_name = $one_page->name;
         $new_name = urlencode(trim($in_place_edit->value()));
         $new_name_exists = ORM::factory("px_static_page")->where("name", "=", $new_name)->find_all();
         if (count($new_name_exists) == 0) {
             $one_page->name = $new_name;
             $one_page->save();
             $message = t("Renamed page <i>%old_name</i> to <i>%new_name</i>", array("old_name" => $old_name, "new_name" => $new_name));
             message::success($message);
             log::success("pages_xtra", $message);
             json::reply(array("result" => "success", "location" => url::site("admin/pages_xtra")));
         } else {
             json::reply(array("result" => "error", "form" => (string) $in_place_edit->render()));
         }
     } else {
         json::reply(array("result" => "error", "form" => (string) $in_place_edit->render()));
     }
 }