public function addcomuser($name, $email, $website, $ip) { $users = tusers::i(); $id = $users->add(array('email' => strtolower(trim($email)), 'name' => $name, 'website' => tcontentfilter::clean_website($website), 'status' => 'comuser', 'idgroups' => 'commentator')); if ($id) { $this->comuseradded($id); } return $id; }
public function processform() { extract($_POST, EXTR_SKIP); if (!($id = $this->getiduser())) { return; } $item = array('rawcontent' => trim($rawcontent), 'content' => tcontentfilter::i()->filter($rawcontent)); if ('admin' == litepublisher::$options->group) { $item['idview'] = (int) $idview; $item['url'] = $url; $item['head'] = $head; $item['keywords'] = $keywords; $item['description'] = $description; } $pages = tuserpages::i(); $pages->edit($id, $item); tusers::i()->edit($id, array('name' => $name, 'website' => tcontentfilter::clean_website($website))); $useroptions = tuseroptions::i(); $useroptions->setvalue($id, 'subscribe', isset($subscribe) ? 'enabled' : 'disabled'); $useroptions->setvalue($id, 'authorpost_subscribe', isset($authorpost_subscribe) ? 'enabled' : 'disabled'); }
public function processcomuser(array &$values) { $lang = tlocal::i('comment'); if (empty($values['name'])) { return $this->geterrorcontent($lang->emptyname); } $values['name'] = tcontentfilter::escape($values['name']); $values['email'] = isset($values['email']) ? strtolower(trim($values['email'])) : ''; if (!tcontentfilter::ValidateEmail($values['email'])) { return $this->geterrorcontent($lang->invalidemail); } $values['url'] = isset($values['url']) ? tcontentfilter::escape(tcontentfilter::clean_website($values['url'])) : ''; $values['subscribe'] = isset($values['subscribe']); }
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 auth($token) { if (!($s = http::get('http://ulogin.ru/token.php?token=' . $token . '&host=' . $_SERVER['HTTP_HOST']))) { return false; } if (!($info = json_decode($s, true))) { return false; } if (isset($info['error']) || !isset($info['network'])) { return false; } $name = !empty($info['first_name']) ? $info['first_name'] : ''; $name .= !empty($info['last_name']) ? ' ' . $info['last_name'] : ''; if (!$name && !empty($info['nickname'])) { $name = $info['nickname']; } $uid = !empty($info['uid']) ? $info['uid'] : (!empty($info['id']) ? $info['id'] : (!empty($info['identity']) ? $info['identity'] : (!empty($info['profile']) ? $info['profile'] : ''))); if (strlen($uid) >= 22) { $uid = basemd5($uid); } $phone = !empty($info['phone']) ? self::filterphone($info['phone']) : false; $newreg = false; $users = tusers::i(); if (!empty($info['email'])) { if ($id = $users->emailexists($info['email'])) { $user = $users->getitem($id); if ($user['status'] == 'comuser') { $users->approve($id); } if ($phone && empty($user['phone'])) { $users->setvalue($id, 'phone', $phone); } } elseif (litepublisher::$options->reguser) { $newreg = true; $id = $users->add(array('email' => $info['email'], 'name' => $name, 'website' => empty($info['profile']) ? '' : tcontentfilter::clean_website($info['profile']))); if ($phone) { $users->db->setvalue($id, 'phone', $phone); } if ($uid) { $this->add($id, $info['network'], $uid); } } else { //registration disabled return false; } } else { if ($uid) { if ($id = $this->find($info['network'], $uid)) { //nothing } elseif (litepublisher::$options->reguser) { $newreg = true; $id = $users->add(array('email' => '', 'name' => $name, 'website' => empty($info['profile']) ? '' : tcontentfilter::clean_website($info['profile']))); $users->approve($id); if ($phone) { $users->db->setvalue($id, 'phone', $phone); } $this->add($id, $info['network'], $uid); } else { //registration disabled return false; } } else { //nothing found and hasnt email or uid return false; } } $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', $info['network'], $expired, litepublisher::$site->subdir . '/', false); $this->onadd($id, $info, $newreg); return array('id' => $id, 'pass' => $cookie, 'regservice' => $info['network']); }