. * * @filesource avion.php * @package controllers * Controleur de gestion des avions. */ // set_include_path(getcwd() . "/..:" . get_include_path()); // include_once ('application/libraries/Gvv_Controller.php'); include_once (APPPATH . '/libraries/Gvv_Controller.php'); // include_once (APPPATH . '/libraries/My_Controller.php'); class Avion extends Gvv_Controller { // Tout le travail est fait par le parent protected $controller = 'avion'; protected $model = 'avions_model'; protected $modification_level = 'ca'; protected $rules = array ( 'macimmat' => "strtoupper" ); protected $filter_variables = array ( 'filter_active', 'filter_machine_actif', 'filter_proprio' ); /** * Constructeur */ function __construct() { parent::__construct(); $this->load->model('tarifs_model'); } /** * (non-PHPdoc) * * @see Gvv_Controller::form_static_element() */ function form_static_element($action) { parent::form_static_element($action); $this->gvvmetadata->set_selector('produit_selector', $this->tarifs_model->selector(array (), "asc", 'nom')); } /** * Affiche une page d'éléments * * @param $premier élément * à afficher * @param * message message à afficher */ function page($premier = 0, $message = '', $selection = Array()) { $this->data ['action'] = VISUALISATION; $this->load_filter($this->filter_variables); $selection = $this->selection(); parent::page($premier, $message, $selection); $this->form_static_element(MODIFICATION); } /** * Active ou désactive le filtrage */ public function filterValidation() { $this->active_filter($this->filter_variables); // Il faut rediriger et non pas appeller $this->page, sinon l'URL // enregistrée pour le retour est incorrecte redirect($this->controller . '/page'); } /** * Retourne la selection format ActiveData utilisable par les requêtes * SQL pour filtrer les données en fonction des choix faits par l'utilisateur * dans la section de filtrage. */ function selection() { $this->data ['filter_active'] = $this->session->userdata('filter_active'); $selection = ""; if ($this->session->userdata('filter_active')) { $filter_machine_active = $this->session->userdata('filter_machine_actif'); if ($filter_machine_active) { $filter_machine_active --; $selection .= "(actif = \"$filter_machine_active\" )"; } $filter_categorie = $this->session->userdata('filter_proprio'); if ($filter_categorie) { $categorie = $filter_categorie - 1; if ($selection) { $selection .= " and "; } $selection .= "(maprive = \"$categorie\" )"; } } if ($selection == "") $selection = array (); return $selection; } /** * (non-PHPdoc) * * @see My_Controller::create() */ function create() { if (! $this->dx_auth->is_role('ca')) { $this->dx_auth->deny_access(); } parent::create(); } }