public function processform()
 {
     $pages = tuserpages::i();
     $pages->createpage = isset($_POST['createpage']);
     $pages->lite = isset($_POST['lite']);
     $pages->save();
     $groups = tusergroups::i();
     $groups->defaults = tadminhtml::check2array('idgroup-');
     $groups->defaulthome = trim($_POST['defaulthome']);
     $groups->save();
     $linkgen = tlinkgenerator::i();
     $linkgen->data['user'] = $_POST['linkschema'];
     $linkgen->save();
 }
 public function edit($id, array $values)
 {
     $users = tusers::i();
     if (!$users->itemexists($id)) {
         return false;
     }
     $item = $users->getitem($id);
     foreach ($item as $k => $v) {
         if (!isset($values[$k])) {
             continue;
         }
         switch ($k) {
             case 'password':
                 if ($values['password'] != '') {
                     $item['password'] = litepublisher::$options->hash($values['email'] . $values['password']);
                 }
                 break;
             case 'idgroups':
                 $groups = tusergroups::i();
                 $item['idgroups'] = $this->cleangroups($values['idgroups']);
                 break;
             default:
                 $item[$k] = trim($values[$k]);
         }
     }
     $users->items[$id] = $item;
     $item['id'] = $id;
     $users->setgroups($id, $item['idgroups']);
     $item['idgroups'] = implode(',', $item['idgroups']);
     $users->db->updateassoc($item);
     $pages = tuserpages::i();
     if (isset($values['status']) && 'approved' == $values['status'] && $item['status'] != $values['status']) {
         if ($pages->itemexists($id)) {
             if ($pages->createpage) {
                 $pages->addpage($id);
             }
         } else {
             $pages->add($id);
         }
     }
     $pages->edit($id, $values);
     return true;
 }
 public function getcontent()
 {
     $result = '';
     $users = tusers::i();
     $groups = tusergroups::i();
     $html = $this->html;
     $lang = tlocal::i('users');
     $args = targs::i();
     $id = $this->idget();
     switch ($this->action) {
         case 'edit':
             if (!$users->itemexists($id)) {
                 $result .= $this->notfound();
             } else {
                 $statuses = array();
                 foreach (array('approved', 'hold', 'comuser') as $name) {
                     $statuses[$name] = $lang->{$name};
                 }
                 $item = $users->getitem($id);
                 $args->add($item);
                 $args->registered = tuserpages::i()->getvalue($id, 'registered');
                 $args->formtitle = $item['name'];
                 $args->status = tadminhtml::array2combo($statuses, $item['status']);
                 $tabs = new tuitabs();
                 $tabs->add($lang->login, '[text=email] [password=password]');
                 $tabs->add($lang->groups, '[combo=status]' . tadmingroups::getgroups($item['idgroups']));
                 $tabs->add('Cookie', '[text=cookie] [text=expired] [text=registered] [text=trust]');
                 $args->password = '';
                 $result .= $html->adminform($tabs->get(), $args);
             }
             break;
         case 'delete':
             $result .= $html->confirm_delete($users, $this->adminurl);
             break;
         default:
             $args->formtitle = $lang->newuser;
             $args->email = '';
             $args->action = 'add';
             $tabs = new tuitabs();
             $tabs->add($lang->login, '[text=email] [password=password] [text=name] [hidden=action]');
             $tabs->add($lang->groups, tadmingroups::getgroups(array()));
             $result .= $html->adminform($tabs->get(), $args);
     }
     $args->search = '';
     //table
     $perpage = 20;
     $count = $users->count;
     $from = $this->getfrom($perpage, $count);
     $where = '';
     $params = '';
     if (!empty($_GET['idgroup'])) {
         $idgroup = (int) tadminhtml::getparam('idgroup', 0);
         if ($groups->itemexists($idgroup)) {
             $grouptable = litepublisher::$db->prefix . $users->grouptable;
             $where = "{$users->thistable}.id in (select iduser from {$grouptable} where idgroup = {$idgroup})";
             $params = "idgroup={$idgroup}";
         }
     } elseif ($search = trim(tadminhtml::getparam('search', ''))) {
         $params = 'search=' . urlencode($search);
         $args->search = $search;
         $search = litepublisher::$db->escape($search);
         $search = strtr($search, array('%' => '\\%', '_' => '\\_'));
         $where = "email like '%{$search}%' or name like '%{$search}%' ";
         $count = $users->db->getcount($where);
         $from = $this->getfrom($perpage, $count);
     }
     $items = $users->select($where, " order by id desc limit {$from}, {$perpage}");
     if (!$items) {
         $items = array();
     }
     $args->adminurl = $this->adminurl;
     $args->formtitle = $lang->userstable;
     $args->table = $html->items2table($users, $items, array($html->get_table_checkbox('user'), array('left', $lang->edit, sprintf('<a href="%s=$id&action=edit">$name</a>', $this->adminurl)), $html->get_table_item('status'), array('left', $lang->comments, sprintf('<a href="%s">%s</a>', tadminhtml::getadminlink('/admin/comments/', 'iduser=$id'), $lang->comments)), array('left', $lang->page, sprintf('<a href="%s">%s</a>', tadminhtml::getadminlink('/admin/users/pages/', 'id=$id'), $lang->page)), $html->get_table_link('delete', $this->adminurl)));
     $result .= $html->deletetable($args);
     $result = $html->fixquote($result);
     $theme = ttheme::i();
     $result .= $theme->getpages($this->url, litepublisher::$urlmap->page, ceil($count / $perpage), $params);
     $form = new adminform($args);
     $form->method = 'get';
     $form->inline = true;
     $form->items = '[text=search]';
     $form->submit = 'find';
     $result .= $form->get();
     return $result;
 }
Beispiel #4
0
 public function getauthorpage()
 {
     $id = $this->author;
     if ($id <= 1) {
         return sprintf('<a href="%s/" rel="author" title="%2$s">%2$s</a>', litepublisher::$site->url, litepublisher::$site->author);
     } else {
         $pages = tuserpages::i();
         if (!$pages->itemexists($id)) {
             return '';
         }
         $pages->id = $id;
         if ($pages->url == '') {
             return '';
         }
         return sprintf('<a href="%s%s" title="%3$s" rel="author"><%3$s</a>', litepublisher::$site->url, $pages->url, $pages->name);
     }
 }
Beispiel #5
0
 private function get_author()
 {
     $context = isset(litepublisher::$urlmap->context) ? litepublisher::$urlmap->context : ttemplate::i()->context;
     if (!is_object($context)) {
         if (!isset(self::$vars['post'])) {
             return new emptyclass();
         }
         $context = self::$vars['post'];
     }
     if ($context instanceof tuserpages) {
         return $context;
     }
     $iduser = 0;
     foreach (array('author', 'idauthor', 'user', 'iduser') as $propname) {
         if (isset($context->{$propname})) {
             $iduser = $context->{$propname};
             break;
         }
     }
     if (!$iduser) {
         return new emptyclass();
     }
     $pages = tuserpages::i();
     if (!$pages->itemexists($iduser)) {
         return new emptyclass();
     }
     $pages->request($iduser);
     return $pages;
 }
Beispiel #6
0
 public function approve($id)
 {
     $this->setvalue($id, 'status', 'approved');
     $pages = tuserpages::i();
     if ($pages->createpage) {
         $pages->addpage($id);
     }
 }
 public function getuserlist()
 {
     $users = tusers::i();
     $pages = tuserpages::i();
     $perpage = 20;
     $count = $pages->count;
     $from = $this->getfrom($perpage, $count);
     $p = $pages->thistable;
     $u = $users->thistable;
     $items = $users->res2items($users->db->query("\n    select {$u}.*  from {$u}\n    left join {$p} on {$u}.id = {$p}.id\n    where not {$p}.id is null\n    order by {$u}.id desc limit {$from}, {$perpage}"));
     //dumpvar($items);
     $html = $this->gethtml('users');
     $lang = tlocal::admin('users');
     $args = new targs();
     $args->adminurl = $this->adminurl;
     $result = $html->h4->userstable;
     $result .= $html->items2table($users, $items, array(array('left', $lang->edit, sprintf('<a href="%s=$id">$name</a>', $this->adminurl))));
     $theme = ttheme::i();
     $result .= $theme->getpages($this->url, litepublisher::$urlmap->page, ceil($count / $perpage));
     return $result;
 }