<?php
$message = (isset($_SESSION['message'])) ? $_SESSION['message'] :"";
$action = (isset($_REQUEST['action'])) ? $_REQUEST['action'] : "insert";

$collapse_booke_appointment_area = "collapse";

$where 	= " WHERE 1=1 ";


$query_string = "";

$button_value 	= "Add";
$table_name		= "appointment";

$next_page_condition 	= "";

if($_REQUEST['hide_top']){
	$next_page_condition.="&hide_top=1";
}
if($_REQUEST['hide_left']){
	$next_page_condition.="&hide_left=1";
}


if(isset($_REQUEST['source'])){
	$source = $_REQUEST['source'];
	$next_page_condition.="&source=$source";
}


$paging ="";
if($_REQUEST['start']){
	$paging .="&start=".$_REQUEST['start'];
	//$next_page_condition.="&start=$start";
}
$query_string =  (isset($_POST['query_string'])) ? $_POST['query_string'] : $_SERVER['QUERY_STRING'];
################################################## START EDIT ##################################################
if(isset($_REQUEST['action']) && $_REQUEST['action'] == 'edit'){
	$collapse_booke_appointment_area = "";
	$query_string =  (isset($_POST['query_string'])) ? $_POST['query_string'] : $_SERVER['QUERY_STRING'];
	
	$action 	= "update";
	$button_value 	= "Update";
	$page_name		= "Edit Appointment";	
		
    $id = $_REQUEST['id'];
    $sql= "SELECT * FROM $table_name WHERE id = $id";
    $result_edit = mysql_query($sql);
    $row_edit = mysql_fetch_array($result_edit);

    $id= $row_edit['id'];
    $job_id= $row_edit['job_id'];
    $admin_id= explode(",",$row_edit['admin_id']);
	$appointment_text= $row_edit['appointment_text'];
	$appointment_date= $row_edit['appointment_date'];
	$appointment_time= $row_edit['appointment_time'];
	$appointment_time_to= $row_edit['appointment_time_to'];
	$is_full_day= $row_edit['is_full_day'];
	$appointment_location= $row_edit['appointment_location'];
	$attended= $row_edit['attended'];
	$client_not_in= $row_edit['client_not_in'];
	$addess= $row_edit['addess'];
	$notes= $row_edit['notes'];
}
################################################# END EDIT ################################################# 


################################################## START update ################################################## 
if(isset($_REQUEST['action']) && $_REQUEST['action'] == 'update'){    
	utility::addslashesOnAllInput(array("query_string","admin_id"));
	$id= $_REQUEST['id'];
    $job_id= $_REQUEST['job_id'];
    $admin_id= implode(",",$_REQUEST['admin_id']);
    $appointment_text= $_REQUEST['appointment_text'];
	$old_appointment_date = utility::getTableFieldById($table_name,'appointment_date','id',$id);
	$old_appointment_date = utility::getFormatedDateReturn($old_appointment_date);
	$appointment_date	 = utility::setFormatedDate($_REQUEST['appointment_date']);
	$old_appointment_time = utility::getTableFieldById($table_name,'appointment_time','id',$id);
	$appointment_time= $_REQUEST['appointment_time'];
	$appointment_time_to= $_REQUEST['appointment_time_to'];
	$is_full_day= (isset($_REQUEST['is_full_day'])) ? 1 : 0;
	$attended= (isset($_REQUEST['attended'])) ? 1 : 0;
	$client_not_in= (isset($_REQUEST['client_not_in'])) ? 1 : 0;
	$addess= $_REQUEST['addess'];
	$notes= $_REQUEST['notes'];
	$appointment_location= $_REQUEST['appointment_location'];

    $sql= "UPDATE appointment SET job_id = '$job_id',admin_id = '$admin_id',appointment_text = '$appointment_text',appointment_date = '$appointment_date',appointment_time = '$appointment_time',appointment_time_to = '$appointment_time_to',is_full_day = '$is_full_day',attended = '$attended',client_not_in = '$client_not_in',addess = '$addess',notes = '$notes',appointment_location = '$appointment_location',updated_by = '".$_SESSION['user_id']."' WHERE id = $id";
    mysql_query($sql);
	if(isset($_SESSION['uploadfileArray'])){
		foreach($_SESSION['uploadfileArray'] as $key => $uploadfile){
			$sql= "INSERT INTO appointment_document (appointment_id,appointment_document) VALUES('$id','$uploadfile')";
			mysql_query($sql);
		}
		unset($_SESSION['uploadfileArray']);
	}
	
	if($old_appointment_date != $_REQUEST['appointment_date'] || $old_appointment_time != $appointment_time.":00"){
		/********************************* Appointment Mail ****************************************************/
		$mail_format_subject = utility::getTableFieldById("mail_format","mail_format_subject","mail_format_name","activity_appointment");
		//$activity_type_text = Keycode::getkeycodeById($activity_type);
		$activity_type_text = utility::getTableFieldById('job','company_name','id',$job_id);
		$find_array = array("[customer_name]");
		$replace_array = array($activity_type_text,$customer_name);
		$mail_format_subject = str_replace($find_array,$replace_array,$mail_format_subject);
		
		$to_name = "Shoeb Ahmad";//utility::getTableFieldById('job','contact_name','id',$job_id);
		$to_address = "shoebahmad999@gmail.com";//utility::getTableFieldById('job','email_1','id',$job_id);
		$startTime = utility::setFormatedDateAndTimeForCalendar($_REQUEST['appointment_date'],$appointment_time);
		
		$activity_time_array = explode(":",$appointment_time);
		$activity_time_array[0] = $activity_time_array[0]+1;
		$end_activity_time = implode(":",$activity_time_array);
		$endTime = utility::setFormatedDateAndTimeForCalendar($_REQUEST['appointment_date'],$end_activity_time);
		
		$appointment_location = $_REQUEST['appointment_location'];
		
		$site_email = $config->siteEmail;
		
		$first_name1 = utility::getTableFieldById('job','first_name1','id',$job_id);
		$last_name1 = utility::getTableFieldById('job','last_name1','id',$job_id);
		$customer_array = array();
		$name = ucfirst($first_name1)." ".ucfirst($last_name1);
		$customer_array["name"] = $name;
		$address = $krscrm->getCustomerAddressById($job_id);
		$customer_array["address"] = $address;
		
		$telephone = "";
		$telephone_1 = utility::getTableFieldById('job','phone_no1','id',$job_id);
		$telephone_1d = utility::app_crypt($telephone_1,'d');
		if($telephone_1 != ""){
			$telephone .= $telephone_1d;
		}
		$telephone_2 = utility::getTableFieldById('job','phone_no2','id',$job_id);
		$telephone_2d = utility::app_crypt($telephone_2,'d');
		if($telephone_2 != ""){
			$telephone .= ", ".$telephone_2d;
		}
		$customer_array["telephone"] = $telephone;
		//$customer_array["telephone"] = utility::app_crypt($telephone,'d');
		
		//$consultant_email = utility::getTableFieldById('admin','email_admin','id',$consultant_id);
		$consultant_email = "adityaprakash89@gmail.com, jaydenlewistaylor@gmail.com";
		//$from_address = $consultant_email;
		$from_address = "info@afcl.web-alliance.co.uk";
					
		$functions->sendIcalEvent($from_name = "Kingsleyroofers", $from_address , $customer_array, $consultant_email, $startTime, $endTime, $mail_format_subject, $notes, $appointment_location,$domain = "www.web-alliance.co.uk");
		/********************************* End Appointment Mail ************************************************/
	}
	
	$query_string = (isset($_REQUEST['query_string']) && !empty($_REQUEST['query_string'])) ? $_REQUEST['query_string'] : "";
  	$query_string = str_ireplace(array("page=add","action=edit"), array("page=list",""), $query_string);
	$query_string = "&".$query_string;
	$tmp = ucfirst(str_replace("_"," ", $table_name));
	
	$_SESSION['message']	= ucfirst("appointment updated sucessfully");
	$redirect = "index?page=view_appointment_for_admin$query_string";
	header("Location: $redirect");
	exit();
	
}
################################################# END update ################################################# 
    
################################################## START INSERT ##################################################
if(isset($_REQUEST['action']) && $_REQUEST['action'] == 'insert'){	    
	utility::addslashesOnAllInput(array("query_string","admin_id"));
    $job_id = $_REQUEST['job_id'];	
    $admin_id = implode(",",$_REQUEST['admin_id']);
	$appointment_text = $_REQUEST['appointment_text'];
	//$source	 = $_REQUEST['source'];
	$appointment_date	 = utility::setFormatedDate($_REQUEST['appointment_date']);
	$appointment_date_to = utility::setFormatedDate($_REQUEST['appointment_date_to']);
	$appointment_time = $_REQUEST['appointment_time'];
	$appointment_time_to = $_REQUEST['appointment_time_to'];
	$is_full_day = (isset($_REQUEST['is_full_day'])) ? 1 : 0;
	$attended = (isset($_REQUEST['attended'])) ? 1 : 0;
	$client_not_in = (isset($_REQUEST['client_not_in'])) ? 1 : 0;
	$addess = $_REQUEST['addess'];
	$notes = $_REQUEST['notes'];
	$appointment_location = $_REQUEST['appointment_location'];
	$created_on = date("Y-m-d");
	
	if(strtotime($appointment_date_to) >= strtotime($appointment_date)){
		$_SESSION['message']	= ucfirst("Appointment added sucessfully");
		$no_of_days = ((strtotime($appointment_date_to) - strtotime($appointment_date))/(24*60*60)) + 1;
	}else{
		$_SESSION['message']	= "To date can't be less than from date.";
	}
		
	for($i = 1; $i<=$no_of_days; $i++){
		if($i > 1){
			$j = $i - 1;
			$appointment_date	 = date("Y-m-d",strtotime($_REQUEST['appointment_date']." + ".$j."days"));
		}
		//echo $appointment_date."<br>";
		$sql= "INSERT INTO $table_name (job_id,admin_id,appointment_text,appointment_date,appointment_time,appointment_time_to,is_full_day,attended,client_not_in,addess,notes,appointment_location,updated_by,created_on) VALUES('$job_id','$admin_id','$appointment_text','$appointment_date','$appointment_time','$appointment_time_to','$is_full_day','$attended','$client_not_in','$addess','$notes','$appointment_location','".$_SESSION['user_id']."','$created_on')";
		mysql_query($sql);
		$appointment_id = mysql_insert_id();
		if(isset($_SESSION['uploadfileArray'])){
			foreach($_SESSION['uploadfileArray'] as $key => $uploadfile){
				$sql= "INSERT INTO appointment_document(appointment_id,appointment_document) VALUES('$appointment_id','$uploadfile')";
				mysql_query($sql);
			}
			unset($_SESSION['uploadfileArray']);
		}
	}
	
	/********************************* Appointment Mail ****************************************************/
	$mail_format_subject = utility::getTableFieldById("mail_format","mail_format_subject","mail_format_name","activity_appointment");
	//$activity_type_text = Keycode::getkeycodeById($activity_type);
	$activity_type_text = utility::getTableFieldById('job','company_name','id',$job_id);
	$find_array = array("[customer_name]");
	$replace_array = array($activity_type_text,$customer_name);
	$mail_format_subject = str_replace($find_array,$replace_array,$mail_format_subject);
	
	$to_name = "Shoeb Ahmad";//utility::getTableFieldById('job','contact_name','id',$job_id);
	$to_address = "shoebahmad999@gmail.com";//utility::getTableFieldById('job','email_1','id',$job_id);
	$startTime = utility::setFormatedDateAndTimeForCalendar($_REQUEST['appointment_date'],$appointment_time);
	
	$activity_time_array = explode(":",$appointment_time);
	$activity_time_array[0] = $activity_time_array[0]+1;
	$end_activity_time = implode(":",$activity_time_array);
	$endTime = utility::setFormatedDateAndTimeForCalendar($_REQUEST['appointment_date'],$end_activity_time);
	
	$appointment_location = $_REQUEST['appointment_location'];
	
	$site_email = $config->siteEmail;
	
	$first_name1 = utility::getTableFieldById('job','first_name1','id',$job_id);
	$last_name1 = utility::getTableFieldById('job','last_name1','id',$job_id);
	$customer_array = array();
	$name = ucfirst($first_name1)." ".ucfirst($last_name1);
	$customer_array["name"] = $name;
	$address = $krscrm->getCustomerAddressById($job_id);
	$customer_array["address"] = $address;
	
	$telephone = "";
	$telephone_1 = utility::getTableFieldById('job','phone_no1','id',$job_id);
	$telephone_1d = utility::app_crypt($telephone_1,'d');
	if($telephone_1 != ""){
		$telephone .= $telephone_1d;
	}
	$telephone_2 = utility::getTableFieldById('job','phone_no2','id',$job_id);
	$telephone_2d = utility::app_crypt($telephone_2,'d');
	if($telephone_2 != ""){
		$telephone .= ", ".$telephone_2d;
	}
	$customer_array["telephone"] = $telephone;
	//$customer_array["telephone"] = utility::app_crypt($telephone,'d');
	
	//$consultant_email = utility::getTableFieldById('admin','email_admin','id',$consultant_id);
	$consultant_email = "jaydenlewistaylor@gmail.com, adityaprakash89@gmail.com";
	//$from_address = $consultant_email;
	$from_address = "info@afcl.web-alliance.co.uk";
				
	$functions->sendIcalEvent($from_name = "Kingsleyroofers", $from_address , $customer_array, $consultant_email, $startTime, $endTime, $mail_format_subject, $notes, $appointment_location,$domain = "www.web-alliance.co.uk");
	/********************************* End Appointment Mail ************************************************/
	
	$query_string = (isset($_REQUEST['query_string']) && !empty($_REQUEST['query_string'])) ? $_REQUEST['query_string'] : "";
  	$query_string = str_ireplace("page=add", "page=list", $query_string);
	$query_string = "&".$query_string;
	$tmp = ucfirst(str_replace("_"," ", $table_name));
	
	
	$redirect = "index?page=view_appointment_for_admin&name=$name$query_string";
	header("Location: $redirect");
	exit();
}
################################################# END INSERT #################################################


if($_REQUEST['job_id_search']){
	$job_id_search = $_REQUEST['job_id_search'];
	$where 	.= " AND job_id ='$job_id_search' ";
	$next_page_condition.="&job_id_search=".$_REQUEST['job_id_search'];
}

if($_REQUEST['admin_id_search']){
	$admin_id_search = $_REQUEST['admin_id_search'];
	//$where 	.= " AND admin_id ='$admin_id_search' ";
	$where 	.= " AND admin_id LIKE '%$admin_id_search%' ";
	$next_page_condition.="&admin_id_search=".$_REQUEST['admin_id_search'];
}
$from_appointment_date = isset($_REQUEST['from_appointment_date']) ? utility::setFormatedDate($_REQUEST['from_appointment_date']) : "";
$to_appointment_date = isset($_REQUEST['to_appointment_date']) ? utility::setFormatedDate($_REQUEST['to_appointment_date']) : "";
if($from_appointment_date && $to_appointment_date){
	$where .= " AND appointment_date BETWEEN '$from_appointment_date 00:00:00' and '$to_appointment_date 23:59:59' ";
    $next_page_condition.="&from_appointment_date=".$_REQUEST['from_appointment_date']."&to_appointment_date=".$_REQUEST['to_appointment_date']." ";
}else if($from_appointment_date){
	$where.= " AND appointment_date >= '$from_appointment_date' ";
	$next_page_condition.="&from_appointment_date=".$_REQUEST['from_appointment_date'];
}else if($to_appointment_date){
	$where.= " AND appointment_date <= '$to_appointment_date' ";
	$next_page_condition.="&to_appointment_date=".$_REQUEST['to_appointment_date'];
}
if($_REQUEST['is_full_day']){
	$is_full_day = (isset($_REQUEST['is_full_day'])) ? 1 : 0;
	$where 	.= " AND is_full_day ='$is_full_day' ";
	$next_page_condition.="&is_full_day=".$_REQUEST['is_full_day'];
}
###########################################  PAGING WITH PER PAGE  #####################################
$file_name		= "index"; // this is file name which is used during paging  , included at the bottom of the page
$paging_table_name	= $table_name;
$paging_query		= $where;
$join_query_for_paging = "SELECT * FROM $table_name  $where ";
$page_header = "Appointment Management ";
include("paging/paging_query.inc.php");
############################################ END PAGING WITH PER PAGE  #######################################
$query = "SELECT *,TIME_FORMAT(appointment_time, '%H:%i') as appointment_time,TIME_FORMAT(appointment_time_to, '%H:%i') as appointment_time_to FROM $table_name $where ORDER BY appointment_date DESC LIMIT $eu, $limit ";
$sql=mysql_query($query);
$result=mysql_num_rows($sql);

$total_no_of_appointments = mysql_num_rows(mysql_query($join_query_for_paging));
#################################   DELETE    #########################################
// when we click on delete this area of php appointment will execute
if(isset($_REQUEST['action']) && $_REQUEST['action']=='delete'){
	$uploaddir = '../appointment_document/';
	$id	= $_REQUEST['id'];
	mysql_query("DELETE FROM $table_name WHERE id = $id ");
	$sql = "SELECT * FROM appointment_document WHERE appointment_id = '$id' ";
	$rs = mysql_query($sql);
	if(mysql_num_rows($rs) > 0){
		while($data = mysql_fetch_assoc($rs)){
			$document_id = $data["id"];
			$document_name = $data["appointment_document"];
			$old_image	=	$uploaddir.$document_name;	
			if(file_exists($old_image)){
				mysql_query("DELETE FROM appointment_document WHERE id = '$document_id' ");
				unlink($old_image);
			}
		}
	}
	
	$_SESSION['message']	= ucfirst("Appointment deleted sucessfully");
	$redirect = "index?page=view_appointment_for_admin";
	header("Location: $redirect");
	exit();
}
#################################  END DELETE    #########################################
#################################  Export CSV    #########################################
if(isset($_REQUEST['action']) && $_REQUEST['action']=='export_appointment_details'){
  include("export_appointment_details_to_csv.inc.php");
}
###########################################  End Export  #####################################
?>

<section class="content-header">
  <h1 style="float:left;margin-bottom:10px;">
	<? echo str_replace(array("_"),array(" "),$page_header); ?>
  </h1>	
  <div style="floar:right;float:right;">
	<a href="<?php echo $siteURL ?>/appointment/index?page=view_calendar_for_appointment"><i class="fa fa-calendar"></i> <span>Calendar View</span></a>
  </div>
</section>
<div style="clear:both;"></div>
<!----------------------- Message ------------------------------->
	<? if(isset($_SESSION['message'])){ ?>
	<section class="content-header">
	  <div class="alert alert-info alert-dismissable" style="margin-bottom:0px;">
		<button type="button" class="close" data-dismiss="alert" aria-hidden="true">&times;</button>
		<? echo $_SESSION['message'];
			unset($_SESSION['message']);
		?>
	  </div>
	</section>
	<? } ?>
<!----------------------- End Message ------------------------------->
	<section class="content">
		<div class="row">
			<div class="col-xs-12">
				<div class="box">

				<div class="box-body">
				<div class="row" style="padding:0px 10px;">
					<?php include_once('add_appointment_for_admin.inc.php');?>
				</div>
				Total No. of appointments <?=$total_no_of_appointments;?>
				<div style="float:right;margin-bottom:4px;">Export Appointment Details &nbsp;&nbsp;<a href="index?page=view_appointment_for_admin&action=export_appointment_details<?=$next_page_condition;?>"><i class="fa fa-download" style="font-size:20px;"></i></a></div>
				<div style="clear:both;"></div>
				<!--<table width="100%" border="0" align="center" cellpadding="3" cellspacing="1" bgcolor="#CCCCCC">-->					
				<form action="?page=view_appointment_for_admin&name=<?=$name?>" method="post" name="form1" id="form1">
				<? if($result>0){
				?>
				<!-- Start  records header -->
				<div class="box-body table-responsive no-padding">
				<table id="example1" class="table table-bordered table-striped">
					<thead>
						<tr>
							<th>Id</th>
							<th>Description</th>
							<th>Consultant</th>
							<th>Location</th>
							<th>Date</th>
							<th>Time From</th>
							<th>Time To</th>
							<th>Full Day</th>
							<th>Documents</th>
							<th>Edit</th>						
							<th>Delete</th>
						</tr>
					</thead>
					<tbody>
					<!-- End records header -->
					<?
					while($row = mysql_fetch_array($sql)){
					?>
					<!-- Start data -->
					<tr>
						<td><?php echo $row['job_id']; ?></td>
						<td><?php echo $row['appointment_text']; ?></td>
						<td><?php echo Admin::getAdminsById($row['admin_id']); ?></td>
						<td><?php echo $row['appointment_location']; ?></td>
						<td><?php echo utility::getFormatedDateReturn($row['appointment_date']); ?></td>
						<td><?php echo $row['appointment_time']; ?></td>
						<td><?php echo $row['appointment_time_to']; ?></td>
						<td><?php echo ($row['is_full_day'] == 0) ? "No" : "Yes"; ?></td>
						<td>
							<div style="overflow:hidden;">
								<?
									$appointment_doc = "";
									$sql_for_doc = "SELECT * FROM appointment_document WHERE appointment_id = '".$row['id']."' ";
									$rs_for_doc = mysql_query($sql_for_doc);
									if(mysql_num_rows($rs_for_doc) > 0){
										while($data = mysql_fetch_assoc($rs_for_doc)){
											$appointment_doc .= "<div style='claer:both;width:200px;' id='doc_div".$data["id"]."'>".$data["appointment_document"]." <a href='index?page=file_download&download_for=appointment_document&document_id=".$data['id']."  target='_blank'><i class='fa fa-fw fa-download'></i></a><i class='fa fa-close pull-right document_delete_list' alt='".$data["id"]."' style='margin-top:3px;color:#3C8DBC;cursor:pointer;'></i></div>";
										}
										$appointment_doc = substr($appointment_doc,0,-4);
									}
									echo $appointment_doc;
								?>
							</div>
						</td>
						<td><a href="index?page=view_appointment_for_admin&action=edit&id=<?=$row['id'].$next_page_condition.$paging;?>"> <img src="../images/edit.gif" border="0" /> </a></td>
						<td><a
							href="index?page=view_appointment_for_admin&action=delete&id=<?=$row['id'].$next_page_condition.$paging; ?>"
							onclick=" javascript:return confirm('Are you sure! You want to delete');"><img
							src="../images/del.gif" border="0" /> </a></td>
					</tr>
					<!-- End data -->
					<? 
					}?>
					
					<?}else{?>
					<tr>
						<td colspan="6">No appointment found...</td>
					</tr>
					<?php }?>
					</tbody>
					
				</table>
				</div>
					<!-- Paging starts here  -->
					<? 
					$next_page_condition .="&page=view_appointment_for_admin";
					include("paging/paging_row.inc.php") ?>
					<!-- Paging ends starts here  -->
						
					<!--</table>-->
					</form>
					</div>
				</div>
			</div>
		</div>
	</section>
<script type="text/javascript">
$(document).ready(function(){		
	$(".document_delete_list").click(function(){
		if(confirm("Do you want to delete the document?")){
			var document_id = $(this).attr("alt");
			if(document_id != ""){
				var form_data   = {'document_id':document_id};  
				$.ajax({
					async: true,
					type: "POST",
					url: site_url+"/modules/appointment/index.php?page=ajax_actions&action=delete_document_from_list",
					data: form_data,
					success: function(result){
						var resultObj = jQuery.parseJSON(result); 
						if(resultObj.status == "success"){
							$("#doc_div"+document_id).hide();
						}
					}
				});	
			}
		}
	});
});	
</script>