Advertisement
martinms

Admin_evaluasi.php

May 19th, 2024
471
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 3.65 KB | None | 0 0
  1. <?php
  2.  
  3. require_once __DIR__ . '/../helpers/Helper.php';
  4.  
  5. class Admin_evaluasi extends Controller
  6. {
  7.  
  8.     private $api;
  9.     private $_renja;
  10.     private $_opd;
  11.     private $_rkpd;
  12.  
  13.     public function __construct()
  14.     {
  15.         $this->_renja = $this->model('Renja_model');
  16.         $this->_opd = $this->model('Opd_model');
  17.         $this->_rkpd = $this->model('Rkpd_model');
  18.  
  19.         $this->api = new ApiReference;
  20.         $this->access('admin');
  21.     }
  22.  
  23.     public function renja($case = null, ...$params)
  24.     {
  25.         switch ($case) {
  26.             case "data":
  27.                 $response = $this->_renja->faktorList($params[0], $params[1]);
  28.                 echo $response;
  29.                 break;
  30.             default:
  31.                 $data['title'] = "Evaluasi renja";
  32.                 $this->view('admin/evaluasi/renja', $data);
  33.                 break;
  34.         }
  35.     }
  36.  
  37.     public function renja_download($tahun, $idOpd)
  38.     {
  39.         $opd = json_decode($this->_opd->getSingle($idOpd), true);
  40.  
  41.         $response = $this->api->GET("renja/faktor/list/$tahun/$idOpd/excel");
  42.  
  43.         header("Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet; charset=utf-8");
  44.         header("Content-Disposition: attachment; filename=Laporan {$opd['data']['namaOpd']} Tahun {$tahun}.xlsx");  //File name extension was wrong
  45.         header("Expires: 0");
  46.         header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
  47.         header("Cache-Control: private", false);
  48.  
  49.         echo $response;
  50.     }
  51.  
  52.     public function rkpd($case = null, ...$params)
  53.     {
  54.         switch ($case) {
  55.             case 'data':
  56.                 $response = $this->_rkpd->dataEvaluasi($params[0]);
  57.  
  58.                 // set content type to json
  59.                 header('Content-Type: application/json');
  60.                 echo $response;
  61.                 break;
  62.             case 'download':
  63.                 $opdId = isset($params[0]) ? $params[0] : null;
  64.  
  65.                 if ($opdId == null) {
  66.                     $this->rkpd();
  67.                 }
  68.  
  69.                 $opd = json_decode($this->_opd->getSingle($opdId), true);
  70.                 $response = $this->api->GET('rkpd/evaluasi/' . $opdId . '/excel');
  71.  
  72.                 header("Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet; charset=utf-8");
  73.                 header("Content-Disposition: attachment; filename=Laporan RKPD {$opd['data']['namaOpd']}.xlsx");  //File name extension was wrong
  74.                 header("Expires: 0");
  75.                 header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
  76.                 header("Cache-Control: private", false);
  77.  
  78.                 echo $response;
  79.                 break;
  80.             case 'evaluasi':
  81.                 $opdId = isset($params[0]) ? $params[0] : null;
  82.  
  83.                 if ($opdId == null) {
  84.                     $this->rkpd();
  85.                 }
  86.  
  87.                 $data['semuaOpd'] = json_decode($this->_opd->getAllOpd(), true)['data'];
  88.                 $data['opdId'] = $opdId;
  89.                 $data['opd'] = json_decode($this->_opd->getSingle($opdId), true)['data'];
  90.                 $data['title'] = "Evaluasi RKPD - " . $data['opd']['namaOpd'];
  91.                 $data['data'] = json_decode($this->_rkpd->dataEvaluasi($opdId), true)['data'];
  92.  
  93.                 $this->view('admin/evaluasi/evaluasi-rkpd', $data);
  94.                 break;
  95.             default:
  96.                 $data['title'] = "Evaluasi RKPD";
  97.                 $data['semuaOpd'] = json_decode($this->_opd->getAllOpd(), true)['data'];
  98.  
  99.                 $this->view('admin/evaluasi/rkpd', $data);
  100.                 break;
  101.         }
  102.     }
  103. }
  104.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement