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