Advertisement
Guest User

Untitled

a guest
Aug 17th, 2017
77
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 10.70 KB | None | 0 0
  1. <?php
  2.  
  3.  
  4. class Posts extends CI_Controller{
  5.  
  6. public function __construct(){
  7. parent::__construct();
  8. $this->load->database();
  9. $this->load->library('upload');
  10.  
  11. }
  12.  
  13. public function index($offset = 0){
  14.  
  15. $config['base_url'] = base_url() . 'posts/index/';
  16. $config['total_rows'] = $this->db->count_all('posts');
  17. $config['per_page'] = 3;
  18. $config['uri_segment'] = 3;
  19. $config['attributes'] = array('class' => 'pagination-link');
  20.  
  21. $this->pagination->initialize($config);
  22.  
  23. $data['posts']= $this->Posts_model->get_posts(FALSE,$config['per_page'],$offset);
  24.  
  25. $this->load->view('templates/header');
  26. $this->load->view('posts/index',$data);
  27. $this->load->view('templates/footer');
  28. }
  29.  
  30.  
  31. public function view($mjestoOdredista=NULL){
  32.  
  33.  
  34. $data['posts'] = $this->Posts_model->get_posts($mjestoOdredista);
  35. $post_id = $data['posts']['id'];
  36. $data['comments'] = $this->comment_model->get_comments($post_id);
  37.  
  38.  
  39.  
  40.  
  41. if(empty($data['posts'])){
  42. show_404();
  43. }
  44. $data['id'] =$data['posts'];
  45.  
  46. $this->load->view('templates/header');
  47. $this->load->view('posts/view',$data);
  48. $this->load->view('templates/footer');
  49. }
  50.  
  51.  
  52. public function create(){
  53. //check if user is logged in
  54. if(!$this->session->userdata('logged_in')){
  55. redirect('users/login');
  56. }
  57.  
  58. $this->form_validation->set_rules('mjestoPolaska', 'Mjesto Polaska', 'required');
  59. $this->form_validation->set_rules('mjestoOdredista', 'Mjesto Odredista', 'required');
  60. $this->form_validation->set_rules('datumPolaska', 'Datum Polaska', 'required');
  61. $this->form_validation->set_rules('datumPovratka', 'Datum Odredista', 'required');
  62. $this->form_validation->set_rules('cijena', 'Cijena', 'required');
  63. $this->form_validation->set_rules('brojMjesta', 'Broj mjesta', 'required');
  64. // $this->form_validation->set_rules('opis', 'Opis', 'required');
  65. // $this->form_validation->set_rules('post_image', 'Image', 'required');
  66.  
  67. $data['title'] ='Create Posts';
  68. $data['categories'] = $this->Posts_model->get_categories();
  69.  
  70.  
  71.  
  72. if($this->form_validation->run()===FALSE){
  73.  
  74. $this->load->view('templates/header');
  75. $this->load->view('posts/create',$data);
  76. $this->load->view('templates/footer');
  77.  
  78. }else {
  79.  
  80. //upload image
  81. $config['upload_path'] = './assets/images/posts';
  82. $config['allowed_types'] = 'gif|jpg|png';
  83. $config['max_size'] = '2048';
  84. $config['max_width'] = '500';
  85. $config['max_height'] = '500';
  86.  
  87. $this->load->library('upload');
  88.  
  89.  
  90. if(!$this->upload->do_upload()){
  91. $error=array('error'=>$this->upload->display_errors());
  92. $post_image='noimage.jpg';
  93. }else{
  94. $data = array('upload_data'=>$this->upload->data());
  95. $post_image = $_FILES['userfile']['name'];
  96. }
  97. $this->Posts_model->create_post($post_image);
  98. $this->session->set_flashdata('post_creted', 'You post has been created') ;
  99. redirect('posts');
  100. }
  101.  
  102. }
  103.  
  104. public function delete($id){
  105.  
  106. if(!$this->session->userdata('logged_in')){
  107. redirect('users/login');
  108. }
  109.  
  110.  
  111. $this->Posts_model->delete_post($id);
  112. $this->session->set_flashdata('post_deleted', 'You post has been deleted ') ;
  113. redirect('posts');
  114. }
  115.  
  116.  
  117.  
  118. public function edit($slug){
  119. if(!$this->session->userdata('logged_in')){
  120. redirect('users/login');
  121. }
  122.  
  123. $data['mjestoOdredista']= $this->Posts_model->get_posts($slug);
  124.  
  125. //Check if user is logged in
  126. if($this->session->userdata('user_id') != $this->Posts_model->get_posts($slug)['user_id']){
  127. redirect('posts');
  128. }
  129.  
  130. $data['categories'] = $this->Posts_model->get_categories();
  131.  
  132. if(empty($data['slug'])){
  133. show_404();
  134. }
  135.  
  136. $data['id'] = 'Edit Post';
  137. $this->load->view('templates/header');
  138. $this->load->view('posts/edit',$data);
  139. $this->load->view('templates/footer');
  140. }
  141.  
  142.  
  143. public function update(){
  144. if(!$this->session->userdata('logged_in')){
  145. redirect('users/login');
  146. }
  147.  
  148. $this->Posts_model->update_post();
  149. $this->session->set_flashdata('post_updated', 'You post has been updated ') ;
  150. redirect('posts');
  151.  
  152. }
  153.  
  154. }
  155.  
  156. ?>
  157.  
  158. <?php
  159.  
  160.  
  161. class Posts_Model extends CI_Model{
  162.  
  163. public function __construct(){
  164. $this->load->database();
  165.  
  166. }
  167.  
  168. function get_posts($mjestoOdredista=FALSE, $limit = FALSE,$offset = FALSE){
  169. if($limit){
  170. $this->db->limit($limit,$offset);
  171. }
  172. if($mjestoOdredista === FALSE){
  173.  
  174. $this->db->order_by('posts.id','DESC');
  175. $this->db->join('categories','categories.id = posts.category_id');
  176. $query=$this->db->get('posts');
  177. return $query->result_array();
  178. }
  179.  
  180. $query=$this->db->get_where('posts', array('mjestoOdredista' => $mjestoOdredista));
  181. return $query->row_array();
  182. }
  183.  
  184. //Kreiranje post
  185. public function create_post($post_image){
  186. $mjestoPolaska = url_title($this->input->post('title'));
  187. $data=array(
  188. 'mjestoPolaska' => $mjestoPolaska,
  189. 'mjestoOdredista' => $this->input ->post('mjestoOdredista'),
  190. 'datumPolaska' => $this->input ->post('datumPolaska'),
  191. 'datumPovratka' => $this->input ->post('datumPovratka'),
  192. 'brojMjesta' => $this->input ->post('brojMjesta'),
  193. 'cijena' => $this->input ->post('cijena'),
  194. 'opis' => $this->input ->post('opis'),
  195. 'category_id'=>$this->input->post('category_id'),
  196. 'user_id' =>$this->session->userdata('user_id'),
  197. 'post_image'=>$post_image
  198.  
  199. );
  200.  
  201. return $this->db->insert('posts',$data);
  202. }
  203.  
  204. //Brisanje posta
  205. public function delete_post($id){
  206. $this->db->where('id',$id);
  207. $this->db->delete('posts');
  208. return true;
  209. }
  210.  
  211.  
  212. //editovanje posta
  213. public function update_post(){
  214. $slug = url_title($this->input->posts('title'));
  215. $data=array(
  216. 'slug' => $slug,
  217. 'id'=> $this->input->posts('id'),
  218. 'category_id'=> $this->input->post('category_id'),
  219. 'user_id' => $this->session->userdata('user_id'),
  220. 'mjestoPolaska' => $this->input->posts('mjestoPolaska'),
  221. 'mjestoOdredista' => $this->input ->post('mjestoOdredista'),
  222. 'datumPolaska' => $this->input ->post('datumPolaska'),
  223. 'datumPovratka' => $this->input ->post('datumPovratka'),
  224. 'cijena' => $this->input ->post('cijena'),
  225. 'brojMjesta' => $this->input ->post('brojMjesta'),
  226. 'opis' => $this->input ->post('opis'),
  227. 'post_image'=> $post_image
  228. );
  229. $this->db->where('id', $this->input->posts('id'));
  230. return $this->db->update('posts', $data);
  231.  
  232. }
  233.  
  234. public function get_categories(){
  235. $this->db->order_by('name');
  236. $query = $this->db->get('categories');
  237. return $query->result_array();
  238. }
  239.  
  240. public function get_posts_by_category($category_id){
  241.  
  242. $this->db->order_by('posts.id','DESC');
  243.  
  244. $this->db->join('categories','categories.id = posts.category_id');
  245. $query=$this->db->get_where('posts',array('category_id'=> $category_id));
  246. return $query->result_array();
  247.  
  248. }
  249.  
  250. }
  251.  
  252.  
  253.  
  254. ?>
  255.  
  256. <h2><?= $title;?></h2>
  257. <link rel="stylesheet" href="//code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css">
  258. <link rel="stylesheet" href="/resources/demos/style.css">
  259. <script src="https://code.jquery.com/jquery-1.12.4.js"></script>
  260. <script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script>
  261.  
  262. <script>
  263. $( function() {
  264. $( "#datepicker" ).datepicker();
  265. $( "#datepicker1" ).datepicker();
  266. } );
  267. </script>
  268.  
  269.  
  270. <?php echo form_open_multipart('/posts/edit');?>
  271. <?php echo validation_errors();?>
  272.  
  273. <div class="row">
  274. <div class="col-md-4 col-md-offset-4">
  275.  
  276. <div class="form-group">
  277. <label>Mjesto Polaska</label>
  278. <input type="text" class="form-control" name="mjestoPolaska" placeholder="Mjesto Polaska">
  279. </div>
  280.  
  281.  
  282. <div class="form-group">
  283. <label>Mjesto Odredista</label>
  284. <input type="text" class="form-control" name="mjestoOdredista" placeholder="Mjesto Odredista">
  285. </div>
  286.  
  287. <div class="form-group">
  288. <label>Datum Polaska</label>
  289. <input type="text" id="datepicker" class="form-control" name="datumPolaska" placeholder ="Datum Polaska" >
  290. </div>
  291.  
  292. <div class="form-group">
  293. <label>Datum Povratka</label>
  294. <input type="text" id="datepicker1" class="form-control" name="datumPovratka" placeholder="Datum Povratka">
  295. </div>
  296.  
  297.  
  298.  
  299. <div class="form-group">
  300. <label>Cijena</label>
  301. <input type="text" class="form-control" name="cijena" placeholder="Cijena">
  302. </div>
  303.  
  304. <div class="form-group">
  305. <label for="select">Broj slobodnih mjesta</label>
  306. <select class="form-control" id="select", name="brojMjesta">
  307. <option>1</option>
  308. <option>2</option>
  309. <option>3</option>
  310. <option>4</option>
  311. </select>
  312. </div>
  313.  
  314.  
  315. <div class="form-group">
  316. <label for="Kategorije">Kategorija</label>
  317. <div>
  318. <select name="category_id" class="form_control">
  319. <?php foreach($categories as $category):?>
  320. <option value="<?php echo $category['id'];?>"><?php echo $category['name'];?></option>
  321. <?php endforeach;?>
  322. </select>
  323. </div>
  324. </div>
  325.  
  326. <div class="form-group">
  327. <label>Postavi sliku:</label>
  328. <p><b>samo oni koji nude prevoz nek postave sliku svojeg vozila</b></p>
  329. <input type="file" name="userfile" size="20">
  330. </div>
  331.  
  332. <div class="form-group">
  333. <label>Opis:</label>
  334. <textarea class="form-control" rows="5" id="comment" name="opis"></textarea>
  335. </div>
  336. <button type="submit" class="btn btn-primary btn-block">Submit</button>
  337.  
  338. </div>
  339. </div>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement