MOON
Server: Apache
System: Linux nserver.cafsindia.com 4.18.0-553.104.1.lve.el8.x86_64 #1 SMP Tue Feb 10 20:07:30 UTC 2026 x86_64
User: cafsindia (1002)
PHP: 8.2.30
Disabled: NONE
Upload Files
File: //home/cafsindia/.trash/backup/timeoffice/cron_manager_link.php
<?php
	include('../app/dbconnect.php');
	class Manager_info extends dbconnect{
		public function __construct() {
			$this->open_db();
		}
	 
		public function get_manager_code(){
			//$unpunched_date = date('Y-m-d',strtotime($unpunched_date. '+'.$days_count. 'days'));
			$date = new DateTime();
			$unpunched_date = $date->modify("-1 days")->format('Y-m-d');    //Yesterday date
			$day            = $date->modify("-1 days")->format('D');
			$encode_date = base64_encode($unpunched_date);
			$get_manager_code_qry    = 'select GROUP_CONCAT(DISTINCT leave_reporting) as leave_reporting from dailyunpunch inner join cw_employees on cw_employees.thumb_no = dailyunpunch.dcode  where dailyunpunch.att_date = "'.$unpunched_date.'"';
			$manager_code_info    = $this->runQuery("$get_manager_code_qry");
			//$manager_code_info; die;
			$manager_code_result  = $this->result($manager_code_info);
			$manger_code          = $manager_code_result[0]->leave_reporting;

			$manger_code          = str_replace(",",'","',$manger_code);
			$manger_code          = '"'.$manger_code.'"';
			//echo $manger_code; die;
			$get_manager_mail_qry    = 'select employee_code,company_email_id from cw_employees where trans_status = 1 and employee_code in ('.$manger_code.')';
			//echo $get_manager_mail_qry; die;
			$manager_mail_info    = $this->runQuery("$get_manager_mail_qry");
			$manager_mail_result  = $this->result($manager_mail_info);
		
			$base_url = "http://".$_SERVER['SERVER_NAME'].dirname($_SERVER["REQUEST_URI"].'?').'/';
			$url = str_replace("cron_manager.php?frm=unpunched_link","","$base_url");
			
			//url http://localhost/colmanhrms/timeoffice/index.php?frm=get_unpunch&unpunched_date=MjAyMC0wMi0yNg==&emp_code=MTAwMTQ=
			//print_r($manager_mail_result); die;
			$unpunched_link = array();
			if($manager_mail_result){
				foreach($manager_mail_result as $manger_rslt){
					$manager_code = base64_encode($manger_rslt->employee_code);				
					$manager_mail = $manger_rslt->company_email_id;
					$leave_link   = $url."index.php?frm=get_unpunch&unpunched_date=$encode_date&emp_code=$manager_code";
					$unpunched_link[] = array('link'=>$leave_link,'manager_mail'=>$manager_mail);
				}
			}
			//print_r($unpunched_link);die;
			return $unpunched_link;
		}
		
		public function mail_config(){
			$get_email_qry    = 'select * from cw_mail_configurations where trans_status = 1 and mail_status = 1';
			$email_info       = $this->runQuery("$get_email_qry");
			$email_result     = $this->result($email_info);
			return $email_result[0];
		}
		
		public function mail_process(){
			require('../phpmailer/class.phpmailer.php');			
			$link_details = $this->get_manager_code();
			$mail_result  = $this->mail_config();
			$status       = true;			
			if($link_details){
				$insert_values = '';
				foreach($link_details as $link_info){
					if(!empty($link_info['manager_mail'])){
						$manager_mail  = $link_info['manager_mail'];
						if($this->sent_mail($link_info['manager_mail'],$mail_result,$link_info['link'])){
							$message  = 'Sent Successfully';
							$status   = 'sent';
							$insert_values = "('-','$manager_mail','$status','$message'),";
						}else{
							$message  = 'Mail Not Send';
							$status   = 'Not send';
							$insert_values = "('-','$manager_mail','$status','$message'),";
						}
					}				
				}	
				if($insert_values !== ''){
					$insert_values   = rtrim($insert_values,',');
					$email_log_query = 'INSERT into cw_time_office_mail_log (employee_code,mail_id,status,message) values '.$insert_values.'';
					$this->runQuery("$email_log_query");
				}		
			}
			return	true;
		}
	/*$test   = new Manager_info();
	$result = $test->sent_mail();*/
	public function sent_mail($manager_mail,$mail_result,$link){
		/*if($mail_result){
			$smpt_server      = $mail_result->smtp_server;
			$port_no          = $mail_result->port_no;
			$user_name        = $mail_result->mail_username;
			$user_password    = $mail_result->mail_password;
			$hr_mail          = $mail_result->sender_email;
			$cc_mail          = $mail_result->bcc;
		}
			$date = new DateTime();
			$unpunched_date = $date->modify("-1 days")->format('d-M-Y');

			$mail = new PHPMailer();
			$mail->IsSMTP();
			$mail->Host = $smpt_server; // Your SMTP PArameter
			$mail->Port = $port_no; // Your Outgoing Port
			$mail->SMTPAuth = true; // This Must Be True
			$mail->Username = $user_name; // Your Email Address
			$mail->Password = $user_password; // Your Password
			$mail->SMTPSecure = 'tls'; // Check Your Server's Connections for TLS or SSL
			$mail->From = $hr_mail;
			$mail->FromName = 'Collman Time Office';
			$mail->IsHTML(true);
			$mail->Subject="Unpunched Data on ".$unpunched_date ;
			$mail->AddAddress($manager_mail);
			$mail->Body = "Dear Sir/Madam,<br/><br/>Please Find the link for unpunched details on ".$unpunched_date.": <a href='$link'> Click Here </a>";
			if($mail->Send()){
				return true;
			}else{
				return false;
			}*/
	}

	//Unpunched Not Updated
	public function up_not_updated(){
		$date = new DateTime();
		$unpunched_date = $date->modify("-2 days")->format('Y-m-d'); 
		$monthly_date   = "date_".(int)date("d",strtotime($unpunched_date));
		$month          = date("Y-m-01",strtotime($unpunched_date));
		//Get IDS
		$qry = 'SELECT GROUP_CONCAT(dailyunpunch.dcode) as dcode FROM dailyunpunch WHERE dailyunpunch.dcode not in (select cw_dailyunpunch.dcode from cw_dailyunpunch where cw_dailyunpunch.att_date = "'.$unpunched_date.'") and dailyunpunch.dcode != "" and dailyunpunch.att_date = "'.$unpunched_date.'"';
		$pending_info   = $this->runQuery("$qry");
		$pending_result = $this->result($pending_info);
		$emp_codes      = $pending_result[0]->dcode;
		//echo $emp_codes; die;
		$update_emp_query = 'UPDATE monthlyattdata set '.$monthly_date.' = "L" where dcode in ('.$emp_codes.') and att_month = "'.$month.'" and etype = "A"';
		$update_monthly    = $this->runQuery("$update_emp_query");
		if($update_monthly){
			$ins_manager_sts_qry    = 'INSERT INTO cw_dailyunpunch (att_date,empcode,dcode,swipe_status,manager_status,in_time,out_time,trans_created_by,trans_created_date) SELECT att_date,empcode,dcode,swipe_status,"L",in_time,out_time,"1","'.date("Y-m-d") .'" FROM dailyunpunch WHERE dailyunpunch.dcode in ('.$emp_codes.') and dailyunpunch.att_date = "'.$unpunched_date.'"';
			$leave_info       = $this->runQuery("$ins_manager_sts_qry");
			if($leave_info){
				return true;
			}else{
				return false;
			}
		}		
	}
}
	
?>