/** create cart if none exists, also returns cart count */ public function initCart() { $tag = new Dase_DBO_Tag($this->db); $tag->dase_user_id = $this->id; $tag->type = 'cart'; if (!$tag->findOne()) { $tag->eid = $this->eid; $tag->name = 'My Cart'; $tag->ascii_id = 'cart'; $tag->created = date(DATE_ATOM); $tag->item_count = 0; $tag->insert(); } return $tag->item_count; }
protected function setup($r) { //Locates requested tag. Method still needs to authorize. $tag = new Dase_DBO_Tag($this->db); if ($r->has('tag_ascii_id') && $r->has('eid')) { $tag->ascii_id = $r->get('tag_ascii_id'); $tag->eid = $r->get('eid'); $found = $tag->findOne(); } elseif ($r->has('tag_id')) { $found = $tag->load($r->get('tag_id')); } if (isset($found) && $found && $found->id) { $this->tag = $tag; } else { $r->renderError(404, 'no such tag'); } }
public function insert($db, $r) { $user = $r->getUser(); $atom_author = $this->getAuthorName(); //should be exception?? if (!$atom_author || $atom_author != $user->eid) { $r->renderError(401, 'users do not match'); } $set = new Dase_DBO_Tag($db); $set->ascii_id = Dase_Util::dirify($this->getAsciiId()); $set->eid = $user->eid; if ($set->findOne()) { $r->renderError(409, 'set with that name exists'); } $set->dase_user_id = $user->id; $set->name = $this->getTitle(); $set->is_public = 0; $set->item_count = 0; $set->type = 'set'; $set->created = date(DATE_ATOM); $set->updated = date(DATE_ATOM); $set->insert(); /* foreach ($this->getCategories() as $category) { $tag_cat = new Dase_DBO_TagCategory($db); $tag_cat->tag_id = $set->id; $tag_cat->category_id = 0; $tag_cat->term = $category['term']; $tag_cat->label = $category['label']; $scheme = str_replace('http://daseproject.org/category/','',$category['scheme']); $tag_cat->scheme = $scheme; $tag_cat->insert(); } */ return $set; }
public function getCartAtom($r) { $u = $this->user; $tag = new Dase_DBO_Tag($this->db); $tag->dase_user_id = $u->id; $tag->type = 'cart'; if ($tag->findOne()) { $r->renderResponse($tag->asAtom($r->app_root)); } else { $r->renderError(404); } }
public static function get($db, $ascii_id, $eid) { if (!$ascii_id || !$eid) { return false; } $user = new Dase_DBO_DaseUser($db); $user->retrieveByEid($eid); $tag = new Dase_DBO_Tag($db); $tag->ascii_id = $ascii_id; $tag->dase_user_id = $user->id; $tag->findOne(); if ($tag->id) { return $tag; } else { return false; } }