File "magazine.php"

Full Path: /home/ichhrkpd/public_html/idcm/application/controllers/magazine.php
File size: 4.63 KB
MIME-type: text/x-php
Charset: utf-8

<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');

class Magazine extends CI_Controller {
    /**
     * Index page for Magazine controller.
     */
    
/*     public function index() {
        $this->load->model('Publication');
        $this->Publication = new Publication();
        $this->Publication->publication_name = 'Sandy Shore';

        $this->Publication->save();
        echo '<tt><pre>' . var_export($this->Publication, TRUE) . '</pre></tt>';
        
        $this->load->model('Issue');
        $issue = new Issue();
        $issue->publication_id = $this->Publication->publication_id;
        $issue->issue_number = 2;
        $issue->issue_date_publication = date('2013-02-01');
        $issue->save();
        echo '<tt><pre>' . var_export($issue, TRUE) . '</pre></tt>';

        $this->load->view('magazines');
    } */
    
    public function index() {
    	$this->load->view('bootstrap/header');
    	$this->load->library('table');
    	$magazines = array();
    	$this->load->model(array('Issue', 'Publication'));
    	$issues = $this->Issue->get();
    	//print_r($issues);
    	foreach ($issues as $issue) {
    		$publication = new Publication();
    		$publication->load($issue->publication_id);
    		$magazines[] = array(
    				$publication->publication_name,
    				$issue->issue_number,
    				$issue->issue_date_publication,
    		);
    	}
    	//print_r($magazines);
/*         $data = array();
        
        $this->load->model('Publication');
        $publication = new Publication();
        $publication->load(1);
        $data['publication'] = $publication;
        
        $this->load->model('Issue');
        $issue = new Issue();
        $issue->load(9);
        $data['issue'] = $issue; */
        
       // print_r($data);
        
        $this->load->view('magazines', array(
        		'magazines' => $magazines,
        ));
        $this->load->view('bootstrap/footer');

    }
    
    /**
     * Add a Magazine.
     */
    public function add() {
    	$this->load->view('bootstrap/header');
       // Populate  
        $this->load->model('Publication');
        $this->Publication = new Publication();
        $publications = $this->Publication->get();
        //Array ( [1] => Publication Object ( [publication_id] => 1 [publication_name] => Sandy Shore ) [2] => Publication Object ( [publication_id] => 2 [publication_name] => mondu donky )
        $publication_form_options = array();
        foreach ($publications as $id => $publications) {
        	//echo $id . "  " . $publications->publication_name;
            $publication_form_options[$id] = $publications->publication_name;
        }
       // print_r( $publication_form_options);
        
        $this->load->library('form_validation');
        $this->form_validation->set_rules(array(
        array(
        	'field' => 'publication_id',
        	'label' => 'Publication',
        	'rules' => 'required',
        ),
        array(
        	'field' => 'issue_number',
        	'label' => 'Issue number',
        	'rules' => 'required|is_numeric',	
        ),
        array(
        	'field' => 'issue_date_publication',
        	'label' => 'Publication_date',
        	'rules' => 'required|callback_date_validation',
        ),
        		));
        
      $this->form_validation->set_error_delimiters('<div class="alert alert-error">', '</div>');  
      
      if (!$this->form_validation->run()) {
      	$this->load->view('magazine_form', array(
      			'publication_form_options' => $publication_form_options,
      	));
      } else {
      	    $this->load->model('Issue');
            $issue = new Issue();
            $issue->publication_id = $this->input->post('publication_id');
            $issue->issue_number = $this->input->post('issue_number');
            $issue->issue_date_publication = $this->input->post('issue_date_publication');
            $issue->save();
            $this->load->view('magazine_form_success', array(
                'issue' => $issue,
            ));
      }
      
      $this->load->view('bootstrap/footer');

    }
    
    /**
     * Date validation callback.
     * @param string $input
     * @return boolean
     */
    public function date_validation($input) {
        $test_date = explode('-', $input);
        if (!@checkdate($test_date[1], $test_date[2], $test_date[0])) {
            $this->form_validation->set_message('date_validation', 'The %s field must be in YYYY-MM-DD format.');
            return FALSE;
        }
        return TRUE;
    }
    
}