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; }
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); } }
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; }
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; }