Changeset 6093
- Timestamp:
- Oct 26, 2017, 9:37:51 AM (3 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
pmb4.2/trunk/fuentes/pmb/usur_imp_itaca.php
r6086 r6093 84 84 /* Cargo el XML, En este caso es un archivo llamado llxgesc.xml, podriamos usar loadXML si desamos leer de un string*/ 85 85 $doc->load( $archivo ); 86 86 87 87 // Obtengo el nodo alumne (listaAlumnos) del XML a traves del metodo getElementsByTagName, retorna una lista de todos los nodos encontrados 88 89 90 88 $listaAlumnos = $doc->getElementsByTagName( "alumne" ); 89 90 /*Al ser $listaAlumnos una lista de nodos lo puedo recorrer y obtener todo su contenido*/ 91 91 foreach( $listaAlumnos as $alumno ) 92 92 { 93 94 95 93 /* Obtengo el valor del primer elemento 'item(0)' de la lista $autors. Si existiera un atributo en el nodo para obtenerlo usaria 96 94 $authors->getAttribute('atributo'); */ 97 95 $nombres = $alumno->getElementsByTagName( "nom" ); // $authors = $book->getElementsByTagName( "author" ); 98 99 $nombre = $nombres->item(0)->nodeValue; 96 $nombre = $nombres->item(0)->nodeValue; 97 100 98 $apellidos = $alumno->getElementsByTagName( "cognoms" ); // $publishers = $book->getElementsByTagName( "publisher" ); 101 99 $apellido = $apellidos->item(0)->nodeValue; // $publisher = $publishers->item(0)->nodeValue; … … 108 106 $expediente = $expedientes->item(0)->nodeValue; // $publisher = $publishers->item(0)->nodeValue; 109 107 // Eliminamos la barra del numero de expediente 110 if ($expediente !=""){ 111 108 if ($expediente !=""){ 112 109 $expediente = trim($expediente); 113 110 // Para separar el numero de expediente y extraer sólo los números tenemos que eliminar separadores que pueden ser barra, punto, espacio o sin separador … … 119 116 if ($digito >= "0" && $digito <="9") 120 117 $cadena .= $digito; 121 118 } 122 119 } 123 120 $cadena=trim($cadena); 124 121 if (strlen($cadena)<4) 125 $cadena = str_pad($cadena, 4, "0", STR_PAD_LEFT); 126 }else{ 127 128 $expedientes = $alumno->getElementsByTagName( "nia" ); // $publishers = $book->getElementsByTagName( "publisher" ); 129 $expediente = $expedientes->item(0)->nodeValue; // $publisher = $publishers->item(0)->nodeValue; 130 $cadena=$expediente; 131 132 } 122 $cadena = str_pad($cadena, 4, "0", STR_PAD_LEFT); 123 }else{ 124 $expedientes = $alumno->getElementsByTagName( "nia" ); // $publishers = $book->getElementsByTagName( "publisher" ); 125 $expediente = $expedientes->item(0)->nodeValue; // $publisher = $publishers->item(0)->nodeValue; 126 $cadena=$expediente; 127 } 133 128 } 134 129 $nias = $alumno->getElementsByTagName( "nia" ); // $publishers = $book->getElementsByTagName( "publisher" ); … … 159 154 for ($i=$indice;$i<$indice+24;$i++) 160 155 $vectorA[$i]= ""; 161 156 $vectorA[$indice] = $nia; 162 157 163 158 } … … 193 188 { 194 189 /* Obtengo el valor del primer elemento 'item(0)' de la lista $autors. Si existiera un atributo en el nodo para obtenerlo usaria 195 190 $authors->getAttribute('atributo'); */ 196 191 $nombres = $profesor->getElementsByTagName( "nom" ); // $authors = $book->getElementsByTagName( "author" ); 197 192 $nombre = $nombres->item(0)->nodeValue; … … 226 221 227 222 $vectorP[$indice]="Campo vacio"; // Lo añadimos para hacerlo compatible con la importacion del fichero plano del GESCEN 228 223 return $vectorP; 229 224 } 230 225 231 226 //Funcion para insertar los datos en la base de datos 232 227 function inserta_datos($vacia,$referencia,$tot,$campos,$link2,$idused,$lang,$tipo_user){ 228 233 229 $resul_comp=array(); 234 230 $correctorNIA=0; … … 239 235 $categ=0; 240 236 241 if ($tipo_user=='A'){242 $categ=5;237 if ($tipo_user=='A'){ 238 $categ=5; 243 239 }else{ 244 240 $categ=7; … … 435 431 $name_cb='empr_cb_old'; 436 432 $sql_idcb_old="SELECT idchamp from empr_custom where name='" .$name_cb. "'"; 437 $id_cb_old=@mysql_query($sql_idcb_old, $link2);433 $id_cb_old=@mysql_query($sql_idcb_old, $link2); 438 434 $valor=mysql_fetch_array($id_cb_old); 439 435 … … 442 438 443 439 444 440 if ($existen_registros==0){ 445 441 446 442 // 2. Comprobamos si exisge el campo empr_NIA en la tabla empr … … 454 450 455 451 //$sql_alu_sinia="SELECT empr_cb FROM empr WHERE empr_Tipo<>'P' AND ISNULL(empr_NIA) AND (YEAR(UTC_DATE())-YEAR(empr_modif))<2"; 456 457 452 $sql_alu_sinnia="SELECT count(*) from empr where (ISNULL(empr_NIA) or empr_NIA='') and ISNULL(empr_Tipo) and (YEAR(UTC_DATE())-YEAR(empr_date_expiration))<2"; 453 $alu_sin_nia=mysql_fetch_row(@mysql_query($sql_alu_sinnia, $link2)); 458 454 459 455 //2. Comprobamos que la mayoria de los alumnos dispone del nia … … 503 499 /* INICIO LLIUREX 24/09/2015 */ 504 500 if (!strcmp($tipo, "text/xml") || !strcmp($tipo, "application/octet-stream")){ 501 require("$base_path/includes/db_param.inc.php"); 502 $link2 = @mysql_connect(SQL_SERVER, USER_NAME, USER_PASS) OR die("Error MySQL"); 503 // Comprobamos si la tabla de usuarios (empr) esta vacia 504 $sql_vacia="SELECT * FROM empr"; 505 $vacia=@mysql_num_rows(@mysql_query($sql_vacia, $link2)); 506 507 if (move_uploaded_file($_FILES['fich']['tmp_name'], $nomfich)){ //el POsT devuelve el nombre de archivo en el servidor y el segundo campo es a donde se va a mover. 508 $valida=validaFichero($nomfich); 509 if ($valida==1){ 510 echo "<b><center> ". $nomfich ." ". $msg["xml_incorrect"]."</center></b>"; 511 break; 512 }else{ 513 514 if ($vacia==0){ 515 $tipo="NIA"; 516 $referencia=24; //Si la tabla esta vacia el número máximo de campos será 24 517 }else{ 518 $tipo="Exp"; 519 $referencia=25; //Si la tabla esta vacia el número máximo de campos será 25 520 521 } 505 522 506 507 require("$base_path/includes/db_param.inc.php"); 508 $link2 = @mysql_connect(SQL_SERVER, USER_NAME, USER_PASS) OR die("Error MySQL"); 509 // Comprobamos si la tabla de usuarios (empr) esta vacia 510 $sql_vacia="SELECT * FROM empr"; 511 $vacia=@mysql_num_rows(@mysql_query($sql_vacia, $link2)); 512 513 if (move_uploaded_file($_FILES['fich']['tmp_name'], $nomfich)){ //el POsT devuelve el nombre de archivo en el servidor y el segundo campo es a donde se va a mover. 514 $valida=validaFichero($nomfich); 515 if ($valida==1){ 516 echo "<b><center> ". $nomfich ." ". $msg["xml_incorrect"]."</center></b>"; 517 break; 518 }else{ 523 $totAlu = sacaCamposItacaAlu($nomfich,$tipo); 524 $totProf= sacaCamposItacaProf($nomfich); 525 } 519 526 520 if ($vacia==0){ 521 $tipo="NIA"; 522 $referencia=24; //Si la tabla esta vacia el número máximo de campos será 24 523 524 }else{ 525 $tipo="Exp"; 526 $referencia=25; //Si la tabla esta vacia el número máximo de campos será 25 527 528 } 529 530 $totAlu = sacaCamposItacaAlu($nomfich,$tipo); 531 $totProf= sacaCamposItacaProf($nomfich); 532 } 533 534 } 527 } 535 528 /* FIN LLIUREX 24/09/2015 */ 536 529 537 538 539 540 541 542 530 $camposAlu=(count($totAlu))-1; //total de campos, se le resta 1 debido a que coge un campo mas (vacio) 531 532 if (($camposAlu%$referencia) != 0){ 533 exit("Campos $camposAlu"); //Se muestra mensaje advirtiendo que el fichero no tiene la estructura correcta 534 exit("<b><center>$msg[usur_imp_a]</center></b>"); 535 } 543 536 544 537 /* INICIO LLIUREX 24/09/2015 */ … … 630 623 $idused=identificador_usado($totAlu,$camposAlu,$link2); 631 624 632 if ($idused=="Exp"){ 633 $sql="SELECT column_name from INFORMATION_SCHEMA.columns where table_schema='pmb' and table_name='empr' AND column_name='empr_NIA'"; 634 $existeNIA=@mysql_query($sql, $link2); 635 //Si el campo empr_NIA no existe se crea 636 if (@mysql_num_rows($existeNIA)==0){ 637 $sql="ALTER TABLE empr ADD empr_NIA varchar(15)"; 638 $insert=@mysql_query($sql, $link2); 639 640 } 625 if ($idused=="Exp"){ 626 $sql="SELECT column_name from INFORMATION_SCHEMA.columns where table_schema='pmb' and table_name='empr' AND column_name='empr_NIA'"; 627 $existeNIA=@mysql_query($sql, $link2); 628 //Si el campo empr_NIA no existe se crea 629 if (@mysql_num_rows($existeNIA)==0){ 630 $sql="ALTER TABLE empr ADD empr_NIA varchar(15)"; 631 $insert=@mysql_query($sql, $link2); 632 } 641 633 //Comprobamos si existe el campo empr_Tipo para distinguir entre alumnos y profesores 642 $sql="SELECT column_name from INFORMATION_SCHEMA.columns where table_schema='pmb' and table_name='empr' AND column_name='empr_Tipo'"; 643 $existeTipo=@mysql_query($sql, $link2); 644 //Si el campo empr_Tipo no existe se crea 645 if (@mysql_num_rows($existeTipo)==0){ 646 $sql="ALTER TABLE empr ADD empr_Tipo varchar(1)"; 647 $insert=@mysql_query($sql, $link2); 648 649 } 634 $sql="SELECT column_name from INFORMATION_SCHEMA.columns where table_schema='pmb' and table_name='empr' AND column_name='empr_Tipo'"; 635 $existeTipo=@mysql_query($sql, $link2); 636 //Si el campo empr_Tipo no existe se crea 637 if (@mysql_num_rows($existeTipo)==0){ 638 $sql="ALTER TABLE empr ADD empr_Tipo varchar(1)"; 639 $insert=@mysql_query($sql, $link2); 640 } 650 641 651 642 } 652 643 $tipo_user="A"; 653 654 655 656 657 658 659 660 661 662 663 644 } 645 //Importamos datos alumnos 646 $resul_comp=inserta_datos($vacia,$referencia,$totAlu,$camposAlu,$link2,$idused,$lang,$tipo_user); 647 648 //Importamos datos profesores; 649 650 $camposProf=(count($totProf))-1; 651 $tipo_user="P"; 652 $resul_prof=inserta_datos($vacia,24,$totProf,$camposProf,$link2,$idused,$lang,$tipo_user); 653 $contR=$resul_comp[1]+$resul_prof[1]; 654 $contAct=$resul_comp[2]+$resul_prof[2]; 664 655 665 656 //Se muestra mensaje indicado el número de registros importados 666 667 668 669 670 671 672 673 674 675 676 677 678 657 echo "<b>$msg[usur_imp_c] </b>"; 658 if ($contR>0){ 659 echo "<b>$msg[usur_imp_d] " .$contR . "</b>"; 660 } 661 if ($contAct>0){ 662 echo " <b>$msg[usur_imp_q] " .$contAct . "</b>"; 663 } 664 $migracion=comprueba_migracion($link2); 665 666 if ($resul_comp[0]>0){ //comparativa campos con los valores a insertar. Se muestra a modo de ejemplo el primer registro importado 667 $fecha=$resul_comp[3]; 668 $fecha_cad=$resul_comp[4]; 669 echo "<h3>$msg[usur_imp_e] </h3><div class='form-contenu'><table width='98%' border='0' cellspacing='10'><td class='jauge'><b>$msg[usur_imp_f] <br>$msg[usur_imp_g]</b></td><td class='jauge' width='27%'><center><b>$msg[usur_imp_h] <br>$msg[usur_imp_i]</b></center></td><td class='jauge' width='60%'><b>$msg[usur_imp_j]<br>$msg[usur_imp_k]</b></td><tr><td class='nobrd'><font color='#FF0000'>id_empr</font></td><td class='nobrd'><center><input name='id_empr' value='0' type='text' size='1' disabled></center></td><td class='nobrd'><input name='exem0' value='' type='text' disabled size='40'></td></tr><tr><td class='nobrd'>empr_cb</td><td class='nobrd'><center><input name='empr_cb' value='1' type='text' size='1' disabled></center></td><td class='nobrd'><input name='exem1' value='" . $totAlu[0] . "' type='text' disabled size='40'></td></tr><tr><td class='nobrd'>empr_nom</td><td class='nobrd'><center><input name='empr_nom' value='2' type='text' size='1' disabled></center></td><td class='nobrd'><input name='exem2' value='" . $totAlu[1] . "' type='text' disabled size='40'></td></tr><tr><td class='nobrd'>empr_prenom</td><td class='nobrd'><center><input name='empr_prenom' value='3' type='text' size='1' disabled></center></td><td class='nobrd'><input name='exem3' value='" . $totAlu[2] . "' type='text' disabled size='40'></td></tr><tr><td class='nobrd'>empr_adr1</td><td class='nobrd'><center><input name='empr_adr1' value='4' type='text' size='1' disabled><td class='nobrd'><input name='exem5' value='" . $totAlu[3] . "' type='text' disabled size='40'></td></tr><tr><td class='nobrd'>empr_adr2</td><td class='nobrd'><center><input name='empr_adr2' value='5' type='text' size='1' disabled></center></td><td class='nobrd'><input name='exem6' value='" . $totAlu[4] . "' type='text' disabled size='40'></td></tr><tr><td class='nobrd'>empr_cp</td><td class='nobrd'><center><input name='empr_cp' value='6' type='text' size='1' disabled></center></td><td class='nobrd'><input name='exem7' value='" . $totAlu[5] . "' type='text' disabled size='40'></td></tr><tr><td class='nobrd'>empr_ville</td><td class='nobrd'><center><input name='empr_ville' value='7' type='text' size='1' disabled></center></td><td class='nobrd'><input name='exem8' value='" . $totAlu[6] . "' type='text' disabled size='40'></td></tr><tr><td class='nobrd'>empr_pays</td><td class='nobrd'><center><input name='empr_pays' value='8' type='text' size='1' disabled></center></td><td class='nobrd'><input name='exem9' value='" . $totAlu[7] . "' type='text' disabled size='40'></td></tr><tr><td class='nobrd'>empr_mail</td><td class='nobrd'><center><input name='empr_mail' value='9' type='text' size='1' disabled></center></td><td class='nobrd'><input name='exem10' value='" . $totAlu[8] . "' type='text' disabled size='40'></td></tr><tr><td class='nobrd'>empr_tel1</td><td class='nobrd'><center><input name='empr_tel1' value='10' type='text' size='1' disabled></center></td><td class='nobrd'><input name='exem11' value='" . $totAlu[9] . "' type='text' disabled size='40'></td></tr><tr><td class='nobrd'>empr_tel2</td><td class='nobrd'><center><input name='empr_tel2' value='11' type='text' size='1' disabled></center></td><td class='nobrd'><input name='exem12' value='" . $totAlu[10] . "' type='text' disabled size='40'></td></tr><tr><td class='nobrd'>empr_prof</td><td class='nobrd'><center><input name='empr_prof' value='12' type='text' size='1' disabled></center></td><td class='nobrd'><input name='exem13' value='" . $totalu[11] . "' type='text' disabled size='40'></td></tr><tr><td class='nobrd'>empr_year</td><td class='nobrd'><center><input name='empr_year' value='13' type='text' size='1' disabled></center></td><td class='nobrd'><input name='exem14' value='" . $totAlu[12] . "' type='text' disabled size='40'></td></tr><tr><td class='nobrd'><font color='#FF0000'>empr_categ</font></td><td class='nobrd'><center><input name='empr_categ' value='0' type='text' size='1' disabled></center></td><td class='nobrd'><input name='exem15' value='7' type='text' disabled size='40'></td></tr><tr><td class='nobrd'><font color='#FF0000'>empr_codestat</font></td><td class='nobrd'><center><input name='empr_codestat' value='0' type='text' size='1' disabled></center></td><td class='nobrd'><input name='exem16' value='2' type='text' disabled size='40'></td></tr><tr><td class='nobrd'><font color='#FF0000'>empr_creation</font></td><td class='nobrd'><center><input name='empr_creation' value='0' type='text' size='1' disabled></center></td><td class='nobrd'><input name='exem17' value='" . $fecha . "' type='text' disabled size='40'></td></tr><tr><td class='nobrd'><font color='#FF0000'>empr_modif</font></td><td class='nobrd'><center><input name='empr_modif' value='0' type='text' size='1' disabled></center></td><td class='nobrd'><input name='exem18' value='" . $fecha . "' type='text' disabled size='40'></td></tr><tr><td class='nobrd'>empr_sexe</td><td class='nobrd'><center><input name='empr_sexe' value='14' type='text' size='1' disabled></center></td><td class='nobrd'><input name='exem19' value='" . $totAlu[13] . "' type='text' disabled size='40'></td></tr><tr><td class='nobrd'>empr_login</td><td class='nobrd'><center><input name='empr_login' value='15' type='text' size='1' disabled></center></td><td class='nobrd'><input name='exem20' value='" . $totAlu[14] . "' type='text' disabled size='40'></td></tr><tr><td class='nobrd'>empr_password</td><td class='nobrd'><center><input name='empr_password' value='16' type='text' size='1' disabled></center></td><td class='nobrd'><input name='exem21' value='" . $totAlu[15] . "' type='text' disabled size='40'></td></tr><tr><td class='nobrd'><font color='#FF0000'>empr_date_adhesion</font></td><td class='nobrd'><center><input name='empr_date_adhesion' value='0' type='text' size='1' disabled></center></td><td class='nobrd'><input name='exem22' value='" . $fecha . "' type='text' disabled size='40'></td></tr><tr><td class='nobrd'><font color='#FF0000'>empr_date_expiration</font></td><td class='nobrd'><center><input name='empr_date_expiration' value='0' type='text' size='1' disabled></center></td><td class='nobrd'><input name='exem23' value='" . $fecha_cad . "' type='text' disabled size='40'></td></tr><tr><td class='nobrd'>empr_msg</td><td class='nobrd'><center><input name='empr_msg' value='17' type='text' size='1' disabled></center></td><td class='nobrd'><input name='exem24' value='" . $totAlu[16] . "' type='text' disabled size='40'></td></tr><tr><td class='nobrd'>empr_lang</td><td class='nobrd'><center><input name='empr_lang' value='18' type='text' size='1' disabled></center></td><td class='nobrd'><input name='exem25' value='" . $totAlu[17] . "' type='text' disabled size='40'></td></tr><tr><td class='nobrd'><font color='#FF0000'>empr_ldap</font></td><td class='nobrd'><center><input name='empr_ldap' value='0' type='text' size='1' disabled></center></td><td class='nobrd'><input name='exem26' value='' type='text' disabled size='40'></td></tr><tr><td class='nobrd'>type_abt</td><td class='nobrd'><center><input name='type_abt' value='19' type='text' size='1' disabled></center></td><td class='nobrd'><input name='exem27' value='" . $totAlu[18] . "' type='text' disabled size='40'></td></tr><tr><td class='nobrd'>last_loan_date</td><td class='nobrd'><center><input name='last_loan_date' value='20' type='text' size='1' disabled></center></td><td class='nobrd'><input name='exem28' value='" . $totAlu[19] . "' type='text' disabled size='40'></td></tr><tr><td class='nobrd'>empr_location</td><td class='nobrd'><center><input name='empr_location' value='21' type='text' size='1' disabled></center></td><td class='nobrd'><input name='exem29' value='" . $totAlu[20] . "' type='text' disabled size='40'></td></tr><tr><td class='nobrd'>date_fin_blocage</td><td class='nobrd'><center><input name='date_fin_blocage' value='22' type='text' size='1' disabled></center></td><td class='nobrd'><input name='exem30' value='" . $totAlu[21] . "' type='text' disabled size='40'></td></tr><tr><td class='nobrd'>total_loans</td><td class='nobrd'><center><input name='total_loans' value='23' type='text' size='1' disabled></center></td><td class='nobrd'><input name='exem31' value='" . $totAlu[22] . "' type='text' disabled size='40'></td></tr><tr><td class='nobrd'>empr_statut</td><td class='nobrd'><center><input name='empr_statut' value='24' type='text' size='1' disabled></center></td><td class='nobrd'><input name='exem32' value='" . $totAlu[23] . "' type='text' disabled size='40'></td></tr></table>"; 679 670 /* FIN LLIUREX 24/09/2015 */ 680 671 fclose($archivo); 681 672 unlink($nomfich); 682 673 break; 683 674 } 684 675 685 676 }else { //Si el fichero no es xml o .dat se muestra mensaje de advertencia
Note: See TracChangeset
for help on using the changeset viewer.