Часто оказывается необходимым отключить ту или иную функцию сайта. Поговорим о комментариях. Чтобы отключить возможность добавления комментариев, нам необходимо закомментировать одну строку в коде движка. Необходимый код расположен в файле “application/controllers/News.php" (контроллер “News", его метод “show").

if($access) {
// Adding comment
$time = time();
$fields = array();
$fields['news_id'] = $news_id;
$fields['user_id'] = $_SESSION['user']['id'];
$fields['comm_text'] = $this->text->to_db($this->input->post('comm_text'));
$fields['add_date'] = $time;

// Для отключения комментируем следующую строку
$res = $this->comments_model->insert_entry($fields);

if($res) {
$data['errors'][] = "Комментарий добавлен.";
// Cleaning cache
$this->db->cache_delete('comments', 'user');
$this->db->cache_delete('default', 'index');
$this->db->cache_delete('news', 'article');
$this->db->cache_delete('news', 'category');
$this->db->cache_delete('news', 'page');
$this->db->cache_delete('news', 'search');
$this->db->cache_delete('news', 'show');
$this->db->cache_delete('news', 'user');
} else
$data['errors'][] = "Комментарий не добавлен.";
}



Необходимо закомментировать следующую строку:


//$res = $this->comments_model->insert_entry($fields);



Т.о. мы запретили добавление новых комментариев.
Теперь можно запретить редактирование и удаление комментариев. Для этого найдем файл класса-контроллера “application/controllers/Comments.php" и немного изменим его методы edit и delete_comment, вставив в начало каждого из них строчку “return false;"


public function edit($id) {
return false;
$id = intval($id);
$data = array();
// …
}

public function delete_comment($id=false, $ajax=false) {
return false;
if(!$id)
return false;
$id = intval($id);
$data = array();
}



Далее убираем html-код формы добавления комментариев со страницы новости.


$this->load->view("output", $data);
/*if(isset($_SESSION['user']))
$this->load->view("add_comment", $data);*/
$this->load->view("footer", $data);

Просмотров: 53
Комментариев: 0
Рейтинг: 
Добавлено: 26.09.2017, в 12:24:12
Отредактировано: 26.09.2017, в 12:29:36
Добавил: admin
Поиск