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/application.1/views/timecard_generation/manage.php
<?php
	$this->load->view("partial/header"); 

	$access_data    = $this->session->userdata('access_data');
	$access_add     = (int)$access_data[$controller_name]['access_add'];
	$access_update  = (int)$access_data[$controller_name]['access_update'];
	$access_delete  = (int)$access_data[$controller_name]['access_delete'];
	$access_search  = (int)$access_data[$controller_name]['access_search']; 
	$access_export  = (int)$access_data[$controller_name]['access_export'];
	$access_import  = (int)$access_data[$controller_name]['access_import'];
	
	$page_name      = ucwords(str_replace("_"," ",$controller_name));
	$uniqueId       = "prime_".$controller_name."_id";
?>
<script type="text/javascript">
$(document).ready(function (){
    <?php $this->load->view('partial/bootstrap_tables_locale'); ?>
	$("#search_submit").click(function(){
		$("#search_filter_div").toggle();
	});
	select();
	$("#pdf_block_employees").parent().hide();
	$("#search_filter_div").hide();
	$("#search_filter").click(function(){
		$("#search_filter_div").toggle();
	});	
	$("#clear_search").click(function(){
		$('#search_filter_div').find('input').val('');
		$('#search_filter_div').find('option').attr('selected', false);
		$("#search_filter_div").toggle();
		select();
	});
	//view Overall Timecard
	hide_show();
	hide_show();
	$('#process_mode').on('change',function(){
		hide_show();
	});
	// Change Process by 
	$("#process_by").change(function(){
		var process_by = $('#process_by').val();
		$("#pdf_block_employees").val('');
		if(parseInt(process_by) === 1){
			$("#pdf_block_employees").parent().show();
			$("#search_filter").parent().hide();
			$('#pdf_block_employees option').prop('selected', false);
		}else{
			$("#pdf_block_employees").parent().hide();
			$("#search_filter").parent().show();
			$('#pdf_block_employees option').prop('selected', true);
		}
		select();
	});
	// Change Category
	$("#category").change(function(){
		var category        = $("#category").val();
		var timecard_month   = $("#timecard_month").val();
		var can_process     = true;
		if(timecard_month === "" && timecard_month.length < 1){
			can_process = false;
		}
		if(category && can_process){
			get_employees_list(category,timecard_month);
		}
	});
	// Change timecard month
	$('#timecard_month').on("dp.hide",function(e){
		var category            = $("#category").val();
		var timecard_month       = $("#timecard_month").val();
		if(category && timecard_month){
			get_employees_list(category,timecard_month);
		}
	});

	var process_mode = $("#process_mode").val();
	$("#process_mode").change(function(){
		var process_mode = $("#process_mode").val();
		view_hide_show(process_mode);
	});
	view_hide_show(process_mode);
	// Generate Pdf
	$("#generate_pdf").click(function(event){
		var category           = $('#category').val();
		var timecard_month      = $('#timecard_month').val();
		var process_by         = $('#process_by').val();
		var process_mode       = $('#process_mode').val();
		var fliter_label       =  $("input[name='fliter_label[]']").map(function(){return $(this).val();}).get();
		var fliter_type        =  $("input[name='fliter_type[]']").map(function(){return $(this).val();}).get();
		var input_field_type   =  $("input[name='input_field_type[]']").map(function(){return $(this).val();}).get();
		var filter_cond        =  $("select[name='filter_cond[]']").map(function(){return $(this).val();}).get();
		var fliter_val         =  $("input[name='fliter_val[]'],select[name='fliter_val[]']").map(function(){return $(this).val();}).get();
		var pdf_block_employees         =  $("select[name='pdf_block_employees[]']").map(function(){return $(this).val();}).get();
		// console.log(filter_cond);
		// console.log(fliter_val);
		var can_process = true;
		if(category === "" && category.length < 1) {
			toastr.error("Please Select Category");
			can_process = false;
		}
		if(timecard_month === "" && timecard_month.length < 1){
			toastr.error("Please Select Month");
			can_process = false;
		}
		if(process_by === "" && process_by.length < 1){ 
			if((parseInt(process_mode) === 1 || parseInt(process_mode) === 2)){
				toastr.error("Please Select Process By");
				can_process = false;
			}
		}
		if(process_mode === "" || process_mode.length < 1) {
			toastr.error("Please Select Process Mode");
			can_process = false;
		}
		if(parseInt(process_by) === 1){
			if(pdf_block_employees == "" && pdf_block_employees.length < 1 ){
				if((parseInt(process_mode) === 1 || parseInt(process_mode) === 2)){
					toastr.error("Please Select Block Employees");
					can_process = false;
				}
			}
		}
		if(can_process){
			if(category && timecard_month){
				$("#generate_pdf").html("<i class='fa fa-spinner fa-spin'></i> Processing...");
				$('#generate_pdf').attr('disabled','disabled');
				//Encryption
				var key     = '<?php echo $key; ?>';
				var data    = {category:category,timecard_month:timecard_month,fliter_label:fliter_label,fliter_type:fliter_type,input_field_type:input_field_type,filter_cond:filter_cond,fliter_val:fliter_val,process_by:process_by,pdf_block_employees:pdf_block_employees,process_mode:process_mode};
				var encData = encrypt(key,data);
				$.ajax({
					type: "POST",
					url: '<?php echo site_url("$controller_name/timecard_generation"); ?>',
					data:encData,				
					contentType: 'text/plain',
					success: function(data){
						var rslt = JSON.parse(data);
						if(rslt.success){
							$('#employee_table_view').html(rslt.table_data);
							$('#emp_details').DataTable();
							$("#generate_pdf").html("Process");
						}else{
							toastr.error(rslt.message);
							$('#employee_table_view').html(rslt.table_data);
							$("#generate_pdf").html("Process");
						}
						select();
						$('#generate_pdf').attr('disabled',false);
						$("#generate_pdf").html("<span class='fa fa-file'>&nbsp;</span> Process ");
					},
				});
			}
		}
	});
});
// Hide show	
function hide_show(){
	var process_mode = parseInt($('#process_mode').val());
	if(process_mode === 1){
		$('#search_filter').parent().show();
	}else{
		$('#search_filter').parent().hide();
	}
}
//COMMON SELECT2 FUNCTIONS
function select(){
	$(".datepicker").datetimepicker({
		format: 'MM-YYYY'
	});
	$("#timecard_month").datetimepicker({
		format: 'MM-YYYY'
	});
	$('.select2').select2({
		placeholder: '---- Select ----',
		allowClear: true,
	});
	$('.select2-tags').select2({
		tags: true,
		tokenSeparators: [',']
	});
}
function empty_all(){
	$("#timecard_month").val("");
	$("#process_by").val("");
	$("#category").val("0");
	$('#pdf_block_employees option:selected').removeAttr('selected');
	$("#pdf_block_employees").parent().hide();
	select();
}
function get_employees_list(category,timecard_month){
	//Encryption
	var key     = '<?php echo $key; ?>';
	var data    = {category:category,timecard_month:timecard_month};
	var encData = encrypt(key,data);
	$.ajax({
		type: "POST",
		url: '<?php echo site_url($controller_name . "/get_employees_list"); ?>',
		data:encData,				
		contentType: 'text/plain',
		beforeSend: function () {
			$("#pdf_block_employees").next('span').attr('id', 'pdf_block_employees_span');
				$('#pdf_block_employees_span').html('<span style="color:#CC3366;"><i class="fa fa-spinner fa-spin fa-2x fa-fw"></i><br/>Loading...</span>');  
 		},
		success: function(data){
			var rslt = JSON.parse(data);
			if(rslt.success){
				$('#pdf_block_employees_span').empty(); 
				$('.select2').select2({
					placeholder: '---- Select ----',
					allowClear: true,
					//dropdownParent: $('.modal-dialog')
				});
				$('#pdf_block_employees').html(rslt.option);
			}else{
				toastr.error(rslt.message);
				$("#timecard_month").val('');
			}
			
		},
	});	
}
function pdf_viewer(url){
	var file_path   = atob(url);  //decrypt base64 encryption !! 
	PDFObject.embed(file_path, "#example1");
	$("#myModal").modal("show");
}
function download_timecard(id,path){
	var file_path   = atob(path);  
	$("#"+id).attr("href",file_path);
}
function download_zip(path_name){
	if(path_name){
		//Encryption
		var key     = '<?php echo $key; ?>';
		var data    = {path_name:path_name};
		var encData = encrypt(key,data);
		$.ajax({
			type: "POST",
			url: '<?php echo site_url($controller_name . "/download_zip"); ?>',
			data:encData,				
			contentType: 'text/plain',
			success: function(data){
				var rslt = JSON.parse(data);
				if(rslt.success){
					window.location = rslt.filename;
				}else{
					toastr.error("File not exists");
				}
			},
		});
	}
}
function view_hide_show(process_mode){
	if(parseInt(process_mode) === 2){
		$('#process_by,#pdf_block_employees').parent().show();
	}else{
		$('#process_by,#pdf_block_employees').parent().show();
	}
	$('#process_by,#pdf_block_employees,#category,#timecard_month').val('');
		select();
}
</script>

<div class='row title_content' style='margin: 0px 0px 7px !important;'>
	<div class='col-md-2 col-xs-4'>
		<h1 class='page_txt'>Timecard Generation</h1>
	</div>
</div>	
<div class="col-md-12" class="form-inline">
	<div class="form-group">
		<?php
			echo form_label("Process Mode", 'process_mode', array('class' => 'required'));
			$process_by_list = array(""=>"--- Select Mode ---","1"=>"Process timecard","2"=>"View timecard");
			echo form_dropdown(array('name' => 'process_mode','id' =>'process_mode','class' => 'form-control input-sm'), $process_by_list);
		?>
	</div>
	<div class="form-group">
		<?php
			echo form_label($this->lang->line('category'), 'category', array('class' => 'required'));
			echo form_dropdown(array( 'name' => 'category', 'id' => 'category', 'class' => 'form-control input-sm select2'), $category_list);
		?>
	</div>
	<div class="form-group">
		<?php
			echo form_label('Att Month', 'timecard_month', array('class' => 'required'));
			echo form_input(array('name' => 'timecard_month', 'id' => 'timecard_month', 'class' => 'form-control input-sm datepicker',  'value'=> '')); 
		?>
	</div>
	<div class="form-group">
		<?php
			echo form_label("Process By", 'process_by', array('class' => 'required'));
			$process_by_list = array(""=>"--- Select by ---","1"=>"Process Employeewise","2"=>"Process All Employee");
			echo form_dropdown(array('name' => 'process_by','id' =>'process_by','class' => 'form-control input-sm'), $process_by_list);
		?>
	</div>
	<div class="form-group">
		<?php
			echo form_label($this->lang->line('pdf_block_employees'), 'pdf_block_employees', array('class' => 'required'));
			echo form_dropdown(array('name' => 'pdf_block_employees[]','multiple id' =>'pdf_block_employees','class' => 'form-control input-sm select2'));
		?>
	</div>
	<div class="form-group" style="z-index: 999;" style="display: none;">
		<?php
			if($access_search === 1){
		?>
		<a class="btn btn-sm btn-edit" id="search_filter">
			<i class="fa fa-filter" aria-hidden="true"></i> Search filter
			<span class="caret"></span>
		</a>
		<div id="search_filter_div" class='search_filter'>
			<div style="max-height:250px;overflow: auto;">
				<?php
					$filter_cond_array = array('' => '--- Select ---','=' => '=','>' => '>','<' => '<','LIKE' => 'LIKE');
						$tr_line = "";
						foreach($fliter_list as $fliter){
							$label_id         = $fliter['label_id'];
							$field_isdefault  = $fliter['field_isdefault'];
							$array_list       = $fliter['array_list'];
							$field_type       = $fliter['field_type'];
							$label_name = ucwords(strtolower(str_replace("_"," ",$label_id)));
							$fliter_label = form_input(array('type'=>'hidden','name' => 'fliter_label[]', 'class' => 'form-control input-sm','value' => $label_id));
							$fliter_type  = form_input(array('type'=>'hidden','name' => 'fliter_type[]', 'class' => 'form-control input-sm','value' => $field_isdefault));
							$filter_cond  = form_dropdown(array('name' => 'filter_cond[]','class' => 'form-control input-sm'), $filter_cond_array);
							$input_field_type = form_input(array('type' => 'hidden','name' => 'input_field_type[]','class' => 'form-control input-sm datepicker', 'placeholder'=>'Select Date','value' => $field_type));
							if(((int)$field_type === 5) || ((int)$field_type === 7)){
								$fliter_val  = form_dropdown(array('name' => 'fliter_val[]','class' => 'form-control input-sm'), $array_list);
							}else
							if((int)$field_type === 4){
								$fliter_val   = form_input(array( 'name' => 'fliter_val[]', 'class' => 'form-control input-sm datepicker', 'placeholder'=>'Select Date','value' => ''));
							}else{
								$fliter_val   = form_input(array( 'name' => 'fliter_val[]', 'class' => 'form-control input-sm', 'placeholder'=>'Search value','value' => ''));
							}
							$tr_line .= "<tr>
											<td class='search_td'> $input_field_type $label_name $fliter_label $fliter_type</td>
											<td> $filter_cond</td>
											<td> $fliter_val </td>
										</tr>";
						}
						echo "<table style='width:100%;'>$tr_line</table>";
				?>				
			</div>
			<div style="margin-top:8px;">
				<div class="row">
					<div class="col-md-6" style='text-align:left;'>
						<a class="btn btn-xs btn-danger" id="clear_search"> Clear / Close</a>
					</div>
					<div class="col-md-6" style='text-align:right;'>
						<a class="btn btn-xs btn-primary" id="search_submit">Done</a>
					</div>
				</div>
			</div>
		</div>
		<?php 
			}
		?>
	</div>
	<div class="form-group">
		<button class='btn btn-primary btn-sm' id="generate_pdf"><span class='fa fa-file'>&nbsp;</span> Process </button>
	</div>
	<div id="myProgress">
	  <div id="myBar"></div>
	</div>
	<div id="employee_table_view" style="margin-left:15px;margin-right:15px;"></div>
	<div class="modal" id="myModal">
	  <div class="modal-dialog">
	    <div class="modal-content">
	      <div class="modal-header">
	        <h4 class="modal-title">Timecard Details</h4>
	        <button type="button" class="close" data-dismiss="modal">&times;</button>
	      </div>

	      <div class="modal-body" id="example1">
	      </div>
	      <div class="modal-footer">
	        <button type="button" class="btn btn-danger" data-dismiss="modal">Close</button>
	      </div>
	    </div>
	  </div>
	</div>
</div>
<style>
	.form-group {
	    width: 16%;
	    display: inline-block;
	    padding: 12px;
	}
	.pull-right.search {
		display: none !important;
	}
	.columns.columns-right.btn-group.pull-right {
		display: none !important;
	}
	.pull-right.search { 
		display: block !important;
	}	
	.pdfobject-container { 
		height: 70rem; border: 1rem solid rgba(0,0,0,.1); 
	}
	.modal-dialog {
	  	width: 100% !important;
	  	height: 100% !important;
	  	margin: 0;
	  	padding: 0;
	}
	.modal-content {
	  	height: 850px!important;
	  	min-height: 100% !important;
	  	border-radius: 0;
	}
	.modal .modal-body div {
	   	height: 100% !important;
	    overflow-y: auto;
	    width: 100%;
	}	
</style>
<?php $this->load->view("partial/footer"); ?>