/** this is for the slideshow sorter */ function sort($sort_array) { if (!count($sort_array)) { return; } $_moved = array(); $_place_taken = array(); foreach ($sort_array as $tag_item_id => $new_position) { $tag_item = new Dase_DBO_TagItem($this->db); $tag_item->load($tag_item_id); $tag_item->sort_order = $new_position; $tag_item->update(); $_moved[] = $tag_item->id; $_place_taken[] = $new_position; } $sort_order = 0; foreach ($this->getTagItems() as $ti) { $ti = clone $ti; $sort_order++; if (!in_array($ti->id, $_moved)) { $sort_order = $this->getNextAvailable($sort_order, $_place_taken); $ti->sort_order = $sort_order; $ti->update(); } } }
public function putAnnotation($r) { $u = $r->getUser(); $tag = $this->tag; if (!$u->can('write', $tag)) { $r->renderError(401); } $tag_item = new Dase_DBO_TagItem($this->db); $tag_item->load($r->get('tag_item_id')); $tag_item->annotation = Dase_Util::stripInvalidXmlChars($r->getBody()); $tag_item->updated = date(DATE_ATOM); $tag_item->update(); $r->renderResponse($tag_item->annotation); }