url); return array( "url" => $request->url, "entity" => array( "tag" => rest::url("tag", $tag), "item" => rest::url("item", $item))); } static function delete($request) { list ($tag, $item) = rest::resolve($request->url); $tag->remove($item); $tag->save(); } static function resolve($tuple) { list ($tag_id, $item_id) = explode(",", $tuple); $tag = ORM::factory("tag", $tag_id); $item = ORM::factory("item", $item_id); if (!$tag->loaded() || !$item->loaded() || !$tag->has($item) || !access::can("view", $item)) { throw new Kohana_404_Exception(); } return array($tag, $item); } static function url($tag, $item) { return url::abs_site("rest/tag_item/{$tag->id},{$item->id}"); } }