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;
}
}
}
}
?>