Advertisement
Guest User

Beste viewloader ever

a guest
Sep 9th, 2015
190
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 2.80 KB | None | 0 0
  1. <?php
  2.  
  3. class MY_Controller extends CI_Controller{
  4.     function __construct(){
  5.         parent::__construct();
  6.     /**
  7.     *Only use the library below if Less CSS is active
  8.     **/
  9.         $this->load->library("lessc");
  10.     }
  11.  
  12.     /**
  13.      * @param string $header
  14.      * @param string $content
  15.      * @param string $footer
  16.      */
  17.     function viewLoader($header = "", $content = "", $footer = ""){
  18.         $var = $this->generateUrl();
  19.  
  20.         switch($this->uri->segment(1)){
  21.             case "admin" :
  22.                 $this->load->view("template/admin/header.php", $header);
  23.                 $this->load->view($var['struct'].".php", $content);
  24.                 $this->load->view("template/admin/footer.php", $footer);
  25.                 break;
  26.             default:
  27.                 if(strlen($var['struct']) < 3){
  28.                     $var['struct'] = "home";
  29.                 }
  30.                 $this->load->view("template/quiz/header.php", $header);
  31.                 $this->load->view($var['struct'].".php", $content);
  32.                 $this->load->view("template/quiz/footer.php", $footer);
  33.                 break;
  34.         }
  35.     }
  36.  
  37.     /**
  38.      * @return array
  39.      */
  40.     function generateUrl(){
  41.         $this->load->helper("url");
  42.         $url = explode("/", $this->uri->uri_string());
  43.         $values = array();
  44.  
  45.         $values['data'] = $this->DoQuery($url[(count($url) - 3)], $url[(count($url) - 2)], $url[(count($url) - 1)]);
  46.  
  47.         $count2 = 0;
  48.         $values['struct'] = "";
  49.         while($count2 <= ((count($url) - $values['data']['minus']))){
  50.             $values['struct'] .= "/".$url[$count2];
  51.             $count2++;
  52.         }
  53.         return $values;
  54.     }
  55.  
  56.     /**
  57.      * @param $db
  58.      * @param $id
  59.      * @return mixed
  60.      */
  61.     function DoQuery($db, $function, $id = false){
  62.         $this->load->model("general_model");
  63.         $data = array();
  64.         $data['minus'] = 2;
  65.  
  66.         switch($function){
  67.             case "delete":
  68.                 if(!empty($this->input->post())){
  69.                     $this->general_model->deleteRow($db, 'id', $id);
  70.                 }
  71.                 return $data;
  72.                 break;
  73.             case "add":
  74.                 if(!empty($this->input->post())){
  75.                     $this->general_model->insertRow($db);
  76.                 }
  77.                 return $data;
  78.                 break;
  79.             case "edit":
  80.                 if(!empty($this->input->post())){
  81.                     $this->general_model->updateRow($db, 'id', $id);
  82.                 }else{
  83.                     $data['data'] = $this->general_model->getData($db, 'id', $id);
  84.                 }
  85.  
  86.                 return $data;
  87.                 break;
  88.             default:
  89.                 $data['minus'] = 1;
  90.                 return $data;
  91.             break;
  92.         }
  93.     }
  94. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement