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