добавление комментариев к фильмам, курс CodeIgniter (Урок 8.2). Итоговый исходный код к проекту Кино
Всем привет! Можете подсказать как реализовать добавление комментариев в курсе CodeIgniter (урок 8.2). Никак не получается реализовать. Где можно скачать ИТОГОВЫЙ исходный код к проекту Киномонстр, подскажите пожалуйста.
Я только смог написать добавление комментариев при введений id к фильму (не знаю где автоматически взять эту переменную, чтобы не вводить), а также при добавлений комментария не могу перенапривать страницу обратно к сайту с описанием фильма.
movies/view/:
<?php endforeach ?>
<form action="/movies/create" method = "post">
<div class="form-group">
<input type="text" class="form-control input-lg" placeholder="id Фильма" name="movie_id">
</div>
<div class="form-group">
<textarea class="form-control" name="comment_text"></textarea>
</div>
<button type="submit" class="btn btn-lg btn-warning pull-right">Отправить</button>
</form>
movies/create:
<form action="/movies/create" method = "post">
<div class="form-group">
<input type="text" class="form-control input-lg" placeholder="id Фильма" name="movie_id">
</div>
<div class="form-group">
<textarea class="form-control" name="comment_text"></textarea>
</div>
<button type="submit" class="btn btn-lg btn-warning pull-right">Отправить</button>
</form>
model/comments_model.php:
<?php
class Comments_model extends CI_Model {
public function __construct() {
$this->load->database();
}
public function getComments($movie_id, $limit) {
$query = $this->db
->where('movie_id', $movie_id)
->limit($limit)
->get('comments');
return $query->result_array();
}
public function setComments($user_id, $movie_id, $comment_text) {
$data = array(
'user_id' => $user_id,
'movie_id' => $movie_id,
'comment_text' => $comment_text
);
return $this->db->insert('comments', $data);
}
}
controller/movies:
<?php
defined('BASEPATH') OR exit('No direc script access allowed');
class Movies extends My_Controller {
public function __constract() {
parrent::__constract();
}
public function type($slug = NULL) {
$this->load->library('pagination');
$this->data['movie_data'] = null;
$sorting = 'add_date';
$offset = (int) $this->uri->segment(4);
$row_count = 2;
$count = 0;
if ($slug == "films") {
$count = count($this->films_model->getFilms(0, 1));
$p_config['base_url'] = '/movies/type/films/';
$this->data['title'] = "Фильмы";
$this->data['movie_data'] = $this->films_model->getMoviesOnPage($sorting, $row_count, $offset, 1);
}
if ($slug == "serials") {
$count = count($this->films_model->getFilms(0,2));
$p_config['base_url'] = '/movies/type/serials/';
$this->data['title'] = "Сериалы";
$this->data['movie_data'] = $this->films_model->getMoviesOnPage($sorting, $row_count, $offset, 2);
}
if ($this->data['movie_data'] == null) {
show_404();
}
//Pagination config
$p_config['total_rows'] = $count;
$p_config['per_page'] = $row_count;
$p_config['full_tag_open'] = "<ul class='pagination'>";
$p_config['full_tag_close'] ="</ul>";
$p_config['num_tag_open'] = '<li>';
$p_config['num_tag_close'] = '</li>';
$p_config['cur_tag_open'] = "<li class='disabled'><li class='active'><a href='#'>";
$p_config['cur_tag_close'] = "<span class='sr-only'></span></a></li>";
$p_config['next_tag_open'] = "<li>";
$p_config['next_tagl_close'] = "</li>";
$p_config['prev_tag_open'] = "<li>";
$p_config['prev_tagl_close'] = "</li>";
$p_config['first_tag_open'] = "<li>";
$p_config['first_tagl_close'] = "</li>";
$p_config['last_tag_open'] = "<li>";
$p_config['last_tagl_close'] = "</li>";
//init pagination
$this->pagination->initialize($p_config);
$this->data['pagination'] = $this->pagination->create_links();
$this->load->view('templates/header', $this->data);
$this->load->view('movies/type', $this->data);
$this->load->view('templates/footer');
}
public function view($slug = NULL) {
$movie_slug = $this->films_model->getFilms($slug, false, false);
if (empty($movie_slug)) {
show_404();
}
$this->load->model('comments_model');
$this->data['comments'] = $this->comments_model->getComments($movie_slug['id'], 100);
$this->data['title'] = $movie_slug['name'];
$this->data['year'] = $movie_slug['year'];
$this->data['rating'] = $movie_slug['rating'];
$this->data['descriptions_movie'] = $movie_slug['descriptions'];
$this->data['producer'] = $movie_slug['producer'];
$this->data['player_code'] = $movie_slug['player_code'];
$this->load->view('templates/header', $this->data);
$this->load->view('movies/view', $this->data);
$this->load->view('templates/footer');
}
public function create() {
// if (!$this->dx_auth->is_admin()) {
// show_404();
// // $this->load->helper('url_helper'); РЕДИКРЕКТ(перенос) на главную страницу
// // redirect('/', 'location'); РЕДИКРЕКТ(перенос) на главную страницу
// }
$this->load->model('comments_model');
$this->load->helper('URL');
if($this->input->post('comment_text')) {
$user_id = 7;
$movie_id = $this->input->post('movie_id');
$comment_text = $this->input->post('comment_text');
if($this->comments_model->setComments($user_id, $movie_id, $comment_text)) {
redirect('/', 'location');
// $this->load->view('templates/header', $this->data);
// $this->load->view('movies/view', $this->data);
// $this->load->view('templates/footer');
// }
// } else {
// $this->load->view('templates/header', $this->data);
// $this->load->view('movies/create', $this->data);
// $this->load->view('templates/footer');
}
}