/** * Lite Publisher * Copyright (C) 2010 - 2013 Vladimir Yushko http://litepublisher.ru/ http://litepublisher.com/ * Dual licensed under the MIT (mit.txt) * and GPL (gpl.txt) licenses. **/ function tusernewsInstall($self) { $name = basename(dirname(__FILE__)); $self->data['dir'] = $name; $self->save(); tlocalmerger::i()->addplugin($name); $filter = tcontentfilter::i(); $filter->phpcode = true; $filter->save(); litepublisher::$options->parsepost = false; litepublisher::$options->reguser = true; $adminoptions = tadminoptions::i(); $adminoptions->usersenabled = true; $groups = tusergroups::i(); $groups->defaults = array($groups->getidgroup('author')); $groups->save(); $rights = tauthor_rights::i(); $rights->lock(); $rights->gethead = $self->gethead; $rights->getposteditor = $self->getposteditor; $rights->editpost = $self->editpost; $rights->changeposts = $self->changeposts; $rights->canupload = $self->canupload; $rights->candeletefile = $self->candeletefile; $rights->unlock(); }
public function processform() { $groups = tusergroups::i(); switch ($this->action) { case 'add': $groups->lock(); $id = $groups->add($_POST['name'], $_POST['title'], $_POST['home']); $groups->items[$id]['parents'] = tadminhtml::check2array('idgroup-'); $groups->unlock(); $_POST['id'] = $id; $_GET['id'] = $id; $_GET['action'] = 'edit'; break; case 'edit': $id = $this->idget(); if ($groups->itemexists($id)) { foreach (array('name', 'title', 'home') as $name) { $groups->items[$id][$name] = $_POST[$name]; } $groups->items[$id]['parents'] = tadminhtml::check2array('idgroup-'); $groups->save(); } break; } }
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 request($id) { if ($s = tguard::checkattack()) { return $s; } if (!litepublisher::$options->user) { return litepublisher::$urlmap->redir('/admin/login/' . litepublisher::$site->q . 'backurl=' . urlencode(litepublisher::$urlmap->url)); } if (!litepublisher::$options->hasgroup('editor')) { $url = tusergroups::i()->gethome(litepublisher::$options->group); return litepublisher::$urlmap->redir($url); } tlocal::usefile('admin'); }
public function getcontent() { $result = ''; $html = $this->html; $lang = tlocal::admin('users'); if ($this->logged) { return $html->h4red($lang->logged . ' ' . $html->getlink('/admin/', $lang->adminpanel)); } $args = new targs(); if ($this->regstatus) { switch ($this->regstatus) { case 'ok': $backurl = $this->backurl; if (!$backurl) { $backurl = tusergroups::i()->gethome(litepublisher::$options->group); } if (!strbegin($backurl, 'http://')) { $backurl = litepublisher::$site->url . $backurl; } return $html->h4($lang->successreg . ' ' . $html->getlink($backurl, $lang->continue)); case 'mail': return $html->h4->waitconfirm; case 'error': $result .= $html->h4->invalidregdata; } } $form = ''; foreach (array('email', 'name') as $name) { $args->{$name} = isset($_POST[$name]) ? $_POST[$name] : ''; $form .= "[text={$name}]"; } $lang = tlocal::i('users'); $args->formtitle = $lang->regform; $args->data['$lang.email'] = 'email'; $result .= $this->widget; if (isset($_GET['backurl'])) { //normalize $result = str_replace('&backurl=', '&backurl=', $result); $result = str_replace('backurl=', 'backurl=' . urlencode($_GET['backurl']), $result); $result = str_replace('backurl%3D', 'backurl%3D' . urlencode(urlencode($_GET['backurl'])), $result); } $result .= $html->adminform($form, $args); $result = str_replace(' action=""', ' action="' . litepublisher::$site->url . '/admin/reguser/"', $result); $this->callevent('oncontent', array(&$result)); return $result; }
public function request($arg) { $this->cache = false; Header('Cache-Control: no-cache, must-revalidate'); Header('Pragma: no-cache'); $token = isset($_POST['token']) ? $_POST['token'] : (isset($_GET['token']) ? $_GET['token'] : ''); if (!$token) { //try fix ulogin bug double symbol ? $uri = $_SERVER['REQUEST_URI']; if (substr_count($uri, '?') <= 1) { return 403; } $q = substr($uri, strpos($uri, '?') + 1); $q = str_replace('?', '&', $q); parse_str($q, $_GET); $token = isset($_GET['token']) ? $_GET['token'] : ''; if (!$token) { return 403; } } if (!($cookies = $this->auth($token))) { return 403; } if (!empty($_GET['backurl'])) { $backurl = $_GET['backurl']; } elseif (!empty($_COOKIE['backurl'])) { $backurl = $_COOKIE['backurl']; } else { $user = tusers::i()->getitem($cookies['id']); $backurl = tusergroups::i()->gethome($user['idgroups'][0]); } if (!(int) tusers::i()->db->getvalue($cookies['id'], 'phone')) { if ($url = $this->onphone($backurl)) { return litepublisher::$urlmap->redir($url); } } setcookie('backurl', '', 0, litepublisher::$site->subdir, false); return litepublisher::$urlmap->redir($backurl); }
public function updategroup() { if ($this->_user == 1) { $this->group = 'admin'; $this->idgroups = array(1); } else { $user = tusers::i()->getitem($this->_user); $this->idgroups = $user['idgroups']; $this->group = count($this->idgroups) ? tusergroups::i()->items[$this->idgroups[0]]['name'] : ''; } }
public function processform() { $users = tusers::i(); $groups = tusergroups::i(); if (isset($_POST['delete'])) { foreach ($_POST as $key => $value) { if (!is_numeric($value)) { continue; } $id = (int) $value; $users->delete($id); //if (litepublisher::$classes->exists('tregservices')) $users->getdb(' } return; } switch ($this->action) { case 'add': $_POST['idgroups'] = tadminhtml::check2array('idgroup-'); if ($id = $users->add($_POST)) { litepublisher::$urlmap->redir("{$this->adminurl}={$id}&action=edit"); } else { return $this->html->h4red->invalidregdata; } break; case 'edit': $id = $this->idget(); if (!$users->itemexists($id)) { return; } $_POST['idgroups'] = tadminhtml::check2array('idgroup-'); if (!$users->edit($id, $_POST)) { return $this->notfound; } if ($id == 1) { litepublisher::$site->author = $_POST['name']; //litepublisher::$site->email = $_POST['email']; } break; } }
public function cleangroup($v) { if (is_string($v)) { $v = trim($v); } if (is_numeric($v)) { $id = (int) $v; if (tusergroups::i()->itemexists($id)) { return $id; } } else { return tusergroups::i()->getidgroup($v); } return false; }
public function getgroupname($id) { $item = $this->getitem($id); $groups = tusergroups::i(); return $groups->items[$item['idgroups'][0]]['name']; }
public static function auth($group) { if ($s = tguard::checkattack()) { return $s; } if (!litepublisher::$options->user) { turlmap::nocache(); return litepublisher::$urlmap->redir('/admin/login/' . litepublisher::$site->q . 'backurl=' . urlencode(litepublisher::$urlmap->url)); } if (!litepublisher::$options->hasgroup($group)) { $url = tusergroups::i()->gethome(litepublisher::$options->group); turlmap::nocache(); return litepublisher::$urlmap->redir($url); } }
/** * Lite Publisher * Copyright (C) 2010 - 2013 Vladimir Yushko http://litepublisher.ru/ http://litepublisher.com/ * Dual licensed under the MIT (mit.txt) * and GPL (gpl.txt) licenses. **/ function tticketsInstall($self) { if (version_compare(PHP_VERSION, '5.3', '<')) { die('Ticket system requires PHP 5.3 or later. You are using PHP ' . PHP_VERSION); } $dirname = basename(dirname(__FILE__)); $l = tlocalmerger::i(); $l->lock(); $l->add('default', "plugins/{$dirname}/resource/" . litepublisher::$options->language . ".ini"); $l->add('mail', "plugins/{$dirname}/resource/" . litepublisher::$options->language . ".mail.ini"); $l->unlock(); tadminhtml::i()->inidir(dirname(__FILE__) . '/resource/'); $lang = tlocal::admin('tickets'); $lang->addsearch('ticket', 'tickets'); $self->data['cats'] = array(); $self->data['idcomauthor'] = tusers::i()->add(array('email' => '', 'name' => tlocal::get('ticket', 'comname'), 'status' => 'approved', 'idgroups' => 'commentator')); $self->save(); $dir = dirname(__FILE__) . DIRECTORY_SEPARATOR . 'resource' . DIRECTORY_SEPARATOR; $filter = tcontentfilter::i(); $filter->phpcode = true; $filter->save(); litepublisher::$options->parsepost = false; $manager = tdbmanager::i(); $manager->CreateTable($self->childtable, file_get_contents($dir . 'ticket.sql')); $manager->addenum('posts', 'class', 'tticket'); $optimizer = tdboptimizer::i(); $optimizer->lock(); $optimizer->childtables[] = 'tickets'; $optimizer->addevent('postsdeleted', 'ttickets', 'postsdeleted'); $optimizer->unlock(); litepublisher::$classes->lock(); //install polls if its needed $plugins = tplugins::i(); if (!isset($plugins->items['polls'])) { $plugins->add('polls'); } litepublisher::$classes->Add('tticket', 'ticket.class.php', $dirname); //litepublisher::$classes->Add('tticketsmenu', 'tickets.menu.class.php', $dirname); litepublisher::$classes->Add('tticketeditor', 'admin.ticketeditor.class.php', $dirname); litepublisher::$classes->Add('tadmintickets', 'admin.tickets.class.php', $dirname); litepublisher::$classes->Add('tadminticketoptions', 'admin.tickets.options.php', $dirname); litepublisher::$options->reguser = true; $adminoptions = tadminoptions::i(); $adminoptions->usersenabled = true; $adminmenus = tadminmenus::i(); $adminmenus->lock(); $parent = $adminmenus->createitem(0, 'tickets', 'ticket', 'tadmintickets'); $adminmenus->items[$parent]['title'] = tlocal::get('tickets', 'tickets'); $idmenu = $adminmenus->createitem($parent, 'editor', 'ticket', 'tticketeditor'); $adminmenus->items[$idmenu]['title'] = tlocal::get('tickets', 'editortitle'); $idmenu = $adminmenus->createitem($parent, 'opened', 'ticket', 'tadmintickets'); $adminmenus->items[$idmenu]['title'] = tlocal::get('ticket', 'opened'); $idmenu = $adminmenus->createitem($parent, 'fixed', 'ticket', 'tadmintickets'); $adminmenus->items[$idmenu]['title'] = tlocal::get('ticket', 'fixed'); $idmenu = $adminmenus->createitem($parent, 'options', 'admin', 'tadminticketoptions'); $adminmenus->items[$idmenu]['title'] = tlocal::i()->options; $adminmenus->onexclude = $self->onexclude; $adminmenus->unlock(); /* $menus = tmenus::i(); $menus->lock(); $ini = parse_ini_file($dir . litepublisher::$options->language . '.install.ini', false); $menu = tticketsmenu::i(); $menu->type = 'tickets'; $menu->url = '/tickets/'; $menu->title = $ini['tickets']; $menu->content = $ini['contenttickets']; $id = $menus->add($menu); foreach (array('bug', 'feature', 'support', 'task') as $type) { $menu = tticketsmenu::i(); $menu->type = $type; $menu->parent = $id; $menu->url = "/$type/"; $menu->title = $ini[$type]; $menu->content = ''; $menus->add($menu); } $menus->unlock(); */ litepublisher::$classes->unlock(); $linkgen = tlinkgenerator::i(); $linkgen->data['ticket'] = '/tickets/[title].htm'; $linkgen->save(); $groups = tusergroups::i(); $groups->lock(); $idticket = $groups->add('ticket', 'Tickets', '/admin/tickets/editor/'); $groups->defaults = array($idticket, $groups->getidgroup('author')); $groups->items[litepublisher::$options->groupnames['author']]['parents'][] = $idticket; $groups->items[litepublisher::$options->groupnames['commentator']]['parents'][] = $idticket; $groups->unlock(); }
public function adduser(array $item, $rawdata) { $users = tusers::i(); $reguser = tregserviceuser::i(); if (!empty($item['email'])) { if ($id = $users->emailexists($item['email'])) { $user = $users->getitem($id); if ($user['status'] == 'comuser') { $users->approve($id); } } elseif (litepublisher::$options->reguser) { $id = $users->add(array('email' => $item['email'], 'name' => $item['name'], 'website' => isset($item['website']) ? tcontentfilter::clean_website($item['website']) : '')); if (isset($item['uid'])) { $uid = $item['uid']; if (strlen($uid) >= 22) { $uid = basemd5($uid); } $reguser->add($id, $this->name, $uid); } } else { //registration disabled return 403; } } else { $uid = !empty($item['uid']) ? $item['uid'] : (!empty($item['website']) ? $item['website'] : ''); if ($uid) { if (strlen($uid) >= 22) { $uid = basemd5($uid); } if ($id = $reguser->find($this->name, $uid)) { //nothing } elseif (litepublisher::$options->reguser) { $id = $users->add(array('email' => '', 'name' => $item['name'], 'website' => isset($item['website']) ? tcontentfilter::clean_website($item['website']) : '')); $users->approve($id); $reguser->add($id, $this->name, $uid); } else { //registration disabled return 403; } } else { //nothing found and hasnt email or uid return 403; } } $expired = time() + 31536000; $cookie = md5uniq(); litepublisher::$options->user = $id; litepublisher::$options->updategroup(); litepublisher::$options->setcookies($cookie, $expired); if (litepublisher::$options->ingroup('admin')) { setcookie('litepubl_user_flag', 'true', $expired, litepublisher::$site->subdir . '/', false); } setcookie('litepubl_regservice', $this->name, $expired, litepublisher::$site->subdir . '/', false); $this->onadd($id, $rawdata); if (isset($this->sessdata['comuser'])) { return tcommentform::i()->processform($this->sessdata['comuser'], true); } if (!empty($_COOKIE['backurl'])) { $backurl = $_COOKIE['backurl']; } else { $user = $users->getitem($id); $backurl = tusergroups::i()->gethome($user['idgroups'][0]); } return litepublisher::$urlmap->redir($backurl); }
public function request($arg) { if ($arg == 'out') { return $this->logout($arg); } parent::request($arg); $this->section = 'login'; if (!isset($_POST['email']) || !isset($_POST['password'])) { return turlmap::nocache(); } $email = trim($_POST['email']); $password = trim($_POST['password']); if ($mesg = self::autherror($email, $password)) { $this->formresult = $this->html->h4red($mesg); return turlmap::nocache(); } $expired = isset($_POST['remember']) ? time() + 31536000 : time() + 8 * 3600; $cookie = md5uniq(); litepublisher::$options->setcookies($cookie, $expired); litepublisher::$options->setcookie('litepubl_regservice', 'email', $expired); $url = !empty($_GET['backurl']) ? $_GET['backurl'] : (!empty($_GET['amp;backurl']) ? $_GET['amp;backurl'] : (isset($_COOKIE['backurl']) ? $_COOKIE['backurl'] : '')); if ($url && strbegin($url, litepublisher::$site->url)) { $url = substr($url, strlen(litepublisher::$site->url)); } if ($url && (strbegin($url, '/admin/login/') || strbegin($url, '/admin/password/'))) { $url = false; } if (!$url) { $url = '/admin/'; if (litepublisher::$options->group != 'admin') { $groups = tusergroups::i(); $url = $groups->gethome(litepublisher::$options->group); } } litepublisher::$options->setcookie('backurl', '', 0); turlmap::nocache(); return litepublisher::$urlmap->redir($url); }