Esempio n. 1
0
 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();
 }
Esempio n. 2
0
 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";
     }
 }
Esempio n. 3
0
 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)));
 }
Esempio n. 4
0
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();
Esempio n. 5
0
 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;
 }