| 
				Server : Apache System : Linux server.mata-lashes.com 3.10.0-1160.90.1.el7.x86_64 #1 SMP Thu May 4 15:21:22 UTC 2023 x86_64 User : matalashes ( 1004) PHP Version : 8.1.29 Disable Function : NONE Directory : /home/matalashes/.trash/app.bak.1/Libraries/Ps/  | 
Upload File :  | 
<?php
namespace App\Libraries\Ps;
use Config\Services;
use Google;
class Mylib
{
    public function getRandomBg($counter)
    {
        $bg1 = 'bg-danger';
        $bg2 = 'bg-primary';
        $bg3 = 'bg-warning';
        $bg4 = 'bg-info';
        $bg5 = 'bg-success';
        $bg6 = 'bg-dark';
        return ${'bg' . $counter};
    }
    public function getRandomFoodIcon()
    {
        $icon1 = 'fa-bread-slice';
        $icon2 = 'fa-cheese';
        $icon3 = 'fa-drumstick-bite';
        $icon4 = 'fa-egg';
        $icon5 = 'fa-hamburger';
        $icon6 = 'fa-hotdog';
        $icon7 = 'fa-apple-alt';
        $icon8 = 'fa-ice-cream';
        $icon9 = 'fa-pepper-hot';
        $icon10 = 'fa-pizza-slice';
        $number = rand(1, 10);
        return ${'icon' . $number};
    }
    public function secure_id($id)
    {
        $encrypter = Services::encrypter();
        try {
            return bin2hex($encrypter->encrypt($id));
        } catch (\Exception $e) {
            return 'override404';
        }
    }
    public function reveal_id($id)
    {
        if ($id != '') {
            $encrypter = Services::encrypter();
            try {
                return $encrypter->decrypt(hex2bin($id));
            } catch (\Exception $e) {
                return 'override404';
            }
        }
    }
    public function check_last_uri()
    {
        $session = Services::session();
        if ($session->get('current_uri') != $session->get('last_uri')) {
            $session->set('sort-by', 'default');
            $session->set('order', '');
            $session->set('last_uri', $session->get('current_uri'));
        }
    }
    public function getBaseDir($alc_url)
    {
        $mdl = $this->getNewModel('PsAdmListmenuChild');
        $data = $mdl->where('alc_url', $alc_url)->first();
        return $data->alc_basedir;
    }
    public function getOnlyControllersName()
    {
        return strtolower(explode('\\', service('router')->controllerName())[4]);
    }
    public function getNewModel($_model)
    {
        $class = '\App\Models\\' . ucwords($_model);
        return new $class();
    }
    public function get_all_data($model, $is_where = false, $where_v1_var = '', $where_v1_op = '', $where_v1_string = '',
                                 $is_where2 = false, $where_v2_var = '', $where_v2_op = '', $where_v2_string = '', $order_by = '', $sort = '')
    {
        $session = Services::session();
        $mdl = $this->getNewModel($model['base_model']);
        //Check if session active
        if ($session->get('access') == 'master') {
            if ($is_where) {
                if (!$is_where2) {
                    if ($order_by != '') {
                        $_data = $mdl->where($where_v1_var . $where_v1_op . $where_v1_string)
                            ->where('ps_store_id', $session->get('ps_store_id'))->where('deleted_at', null)->orderBy($order_by, $sort)->get()->getResult();
                    } else {
                        $_data = $mdl->where($where_v1_var . $where_v1_op . $where_v1_string)
                            ->where('ps_store_id', $session->get('ps_store_id'))->where('deleted_at', null)->get()->getResult();
                    }
                } else {
                    if ($order_by != '') {
                        $_data = $mdl::where($where_v1_var . $where_v1_op . $where_v1_string)
                            ->where($where_v2_var . $where_v2_op . $where_v2_string)
                            ->where('ps_store_id', $session->get('ps_store_id'))
                            ->where('deleted_at', null)->orderBy($order_by, $sort)->get()->getResult();
                    } else {
                        $_data = $mdl::where($where_v1_var . $where_v1_op . $where_v1_string)
                            ->where($where_v2_var . $where_v2_op . $where_v2_string)
                            ->where('ps_store_id', $session->get('ps_store_id'))
                            ->where('deleted_at', null)->get()->getResult();
                    }
                }
            } else {
                if ($mdl->fieldExist('ps_store_id')) {
                    if ($order_by != '') {
                        $_data = $mdl->where('deleted_at', null)
                            ->where('ps_store_id', $session->get('ps_store_id'))->orderBy('created_at', 'DESC')->get()->getResult();
                    } else {
                        $_data = $mdl->where('deleted_at', null)
                            ->where('ps_store_id', $session->get('ps_store_id'))->orderBy('created_at', 'DESC')->get()->getResult();
                    }
                } else {
                    if ($order_by != '') {
                        $_data = $mdl->where('deleted_at', null)->orderBy('created_at', 'DESC')->get()->getResult();
                    } else {
                        $_data = $mdl->where('deleted_at', null)->orderBy('created_at', 'DESC')->get()->getResult();
                    }
                }
            }
        } else {
            if ($is_where) {
                if (!$is_where2) {
                    if ($order_by != '') {
                        $_data = $mdl->where($where_v1_var . $where_v1_op . $where_v1_string)->where('deleted_at', null)->orderBy($order_by, $sort)->get()->getResult();
                    } else {
                        $_data = $mdl->where($where_v1_var . $where_v1_op . $where_v1_string)->where('deleted_at', null)->get()->getResult();
                    }
                } else {
                    if ($order_by != '') {
                        $_data = $mdl::where($where_v1_var . $where_v1_op . $where_v1_string)
                            ->where($where_v2_var . $where_v2_op . $where_v2_string)
                            ->where('deleted_at', null)->orderBy($order_by, $sort)->get()->getResult();
                    } else {
                        $_data = $mdl::where($where_v1_var . $where_v1_op . $where_v1_string)
                            ->where($where_v2_var . $where_v2_op . $where_v2_string)
                            ->where('deleted_at', null)->get()->getResult();
                    }
                }
            } else {
                if ($order_by != '') {
                    $_data = $mdl->where('deleted_at', null)->orderBy($order_by, $sort)->get()->getResult();
                } else {
                    $_data = $mdl->where('deleted_at', null)->get()->getResult();
                }
            }
        }
        $data = array(
            '_data' => $_data
        );
        return $data;
    }
    public function get_all_trash($model)
    {
        $session = Services::session();
        $mdl = $this->getNewModel($model);
        if ($mdl->fieldExist('ps_store_id') && $session->has('ps_store_id')) {
            $ps_store_id = $session->get('ps_store_id');
            $_data = $mdl->onlyDeleted()->where('ps_store_id', $ps_store_id)->get()->getResult();
        }else{
            $_data = $mdl->onlyDeleted()->findAll();
        }
        $data = array(
            '_data' => $_data
        );
        return $data;
    }
    public function generate_random_code($prefix = '', $suffix = '')
    {
        $length = max(1, 15);
        $split = max(0, 15);
        $splitChar = '-';
        $charset = 'abcdefghijklmnopqrstuvwxyz0123456789';
        $charset = str_split($charset);
        $code = '';
        for ($i = 0; $i < $length; $i++) {
            $char = $charset[array_rand($charset)];
            if ($split > 0 && $i % $split == 0 && $i != 0) {
                $char = "{$splitChar}{$char}";
            }
            $code .= $char;
        }
        $code = "{$prefix}{$code}{$suffix}";
        return $code;
    }
    public function sendMail($email_config)
    {
        $this->CI->load->library('email');
        $config['protocol'] = "smtp";
        $config['smtp_host'] = $email_config['host'];
        $config['smtp_port'] = $email_config['port'];
        $config['smtp_user'] = $email_config['user'];
        $config['smtp_pass'] = $email_config['pass'];
        $config['charset'] = "iso-8859-1";
        $config['mailtype'] = "html";
        $config['newline'] = "\r\n";
        $this->CI->email->initialize($config);
        $this->CI->email->from($email_config['sender'], $email_config['header']);
        $this->CI->email->to($email_config['sendto']);
        $this->CI->email->subject($email_config['subject']);
        $this->CI->email->message($email_config['message']);
        if ($this->CI->email->send()) {
            return 'Email sent.';
        } else {
            return show_error($this->email->print_debugger());
        }
    }
    function convertmonth($num)
    {
        if ($num == 1)
            return 'Januari';
        else if ($num == 2)
            return 'Februari';
        else if ($num == 3)
            return 'Maret';
        else if ($num == 4)
            return 'April';
        else if ($num == 5)
            return 'Mei';
        else if ($num == 6)
            return 'Juni';
        else if ($num == 7)
            return 'Juli';
        else if ($num == 8)
            return 'Agustus';
        else if ($num == 9)
            return 'September';
        else if ($num == 10)
            return 'Oktober';
        else if ($num == 11)
            return 'November';
        else if ($num == 12)
            return 'Desember';
        else
            return '-';
    }
    function convertmonth_simple($num)
    {
        if ($num == 1)
            return 'Jan';
        else if ($num == 2)
            return 'Feb';
        else if ($num == 3)
            return 'Mar';
        else if ($num == 4)
            return 'Apr';
        else if ($num == 5)
            return 'Mei';
        else if ($num == 6)
            return 'Jun';
        else if ($num == 7)
            return 'Jul';
        else if ($num == 8)
            return 'Agt';
        else if ($num == 9)
            return 'Sep';
        else if ($num == 10)
            return 'Okt';
        else if ($num == 11)
            return 'Nov';
        else if ($num == 12)
            return 'Des';
    }
    function converttoordernumber($bulan)
    {
        $result = 0;
        if ($bulan >= 7) {
            $result = $bulan - 6;
        } else {
            $result = $bulan + 6;
        }
        return $result;
    }
    function createEnumArray($table_name, $column_name)
    {
        $db = \Config\Database::connect();
        $query = 'SHOW COLUMNS FROM ' . $table_name . ' WHERE field = "' . $column_name . '"';
        $type = $db->query($query)->getRow()->Type;
        $enumList = explode(",", str_replace("'", "", substr($type, 5, (strlen($type) - 6))));
        return $enumList;
    }
    public function calculate_date_diff_now($value)
    {
        $date1 = date_create($value);
        $date2 = date_create(date("Y-m-d"));
        $interval = date_diff($date1, $date2);
        $masa = $interval->format('%y Tahun %m Bulan %d Hari');
        return $masa;
    }
    function round_to_year_month($start, $end)
    {
        $interval = ceil(abs(strtotime(date("Y-m-d", strtotime($end))) - strtotime(date("Y-m-d", strtotime($start)))) / 86400) + 1;
        $_y = intval($interval / 365);
        $_m = round(($interval % 365) / 30, 0);
        return $_y . ' Tahun ' . $_m . ' Bulan';
    }
    function date_format($value)
    {
        return $value ? date('d M Y', strtotime($value)) : '';
    }
    function date_indonesia($value)
    {
        $bulan = array(
            1 => 'Januari',
            2 => 'Februari',
            3 => 'Maret',
            4 => 'April',
            5 => 'Mei',
            6 => 'Juni',
            7 => 'Juli',
            8 => 'Agustus',
            9 => 'September',
            10 => 'Oktober',
            11 => 'November',
            12 => 'Desember'
        );
        $temp = explode('-', $value);
        return $temp[2] . ' ' . $bulan[(int)$temp[1]] . ' ' . $temp[0];
    }
    function date_indonesia_m_y($value)
    {
        $bulan = array(
            1 => 'Januari',
            2 => 'Februari',
            3 => 'Maret',
            4 => 'April',
            5 => 'Mei',
            6 => 'Juni',
            7 => 'Juli',
            8 => 'Agustus',
            9 => 'September',
            10 => 'Oktober',
            11 => 'November',
            12 => 'Desember'
        );
        $temp = explode('-', $value);
        return $bulan[(int)$temp[1]] . ' ' . $temp[0];
    }
    function convertmonthromawi($num)
    {
        if ($num == 1)
            return 'I';
        else if ($num == 2)
            return 'II';
        else if ($num == 3)
            return 'III';
        else if ($num == 4)
            return 'IV';
        else if ($num == 5)
            return 'V';
        else if ($num == 6)
            return 'VI';
        else if ($num == 7)
            return 'VII';
        else if ($num == 8)
            return 'VIII';
        else if ($num == 9)
            return 'IX';
        else if ($num == 10)
            return 'X';
        else if ($num == 11)
            return 'XI';
        else if ($num == 12)
            return 'XII';
    }
    public function converturitoaction($uri)
    {
        if ($uri == 'add') {
            return 1;
        } else if (strpos($uri, 'edit')) {
            return 2;
        } else if ($uri == 'delete') {
            return 3;
        }
    }
    public function verify_reCaptchaV2($response)
    {
        $secret = '6LfvinspAAAAAEEfw0oJTy7A1QtTRHkC_GT9oLTN';
        $credential = array(
            'secret' => $secret,
            'response' => $response
        );
        $verify = curl_init();
        curl_setopt($verify, CURLOPT_URL, "https://www.google.com/recaptcha/api/siteverify");
        curl_setopt($verify, CURLOPT_POST, true);
        curl_setopt($verify, CURLOPT_POSTFIELDS, http_build_query($credential));
        curl_setopt($verify, CURLOPT_SSL_VERIFYPEER, false);
        curl_setopt($verify, CURLOPT_RETURNTRANSFER, true);
        $response = curl_exec($verify);
        return json_decode($response, true);
    }    
    public function custom_seo()
    {
        return array(
            'current_url' => (isset($_SERVER['HTTPS']) ? "https://" : "http://") . "$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]",
            'config_creator' => 'www.pintarstudio.com',
            'config_logo' => '#',
            'config_favicon' => base_url("assets/theme/default/images/favicon.ico"),
            'config_name' => 'Pengelolaan Daftar Program Lister',
            'config_description' => 'Pengelolaan Daftar Program Lister',
            'config_app_keywords' => 'Pengelolaan Daftar Program Lister',
            'config_app_keywords' => 'Pengelolaan Daftar Program Lister',
        );
    }
}