Exemple #1
0
 /**
  * Logout dan redirect ke login form
  */
 public function get_logout()
 {
     // Trigger:
     // Sebelum logout, mengkosongkan kembali isi folder 'pdf' dan 'files' dari file-file
     // lembar disposisi yang digenerate dan CSV yang diimport.
     Printpdf::empty_pdf_folder();
     Suratkeluar::empty_csv_folder();
     Auth::logout();
     return Redirect::to_route('login')->with('title', 'Agenda Surat :: Login');
 }
Exemple #2
0
 /** print lembar disposisi */
 public function get_disposisi($id)
 {
     // re-use model view_surat
     $view_surat = Suratmasuk::view_surat($id);
     if ($view_surat) {
         // generate pdf, return string file name, simpan di variabel
         $generate_pdf = Printpdf::generate_lembar_disposisi($view_surat);
         // open generated pdf file
         $path_to_pdf = 'pdf/' . $generate_pdf;
         $url_to_pdf = URL::to_asset($path_to_pdf);
         return Redirect::to($url_to_pdf);
     } else {
         // return error 404 apabila mengakses ID surat yg tidak ada di database
         return View::make('error.404');
     }
 }
Exemple #3
0
 /**
  * -HELPER-
  * Oleh karena setiap lembar disposisi digenerate dengan nama file berbeda,
  * akibatnya akan tergenerate banyak file pdf.
  * Agar tidak membanjiri isi folder, fungsi ini dipakai untuk mengkosongkan
  * kembali isi folder 'pdf' :)
  *
  * Apabila aplikasi digunakan oleh banyak user secara bersamaan, apakah
  * user X dapat menghapus lembar disposisi yang digenerate user Y?
  * Ya dapat, karena lembar disposisi yang digenerate disimpan secara lokal
  * dengan tujuan kompatibilitas antar browser. Oleh karena itu, menyimpan
  * PDF lembar disposisi pada lokal disk bukanlah tujuan utama.
  */
 public static function empty_pdf_folder()
 {
     // get path to pdf folder
     $folder_path = Printpdf::pdf_folder_path();
     // scan directory
     $files = scandir($folder_path);
     // unset current and parent directory
     unset($files[0]);
     // exclude current folder / .
     unset($files[1]);
     // exclude parent folder / ..
     unset($files[2]);
     // exclude git ignore
     // menghapus semua file pdf dalam folder tersebut
     foreach ($files as $key => $fname) {
         $full_path_to_file = Printpdf::pdf_folder_path() . $fname;
         unlink($full_path_to_file);
     }
 }