示例#1
0
 public function insert($db, $r)
 {
     $db_user = Dase_DBO_DaseUser::get($db, $this->getEid());
     if (!$db_user) {
         $db_user = new Dase_DBO_DaseUser($db);
         $db_user->name = $this->getTitle();
         $db_user->eid = strtolower($this->getEid());
         $db_user->insert();
     }
     return $db_user;
 }
示例#2
0
 public function getPing($r)
 {
     $pinged = Dase_DBO_DaseUser::get($this->db, $r->get('eid'));
     if ($pinged) {
         $r->renderResponse($pinged->eid);
     } else {
         $r->renderError(404, 'no such user');
     }
 }
示例#3
0
 public function getEidauth($r)
 {
     $user = Dase_DBO_DaseUser::get($this->db, $r->get('eid'));
     if ($user) {
         $r->renderResponse($user->getHttpPassword($r->getAuthToken()));
     } else {
         //allow BB to create user
         if ('blackboard' == $r->get('serviceuser')) {
             $u = new Dase_DBO_DaseUser($db);
             $u->eid = strtolower($r->get('eid'));
             //name will simply be eid
             $u->name = $r->get('eid');
             $u->insert();
             $r->renderResponse($u->getHttpPassword($r->getAuthToken()));
         }
         $r->renderError(404);
     }
 }
示例#4
0
 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);
     }
 }
示例#5
0
 public function getUsersAtom($r)
 {
     $r->renderResponse(Dase_DBO_DaseUser::listAsAtom($this->db, $r->app_root));
 }
示例#6
0
 public function postToManagers($r)
 {
     if (!$r->has('auth_level')) {
         $params['msg'] = 'You must select an Authorization Level';
         $r->renderRedirect('manage/' . $this->collection->ascii_id . '/managers', $params);
     }
     if (!$r->has('dase_user_eid')) {
         $params['msg'] = 'You must enter an EID';
         $r->renderRedirect('manage/' . $this->collection->ascii_id . '/managers', $params);
     }
     $eid = strtolower($r->get('dase_user_eid'));
     if (!Dase_DBO_DaseUser::get($this->db, $eid)) {
         $params['msg'] = 'User ' . $eid . ' does not yet exist';
         $r->renderRedirect('manage/' . $this->collection->ascii_id . '/managers', $params);
     }
     $mgr = new Dase_DBO_CollectionManager($this->db);
     $mgr->dase_user_eid = $eid;
     $mgr->auth_level = $r->get('auth_level');
     $mgr->collection_ascii_id = $this->collection->ascii_id;
     $mgr->created = date(DATE_ATOM);
     $mgr->created_by_eid = $this->user->eid;
     try {
         $mgr->insert();
         $params['msg'] = 'success!';
     } catch (Exception $e) {
         $params['msg'] = 'there was a problem:' . $e->getMessage();
     }
     $r->renderRedirect('manage/' . $this->collection->ascii_id . '/managers', $params);
 }
示例#7
0
 public function getUser($r)
 {
     $user = Dase_DBO_DaseUser::get($this->db, $r->get('eid'));
     $tpl = new Dase_Template($r);
     $tpl->assign('user', $user);
     $tpl->assign('htpass', $user->getHttpPassword($r->getAuthToken()));
     $tpl->assign('tags', $user->getTags());
     $tpl->assign('collections', $user->getCollections($r->app_root));
     $r->renderResponse($tpl->fetch('admin/user.tpl'));
 }
示例#8
0
 function getUser()
 {
     //avoids another db lookup
     if ($this->user) {
         return $this->user;
     }
     $user = new Dase_DBO_DaseUser($this->db);
     $this->user = $user->load($this->dase_user_id);
     return $this->user;
 }
示例#9
0
<?php

include 'config.php';
$users = new Dase_DBO_DaseUser();
$update = false;
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) {
示例#10
0
<?php

include 'config.php';
$tags = new Dase_DBO_Tag();
foreach ($tags->find() as $tag) {
    $tag->updated = date(DATE_ATOM, strtotime($tag->updated));
    $tag->created = date(DATE_ATOM, strtotime($tag->created));
    if (!$tag->eid) {
        $u = new Dase_DBO_DaseUser();
        $u->load($tag->dase_user_id);
        $tag->eid = $u->eid;
    }
    $tag->eid = strtolower($tag->eid);
    if (!$tag->is_public) {
        $tag->is_public = 0;
    }
    print "updating {$tag->ascii_id}\n";
    //$tag->update();
}
示例#11
0
 public function getUser()
 {
     $user = new Dase_DBO_DaseUser($this->db);
     $user->eid = $this->dase_user_eid;
     return $user->findOne();
 }
示例#12
0
 public static function listAsAtom($db, $app_root, $limit = 100)
 {
     $users = new Dase_DBO_DaseUser($db);
     if ($limit) {
         $users->setLimit($limit);
     }
     $feed = new Dase_Atom_Feed();
     $feed->setTitle('DASe Users');
     $feed->setId($app_root . '/users');
     $feed->setFeedType('user_list');
     //todo:fix this to *not* simply be a time stamp
     $feed->setUpdated(date(DATE_ATOM));
     $feed->addAuthor();
     $feed->addLink($app_root . '/users.atom', 'self');
     $users->orderBy('updated DESC');
     foreach ($users->find() as $user) {
         $entry = $feed->addEntry();
         $entry->setTitle($user->name);
         $entry->setId($user->getUrl($app_root));
         $entry->setUpdated($user->updated);
         $entry->setEntryType('user');
         $entry->setContent($user->eid);
         $entry->addLink($user->getUrl($app_root) . '.atom', 'self');
     }
     return $feed->asXML($app_root);
 }