<?php
session_start();
include "../../inc/config.php";

require_once '../../lib/Writer.php';


      $jurusan = trim($_POST['jur_filter']);
      if ($jurusan=='all') {
          $jurusan = "";
          if ($_SESSION['level']!=1) {
              $jurusan = "and trim(kode_jurusan)='".$_SESSION['jurusan']."'";
          }

          $nama_jurusan = "Semua Jurusan";
      } else {
          $jurusan = "and trim(kode_jurusan)='$jurusan'";

        $nama_jurusan = $db->fetch_custom_single("select nama_jurusan from jurusan where id is not null $jurusan");
        $nama_jurusan = $nama_jurusan->nama_jurusan;
        $nama_jurusan = str_replace(" ", "_", $nama_jurusan);

      }

       if (isset($_POST['sem_filter'])) {
          
        if ($_POST['sem_filter']=='all') {
          $semester = '';
          $nama_semester = "";
        } else {
          $semester = "and semester='".$_POST['sem_filter']."'";
          $nama_semester = $_POST['sem_filter'];
        }
       

        if ($_POST['filter_jenis']=='all') {
          $id_jenis = '';
          $nama_jenis = "";
        } else {
          $id_jenis = "and id_jns_akt_mhs='".$_POST['filter_jenis']."'";
          
          $nama_jenis = $db->fetch_custom_single("select * from jenis_akt_mhs where id_jns_akt_mhs='".$_POST['filter_jenis']."'");
          if ($nama_jenis) {
            $nama_jenis = str_replace(" ", "_", $nama_jenis->nm_jns_akt_mhs);
          } else {
            $nama_jenis = '';
          }
          
        }


           if ($_POST['status']=='all') {
          $status = '';
        } else {
          $status = "and status_error='".$_POST['status']."'";
        }

        }


        $filter_kelas = "where id is not null $jurusan $semester $id_jenis $status";

$writer = new XLSXWriter();
$style =
        array (
                      array(
              'border' => array(
                'style' => 'thin',
                'color' => '000000'
                ),
            'allfilleddata' => true
            ),
            array(
                'fill' => array(
                    'color' => 'ff0000'
                    ),
                'cells' => array(
                    'A1',
                    'B1',
                    'C1',
                    'G1',
                    'H1',
                    'I1'
                    ),
                'border' => array(
                    'style' => 'thin',
                    'color' => '000000'
                    ),
                'verticalAlign' => 'center',
                'horizontalAlign' => 'center',
            ),
                        array(
                'fill' => array(
                    'color' => '00ff00'
                    ),
                'cells' => array(
                      'D1',
                      'E1',
                      'F1',
                      'J1',
                      'K1',
                      'L1',
                      'M1'
                    ),
                'border' => array(
                    'style' => 'thin',
                    'color' => '000000'
                    ),
                'verticalAlign' => 'center',
                'horizontalAlign' => 'center',
                ),
            array(
                    'fill' => array(
                        'color' => '2f74b5'
                        ),
                    'cells' => array(
                     
                        'J1'
                        ),
                    'border' => array(
                        'style' => 'thin',
                        'color' => '000000'
                        ),
                    'verticalAlign' => 'center',
                    'horizontalAlign' => 'center',
                    )
            );

//column width
$col_width = array(
  1 => 19,
  2 => 20,
  3 => 42,
  4 => 19,
  5 => 23,
  6 => 19,
  7 => 19,
  8 => 19,
  9 => 19,
  10 => 20,
  11 => 20,
  12 => 20,
  13 => 39
  );
$writer->setColWidth($col_width);

$header = array(
  'Semester'=>'string',
  'Jenis Aktivitas'=>'string',
  'Judul'=>'string',
  'Lokasi'=>'string',
  'Nomor SK Tugas' => 'string',
  'Tanggal SK Tugas' => 'date',
  'Jenis Anggota' => 'date',
  'ID AKTIVITAS'=>'string',
  'Kode Prodi' => 'string',
  'Program MBKM' => 'string',
  'Tanggal Mulai' => 'string',
  'Tanggal Selesai' => 'string',
  'Keterangan'=>'string'
);

$no=1;
$index = 2;

$data_rec = array();
   
        $order_by = "order by semester,id_jenis_akt desc";

    
        $temp_rec = $db->fetch_custom("select jenis_akt_mhs.*,aktivitas_mahasiswa.* from aktivitas_mahasiswa  inner join jenis_akt_mhs
 on aktivitas_mahasiswa.id_jenis_akt=jenis_akt_mhs.id_jns_akt_mhs $filter_kelas $order_by");
                    foreach ($temp_rec as $key) {
        
                if ($key->status_error==0) {
                      $ket = "Belum diproses";
                    } elseif ($key->status_error==1) {
                      $ket = "Sukses";
                    } else {
                      $ket = $key->keterangan;
                    } 

                      $data_rec[] = array(
                                      $key->semester,
                                      $key->id_jenis_akt,
                                      strip_tags($key->judul),
                                      $key->lokasi,
                                      $key->nomor_sk,
                                      $key->tanggal_sk,
                                      $key->jenis_anggota,
                                      $key->ket,
                                      $key->kode_jurusan,
                                      $key->program_mbkm,
                                      $key->tanggal_mulai,
                                      $key->tanggal_selesai,
                                      $ket
                        );

             $no++;
             $index++;

            }


//jalur pendaftaran
$jenis_akt_mhs = $db->fetch_custom("select * from jenis_akt_mhs");
foreach ($jenis_akt_mhs as $jns_akt) {
  if ($jns_akt->a_kegiatan_kampus_merdeka=='1') {
    $data_jenis_akt[] = $jns_akt->id_jns_akt_mhs." : ".$jns_akt->nm_jns_akt_mhs.' (Kampus Merdeka)';
  } else {
    $data_jenis_akt[] = $jns_akt->id_jns_akt_mhs." : ".$jns_akt->nm_jns_akt_mhs;
  }
  
}
$comments = array(
'A1' => 'Semester Pelaporan
format : tahun+semester (1 : Ganjil, 2 : Genap, 3 : Pendek)
contoh : 20231 (berarti 2023 ganjil)
info : Wajib disi',
'B1' => 'Jenis Aktivitas
'.implode("\n", $data_jenis_akt).'
Info : Wajib Diisi',
'C1' => 'Judul Aktivitas

info : Wajib disi',
'D1' => 'Lokasi
Boleh Kosong Kalau Belum Ada',
'E1' => 'Nomor SK Tugas 

Info : Boleh Kosong',
'F1' => 'Tanggal SK Tugas
Format
Tahun-Bulan-Tanggal
contoh : 2024-07-23
Info : Boleh Kosong',
'G1' => 'Jenis Anggota
0 : Personal
1 : Kelompok
Wajib Diisi',
'H1' => '
ID Aktivitas
Id ini sebagai acuan unik  antara data anggota, pembimbing dan penguji. Jadi harus sama
id ini bebas (bisa angka/huruf) asal unik  antara aktivitas satu dengan yang lainya. Misal contoh saya buat 
2017205 (tahun dan kelompok kkn)
',
'I1' => '
Lihat di menu master data -> jurusan
Wajib Diisi',
'J1' => '
Silakan isi jika Jenis Aktivitas Kampus Merdeka

Konditional',
'K1' => 'Tanggal Mulai
format : tahun-bulan-tanggal
contoh : 2024-02-01
Info : Boleh Kosong',
'L1' => 'Tanggal Akhir
format : tahun-bulan-tanggal
contoh : 2024-02-01
Info : Boleh Kosong'
);


$writer->setComment($comments);

$filename = 'Aktivitas_Mahasiswa_'.$nama_semester.$nama_jurusan.$nama_jenis.'.xlsx';
header('Content-disposition: attachment; filename="'.XLSXWriter::sanitize_filename($filename).'"');
header("Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");
header('Content-Transfer-Encoding: binary');
header('Cache-Control: must-revalidate');
header('Pragma: public');

$writer->writeSheet($data_rec,'Data Aktivitas', $header, $style);
$writer->writeToStdOut();
exit(0);
?>