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/monthly_input/import_bk.php
<?php  echo form_open("monthly_input/save_import/",array("id"=>'save_import',"class"=>"form-inline")); ?>
<fieldset id='FundBasicInfo' style='margin:0px;padding:8px;'>
	<div class="form-group">
		<?php
			echo form_label($this->lang->line('category'), 'category_id', array('class' => 'required'));
			echo form_dropdown(array( 'name' => 'category_id[]', 'multiple id' => 'category_id', 'class' => 'form-control input-sm select2'), $category_list);
			echo "<label><input name='sele_all' id='sele_all' type='checkbox'> Select All</label>";
		?>
	</div>
	<div class="form-group">
		<?php
			echo form_input( array('name'=>'module_id', 'id'=>'module_id', 'type'=>'Hidden','value'=>$module_id));
			echo form_label($this->lang->line('mod_excel_format'), 'excel_format', array('class' => 'required')); 
			echo form_dropdown(array( 'name' => 'excel_format', 'id' => 'excel_format', 'class' => 'form-control input-sm select2'), $excel_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 select2'), $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">
		<?php
			echo form_label("Process Month", 'process_month', array('class' => 'required'));
			echo form_input(array('name' => 'process_month', 'id' => 'process_month', 'class' => 'form-control input-sm datepicker',  'value'=> '')); 
		?>
	</div>
	<!-- <div class="form-group">
		<button class='btn btn-primary btn-sm' id="save_btn">Submit</button>
	</div> -->
</fieldset>
<?php echo form_close();?>
<div class="myProgress" style ="z-index: 10000; text-align: center;display:none;padding:50px;color:#4b6fa2;">
	<i class="fa fa-spinner fa-spin fa-2x fa-fw" ></i>Please wait processing....
</div>
<div id='imp_table_info' style='padding:8px;overflow: auto;width:100%'>
</div>
<script type="text/javascript">
$(document).ready(function(){
	select();
	$('#table_div').hide();
	$('#monthly_input_form')[0].reset();
	// $('.select2').select2({placeholder: '---- Select ----',});
	$(function(){
		$(".datepicker").datetimepicker({
			format: 'MM-YYYY'
		});
	});
	$('#imp_loader').hide();	
		var send_url = '<?php echo base_url("$controller_name/import_file");?>';
		$('#save_import').validate($.extend({
			submitHandler: function (form){
				//Encrypted
				let category_arr     = [];
				let formData         = new FormData(form);
				$('#category_id > option:selected').each(function (a , b) {
					category_arr[a]  = b.value;
				});
				// Convert FormData to JSON object
				let jsonData   = Object.fromEntries(formData.entries());
				jsonData['category_id[]']     = category_arr;
				var key        = '<?php echo $encKey; ?>';
				var encData    = encrypt(key,jsonData);
				$("#submit").html("<i class='fa fa-spinner fa-spin'></i> Processing...");
				$('#submit').attr('disabled','disabled');
				$('#imp_loader').show();
				$.ajax({
					url         : $(form).attr('action'), 
					type        : 'POST',
					contentType : 'text/plain', 
					data        : encData,
					success: function (response){
						$('#submit').attr('disabled',false);
						$("#submit").html("Submit");
						$("#excel_select_file").val("");
						$("#excel_sheet_name").html("");
						var error = response.error_info;
						if(response.success){
							if(error){
								toastr.error(response.message);
								var tr_line = "";
								$.each(error, function( index, value ) {
									tr_line += "<tr><td>"+index+"</td><td style='color:red'>"+value+"</td></tr>";
								});
								var table = "<table class='table table-bordered' style='text-align:center;'><thead><tr><th>Row</th><th>Error Info</th></tr></thead><tbody>"+tr_line+"</tbody></table>";
								$("#imp_table_info").html(table);
								$("#save_import").trigger("reset");
							}else{
								toastr.success(response.message);
								$("#imp_table_info").html(response.table_info);
								$("#save_import").trigger("reset");
							}			
						}else{
							toastr.error(response.message);
							var tr_line = "";
							$.each(error, function( index, value ) {
								tr_line += "<tr><td>"+index+"</td><td style='color:red'>"+value+"</td></tr>";
							});
							var table = "<table class='table table-bordered' style='text-align:center;width:100%;'><thead><tr><th>Row</th><th>Error Info</th></tr></thead><tbody>"+tr_line+"</tbody></table>";
							$("#imp_table_info").html(table);
							$("#save_import").trigger("reset");
						}	
						$table = $('#table_details').DataTable({
							processing: true,
							lengthMenu: [[10,25,50,100,500,1000,-1],[10,25,50,100,500,1000,"All"]],
							"order": [],
							scrollX: true,
							scrollY: true,
							// dom: '<"top"fi>rt<"bottom"lp><"clear">',
							language:{
								lengthMenu:"<span style='margin-top:12px;margin-left:10px;'>Display</span> _MENU_ <span style='margin-top:12px;'>Records</span>",
								searchPlaceholder: "Search records",
								search: "",
							},
						});
						$(".dataTables_wrapper").css("width","100%");
						$($.fn.dataTable.tables(true)).DataTable().columns.adjust();
						$('#imp_loader').hide();					
					},
					dataType: 'json'
				});
			},
			rules:{
				"category_id[]": "required",
				process_month: "required",
				excel_format: "required",
				excel_select_file: "required",
				excel_sheet_name: "required",
				excel_start_row:{
					required: true,
					min:1,
					number:true,
				},
			}
		}));
	
		$('#excel_format').change(function(){
			var module_id    = $('#module_id').val();
			var excel_format = $('#excel_format').val();
			var controller_name = '<?php echo $controller_name; ?>';
			var key             = '<?php echo $encKey; ?>'; 
			var Payload         = encodeURIComponent(window.btoa(encrypt(key,{module_id:module_id,excel_format:excel_format})));
			if(excel_format){
				$('#link').show();
				$('#link').attr("href","index.php/<?php echo $controller_name; ?>/excel/"+Payload);
			}else{
				$('#link').hide();
			}	
		});
	
		$('#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 fileName  = file_data.name;
			var size      = file_data.size;
			var key       = '<?php echo $encKey; ?>';
			var encData   = encrypt(key,{send_from:'<?php echo $controller_name; ?>',send_for:'import',fileName:fileName,size:size});
			var form_data = new FormData();
			form_data.append('excel_select_file', file_data);			
			form_data.append('Payload', encData);
			$.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);
						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);
			}
		});
		
		/*$('#process_month').on("dp.hide",function (e){	
			check_payroll();
		});*/
		
		/*$('#category_id').change(function(){
			check_payroll();
		});*/

	$('#sele_all').click(function(){
		if($('#sele_all').is(':checked') ){
			$('#category_id > option').prop('selected','selected');
			$('#category_id').trigger('change');
		}else{
			$('#category_id > option').removeAttr('selected');
			$('#category_id').trigger('change');
		}
		$('#category_id option').filter(function(){
			return !this.value || $.trim(this.value).length == 0;
		}).remove();
	});
});

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 check_payroll(){
	var process_month = $('#search_month').val();
	var category      = $('#category').val();
	if(process_month && category){
		$.ajax({
			type: 'POST',
			url: '<?php //echo site_url("$this->control_name/process_month_check");?>',
			data:{process_month:process_month,category:category},
			success: function(data){
				var rslt = JSON.parse(data);
				if(rslt.success){
					toastr.success(rslt.message);
				}else{
					toastr.error(rslt.message);
					$('#process_month').val('');
				}
			}
		})
	}
}	*/
function select(){
	$('.select2').select2({
		placeholder: '---- Select ----',
		allowClear: true,
		dropdownParent: $('.modal-dialog')
	});
	$('.select2-tags').select2({
		tags: true,
		tokenSeparators: [',']
	});
}