public static function listAsAtom($db, $app_root) { $cm = new Dase_DBO_CollectionManager($db); $cms = $cm->find(); $feed = new Dase_Atom_Feed(); $feed->setTitle('DASe Collection Managers'); $feed->setId($app_root . '/admin/managers'); //fix to be latest update $feed->setUpdated(date(DATE_ATOM)); $feed->addAuthor(); $feed->addLink($app_root . '/admin/managers.atom', 'self'); $feed->addCategory($app_root, "http://daseproject.org/category/base_url"); foreach ($cms as $manager) { $entry = $feed->addEntry(); $manager->injectAtomEntryData($entry, $app_root); } return $feed->asXml(); }
public function expunge($messages = false) { $items = new Dase_DBO_Item($this->db); $items->collection_id = $this->id; foreach ($items->find() as $item) { Dase_Log::info(LOG_FILE, "item {$this->ascii_id}:{$item->serial_number} deleted"); if ($messages) { print "item {$this->ascii_id}:{$item->serial_number} deleted\n"; } $item->expunge(); } $item_types = new Dase_DBO_ItemType($this->db); $item_types->collection_id = $this->id; foreach ($item_types->find() as $type) { $type->expunge(); } $atts = new Dase_DBO_Attribute($this->db); $atts->collection_id = $this->id; foreach ($atts->find() as $a) { $a->delete(); } $cms = new Dase_DBO_CollectionManager($this->db); $cms->collection_ascii_id = $this->ascii_id; foreach ($cms->find() as $cm) { $cm->delete(); } $this->delete(); Dase_Log::info(LOG_FILE, "{$this->ascii_id} deleted"); if ($messages) { print "{$this->ascii_id} collection deleted\n"; } }
public function getManagerEmail($r) { $cms = new Dase_DBO_CollectionManager($this->db); foreach ($cms->find() as $cm) { if ('none' != $cm->auth_level) { $person = Utlookup::getRecord($cm->dase_user_eid); if (isset($person['email'])) { $managers[] = $person['name'] . " <" . $person['email'] . ">"; } } } $r->response_mime_type = 'text/plain'; $r->renderResponse(join("\n", array_unique($managers))); }
foreach ($users->find() as $user) { $user->updated = date(DATE_ATOM, strtotime($user->updated)); $user->created = date(DATE_ATOM, strtotime($user->created)); if ($user->eid != strtolower($user->eid)) { $user->eid = strtolower($user->eid); } if (!$user->has_access_exception) { $user->has_access_exception = 0; } print "updating user {$user->eid}\n"; if ($update) { $user->update(); } } $cms = new Dase_DBO_CollectionManager(); foreach ($cms->find() as $cm) { if ($cm->dase_user_eid != strtolower($cm->dase_user_eid)) { print "updating manager {$cm->dase_user_eid}\n"; $cm->dase_user_eid = strtolower($cm->dase_user_eid); if ($update) { $cm->update(); } } } $items = new Dase_DBO_Item(); foreach ($items->find() as $item) { if ($item->created_by_eid != strtolower($item->created_by_eid)) { print "updating item {$item->created_by_eid}\n"; $item->created_by_eid = strtolower($item->created_by_eid); if ($update) { $item->update();
public function getCollections($app_root) { $cm = new Dase_DBO_CollectionManager($this->db); $cm->dase_user_eid = $this->eid; $special_colls = array(); $user_colls = array(); foreach ($cm->find() as $managed) { $special_colls[$managed->collection_ascii_id] = $managed->auth_level; } $coll = new Dase_DBO_Collection($this->db); $coll->orderBy('collection_name'); foreach ($coll->find() as $c) { if (!$c->item_count) { $c->item_count = 0; } if (1 == $c->is_public || in_array($c->ascii_id, array_keys($special_colls))) { if (isset($special_colls[$c->ascii_id])) { $auth_level = $special_colls[$c->ascii_id]; } else { $auth_level = ''; } $user_colls[$c->ascii_id] = array('id' => $c->getUrl($app_root), 'collection_name' => $c->collection_name, 'ascii_id' => $c->ascii_id, 'is_public' => $c->is_public, 'item_count' => $c->item_count, 'auth_level' => $auth_level, 'links' => array('self' => $c->getUrl($app_root), 'media' => $c->getMediaUrl($app_root))); } } return $user_colls; }