defined('BASEPATH') OR exit('No direct script access allowed'); class Renstra extends CI_Controller { public function __construct() { parent::__construct(); $this->load->model('Renstra_model'); $this->load->library('session'); $this->load->helper('url'); $this->load->helper('form'); } public function index() { if(!$this->session->userdata('unit_id')) { redirect('renstra/login'); } $unit_id = $this->session->userdata('unit_id'); $data['user'] = $this->Renstra_model->get_unit_details($unit_id); $data['documents'] = $this->Renstra_model->get_documents($unit_id); // Cek EWS $data['ews_alerts'] = []; if(($data['user']->kategori == 'prodi' || $data['user']->nama_unit == 'Universitas') && $data['user']->tgl_kadaluarsa != NULL) { $tgl_kadaluarsa = strtotime($data['user']->tgl_kadaluarsa); $sekarang = time(); $diff_hari = round(($tgl_kadaluarsa - $sekarang) / (60 * 60 * 24)); if ($diff_hari > 0 && $diff_hari < 180) { $data['ews_alerts'][] = ['tingkat' => 'Kritis', 'warna' => 'bg-red-50 text-red-700', 'pesan' => "Akreditasi tersisa $diff_hari hari lagi (Kurang 6 Bulan). Segera unggah borang."]; } else if ($diff_hari >= 180 && $diff_hari <= 365) { $data['ews_alerts'][] = ['tingkat' => 'Waspada', 'warna' => 'bg-yellow-50 text-yellow-700', 'pesan' => "Akreditasi tersisa $diff_hari hari lagi. Mulai persiapan."]; } } if(isset($data['user']) && $data['user']->nama_unit == 'Admin Universitas') { $data['all_units'] = $this->Renstra_model->get_all_units(); } $this->load->view('renstra_dashboard', $data); } public function login() { if($_SERVER['REQUEST_METHOD'] == 'POST') { $nama_unit = $this->input->post('nama_unit'); $password = $this->input->post('password'); $user = $this->Renstra_model->check_login($nama_unit, $password); if($user) { $this->session->set_userdata(['unit_id' => $user->id, 'nama_unit' => $user->nama_unit, 'kategori' => $user->kategori]); redirect('renstra/index'); } else { $this->session->set_flashdata('error', 'Login Gagal. Nama Unit atau Password salah.'); redirect('renstra/login'); } } else { $data['all_units'] = $this->Renstra_model->get_all_units(); $this->load->view('renstra_login', $data); } } public function logout() { $this->session->sess_destroy(); redirect('renstra/login'); } public function upload_dokumen() { $config['upload_path'] = './uploads/renstra/'; // Buat folder ini di hosting (chmod 755) $config['allowed_types'] = 'pdf|doc|docx|xls|xlsx'; $config['max_size'] = 10240; $this->load->library('upload', $config); if ($this->upload->do_upload('file_dokumen')) { $upload_data = $this->upload->data(); $data = [ 'unit_id' => $this->session->userdata('unit_id'), 'kategori' => $this->input->post('kategori_dokumen'), 'file_name' => $upload_data['file_name'], 'keterangan_analisis' => $this->input->post('keterangan_analisis'), 'uploaded_at' => date('Y-m-d H:i:s') ]; $this->Renstra_model->save_dokumen($data); $this->session->set_flashdata('success', 'Dokumen berhasil diunggah.'); } else { $this->session->set_flashdata('error', $this->upload->display_errors()); } redirect('renstra/index'); } public function update_password() { if($this->session->userdata('nama_unit') != 'Admin Universitas') redirect('renstra/index'); $target_unit_id = $this->input->post('target_unit_id'); $new_password = $this->input->post('new_password'); if($target_unit_id && $new_password) { $this->Renstra_model->update_password($target_unit_id, $new_password); $this->session->set_flashdata('success', 'Kata sandi berhasil diubah.'); } redirect('renstra/index'); } }

A PHP Error was encountered

Severity: Warning

Message: Cannot modify header information - headers already sent by (output started at /home/ubpiacid/simrenstra.ubpi.ac.id/application/controllers/Renstra.php:1)

Filename: core/Common.php

Line Number: 571

Backtrace:

File: /home/ubpiacid/simrenstra.ubpi.ac.id/index.php
Line: 315
Function: require_once

404 Page Not Found

404 Page Not Found

The page you requested was not found.