/** * Approve a comment */ function approveComment() { Doo::loadModel('Comment'); $c = new Comment(); $c->id = intval($this->params['cid']); $comment = $c->find(array('limit' => 1, 'select' => 'id, post_id')); //if not exists, show error if ($comment == Null) { return 404; } //change status to Approved $comment->status = 1; $comment->update(array('field' => 'status')); Doo::loadModel('Post'); Doo::autoload('DooDbExpression'); //Update totalcomment field in Post $p = new Post(); $p->id = $comment->post_id; $p->totalcomment = new DooDbExpression('totalcomment+1'); $p->update(array('field' => 'totalcomment')); $data['rootUrl'] = Doo::conf()->APP_URL; $data['title'] = 'Comment Approved!'; $data['content'] = "<p>Comment is approved successfully!</p>"; $data['content'] .= "<p>View the comment <a href=\"{$data['rootUrl']}article/{$p->id}#comment{$comment->id}\">here</a></p>"; $this->render('admin_msg', $data); }
/** * short hand of Doo::autoload() * @param string $class_name */ public function autoload($class_name) { Doo::autoload($class_name); }
function newComment() { foreach ($_POST as $k => $v) { $_POST[$k] = trim($v); } if ($_POST['url'] == 'http://' || empty($_POST['url'])) { unset($_POST['url']); } //strip html tags in comment if (!empty($_POST['content'])) { $_POST['content'] = strip_tags($_POST['content']); } Doo::loadModel('Comment'); $c = new Comment($_POST); $this->prepareSidebar(); // 'skip' is same as DooValidator::CHECK_SKIP if ($error = $c->validate('skip')) { $this->data['rootUrl'] = Doo::conf()->APP_URL; $this->data['title'] = 'Oops! Error Occured!'; $this->data['content'] = '<p style="color:#ff0000;">' . $error . '</p>'; $this->data['content'] .= '<p>Go <a href="javascript:history.back();">back</a> to post.</p>'; $this->render('error', $this->data); } else { Doo::autoload('DooDbExpression'); $c->createtime = new DooDbExpression('NOW()'); $c->insert(); $this->data['rootUrl'] = Doo::conf()->APP_URL; $this->render('comment', $this->data); } }