emlog MVC解构--控制器Controller之Comment_Controller

Comment_Controller只有一个方法:发表评论。

function addComment($params) { // 获取提交的评论名,删除前后的空格,特殊字符添加反斜杠 $name = isset($_POST['comname']) ? addslashes(trim($_POST['comname'])) : ''; // 获取提交的评论内容,删除前后的空格,特殊字符添加反斜杠 $content = isset($_POST['comment']) ? addslashes(trim($_POST['comment'])) : ''; // 获取提交的评论者邮箱,删除前后的空格,特殊字符添加反斜杠 $mail = isset($_POST['commail']) ? addslashes(trim($_POST['commail'])) : ''; // 获取提交的评论者个人网站网址,删除前后的空格,特殊字符添加反斜杠 $url = isset($_POST['comurl']) ? addslashes(trim($_POST['comurl'])) : ''; // 获取提交的验证码,转换为大写,删除前后的空格,特殊字符添加反斜杠 $imgcode = isset($_POST['imgcode']) ? addslashes(trim(strtoupper($_POST['imgcode']))) : ''; // 获取提交的评论的日志ID $blogId = isset($_POST['gid']) ? intval($_POST['gid']) : -1; // 获取提交的评论的父评论ID $pid = isset($_POST['pid']) ? intval($_POST['pid']) : 0; // 注册用户且登录 if (ISLOGIN === true) { // 建立缓存对象 $CACHE = Cache::getInstance(); // 获取用户缓存信息数组 $user_cache = $CACHE->readCache('user'); // 通过缓存获取用户名,特殊字符添加反斜杠 $name = addslashes($user_cache[UID]['name_orig']); // 通过缓存获取用户邮箱,特殊字符添加反斜杠 $mail = addslashes($user_cache[UID]['mail']); // 将本站地址设为个人网站网站,特殊字符添加反斜杠 $url = addslashes(BLOG_URL); } // $url变量非空,且不管大小写$url的前四个字符不是http,则在$url前面添加http:// if ($url && strncasecmp($url,'http',4)) { $url = 'http://'.$url; } // 执行挂载在'comment_post'钩子上的函数 // 'comment_post':发表评论扩展点(写入评论前),可用于垃圾评论防范 doAction('comment_post'); // 建立评论模型 $Comment_Model = new Comment_Model(); // 把获取的评论者信息写入cookie $Comment_Model->setCommentCookie($name,$mail,$url); // 判断评论,输出错误信息 if($Comment_Model->isLogCanComment($blogId) === false) { emMsg('评论失败:该文章已关闭评论'); } elseif ($Comment_Model->isCommentExist($blogId, $name, $content) === true) { emMsg('评论失败:已存在相同内容评论'); } elseif (ROLE == ROLE_VISITOR && $Comment_Model->isCommentTooFast() === true) { emMsg('评论失败:您提交评论的速度太快了,请稍后再发表评论'); } elseif (empty($name)) { emMsg('评论失败:请填写姓名'); } elseif (strlen($name) > 20) { emMsg('评论失败:姓名不符合规范'); } elseif ($mail != '' && !checkMail($mail)) { emMsg('评论失败:邮件地址不符合规范'); } elseif (ISLOGIN == false && $Comment_Model->isNameAndMailValid($name, $mail) === false) { emMsg('评论失败:禁止使用管理员昵称或邮箱评论'); } elseif (!empty($url) && preg_match("/^(http|https)\:\/\/[^<>'\"]*$/", $url) == false) { emMsg('评论失败:主页地址不符合规范','javascript:history.back(-1);'); } elseif (empty($content)) { emMsg('评论失败:请填写评论内容'); } elseif (strlen($content) > 8000) { emMsg('评论失败:内容不符合规范'); } elseif (ROLE == ROLE_VISITOR && Option::get('comment_needchinese') == 'y' && !preg_match('/[\x{4e00}-\x{9fa5}]/iu', $content)) { emMsg('评论失败:评论内容需包含中文'); } elseif (ISLOGIN == false && Option::get('comment_code') == 'y' && session_start() && $imgcode != $_SESSION['code']) { emMsg('评论失败:验证码错误'); } else { // 评论信息输入正确 // 清空验证码信息 $_SESSION['code'] = null; // 添加评论 $Comment_Model->addComment($name, $content, $mail, $url, $imgcode, $blogId, $pid); }}
X
赞助一下:
    支付宝    微信    QQ红包

打开支付宝扫一扫
emlog MVC解构--控制器Controller之Comment_Controller
版权声明:若无特殊注明,本文皆为“懒人的小窝”原创,转载请保留文章出处。
本文链接:http://suppore.cn/153.html    百度已收录
正文到此结束

点击下方支持本站

点击支持下贵站吧
点击支持下贵站吧

热门推荐

发表吐槽

你肿么看?

你还可以输入 250 / 250 个字

微笑可爱憨笑鼓掌白眼发呆撇嘴色得意吐抠鼻可怜呲牙惊讶冷汗流泪大哭发怒抚摸傲慢惊恐鄙视疑问奸笑抓狂偷笑流汗擦汗晕委屈吓衰糗大了威武给力牛逼

评论信息框

火箭正在发射中...

已有1条吐槽

御坂23383号

2016-07-30 14:20 广东省河源市电信
好东西,必须收藏.
 Windows 7 x64   Google Chrome 50.0.2661.102