Example #1
0
 protected function _saveComment($resource, $itemID)
 {
     // Is user logged in?
     if (!users_helper::isLoggedin()) {
         return false;
     }
     // Create rules
     $rules = array('comment' => array('label' => __('comment_body', 'comments'), 'rules' => array('trim', 'required', 'min_length' => config::item('min_length', 'comments'), 'max_length' => config::item('max_length', 'comments'), 'callback__is_comments_delay')));
     // Assign rules
     validate::setRules($rules);
     // Validate fields
     if (!validate::run()) {
         return false;
     }
     // Get comment
     $comment = array('comment' => input::post('comment'));
     // Get table and column names
     $table = config::item('resources', 'core', $resource, 'table');
     $column = config::item('resources', 'core', $resource, 'column');
     $user = config::item('resources', 'core', $resource, 'user');
     // Get resource item
     $item = $this->db->query("SELECT `" . $column . "` " . ($user ? ', `' . $user . '` AS `user_id`' : '') . "\n\t\t\tFROM `:prefix:" . $table . "`\n\t\t\tWHERE `" . $column . "`=? LIMIT 1", array($itemID))->row();
     // Does resource exist?
     if (!$item) {
         return false;
     }
     // Save comment
     if (!$this->comments_model->saveComment(0, $comment, $resource, isset($item['user_id']) ? $item['user_id'] : 0, $itemID)) {
         if (!validate::getTotalErrors()) {
             view::setError(__('save_error', 'system'));
         }
         return false;
     }
     // Reset post values
     $_POST['comment'] = '';
     validate::resetRules();
     return true;
 }