Esempio n. 1
0
 /** 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();
         }
     }
 }
Esempio n. 2
0
 public function deleteTagItem($r)
 {
     $u = $this->user;
     $u->expireDataCache($r->getCache());
     $tag_item = new Dase_DBO_TagItem($this->db);
     $tag_item->load($r->get('tag_item_id'));
     $tag = new Dase_DBO_Tag($this->db);
     $tag->load($tag_item->tag_id);
     //todo: make this tag->eid == $u->eid
     if ($tag->dase_user_id == $u->id) {
         $tag_item->delete();
         $tag->updateItemCount();
         $r->renderResponse("tag item " . $r->get('tag_item_id') . " deleted!", false);
     } else {
         $r->renderError(401, 'user does not own tag');
     }
 }
Esempio n. 3
0
 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);
 }