%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', '2048M'); set_time_limit(3000); $this->load->model('pay_model', 'pay'); $this->load->model('user_model', 'user'); $this->load->model('ps_model', 'ps'); $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=''){ 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=''){ $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(); $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'; } $data[]=$r; } } if($data){ if($print){ pr($data); send_email("sat.web1989@gmail.com", "PS STU STATUS", "No. of records=".count($data)." | ".currentDT()); }else{ //$this->db->truncate('ps_stu_status'); $this->db->where("1=1")->delete("ps_stu_status"); $ndel=$this->db->affected_rows(); $this->db->insert_batch("ps_stu_status", $data); pr(count($data).' records'); send_email("sat.web1989@gmail.com", "PS STU STATUS", "No. of records=".count($data)." | ".currentDT()." | No. of Deletes: ".$ndel); } } $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 test(){ echo phpinfo(); } } //EOF