%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
<?php class Cron extends MY_Controller { function __construct() { parent::__construct(); ini_set('memory_limit', '-1'); set_time_limit(0); $this->load->model('pay_model', 'pay'); $this->load->model('user_model', 'user'); $this->load->model('ps_model', 'ps'); $this->load->model("dataset_model", "dataset"); $this->load->helper('paytm'); } function check_paytm_txn_status($trans_id){ $inf=array('success'=>'F', 'statusUpdated'=>'F', 'msg'=>'No response found!'); $post=$this->input->post(); $transDtl=$this->pay->trans_dtl($trans_id); if(!$transDtl){ $inf['msg']="Invalid Data"; $this->json_data($inf); } $notiFlg=true; if($this->db->select("id")->get_where("pay_trans", array('application_id'=>$transDtl['application_id'], 'payment_status'=>'SUCCESS'))->row()->id){ $notiFlg=false; } $requestParamList=array("MID"=>PAYTM_MERCHANT_MID , "ORDERID" => $transDtl['pay_order_id']); $StatusCheckSum=getChecksumFromArray($requestParamList, PAYTM_MERCHANT_KEY); $requestParamList['CHECKSUMHASH']=$StatusCheckSum; $paytmRes=getTxnStatusNew($requestParamList); if($paytmRes){ if($paytmRes['STATUS']!=$transDtl['txn_status']){ /** Table: pay_trans */ $d=array( 'id'=>$transDtl['id'], 'txn_id'=>$paytmRes['TXNID'], 'bank_txn_id'=>$paytmRes['BANKTXNID'], 'txn_amt'=>$paytmRes['TXNAMOUNT'], 'refund_amt'=>$paytmRes['REFUNDAMT'], 'txn_status'=>$paytmRes['STATUS'], 'txn_date'=>$paytmRes['TXNDATE'], 'bank_name'=>$paytmRes['BANKNAME'], 'payment_mode'=>$paytmRes['PAYMENTMODE'], 'full_resp'=>serialize($paytmRes), ); if($transDtl['respcode']!=141){ $d['respcode']=$paytmRes['RESPCODE']; $d['respmsg']=$paytmRes['RESPMSG']; } if($paytmRes['STATUS']=='TXN_SUCCESS'){ $d['payment_status']='SUCCESS'; }else{ $d['payment_status']='FAIL'; } if($paytmRes['REFUNDAMT']>0){ $d['payment_status']='REFUNDED'; } $this->common->save(replace_null($d), "pay_trans"); /** \ */ /** Table: applications and email/sms alert */ if($paytmRes['STATUS']=='TXN_SUCCESS'){ if($notiFlg){ $this->load->model('ps_model', 'ps'); $this->ps->addLeadToPS($transDtl['application_id']); $this->common->sendPaymentConfirmMsg($transDtl['application_id']); } } $successTransId=$this->db->select("id")->get_where("pay_trans", array('application_id'=>$transDtl['application_id'], 'payment_status'=>'SUCCESS'))->row()->id; if($successTransId){ $d=array('id'=>$transDtl['application_id'], 'pay_trans_id'=>$successTransId, 'step_completed'=>3, 'payment_mode'=>'ONLINE', 'payment_status'=>1, 'step3date'=>currentDT()); $this->common->set_utm_source_paid($transDtl['applicant_id'], $transDtl['id']); }else{ $d=array('id'=>$transDtl['application_id'], 'pay_trans_id'=>$transDtl['id'], 'step_completed'=>2, 'step3date'=>NULL, 'payment_status'=>0, 'payment_mode'=>''); } $this->common->save($d, "applications"); /** \ */ /** Table: admin email/sms alert */ $this->common->sendPaymentAlertToAdmin($transDtl['application_id']); /** \ */ } } } function check_trans_last_1hr($all=''){ //*/15 * * * * wget http://aweblms.sharda.ac.in/api/cron/check_trans_last_1hr if(date('H:i')=='05:00'){ $this->get_ps_status_data(); delete_files(PATHF.'api/sess'); } $dt=date("Y-m-d H:i:s", strtotime("-20 minutes", time())); $cond=['txn_status!='=>'TXN_SUCCESS', 'txn_status!='=>'']; if(!$all){ $cond['created>=']=$dt; } $ids=$this->db->select("id")->get_where("pay_trans", $cond)->result_array(); foreach($ids as $i=>$r){ $this->check_paytm_txn_status($r['id']); if($i%10==0){ sleep(1); } } //send_email("sat.web1989@gmail.com", "Cron Test", "No. of records=".count($ids)." | ".currentDT()); delete_files(PATHF.'student-panel/api/sess'); //if(date('H:i')) } function get_ps_status_data($print=''){ //0 8 * * * wget http://aweblms.sharda.ac.in/api/cron/get_ps_status_data $t1=date('Y-m-d H:i:s'); $this->oracle=$this->load->database("oracle", true); $rs=$this->oracle->select("*")->from("PS_SU_STU_STS_VW")->get()->result_array(); $paidSsytemIds=$this->oracle->select("*")->from("PS_S_LMS_DPTFEE_VW")->get()->result_array(); $step3recs=$this->db->select("application_no")->from("applications")->where('step_completed', 3)->get()->result_array(); $step3recs=key_val_array($step3recs, 'application_no', 'application_no'); $data=[]; foreach($rs as $r){ if($step3recs[$r['EMPLID']]){ $r['status']=''; if($r['DESCR']=='Intention to Matriculate' || $r['DESCR']=='Conditional Admit'){ $r['status']='ADM_OFFERED'; }elseif($r['DESCR']=='Matriculation'){ $r['status']='ADM_FINAL'; }elseif(strpos($r['DESCR1'], 'Withdrawal')!==false){ $r['status']='ADM_WITHDRAW'; } $data[]=$r; } } if($data){ if($print){ pr($data); pr($paidSsytemIds); send_email("sat.web1989@gmail.com", "PS STU STATUS", "No. of records=".count($data)." | ".count($paidSsytemIds?$paidSsytemIds:[])." | ".currentDT()); }else{ //$this->db->truncate('ps_stu_status'); $this->db->where("1=1", NULL, FALSE)->delete("ps_paid_system_ids"); $this->db->where("1=1", NULL, FALSE)->delete("ps_stu_status"); $ndel=$this->db->affected_rows(); $this->db->insert_batch("ps_stu_status", $data); if($paidSsytemIds){ $this->db->insert_batch("ps_paid_system_ids", $paidSsytemIds); } /** Delete Duplicates */ $ids=$this->db->query("SELECT EMPLID FROM ps_stu_status GROUP BY EMPLID HAVING COUNT(EMPLID)>1")->result_array(); $empids=[]; foreach($ids as $a){ $empids[]=$a['EMPLID']; } if($empids){ $this->db->where_in("EMPLID", $empids)->where_in("DESCR1", ['Career Change', 'Not Eligible'])->delete("ps_stu_status"); } /** \ */ pr(count($data).' records'); //send_email("sat.web1989@gmail.com", "PS STU STATUS", "No. of records=".count($data)." | ".currentDT()." | No. of Deletes: ".$ndel); /** Other */ $this->db->query("DELETE FROM tmp_applicants WHERE mob IN(SELECT mob FROM applicants)"); } } $t2=date('Y-m-d H:i:s'); //echo $t1.' -- '.$t2.' -- '; } function admin_sess($delete=''){ if($delete){ delete_files(PATHF.'api/sess'); }else{ $list=get_filenames(PATHF.'api/sess'); pr(count($list)); } } function stu_sess($delete=''){ if($delete){ delete_files(PATHF.'student-panel/api/sess'); }else{ $list=get_filenames(PATHF.'student-panel/api/sess'); pr(count($list)); } } function phdPendingFormSms(){ //0 9 * * * wget http://aweblms.sharda.ac.in/api/cron/phdPendingFormSms $dt1=date('Y-m-d', strtotime(date('Y-m-d')." - 1 days")); $dt2=$dt1." 23:59:59"; $f="a.id app_id, a.application_no, u.name, u.email, u.mob, p.title program, lp.title lpage, pf.step_completed"; $rs=$this->db->select($f) ->from("applicants u") ->join("applications a", "a.applicant_id=u.id") ->join("master_programs p", "a.program_id=p.id") ->join("landing_pages lp", "u.lpage_id=lp.id") ->join("phd_app_form pf", "pf.app_id=a.id", "left") ->where("u.is_phd", 1) ->where("a.created>=", $dt1) ->where("a.created<=", $dt2) ->like("a.application_no", "20223", "AFTER") ->group_start() ->where("pf.step_completed", NULL)->or_where("pf.step_completed<", 5) ->group_end() ->get()->result_array(); //echo $this->db->last_query(); foreach($rs as $r){ //$r['mob']="9958808167"; $fname=explode(" ", $r['name'])[0]; $msg="Dear $fname, Thank you for applying for {$r['program']} at Sharda University. Your application form is still incomplete. Complete your application Now at {$r['lpage']}. For any further query related to fee payment call us at 0120-4570000. for any course related query call us at +91-8249415702, 8178497575 or write us at contact.rtdc@sharda.ac.in."; send_sms($r['mob'], $msg); } echo ("SMS sent to ".count($rs)." applicants."); } function send_daily_alert(){ $this->load->model("api_model", "api"); $data=$this->api->daily_alert(); $html=$this->load->view("pages/daily_alert", $data, true); $subject=get_date(time())." - LMS Alert | Daily Application Status - Admissions 2024-25"; //send_email("sat.web1989@gmail.com", $subject, $html); $emails=$this->db->select("email")->get_where("master_admin_emails", array('daily_report'=>1))->result_array(); if($emails){ $emails=key_val_array($emails, '', 'email'); $emails=implode(",", $emails); send_email($emails, $subject, $html); } /* $to=[ "to"=>"rajeev.g@sharda.ac.in", "cc"=>"vinit.singh@sharda.ac.in,ajeet.kumar5@sharda.ac.in,umesh.kushwaha@sharda.ac.in,reema.sharad@sharda.ac.in,monika.pal@sharda.ac.in" ]; send_email($to, $subject, $html); */ //send_email("sat.web1989@gmail.com", $subject, $html); } function sendCallerReport(){ $this->load->model("api_model", "api"); $data=$this->api->callCenterReport(); $data['reportType']="Call Center"; $html1=$this->load->view("pages/call_center_report", $data, true); $data['reportType']="Admission"; $html2=$this->load->view("pages/call_center_report", $data, true); $emails="ajeet.kumar5@sharda.ac.in,sat.web1989@gmail.com"; send_email($emails, "Daily Report - Call Center @ ".date('d M Y'), $html1); send_email($emails, "Daily Report - Admission @ ".date('d M Y'), $html2); } function sendAutoEmailers($manual=''){ $hm=date("H:i"); if($hm==="13:00"){ @file_get_contents("http://13.126.113.191/icampaign/sendAutomationEmails"); return; } if($hm==="19:00"){ $this->sendCallerReport(); return; } if($hm!=="12:30" && !$manual){ return; } //send_email("sat.web1989@gmail.com", "Cron Time Test ".date("Y-m-d H:i:s"), "Cron Time Test ".date("Y-m-d H:i:s")); //return; $lpages=key_val_array($this->db->select("id,title")->get("landing_pages")->result_array(), 'id', 'title'); $subjects=[ 0=>"Dear [FIRSTNAME], Is World-Class Campus Life On Your Mind? Look No Further!", 1=>"Dear [FIRSTNAME], Experience a Vibrant Campus Life and Forge Lifelong Connections at Sharda University", 2=>"Dear [FIRSTNAME], Come Join the Pursuit of Research at Sharda University", 3=>"Dear [FIRSTNAME], Dream Big, Pay Nothing: Get a 100% Scholarship for Your Trailblazing Startup Idea!", 4=>"Dear [FIRSTNAME], Join the Scientific Revolution: Explore Sharda University's Advanced Lab Facilities", 5=>"Dear [FIRSTNAME], Expand Your Intellectual Horizons: Sharda University Library Welcomes You", 6=>"Dear [FIRSTNAME], Experience World-Class Sports Facilities at Sharda University!", 7=>"Dear [FIRSTNAME], Checkout Our Lively Hostel Facilities & Stay In Style At Sharda University!", ]; $updateData=[]; /*for($i=0; $i<=7; $i++){ $leads[$i]=$this->db->select("id, lpage_id, name, email, mob")->get_where("applicants", ['autoemail_sent_no'=>$i])->result_array(); }*/ for($i=0; $i<=7; $i++){ $n=$i+1; //$this->db->where_in("email", ["sat.web1989@gmail.com", "ajeetkumar084@gmail.com"]); $leads=$this->db->select("id, lpage_id, name, email, mob")->get_where("applicants", ['autoemail_sent_no'=>$i])->result_array(); //pr($n.". ".count($leads)); if($leads){ foreach($leads as $a){ $lpage=$lpages[$a['lpage_id']]; $dtl=[ 'name'=>$a['name'], 'login_url'=>generate_login_url($lpage, $a['mob']) ]; $html=$this->load->view("autoemailers/e$n", ['dtl'=>$dtl], true); $names=explode(" ", $a['name']); $sub=str_replace("[FIRSTNAME]", $names[0], $subjects[$i]); send_email($a['email'], $sub, $html); $updateData[]=[ 'id'=>$a['id'], 'autoemail_sent_no'=>$n ]; } } } if($updateData){ //pr($updateData); $this->db->update_batch("applicants", $updateData, "id"); } } function test(){ echo phpinfo(); } } //EOF