<?php
require_once('../includes/bootstrap2.php');
$sesion=new sesion();


if(empty($_GET['codigo'])){
	error_reporting(E_ALL);
    ini_set('display_errors', false);
    ini_set('display_startup_errors', false);
	require('class_uploader_xlsx.php');
	$tipus=$sesion->get('ac_tipo_user');


    if($sesion->getVar('cod_cmps.cd_docen')==$tipus){
		$upload_handler = new UploadHandler(null,true,null,TRUE,$sesion->get('ac_identidad'));
	}else{
		$upload_handler = new UploadHandler(null,true,null,false,'');

	}

}else{

    error_reporting(E_ALL);
	ini_set('display_errors', false);
	ini_set('display_startup_errors', false);
	date_default_timezone_set('America/Bogota');
	//echo ini_get("memory_limit");
	ini_set('memory_limit', '1024M');
	ini_set('max_execution_time', 60*6);
	
	$nomarch=academ_decrip($_GET['codigo']);
	$rt=dirname($_SERVER['SCRIPT_FILENAME']);
	$rut=$rt.'/files/'.$nomarch;
	$newRt=$rt.'/files_cargados/'.$nomarch;
	$newRtno=$rt.'/files_cargados/'.date('Y-m-d H:m:i').$nomarch;
	
	if (!file_exists($rut)) {
		echo json_encode(array('error'=>'msg_file_del'));
		exit;
	}
	require_once("../includes/phpExcel/PHPExcel.php");
	require_once("../includes/phpExcel/PHPExcel/Reader/Excel2007.php");
	
	$academia=bootstrap::initBd($sesion->get('anio'));
	$objReader = new PHPExcel_Reader_Excel2007();
	$objPHPExcel = $objReader->load($rut);
	
	$objPHPExcel->setActiveSheetIndex(0);
	$hojaActiva0=$objPHPExcel->getActiveSheet();
	
	$objPHPExcel->setActiveSheetIndex(1);
	$hojaActiva1=$objPHPExcel->getActiveSheet();
	
	$numnot=(int)$hojaActiva1->getCell("A2")->getValue();
	$numest=(int)$hojaActiva1->getCell("B2")->getValue();
	$ide_escala=(int)$hojaActiva1->getCell("C2")->getValue();
//	$numest=5;
	$sql="UPDATE aca_calxasixest SET nota_numeros = '%s', nota_letras = '%s' WHERE cod_calxasixest = 'cod_calxasixest'";
	$contEst=0;
	$cadNotas='';
	//donde inician las calificaciones fila columna		
	$inifilh0nt=$dtsLang["dtsImpXls"]['plndocIniFilH0Not'];
	
	//donde inician los codigos d cada nota fila columna
	$inifilh1nt=$dtsLang["dtsImpXls"]['plndocIniFilH1Not'];
	
	//donde inician los codigos de las definitivas fila columna
	$inifilh1df=$dtsLang["dtsImpXls"]['plndocIniFilH1Def'];
	$inicolh1df=$dtsLang["dtsImpXls"]['plndocIniColH1Def'];
	
	$inifilh2=3;
	$dtsceldas=$dtsLang["mod_forma_nom_cel"];
	$cadndf='';
	$colDef=$dtsLang["dtsImpXls"]['plndocIniColH0Not']+$numnot;
	do{
		$rango=$dtsceldas[$inicolh1df].($inifilh1df+$contEst);
		$cadndf.=$hojaActiva1->getCell($rango)->getValue().'|';
		
		$rango=$dtsceldas[$colDef].($inifilh0nt+$contEst);
		$cadndf.=$hojaActiva0->getCell($rango)->getCalculatedValue().'|';
		
		$inicolh0nt=$dtsLang["dtsImpXls"]['plndocIniColH0Not'];
		$inicolh1nt=$dtsLang["dtsImpXls"]['plndocIniColH1Not'];
		
		for($i=0;$i<$numnot;$i++){
			$rango=$dtsceldas[$i+$inicolh1nt].($inifilh1nt+$contEst);
			$cadNotas.=$hojaActiva1->getCell($rango)->getValue().'|';
			
			$rango=$dtsceldas[$i+$inicolh0nt].($inifilh0nt+$contEst);
			$nota=$hojaActiva0->getCell($rango)->getValue();
			$nota=strlen($nota)==0 ? 'NULL' : $nota;
			$cadNotas.=$nota.'|';
		}
		
		$contEst++;
	}while($contEst<$numest);
	
	$ide_usuario=$sesion->get("ac_userid");
	$sql="call SP_GUARDA_INFO_CALIFICACIONES('$cadNotas','','$cadndf',$ide_usuario, $ide_escala)";

	$academia->instruccion($sql);
	if($academia->extraer_error()>0){
		$rta=array('error'=>$academia->extraer_error(),'desc'=>'Error. No se completo la transferencia');
	}else{
		if(rename_win($rut,$newRt)){
			rename($newRt,$newRtno);
			$rta=array('error'=>0);					
		}else{
			$rta=array('error'=>'notmov','x'=>$newRt);					
		}
	}	
	//$rta['sql']=$sql;
	echo json_encode($rta);

}