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');
 }
Ejemplo n.º 3
0
 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']);
 }
Ejemplo n.º 4
0
 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);
 }
Ejemplo n.º 5
0
 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']);
 }