load->database(); if ($CI->db->table_exists('pengaturan')) { # cek record install-success $success = get_pengaturan('install-success', 'value'); if (empty($success)) { return false; } } else { return false; } return true; } /** * Method untuk deklarasi array default yang akan di parser dan di berikan ke view * * @param array $add_item * @return array */ function default_parser_item($add_item = array()) { $CI =& get_instance(); $url_referrer = ''; if ($CI->agent->is_referral()) { $url_referrer = $CI->agent->referrer(); } else { # kalo kosong diisi dengan segment $url_referrer = site_url($CI->uri->segment(1)); } $return = array( 'base_url' => base_url(), 'site_url' => site_url(), 'favicon_url' => base_url('assets/images/favicon.ico'), 'copyright_setup' => 'Copyright © 2014 - ' . date('Y') . ' Almazari - dokumenary.my.id', 'current_url' => current_url(), 'logo_url_small' => get_logo_url(), 'logo_url_medium' => get_logo_url('medium'), 'logo_url_large' => get_logo_url('large'), 'base_url_theme' => base_url_theme().'/', 'site_name_default' => 'e-Learning system', 'url_referrer' => $url_referrer, 'elapsed_time' => $CI->benchmark->elapsed_time(), ); # cek proses install tidak if ($CI->uri->segment(1) != 'setup') { $return['copyright'] = 'Copyright © 2014 - ' . date('Y') . ' ' . get_pengaturan('nama-sekolah', 'value').' by Almazari - dokumenary.my.id'; $return['site_name'] = 'e-Learning '.get_pengaturan('nama-sekolah', 'value'); $return['version'] = 'versi ' . get_pengaturan('versi', 'value') . ''; # load menu $return['list_menu'] = $CI->menu->get(); } # load komponen js aplikasi $load_js_app = load_comp_js(array( base_url('assets/comp/ckeditor/plugins/codesnippet/lib/highlight/highlight.pack.js'), base_url('assets/comp/ckeditor/plugins/ckeditor_wiris/integration/WIRISplugins.js?viewer=image'), base_url('assets/comp/timeago/jquery.timeago.js'), base_url('assets/comp/jquery/app.js'), )); if (isset($add_item['comp_js'])) { $add_item['comp_js'] .= $load_js_app; } else { $add_item['comp_js'] = $load_js_app; } // load komponen css aplikasi $load_css_app = load_comp_css(array( base_url('assets/comp/RichFilemanager/styles/dialog.css'), base_url('assets/comp/ckeditor/plugins/codesnippet/lib/highlight/styles/monokai.css'), )); if (isset($add_item['comp_css'])) { $add_item['comp_css'] .= $load_css_app; } else { $add_item['comp_css'] = $load_css_app; } if (!empty($add_item) AND is_array($add_item)) { $return = array_merge($return, $add_item); } return $return; } /** * Method untuk load css komponent tambahan * * @param array $target_href * @return string */ function load_comp_css($target_href = array()) { $return = ''; foreach ($target_href as $value) { $return .= ''.PHP_EOL; } return $return; } /** * Method untuk load js komponent tambahan * * @param array $target_src * @return string */ function load_comp_js($target_src = array()) { $return = ''; foreach ($target_src as $value) { $return .= ''.PHP_EOL; } return $return; } /** * Fungsi yang berguna untuk mendapatkan data tertentu dari model tertentu * * @param string $model * @param string $func * @param array $args * @param string $field_name * @return array|string */ function get_row_data($model, $func, $args = array(), $field_name = '') { $CI =& get_instance(); $CI->load->model($model); $retrieve = call_user_func_array(array($CI->$model, $func), $args); if (empty($field_name)) { return $retrieve; } else { return isset($retrieve[$field_name]) ? $retrieve[$field_name] : ''; } } /** * Method untuk mendapatkan data site config * * @param string $id * @param string $get nama atau value * @return string data */ function get_pengaturan($id, $get = null) { $result = get_row_data('config_model', 'retrieve', array($id), $get); return $result; } /** * Method untuk mendapatkan link base url ke template yang sedang aktif * * @param string $add_link string tambahan untuk link * @return string link template */ function base_url_theme($add_link = '') { $active_theme = get_active_theme(); return base_url('assets/themes/'.$active_theme.'/'.$add_link); } /** * Method untuk mendapatkan link logo elearning * * @param string $size pilihan small|medium|large * @return string link image */ function get_logo_url($size = 'small') { return base_url('assets/images/logo-'.strtolower($size).'.png'); } /** * Method untuk mendapatkan logo yang diatur * @return string */ function get_logo_config() { $config = get_pengaturan('logo-sekolah', 'value'); if (empty($config)) { return get_logo_url('medium'); } else { return get_url_image($config); } } /** * Method untuk mendapatkan nama template yang aktif * * @return string nama template */ function get_active_theme() { return 'default'; } /** * Method untuk mendapatkan css alert * * @param string $notif * @param string $msg * @return string */ function get_alert($notif = 'success', $msg = '') { return '
'.$msg.'
'; } /** * Method untuk memanggil library javascript untuk texteditornya * @return string */ function get_texteditor() { # load ckeditor return load_comp_js(array( base_url('assets/comp/ckeditor/ckeditor.js'), base_url('assets/comp/ckeditor/adapters/jquery.js'), )); } /** * Method untuk mendapatkan data session last time activity * @param string $act get|renew * @return integer */ function last_time_activity_session($act) { switch ($act) { case 'get': return isset($_SESSION['login_' . APP_PREFIX]['last_time_activity']) ? $_SESSION['login_' . APP_PREFIX]['last_time_activity'] : ""; break; case 'renew': $_SESSION['login_' . APP_PREFIX]['last_time_activity'] = time(); break; } } /** * Method untuk ngecek apakah sudah login atau belum * * @return boolean */ function is_login() { if (!empty($_SESSION['login_' . APP_PREFIX])) { # yang ini untuk cek last_time_activity session if (!is_ajax()) { $last_time = last_time_activity_session('get'); if (!empty($last_time) AND $last_time < strtotime("-55 minute", time())) { $_SESSION['login_' . APP_PREFIX] = null; return false; } else { last_time_activity_session('renew'); return true; } } return true; } return false; } /** * Fungsi yang bertugas redirect jika belum login */ function must_login() { if (!is_login()) { redirect('login'); die; } } /** * Method untuk ngecek apakah yang login itu admin atau bukan * @return boolean */ function is_admin() { if (!is_login()) { return false; } if (!empty($_SESSION['login_' . APP_PREFIX]['admin'])) { return true; } return false; } /** * Method untuk ngecek apakah yang login itu pengajar atau bukan * @return boolean */ function is_pengajar() { if (!is_login()) { return false; } if (!empty($_SESSION['login_' . APP_PREFIX]['pengajar'])) { return true; } return false; } /** * Method untuk ngecek apakah yang login itu siswa atau bukan * @return boolean */ function is_siswa() { if (!is_login()) { return false; } if (!empty($_SESSION['login_' . APP_PREFIX]['siswa'])) { return true; } return false; } /** * Method untuk mendapatkan data session * * @param string $key1 * @param string $key2 * @return array */ function get_sess_data($key1, $key2) { if (!empty($_SESSION['login_' . APP_PREFIX])) { $type = ''; if (is_admin()) { $type = 'admin'; } if (is_pengajar()) { $type = 'pengajar'; } if (is_siswa()) { $type = 'siswa'; } if (!empty($type)) { return $_SESSION['login_' . APP_PREFIX][$type][$key1][$key2]; } } } /** * Method untuk ngecek yang request ajax bukan * * @return boolean */ function is_ajax() { /* AJAX check */ if (!empty($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest') { return true; } return false; } /** * Method untuk mendapatkan link gambar * * @param string $img * @param string $size * @return string * */ function get_url_image($img, $size = '') { if (empty($size)) { return base_url('userfiles/images/'.$img); } else { $pisah = explode('.', $img); $ext = end($pisah); $nama_file = $pisah[0]; return base_url('userfiles/images/'.$nama_file.'_'.$size.'.'.$ext); } } /** * Method untuk mendapatkan link foto siswa * * @param string $img * @param string $size * @param string $jk * @return string url */ function get_url_image_siswa($img = '', $size = 'medium', $jk = 'Laki-laki') { if (is_null($img) OR empty($img)) { if ($jk == 'Laki-laki') { $img = 'default_siswa.png'; } else { $img = 'default_siswi.png'; } return get_url_image($img); } else { return get_url_image($img, $size); } } /** * Method untuk mendapatkan link foto pengajar * * @param string $img * @param string $size * @param string $jk * @return string url */ function get_url_image_pengajar($img = '', $size = 'medium', $jk = 'Laki-laki') { if (is_null($img) OR empty($img)) { if ($jk == 'Laki-laki') { $img = 'default_pl.png'; } else { $img = 'default_pp.png'; } return get_url_image($img); } else { return get_url_image($img, $size); } } /** * Method untuk mendapatkan link foto pengajar/admin/siswa ketika sudah login * * @param string $img * @param string $size * @param string $jk * @return string url */ function get_url_image_session($img = '', $size = 'medium', $jk = 'Laki-laki') { if (is_pengajar() OR is_admin()) { return get_url_image_pengajar($img, $size, $jk); } elseif (is_siswa()) { return get_url_image_siswa($img, $size, $jk); } } /** * Method untuk mendapatkan path image * * @param string $img * @param string $size medium|small, kalau aslinya di kosongkan * @return string paht */ function get_path_image($img = '', $size = '') { if (empty($size)) { return './userfiles/images/'.$img; } else { $pisah = explode('.', $img); $ext = end($pisah); $nama_file = $pisah[0]; return './userfiles/images/'.$nama_file.'_'.$size.'.'.$ext; } } /** * Deklarasi path file * * @param string $file * @return string */ function get_path_file($file = '') { return './userfiles/files/'.$file; } /** * Method untuk mendapatkan flashdata * * @param string $key * @return string */ function get_flashdata($key) { $CI =& get_instance(); return $CI->session->flashdata($key); } /** * Fungsi untuk mendapatkan bulan dengan nama indonesia * * @param string $bln * @return string */ function get_indo_bulan($bln = '') { $data = array(1 => 'Januari', 'Februari', 'Maret', 'April', 'Mei', 'Juni', 'Juli', 'Agustus', 'September', 'Oktober', 'November', 'Desember'); if (empty($bln)) { return $data; } else { $bln = (int)$bln; return isset($data[$bln]) ? $data[$bln] : ""; } } /** * Fungsi untuk mendapatkan nama hari indonesia * * @param string $hari * @return string */ function get_indo_hari($hari = '') { $data = array(1 => 'Senin', 'Selasa', 'Rabu', 'Kamis', 'Jum\'at', 'Sabtu', 'Minggu'); if (empty($hari)) { return $data; } else { $hari = (int)$hari; return $data[$hari]; } } /** * Method untuk memformat tanggal ke indonesia * * @param string $tgl * @return string */ function tgl_indo($tgl = '') { if (!empty($tgl)) { $pisah = explode('-', $tgl); return $pisah[2].' '.get_indo_bulan($pisah[1]).' '.$pisah[0]; } } /** * Method untuk memformat tanggal dan jam ke format indonesia * * @param string $tgl_jam * @return string */ function tgl_jam_indo($tgl_jam = '') { if (!empty($tgl_jam)) { $pisah = explode(' ', $tgl_jam); return tgl_indo($pisah[0]).' '.date('H:i', strtotime($tgl_jam)); } } /** * Method untuk memforamt tanggal dan jam supaya lebih enak dibaca * @param datetime $datetime * @return string */ function format_datetime($datetime) { # format tanggal, jika hari ini if (date('Y-m-d') == date('Y-m-d', strtotime($datetime))) { $selisih = time() - strtotime($datetime) ; $detik = $selisih ; $menit = round($selisih / 60); $jam = round($selisih / 3600); if ($detik <= 60) { if ($detik == 0) { $waktu = "baru saja"; } else { $waktu = $detik.' detik yang lalu'; } } else if ($menit <= 60) { $waktu = $menit.' menit yang lalu'; } else if ($jam <= 24) { $waktu = $jam.' jam yang lalu'; } else { $waktu = date('H:i', strtotime($datetime)); } $datetime = $waktu; } # kemarin elseif (date('Y-m-d', strtotime('-1 day', strtotime(date('Y-m-d')))) == date('Y-m-d', strtotime($datetime))) { $datetime = 'Kemarin ' . date('H:i', strtotime($datetime)); } # lusa elseif (date('Y-m-d', strtotime('-2 day', strtotime(date('Y-m-d')))) == date('Y-m-d', strtotime($datetime))) { $datetime = '2 hari yang lalu ' . date('H:i', strtotime($datetime)); } else { $datetime = tgl_jam_indo($datetime); } return $datetime; } /** * Metho untuk mendapatkan array post * * @param string $key * @return string */ function get_post_data($key = '') { if (isset($_POST[$key])) { return $_POST[$key]; } return; } /** * Method untuk mendapatkan huruf berdasarkan nomornya * * @param integer $index * @return string */ function get_abjad($index) { $abjad = array(1 => 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z'); return $abjad[$index]; } /** * Method untuk enkripsi url * * @param string $current_url * @return string */ function enurl_redirect($current_url) { return str_replace(array("%2F","%5C"), array("%252F","%255C"), urlencode($current_url)); } /** * Method untuk deskripsi url * * @param string $url * @return string */ function deurl_redirect($url) { return urldecode(urldecode($url)); } function pr($array) { echo '
';
    print_r($array);
    echo '
'; } function get_data_array($array, $index1, $index2) { return $array[$index1][$index2]; } /** * Fungsi untuk mendapatkan nama panggilan * * @param string $str_nama * @return string */ function nama_panggilan($str_nama) { $split = explode(" ", $str_nama); return $split[0]; } /** * Method untuk mengaktifkan natif session * http://stackoverflow.com/questions/6249707/check-if-php-session-has-already-started */ function start_native_session() { if (session_id() == '') { session_start(); } } /** * Method untuk mendapatkan satu record tambahan * * @param string $id * @return array */ function retrieve_field($id) { return get_row_data('config_model', 'retrieve_field', array('id' => $id)); } /** * Method untuk update field tambahan * * @param string $id * @param string $nama * @param string $value * @return boolean */ function update_field($id, $nama = null, $value = null) { return get_row_data('config_model', 'update_field', array($id, $nama, $value)); } /** * Method untuk menghapus field tambahan berdasarkan id * * @param string $id * @return boolean */ function delete_field($id) { return get_row_data('config_model', 'delete_field', array('id' => $id)); } /** * Method untuk membuat field tambahan * * @param string $id * @param string $nama * @param string $value * @return boolean */ function create_field($id, $nama = null, $value = null) { return get_row_data('config_model', 'create_field', array('id' => $id, 'nama' => $nama, 'value' => $value)); } /** * Method untuk ngecek apakah pilihan ganda pertanyaan terpilih atau tidak * * @param array $array * @param integer $pertanyaan_id * @param integer $pilihan_id * @return boolean */ function is_pilih($array, $pertanyaan_id, $pilihan_id) { if (isset($array[$pertanyaan_id]) AND $array[$pertanyaan_id] == $pilihan_id) { return true; } return false; } /** * Method untuk mendapatkan jawaban siswa berdasarkan pertanyaan_id * * @param array $array * @param integer $pertanyaan_id * @return string */ function get_jawaban($array, $pertanyaan_id) { if (!empty($array[$pertanyaan_id])) { return $array[$pertanyaan_id]; } } /** * Method untuk mendapatkan kunci pada pilihan * * @param array $pilihan * @return integer id pilihan */ function get_kunci_pilihan($pilihan) { foreach ($pilihan as $value) { if ($value['kunci'] == 1) { return $value['id']; } } } /** * Method untuk mendapatkan ip pengakses * @return string */ function get_ip() { return $_SERVER['REMOTE_ADDR']; } /** * Method untuk ngecek apakah siswa sudah mengerjakan tugas tertentu * * @param integer $tugas_id * @param integer $siswa_id * @return boolean */ function sudah_ngerjakan($tugas_id, $siswa_id) { $sudah = false; # cek history, kalo sudah ada berarti sudah mengerjakan $check_history = retrieve_field('history-mengerjakan-' . $siswa_id . '-' . $tugas_id); if (!empty($check_history)) { # hapus field mengerjakan supaya lebih memastikan $mengerjakan_field_id = 'mengerjakan-' . $siswa_id . '-' . $tugas_id; delete_field($mengerjakan_field_id); $sudah = true; } return $sudah; } /** * Method untuk mendapatkan lama pengerjaan berdasarkan waktu mulai dan selesai * * @param string $start 2017-01-29 1:14:44 * @param string $finish * @param string $format * @return string */ function lama_pengerjaan($start, $finish, $format = "%h jam %i menit %s detik") { $date_a = new DateTime($start); $date_b = new DateTime($finish); $interval = date_diff($date_a, $date_b); $result = $interval->format($format); $result = str_replace(array("0 jam", " 0 menit", " 0 detik"), '', $result); return trim($result); } /** * Method untuk mendapatkan semua data email user yang berkedudukan sebagai admin * * @return array */ function get_email_admin() { $results = array(); $retrieve_all = get_row_data('login_model', 'retrieve_all', array(10, 1, 1, false)); foreach ($retrieve_all as $login) { # cari pengajar $pengajar = get_row_data('pengajar_model', 'retrieve', array($login['pengajar_id'])); if ($pengajar['status_id'] != 1) { continue; } $results[] = array( 'nama' => $pengajar['nama'], 'email' => $login['username'] ); } return $results; } /** * Method untuk mengirimkan email * * @param string $nama_email * @param string $to * @param array $array_data * @return boolean */ function kirim_email($nama_email, $to, $array_data = array()) { # cari email $template = get_pengaturan($nama_email, 'value'); $template = json_decode($template, 1); if (empty($template)) { return false; } $arr_old = array(); $arr_new = array(); foreach ((array)$array_data as $key => $value) { $arr_old[] = '{$'.$key.'}'; $arr_new[] = $value; } $email_subject = str_replace($arr_old, $arr_new, $template['subject']); $email_body = str_replace($arr_old, $arr_new, $template['body']); kirim_email_phpmailer($to, $email_subject, $email_body); return true; } function kirim_email_phpmailer($to, $subject, $body, $smtp_debug = false) { $email_server = get_pengaturan('email-server', 'value'); $nama_sekolah = get_pengaturan('nama-sekolah', 'value'); $smtp_host = get_pengaturan('smtp-host', 'value'); $smtp_user = get_pengaturan('smtp-username', 'value'); $smtp_pass = get_pengaturan('smtp-pass', 'value'); $smtp_port = get_pengaturan('smtp-port', 'value'); /** * setup phpmailer */ $mail = new \PHPMailer\PHPMailer\PHPMailer(true); try { //Server settings $mail->SMTPDebug = $smtp_debug; $mail->isSMTP(); $mail->Host = $smtp_host; $mail->SMTPAuth = true; $mail->Username = $smtp_user; $mail->Password = $smtp_pass; $mail->SMTPSecure = 'TLS'; $mail->Port = $smtp_port; //Recipients $mail->setFrom($email_server, '[E-learning] - ' . $nama_sekolah); $mail->addAddress($to); //Content $mail->isHTML(true); $mail->Subject = $subject; $mail->Body = $body; $mail->send(); } catch (\PHPMailer\PHPMailer\Exception $e) { //echo 'Message could not be sent. Mailer Error: ', $mail->ErrorInfo; } return true; } /** * Method untuk mengirimkan email approve siswa * * @param string $siswa_id */ function kirim_email_approve_siswa($siswa_id) { $retrieve_siswa = get_row_data('siswa_model', 'retrieve', array($siswa_id)); $login = get_row_data('login_model', 'retrieve', array(null, null, null, $siswa_id)); $tabel_profil = '
NIS ' . $retrieve_siswa['nis'] . '
Nama ' . $retrieve_siswa['nama'] . '
Jenis kelamin ' . $retrieve_siswa['jenis_kelamin'] . '
Tempat lahir ' . $retrieve_siswa['tempat_lahir'] . '
Tgl. Lahir ' . tgl_indo($retrieve_siswa['tgl_lahir']) . '
Alamat ' . $retrieve_siswa['alamat'] . '
'; @kirim_email('email-template-approve-siswa', $login['username'], array( 'nama' => $nama, 'nama_sekolah' => get_pengaturan('nama-sekolah', 'value'), 'tabel_profil' => $tabel_profil, 'url_login' => site_url('login') )); } /** * Method untuk mengirimkan email approve pengajar * * @param integer $pengajar_id */ function kirim_email_approve_pengajar($pengajar_id) { $pengajar = get_row_data('pengajar_model', 'retrieve', array($pengajar_id)); $login = get_row_data('login_model', 'retrieve', array(null, null, null, null, $pengajar_id)); $tabel_profil = '
NIP ' . $pengajar['nip'] . '
Nama ' . $pengajar['nama'] . '
Jenis kelamin ' . $pengajar['jenis_kelamin'] . '
Tempat lahir ' . $pengajar['tempat_lahir'] . '
Tgl. Lahir ' . tgl_indo($pengajar['tgl_lahir']) . '
Alamat ' . $pengajar['alamat'] . '
'; @kirim_email('email-template-approve-pengajar', $login['username'], array( 'nama' => $nama, 'nama_sekolah' => get_pengaturan('nama-sekolah', 'value'), 'tabel_profil' => $tabel_profil, 'url_login' => site_url('login') )); } /** * Method untuk mendapatkan email dari string * * @param string $str * @return array */ function get_email_from_string($str) { $pattern = '/[a-z\d._%+-]+@[a-z\d.-]+\.[a-z]{2,4}\b/i'; preg_match_all($pattern, $str, $results); return $results[0]; } /** * Method untuk ngecek sedang demo aplikasi atau tidak * * @return boolean */ function is_demo_app() { $CI =& get_instance(); $CI->load->config(); return $CI->config->item('is_demo_app'); } /** * Method untuk mendapatkan pesan jika sedang demo * @return string */ function get_demo_msg() { return "Maaf, untuk keperluan demo aplikasi, halaman ini tidak dapat diperbaharui."; } /** * http://stackoverflow.com/questions/3475646/undefined-date-diff */ if (!function_exists('date_diff')) { function date_diff($date1, $date2) { $current = $date1; $datetime2 = date_create($date2); $count = 0; while(date_create($current) < $datetime2){ $current = gmdate("Y-m-d", strtotime("+1 day", strtotime($current))); $count++; } return $count; } } /** * Method untuk mendapatkan data dari url * * @param string $url * @return string body */ function get_url_data($url) { // # jika curl hidup // if (function_exists('curl_version')) { // $ch = curl_init($url); // curl_setopt($ch, CURLOPT_HEADER, 1); // curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); // curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); // curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_BASIC); // $response = curl_exec($ch); // $header_size = curl_getinfo($ch, CURLINFO_HEADER_SIZE); // $header = substr($response, 0, $header_size); // $body = substr($response, $header_size); // $code = curl_getinfo($ch, CURLINFO_HTTP_CODE); // curl_close($ch); // } else { // } $body = file_get_contents($url); return $body; } /** * Method untuk cek apakah password siswa sama dengan nis * * @return boolean */ function pass_siswa_equal_nis() { if (is_siswa()) { $nis_siswa = get_sess_data('user', 'nis'); if (empty($nis_siswa)) { return false; } # ambil nis siswa $nis = get_row_data('siswa_model', 'retrieve', array( 'id' => get_sess_data('user', 'id') ), 'nis'); if (empty($nis)) { return false; } $md5_nis = md5($nis); # dapatkan password siswa $md5_pass = get_row_data('login_model', 'retrieve', array( 'id' => get_sess_data('login', 'id') ), 'password'); if ($md5_nis == $md5_pass) { return true; } } return false; } /** * Method untuk menyimpan session tampilkan atau sembunyikan timeer saat ujian * * @param string $act * @param string $tugas_id * @param string $hide */ function sess_hide_countdown($act, $tugas_id = "", $hide = "") { $CI =& get_instance(); $sess_name = 'hide_countdown'; $currents = $CI->session->userdata($sess_name); switch ($act) { case 'set': $currents[$tugas_id] = $hide; $CI->session->set_userdata($sess_name, $currents); break; case 'get': return !empty($currents[$tugas_id]) ? 1 : 0; break; } } /** * Method untuk ngecek tgljam tertentu sudah lewat sehari belum * @param string $datetime * @return boolean */ function belum_sehari($datetime) { $sekarang = strtotime(date("Y-m-d H:i:s")); $sehari_yg_lalu = strtotime("-1 day", $sekarang); if (strtotime($datetime) > $sehari_yg_lalu) { return true; } return false; } /** * Untuk menciptakan datetime format ISO8601 * @param string $datetime * @return string */ function iso8601($datetime) { return date(DateTime::ISO8601, strtotime($datetime)); } /** * Method untuk mengambil fungsi autoload plugin */ function autoload_function_plugin() { # ambil semua folder didalam src $base_load = './plugins/src'; if (!is_dir($base_load)) { return true; } $objects = scandir($base_load); foreach ($objects as $object) { if ($object != "." && $object != "..") { $autoload_file = $base_load . '/' . $object . '/autoload.php'; if (is_file($autoload_file)) { include_once $autoload_file; $autoload_function = "autoload_{$object}"; if (function_exists($autoload_function)) { $autoload_function(); } } } } return true; }