<?php

defined('BASEPATH') OR exit('No direct script access allowed');

class News extends CI_Controller 
{
	 function __construct() 
	 {
        parent::__construct();
        $this->load->database();
        $this->load->model('User_Model');
        $this->load->model('Common');
         $x = $this->session->userdata('logged');
         if ($x['email'] == '') 
         {
                return redirect('Welcome/index', 'refresh');
          }
    }

    public function index()
    {
        $page =(isset($_GET['page'])) ? $_GET['page'] : 0;
        $query=$this->db->select('news.*')->from('news')->order_by('id','desc')->limit(20,($page))->get();
        $num_rows=$this->db->order_by('id', 'desc')->get('news')->num_rows();
        $data['news']=$query->result_array();
        $data['links']=$this->pagi->pagination1('admin/news',$num_rows,20);
        $this->load->view('news/index',$data);
    }

    public function add()
    {
        if ($this->input->server('REQUEST_METHOD') == 'POST') 
        {
         $this->load->helper(array('form'));
         $this->load->library('form_validation');
           $this->form_validation->set_rules('title', 'title', 'required'); 
         $this->form_validation->set_rules('short_desc', 'short_desc', 'required');
         $this->form_validation->set_rules('long_desc', 'long_desc', 'required');
        
        
            if ($this->form_validation->run() == FALSE) 
             { 
                 $this->load->view('news/add');
             } 
             else 
             { 
                $journalName = str_replace(' ', '_', $_FILES['image']['name']);
                $config['file_name'] = time() . $journalName;
                $config['upload_path'] = './uploads/news/';
                $config['allowed_types'] = 'gif|jpg|png|JPG|JPEG|jpeg';
                $this->upload->initialize($config);
                $this->upload->do_upload('image');
                $_POST['image'] = $config['file_name'];
                if($this->db->insert('news',$_POST))
                {
                    $this->session->set_flashdata('msg', 'news Successfully Added');
                    return redirect(base_url('admin/news'),'refresh');
                }
                else
                {
                    $this->session->set_flashdata('err', 'Please try Again After SomeTimes');
                    return redirect(base_url('admin/news/add'),'refresh');
                }
             } 
        }
        else
        {
            $this->load->view('news/add');
        }
    }

    public function edit($id='')
    {
        if ($this->input->server('REQUEST_METHOD') == 'POST') 
        {
        $this->load->helper(array('form'));
         $this->load->library('form_validation');
         $this->form_validation->set_rules('title', 'title', 'required'); 
         $this->form_validation->set_rules('short_desc', 'short_desc', 'required');
         $this->form_validation->set_rules('long_desc', 'long_desc', 'required');
        
         
  
            if ($this->form_validation->run() == FALSE) 
             { 
                 $data['news']=$this->db->where('id',$id)->get('news')->row_array();
                 $this->load->view('news/edit',$data);
             } 
             else 
             { 
                if($_FILES['image']['name']!='')
                {
                     $journalName = str_replace(' ', '_', $_FILES['image']['name']);
                $config['file_name'] = time() . $journalName;
                $config['upload_path'] = './uploads/news/';
                $config['allowed_types'] = 'gif|jpg|png|JPG|JPEG|jpeg';
                $this->upload->initialize($config);
                $this->upload->do_upload('image');
                $_POST['image'] = $config['file_name'];
                }
                if($this->db->where('id',$id)->update('news',$_POST))
                {
                    $this->session->set_flashdata('msg', 'news Successfully Added');
                    return redirect(base_url('admin/news'),'refresh');
                }
                else
                {
                    $this->session->set_flashdata('err', 'Please try Again After SomeTimes');
                    return redirect(base_url('admin/news/edit/'.$id),'refresh');
                }
             }
        }
        else
        {
            $data['news']=$this->db->where('id',$id)->get('news')->row_array();
            $this->load->view('news/edit',$data);
        }
    }

    public function view($id='')
    {
         $data['news']=$this->db->where('id',$id)->get('news')->row_array();
         $this->load->view('news/view',$data);
    }

    public function delete($id='')
    {
        if($this->db->where('id',$id)->delete('news'))
        {
            $this->session->set_flashdata('msg', 'Success Deleted news');
        }
        else
        {
            $this->session->set_flashdata('err', 'Please try After Sometimes...');
        }
        return redirect(base_url('admin/news'),'refresh');
    }

}
