public function postToLogin($r) { //this is the default, uber-simple login //which should be overidden by a module //all valid users need to be superusers $username = strtolower($r->get('username')); $pass = $r->get('password'); $superusers = $r->getSuperusers(); //todo: this is why params are not saved -- super ONLY if (isset($superusers[$username]) && $superusers[$username] == $pass) { $user = new Dase_DBO_DaseUser($this->db); $user->retrieveByEid($username); $user->initCart(); $r->setCookie('collections', Dase_Json::get(Dase_DBO_Collection::getLookupArray($this->db))); $r->setCookie('eid', $username); $r->setCookie('max', $user->max_items); $r->setCookie('display', $user->display); $r->renderRedirect(urldecode($r->get('target'))); } else { //I could probably just display here instead of redirect $params['msg'] = 'incorrect username/password'; $r->renderRedirect("login/form", $params); } }
function asJson($app_root) { $collection_lookup = Dase_DBO_Collection::getLookupArray($this->db); $json_tag; $eid = $this->getUser()->eid; $json_tag['id'] = $this->getUrl($app_root); $json_tag['uri'] = $this->getUrl($app_root); $json_tag['links'] = array('self' => $this->getUrl($app_root)); if ($this->created) { $json_tag['updated'] = $this->created; } else { $json_tag['updated'] = date(DATE_ATOM); } $json_tag['name'] = $this->name; $json_tag['description'] = $this->description; $json_tag['background'] = $this->background; $json_tag['is_public'] = $this->is_public; $json_tag['type'] = $this->type; $json_tag['eid'] = $eid; foreach ($this->getTagItems() as $tag_item) { $item = $tag_item->getItem(); if (!$item) { Dase_Log::debug(LOG_FILE, 'tag_item missing item: ' . $tag_item->id); continue; } $json_item = array(); $json_item['id'] = $app_root . '/tag/' . $eid . '/' . $this->ascii_id . '/' . $tag_item->id; $json_item['links'] = array(); $json_item['links']['self'] = $app_root . '/tag/' . $eid . '/' . $this->ascii_id . '/' . $tag_item->id; $json_item['links']['related'] = $item->getUrl($app_root); $json_item['url'] = $app_root . '/tag/' . $eid . '/' . $this->ascii_id . '/' . $tag_item->id; $json_item['sort_order'] = $tag_item->sort_order; //make sure p_ values are always populated! $json_item['item_unique'] = $tag_item->p_collection_ascii_id . '/' . $tag_item->p_serial_number; $json_item['size'] = $tag_item->size; $json_item['updated'] = $tag_item->updated; $json_item['annotation'] = $tag_item->annotation; $json_item['title'] = $item->getTitle(); $json_item['collection_name'] = $collection_lookup[$item->collection_id]['collection_name']; $json_item['media'] = array(); foreach ($item->getMedia() as $m) { $json_item['media'][$m['size']] = $app_root . $m['url']; } $json_item['metadata'] = array(); foreach ($item->getMetadata() as $meta) { $json_item['metadata'][$meta['attribute_name']] = $meta['value_text']; } $json_tag['items'][] = $json_item; } return Dase_Json::get($json_tag); }