Esempio n. 1
0
 function register($data)
 {
     if (strtolower($data['captcha']) != $_SESSION['captcha']) {
         $this->message = '验证码错误';
         return false;
     }
     if (!filter_var($data['email'], FILTER_VALIDATE_EMAIL)) {
         $this->message = '邮箱格式错误';
         return false;
     }
     if (!$data['password'] || $data['password'] != $data['password2']) {
         $this->message = '密码错误';
         return false;
     }
     $user = $this->get(array('email' => $data['email']));
     if ($user) {
         $this->message = '邮箱已经注册';
         return false;
     }
     $user = $this->get(array('nickname' => $data['nickname']));
     if (baddet::detect($data['nickname']) || $user) {
         $this->message = '昵称错误';
         return false;
     }
     $data['type_id'] = self::TYPE_USER;
     $data['password'] = md5($data['password']);
     $data['add_time'] = $_SERVER['REQUEST_TIME'];
     $this->begin();
     try {
         $user_id = $this->insert($data);
         $_SESSION['user_id'] = $user_id;
         setcookie('nickname', $data['nickname']);
         $this->commit();
         return true;
     } catch (Exception $e) {
         $this->message = '失败';
         $this->rollBack();
         return false;
     }
 }
Esempio n. 2
0
 function add_node($data, $user_id)
 {
     if (strtolower($data['captcha']) != $_SESSION['captcha']) {
         $this->message = '验证码错误';
         return false;
     }
     $cate_id = intval($data['cate_id']);
     if ($cate_id < 1) {
         $this->message = '分类错误';
         return false;
     }
     $data['cate_id'] = $cate_id;
     $node_name = trim($data['node_name']);
     $name_len = mb_strlen($node_name);
     if ($name_len < 1 || $name_len > 20 || baddet::detect($node_name)) {
         $this->message = '节点错误';
         return false;
     }
     $node = $this->get_cache(array('node_name' => $node_name));
     if ($node) {
         $this->message = '节点错误';
         return false;
     }
     $data['node_name'] = $node_name;
     $data['keywords'] = strtolower($node_name);
     $data['add_time'] = $_SERVER['REQUEST_TIME'];
     $data['user_id'] = $user_id;
     $data['type_id'] = self::NODE_TYPE_USER;
     $this->begin();
     try {
         $node_id = $this->insert($data);
         $this->commit();
         return $node_id;
     } catch (Exception $e) {
         $this->message = '失败';
         $this->rollBack();
         return false;
     }
 }
Esempio n. 3
0
 function add_feed($data, $user_id)
 {
     if (strtolower($data['captcha']) != $_SESSION['captcha']) {
         $this->message = '验证码错误';
         return false;
     }
     $data['content'] = trim($data['content']);
     $title = trim($data['title']);
     $title_len = mb_strlen($title);
     if ($title_len < 3 || $title_len > 255 || baddet::detect($title)) {
         $this->message = '标题错误';
         return false;
     }
     $data['title'] = $title;
     if (!$data['node_keyword']) {
         $this->message = '节点错误';
         return false;
     }
     $node_mod = model::load('node');
     $node = $node_mod->get_cache(array('keywords' => $data['node_keyword']));
     if (!$node) {
         $this->message = '节点错误';
         return false;
     }
     if ($data['url']) {
         if (!filter_var($data['url'], FILTER_SANITIZE_URL)) {
             $this->message = '网址错误';
             return false;
         }
         $path = parse_url($data['url']);
         $data['domain'] = $path['host'];
         $temp_arr = explode(".", $data['url']);
         $file_ext = array_pop($temp_arr);
         $file_ext = trim($file_ext);
         $file_ext = strtolower($file_ext);
         $ext_arr = array('gif', 'jpg', 'jpeg', 'png', 'bmp');
         if (in_array($file_ext, $ext_arr) && !$data['top_image']) {
             $data['top_image'] = $data['url'];
         }
     } else {
         $data['domain'] = $node['keywords'];
     }
     $add_time = $_SERVER['REQUEST_TIME'];
     $data['add_time'] = $add_time;
     $data['cate_id'] = $node['cate_id'];
     $data['ups'] = 0;
     $data['downs'] = 0;
     $data['hot_score'] = sorts::hot_score(0, 0, $add_time);
     $data['controversy_score'] = 0;
     $data['status'] = self::FEED_STATUS_ENABLE;
     $data['user_id'] = $user_id;
     $this->begin();
     try {
         $feed_id = $this->insert($data);
         if (!$feed_id) {
             return;
         }
         $this->init('node_feed_relation');
         $this->insert(array('node_id' => $node['node_id'], 'feed_id' => $feed_id));
         $this->init();
         $this->commit();
         return $feed_id;
     } catch (Exception $e) {
         $this->message = '失败';
         $this->rollBack();
         return false;
     }
 }