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/leave_opening/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));
	$prime_id       = "prime_".$controller_name."_id";
	$search_url     = site_url($controller_name ."/search");
	$view_url       = site_url($controller_name ."/view/");
	$import_url     = site_url($controller_name ."/import/");	
	$filter_tr_line = "";
	$table_map_list = "";
	$input_ids      = "";
	$date_ids       = "";
	$load_script 	= "";
	//DR COMMAND CODE FOR WAITING TO ADD A NEW CHANGES
	foreach($fliter_list as $fliter){
		$label_id             = "filter_".$fliter->label_name;
		$lable                = $fliter->label_name;
		$label_name           = ucwords($fliter->view_name);
		$field_isdefault      = (int)$fliter->field_isdefault;
		$array_list           = $pick_list[$lable]['array_list'];
		$field_type           = (int)$fliter->field_type;
		$prime_form_id 	      = $fliter->prime_form_id;
		$dependent_pick_list  = (int)$fliter->dependent_pick_list;
		if($field_type === 4){							
			$filter_box =  form_input(array("name"=>$label_id, "id"=>$label_id,"placeholder"=>$label_name, "class"=>"form-control input-sm datepicker"));
			$filter_tr_line .= "<tr>
									<td class='search_td'> $label_name</td>
									<td> $filter_box </td>
								</tr>";
		}else
		if(((int)$field_type === 5) || ((int)$field_type === 7)){
			$filter_box = form_dropdown(array("name" =>$label_id,"multiple id" => $label_id,"class" =>'form-control input-sm select2'),$array_list);
			$filter_tr_line .= "<tr>
									<td class='search_td'> $label_name</td>
									<td>$filter_box</td>
								</tr>";
		}else
		if((int)$field_type === 6){
			$form_checkbox = form_checkbox(array("name" => $label_id,"id" => $label_id, "value"=> 1, "checked" => ($input_value) ? 1 : 0));
			$filter_box .= "<label class='checkbox-inline'> $form_checkbox $form_label </label>";
			$filter_tr_line .= "<tr>
								<td class='search_td'> $label_name</td>
								<td colspan='2'>$filter_box</td>
							</tr>";
		}else
		if($field_type === 13){
			$filter_box =  form_input(array("name"=>$label_id, "id"=>$label_id,"placeholder"=>$label_name, "class"=>"form-control input-sm datepicker_time"));
			$filter_tr_line .= "<tr>
									<td class='search_td'> $label_name</td>
									<td> $filter_box </td>
								</tr>";
		}else
		if($field_type === 9){	
			$hidden_id = $label_id."_hidden_".$prime_form_id;
			$auto_id   = "#$label_id";
			$table_val = '$table.draw()';
			$filter_box = form_input(array("name"=>$label_id, "id"=>$label_id,"value"=>'',"placeholder"=>$label_name, "class"=>"form-control input-sm"));
			$hidden_input = form_input( array("name"=>$hidden_id, "id"=>$hidden_id,"value"=>"","type"=>"hidden"));
			$filter_tr_line .= "<tr>
									<td class='search_td'> $label_name</td>
									<td> $filter_box $hidden_input</td>
									<div class='append_div'></div>
								</tr>";
			$auto_url = site_url("$controller_name/suggest_auto_filter");
			$load_script .= "$('#$label_id').autocomplete({
					source: '$auto_url',
					minChars:2,
					autoFocus: true,
					delay:10,
					appendTo: '.append_div',
					source: function (request, response) {
						var key       = '$encKey';
						var encData   = encrypt(key,{term:request.term,prime_form_id:'$prime_form_id'});
						$.ajax({
							url : '$auto_url',
							type: 'POST',
							data: encData,
							success: function (data) {
								var rslt = JSON.parse(data);
								response($.map(rslt, function (el) {
									if(el.value === '0'){
										$('#$hidden_id').val('');
									}else{
										return {
											value: el.value,
											label: el.label,
											display_name:el.display_name
										};
									}
								}));
							}
						});
					},
					select: function(e, ui) {
						e.preventDefault();
						value = ui.item.value;
						label = ui.item.label;
						$('#$hidden_id').val(ui.item.value);
						$('$auto_id').val(ui.item.display_name);
						$table_val
					}
				});\n";
		}else{
			$filter_box = form_input(array("name"=>$label_id, "id"=>$label_id,"value"=>'',"placeholder"=>$label_name, "class"=>"form-control input-sm"));
			$filter_tr_line .= "<tr>
										<td class='search_td'> $label_name</td>
										<td> $filter_box </td>
									</tr>";
		}
		$table_map_list .= "var $label_id  = $('#$label_id').val(); \n data.$lable = $label_id;\n";
		if($field_type === 4){
			$date_ids .= "#".$label_id.",";
		}else
		if($field_type === 9){
			$hidden_id 		 = $label_id."_hidden_".$prime_form_id;
			$table_map_list .= "var $label_id  = $('#$label_id').val(); \n data.$lable = $label_id;\n";
			$table_map_list .= "var $hidden_id  = $('#$hidden_id').val(); \n data.$hidden_id = $hidden_id;\n";
		}else{
			$input_ids .= "#".$label_id.",";
		}
	}
	$table_map_list .= "var category  = $('#category').val(); \n data.category = category;\n";
	$table_map_list .= "var search_month  = $('#search_month').val(); \n data.search_month = search_month;\n";
	$table_map_list .= "var process_mode  = $('#process_mode').val(); \n data.process_mode = process_mode;\n";
	$date_ids     = rtrim($date_ids,",");
	$input_ids    = rtrim($input_ids,",");
	$filter_table = "<table class='fliter_table'>$filter_tr_line</table>";
	/* PAGE FILTER - END */
	$column_count     = count(array_column($table_head, "label_name"))+1;
	
?>
<style type="text/css">
.form-inline .form-group {
    display: inline-block;
    vertical-align: middle;
    margin-left: 30px;
    margin-bottom: 10px;
    width: 16.5%;
}
</style>
<div class='row title_content'>
	<div class='col-md-2 col-xs-4'>
		<h1 class='page_txt'><?php echo $page_name;?></h1>
	</div>
	<div class='col-md-10 col-xs-8'>
		<ol class="breadcrumb">
			<?php
				if($access_import === 1){
					$submit = $this->lang->line('common_submit');
					echo "<li>
							<a class='btn btn-xs btn-primary import' data-btn-submit= 'Submit' title='Import $page_name' href='$import_url' data_form='$controller_name' > <span class='fa fa-cloud-upload'>&nbsp</span> Import $page_name
							</a>
						</li>";
				}
			?>
			
		</ol>
	</div>
</div>

<div class="row" style='margin:0px;overflow:auto;'>	
	<div class='col-md-12' style='padding:8px;min-height: 400px;'>
		<table id="table" class='table table-striped table-hover' style='width:100% !important;'></table>
	</div>
</div>

<!-- <div id="excel_import" class="modal fade" role="dialog">
	<div class="modal-dialog">
		<div class="modal-content">
			<div class="modal-header">
				<button type="button" class="close" data-dismiss="modal">&times;</button>
				<h4 class="modal-title">Leave Opening Import</h4>
			</div>
			<div class="modal-body">
				<?php  echo form_open("$controller_name/save_leave_import/",array("id"=>'save_leave_import',"class"=>"form-inline")); ?>
				<fieldset id='FundBasicInfo' style='margin:0px;padding:8px;'>
					<div class="form-group" style="display: none;">
						<?php
							echo form_label("Component", 'components', array('class' => 'required'));
							echo form_input(array( 'name' => 'components', 'id' => 'components', 'class' => 'form-control input-sm', 'value' => $pick_label_name));
						?>
					</div>
					<div class="form-group">
						<?php
							$pick_label_view_name = ucwords($pick_label_name);
							echo form_label("$pick_label_view_name", 'component_value', array('class' => 'required'));
							echo form_dropdown(array( 'name' => 'component_value', 'id' => 'component_value', 'class' => 'form-control input-sm'), $component_value);
						?>
					</div>
					<div class="form-group">
						<?php
							echo form_label("Template Name", 'template_name', array('class' => 'required'));
							echo form_dropdown(array( 'name' => 'template_name', 'id' => 'template_name', 'class' => 'form-control input-sm'), $temp_format_drop);
						?>
					</div>
					<div class="form-group">
						<?php
							echo form_label($this->lang->line('excel_select_file'), 'excel_select_file', array('class' => 'required')); 
							echo form_upload(array('name' => 'excel_select_file','id' => 'excel_select_file','class' => 'form-control input-sm','value' =>'','accept' => 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet, application/vnd.ms-excel,text/comma-separated-values, text/csv, application/csv' ));
						?>
						<a id="link" style="display: none;" href="#" title='Export All Data'><span class="fa fa-user-exit">&nbsp</span> Export Mapping Format </a>
						<input type='hidden' id='excel_file_path' name='excel_file_path' value=''>
						<span id='loader' style='color:#CC3366'></span>
					</div>
					<div class="form-group">
						<?php
							echo form_label("Excel Sheet Name", 'excel_sheet_name', array('class' => 'required')); 
							echo form_dropdown(array( 'name' => 'excel_sheet_name', 'id' => 'excel_sheet_name', 'class' => 'form-control input-sm'), $excel_sheet_name);
						?>
					</div>
					<div class="form-group">
						<?php
							echo form_label("Excel Start Row", 'excel_start_row', array('class' => 'required')); 
							echo form_input(array( 'name' => 'excel_start_row', 'id' => 'excel_start_row', 'class' => 'form-control input-sm number', 'value' => '1'));
						?>
					</div>
					<div class="form-group">
						<?php
							echo form_label("Excel End Row", 'excel_end_row', array('class' => '')); 
							echo form_input(array( 'name' => 'excel_end_row', 'id' => 'excel_end_row', 'class' => 'form-control input-sm number', 'value' => ''));
						?>
					</div>
					<div class="form-group">
						<button class='btn btn-primary btn-sm' id="leave_submit">Submit</button>
					</div>
				</fieldset>
				<?php echo form_close();?>
				<div id='import_table_info' style='padding:8px;overflow: auto;'>
				</div>
			</div>
		</div>
	</div>
</div> -->
<script type="text/javascript">
$(document).ready(function (){
	<?php echo $user_read_only;?>	
	<?php $this->load->view('partial/bootstrap_tables_locale'); ?>
	select_call();
	$('.modal-dialog').draggable({ handle: ".modal-header" });	
	var components = <?php echo json_encode($component_value); ?>;

	var prime_id   = "<?php echo $prime_id; ?>";
	var key        = '<?php echo $encKey; ?>';
	$table         = $('#table').DataTable( {
		processing: true,
		serverSide: true,
		serverMethod: 'post',
		lengthMenu: [[10,25,50,100,500,1000,-1],[10,25,50,100,500,1000,"All"]],
        fixedColumns:{leftColumns: 4},
		scrollX:true,
		language:{
			lengthMenu:"<span style='margin-top:8px;margin-left:10px;'>Display</span> _MENU_ <span style='margin-top:8px;'>Records</span>",
			searchPlaceholder: "Search records",
			search: "",
		},		
		ajax:{
			'url': '<?php echo $search_url; ?>',
			'data': function(data){
				<?php echo $table_map_list; ?>
				var encData   = encrypt(key,{data});
				return { Payload: encData };
			},
			 beforeSend: function(){
			  $('.dataTables_processing').html('<span style="color:#CC3366;"><i class="fa fa-spinner fa-spin fa-2x fa-fw"></i><br/>Loading...</span>');
			},
		},   
		columns: [{
				title:'<input type="checkbox" name="select_all" class="select_all">',
				data: '<?php echo $prime_id; ?>',
				type: 'html',
				orderable: false,
				className: 'select-checkbox',
				searchable:false,
				width:'1%',
				render:function (value) {
					if(parseInt(value) > 0) {
						return '<input type="checkbox" value="'+value+'" name="select_one" class="select_one">';
					}else{
						return '';
					}					
				}
			},	

			<?php 
				foreach($table_head as $table){
					$label_name  = $table->label_name;
					$view_name   = str_replace("_", " ", $label_name);
					if($table->label_name === 'financial_setting_id'){
						echo "{title:'Financial Setting Year',data: '$label_name',type: 'date',visible:true,
							},\n";
					}else	
					if($table->label_name === 'component_value'){
						echo "{title:'$view_name',data: '$label_name',type: 'date',visible:true,
							render:function(value) {											
								if(value in components['$label_name']){	
									if(value === '0' || value === ''){
											return '';
										
									}else{
										return components['$label_name'][value];
									}										
								} else {
									return value;
								}
							}
						},\n";
					}else{
						echo "{title:'$view_name',data:'$label_name',visible:true,},\n";
					}			
				}
			?>		
			{title:'View',
				data: '<?php echo $prime_id; ?>',
				type: 'html',
				render:function (value) {					
					if (value === null) return '';
					//Encryption
					var prime   = '<?php echo $prime_id; ?>';
					var enc     = encrypt(key,{prime_id:value});
					var value   = encodeURIComponent(window.btoa(enc)); // Because of URL url encoded
					<?php 
						if($access_update === 1){
					?>
						return '<a class="btn btn-xs btn-edit view" data-btn-submit="Submit" title="Update <?php echo $page_name;?>" href="<?php echo $view_url;?>'+value+'" data_form="<?php echo $controller_name;?>"> <span class="fa fa-pencil-square-o"></span> Edit</a>';
					<?php 
						}else{
					?>
						return '<a class="btn btn-xs btn-edit view" title="View <?php echo $page_name;?>" href="<?php echo $view_url;?>'+value+'" data_form="<?php echo $controller_name;?>"> <span class="fa fa-eye"></span> View</a>';
					<?php 
						}
					?>
				}
			}			
		],
	});
	var table_option = "<table><tr><td id='filters' style='padding:8px 2px;'></td><td id='export' style='padding:8px 2px;'></td></tr></table>";
	$("#table_filter").append(table_option);		
	var buttons = new $.fn.dataTable.Buttons(table, {
		 buttons: [{
			extend: 'collection',
			text: 'Export',
			buttons: [
				{extend:'copy',exportOptions:{modifier :{order:'index',page:'all',search:'none'},columns:':visible'}},
				{extend:'csv',exportOptions:{modifier:{order:'index',page:'all',search:'none'},columns:':visible'}},
				{extend:'excel',exportOptions:{modifier:{order :'index',page: 'all',search:'none'},columns:':visible'}},
				{extend:'pdf',exportOptions:{modifier:{order :'index',page:'all',search:'none'},columns:':visible'}},
				{extend:'print',exportOptions:{modifier:{order :'index',page:'all',search:'none'},columns:':visible',}},
			]
		}]
	}).container().appendTo($('#export'));
	
	$(".buttons-collection").addClass("btn btn-xs btn-edit");
	$('input[type=search]').addClass('form-control input-sm');
	$("select[name='table_length']" ).addClass('form-control input-sm');
	
	$("#table_length").css("display", "-webkit-inline-box");

	$("a.import").click(function(event){
		event.preventDefault();
		var action      = $(this).attr('data-btn-submit');
		var title       = $(this).attr('title');
		var control     = $(this).attr('href');
		var form_id     = "save_import";
		$('.modal').modal({backdrop: 'static', keyboard: false});
		$('.modal-body').html('<div style="text-align: center;padding:50px;color:#4b6fa2;"><i class="fa fa-spinner fa-spin fa-2x fa-fw"></i><br/>Please wait processing....</div>');
		$.ajax({
			type: 'POST',
			url: control,
			dataType: "html",
			success: function (response){					
				$('.modal-title').html('<h4 class="modal-title">'+title+'</h4>');
				$('.modal-body').html(response);
				var btn_info = '<button type="button" class="btn btn-danger" data-dismiss="modal">Close</button>';
				if(action === "Submit"){
					btn_info += '<button class="btn btn-primary" id="submit" style="margin-left: 15px;">Submit</button>';
				}
				btn_info = '<div class="col-md-12" style="background-color:#FFFFFF;padding: 10px 20px; text-align: right; border-top: 1px solid #e5e5e5;">'+btn_info+'</div>';
				$('#'+form_id).append(btn_info);
			}
		});
	});

	$table.on('click','a.view',function(event){
		event.preventDefault();		
		var action      = $(this).attr('data-btn-submit');
		var title       = $(this).attr('title');
		var control     = $(this).attr('href');
		var form_id     = $(this).attr('data_form')+"_form";
		console.log(form_id);			
		$('.modal').modal({backdrop: 'static', keyboard: false});
		$('.modal-body').html('<div style="text-align: center;padding:50px;color:#4b6fa2;"><i class="fa fa-spinner fa-spin fa-2x fa-fw"></i><br/>Please wait processing....</div>');
		$.ajax({
			type: 'POST',
			url: control,
			dataType: "html",
			success: function (response){					
				$('.modal-title').html('<h4 class="modal-title">'+title+'</h4>');
				$('.modal-body').html(response);
				var btn_info = '<button type="button" class="btn btn-danger" data-dismiss="modal">Close</button>';
				if(action === "Submit"){
					btn_info += '<button class="btn btn-primary" id="submit" style="margin-left: 15px;">Submit</button>';
				}
				btn_info = '<div class="col-md-12" style="background-color:#FFFFFF;padding: 10px 20px; text-align: right; border-top: 1px solid #e5e5e5;">'+btn_info+'</div>';
				$('#'+form_id).append(btn_info);
			}
		});
	});
//Table column click
// $table.on('click','tr td:not(:first-child :nth-last-child(-n+2))',function(event){
// 	event.preventDefault();		
// 	var closest_row = $(this).closest('tr');
//     var data        = $table.row(closest_row).data();
//     var prime_id    = data['<?php echo $prime_id; ?>'];
//    	var action      = $("td > a").attr('data-btn-submit');
// 	var title       = $("td > a").attr('title');
// 	var control     = '<?php echo $view_url; ?>'+prime_id;
// 	var form_id     = $("td > a").attr('data_form')+"_form";
// 	console.log(form_id);			
// 	$('.modal').modal({backdrop: 'static', keyboard: false});
// 	$('.modal-body').html('<div style="text-align: center;padding:50px;color:#4b6fa2;"><i class="fa fa-spinner fa-spin fa-2x fa-fw"></i><br/>Please wait processing....</div>');
// 	$.ajax({
// 		type: 'POST',
// 		url: control,
// 		dataType: "html",
// 		success: function (response){					
// 			$('.modal-title').html('<h4 class="modal-title">'+title+'</h4>');
// 			$('.modal-body').html(response);
// 			var btn_info = '<button type="button" class="btn btn-danger" data-dismiss="modal">Close</button>';
// 			if(action === "Submit"){
// 				btn_info += '<button class="btn btn-primary" id="submit" style="margin-left: 15px;">Submit</button>';
// 			}
// 			btn_info = '<div class="col-md-12" style="background-color:#FFFFFF;padding: 10px 20px; text-align: right; border-top: 1px solid #e5e5e5;">'+btn_info+'</div>';
// 			$('#'+form_id).append(btn_info);
// 		}
// 	});
// });
	//excel file upload
	var send_url = '<?php echo base_url("$controller_name/import_file");?>';
	$('#excel_select_file').change(function() {
		$("#loader").html("<i class='fa fa-spinner fa-spin'></i> Processing...");
		$('#submit').attr('disabled','disabled');
		var file_data = $('#excel_select_file').prop('files')[0];

		if(file_data){
			var form_data = new FormData();
			form_data.append('excel_select_file', file_data);
			$.ajax({
				url: send_url,
				cache: false,
				contentType: false,
				processData: false,
				data: form_data,
				type: 'post',
				success: function(result_data){
					$("#loader").html("");
					$('#submit').attr('disabled',false);
					console.log(result_data);
					var rslt = JSON.parse(result_data);
					if(rslt['success']){
						$('#excel_file_path').val(rslt['path']);
						get_excel(rslt['path']);
						}else{
						toastr.error(rslt['msg']);
					}
				}
			});
			}else{
			toastr.error('Please select file to upload');
			$("#loader").html("");
			$('#submit').attr('disabled',false);
		}
	});
		
	$('#save_leave_import').validate($.extend({
		submitHandler: function (form){
			$("#leave_submit").html("<i class='fa fa-spinner fa-spin'></i> Processing...");
			$('#leave_submit').attr('disabled','disabled');
			$(form).ajaxSubmit({
				success: function (response){
					$('#leave_submit').attr('disabled',false);
					$("#leave_submit").html("Submit");
					if(response.success){
						toastr.success(response.message);
						$("#import_table_info").html(response.table_info);
						$("#save_leave_import").trigger("reset");
						$table.draw();
					}else{
						toastr.error(response.message);
						$("#import_table_info").html(response.table_info);
						$("#save_leave_import").trigger("reset");
					}	
				},
				dataType: 'json'
			});
		},
		rules:{
			template_name    : "required",
			category_name    : "required",
			effective_month  : "required",
			excel_select_file: "required",
			excel_sheet_name : "required",
			excel_start_row:{
				required: true,
				min:1,
				number:true,
			},
		}
	}));
	
	$('#template_name').change(function(){
		var template_name   = $('#template_name').val();
		var controller_name = '<?php echo $controller_name; ?>';
		if(template_name){
			$('#link').show();
			$('#link').attr("href","index.php/<?php echo $controller_name; ?>/excel/"+template_name);
		}else{
			$('#link').hide();
		}	
	});	
});
	
function get_excel(file_path){	
	if(file_path){
		var key        = '<?php echo $encKey; ?>';
		var encData    = encrypt(key,{file_path:file_path});
		var import_url = '<?php echo site_url("$controller_name/sheet_name");?>'
		$.ajax({
			type: 'POST',
			url: import_url,
			contentType : 'text/plain',
			data:encData,
			success: function(data) {
				var rslt = JSON.parse(data);
				var option = "<option value=''>-- Select Sheet Name --</option>";
				for(i = 0; i < rslt.sheet_name.length; i++) {
					sheet_name = rslt.sheet_name[i];
					option += "<option value='"+i+"'>"+sheet_name+"</option>";
				}
				$("#excel_sheet_name").html(option);
			}
		});
	}
}
function select_call(){
	$(function(){
		$('.select2').select2({
			placeholder: '---- Select ----',
		});
		$('.select2-tags').select2({
			tags: true,
			tokenSeparators: [',']
		});
	});
}
</script>
<style>
	.pull-right.search {
	display: none !important;
	}
	.columns.columns-right.btn-group.pull-right {
	display: none !important;
	}
	<?php 
		if($access_search === 1){
			echo ".pull-right.search { display: block !important; }";
		}
		if($access_export === 1){
			echo ".columns.columns-right.btn-group.pull-right{display: block !important;}";
		}
	?>
</style>
<?php $this->load->view("partial/footer"); ?>