Changeset 6086


Ignore:
Timestamp:
Oct 25, 2017, 6:19:36 PM (2 years ago)
Author:
jrpelegrina
Message:

WIP in validation of alum xml file

Location:
pmb4.2/trunk/fuentes/pmb
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • pmb4.2/trunk/fuentes/pmb/includes/messages/es_ES.xml

    r4733 r6086  
    80388038<entry code="import_abies_b">Selecciona un fichero sql generado con Lliurex Abies2PMB  y pulse Enter</entry>
    80398039<entry code="importa_abies_c">Archivo a importar</entry>
     8040<entry code="xml_incorrect">No tiene una estructura válida</entry>
    80408041
    80418042
  • pmb4.2/trunk/fuentes/pmb/includes/messages/va_ES.xml

    r4733 r6086  
    70827082
    70837083<entry code="importa_abies_c">Arxiu a importar</entry>
     7084<entry code="xml_incorrect">No té una estructura vàlida</entry>
    70847085// -- ------------------------------- FIN LLIUREX 02/02/2015---------------------
    70857086</XMLlist>
  • pmb4.2/trunk/fuentes/pmb/usur_imp_itaca.php

    r3550 r6086  
    1313}
    1414
     15//-----------Funcion para validar el fichero xml de alumnos y profesores ------------------------//
     16function validaFichero($archivo) {
     17       
     18        $doc = new DOMDocument();
     19        $doc->load( $archivo );
     20       
     21        $listaAlumnos = $doc->getElementsByTagName( "alumne" );
     22        if ($listaAlumnos->length==0){
     23                return 1;
     24               
     25        }else{
     26                $listaTagsAlu=$listaAlumnos->item(0);
     27                $nia=$listaTagsAlu->getElementsByTagName( "nia" );
     28                if ($nia->length==0){
     29                        return 1;
     30                }
     31                $nom=$listaTagsAlu->getElementsByTagName( "nom" );
     32                if ($nom->length==0){
     33                        return 1;
     34                }
     35                $cognoms=$listaTagsAlu->getElementsByTagName( "cognoms" );
     36                if ($cognoms->length==0){
     37                        return 1;
     38                }
     39                $nif=$listaTagsAlu->getElementsByTagName( "nif" );
     40                if ($nif->length==0){
     41                        return 1;
     42                }
     43                $numeroExpediente=$listaTagsAlu->getElementsByTagName( "numeroExpedient" );
     44                if ($numeroExpediente->length==0){
     45                        return 1;
     46                }
     47       
     48        }
     49        $listaProfesores=$doc->getElementsByTagName("professor");
     50       
     51        if ($listaProfesores->length==0){
     52                return 1;
     53       
     54        }else{
     55                $listaTagsProfe=$listaProfesores->item(0);
     56                $nom=$listaTagsProfe->getElementsByTagName( "nom" );
     57                if ($nom->length==0){
     58                        return 1;
     59                }
     60                $cognoms=$listaTagsProfe->getElementsByTagName( "cognoms" );
     61                if ($cognoms->length==0){
     62                        return 1;
     63                }
     64                $nif=$listaTagsProfe->getElementsByTagName( "document" );
     65                if ($nif->length==0){   
     66                        $nif=$listaTagsProfe->getElementsByTagName( "nif        " );
     67                        if ($nif->length==0){
     68                                return 1;
     69                        }
     70                }
     71        }
     72        return 0;
     73       
     74}
     75
    1576function sacaCamposItacaAlu($archivo,$ide) {
    1677       
     
    2384        /* Cargo el XML, En este caso es un archivo llamado llxgesc.xml, podriamos usar loadXML si desamos leer de un string*/
    2485        $doc->load( $archivo );
    25    
     86           
    2687        // Obtengo el nodo alumne (listaAlumnos) del XML a traves del metodo getElementsByTagName, retorna una lista de todos los nodos encontrados
    2788        $listaAlumnos = $doc->getElementsByTagName( "alumne" );
    28 
     89               
    2990        /*Al ser $listaAlumnos una lista de nodos   lo puedo recorrer y obtener todo  su contenido*/
    3091        foreach( $listaAlumnos as $alumno )
    3192        {
     93               
     94               
    3295                /* Obtengo el valor del primer elemento 'item(0)' de la lista $autors.  Si existiera un atributo en el nodo para obtenerlo usaria
    3396                   $authors->getAttribute('atributo');    */
    3497                $nombres = $alumno->getElementsByTagName( "nom" ); // $authors = $book->getElementsByTagName( "author" );
    35                 $nombre = $nombres->item(0)->nodeValue;
    36    
     98               
     99                $nombre = $nombres->item(0)->nodeValue;
    37100                $apellidos = $alumno->getElementsByTagName( "cognoms" ); // $publishers = $book->getElementsByTagName( "publisher" );
    38101                $apellido = $apellidos->item(0)->nodeValue; // $publisher = $publishers->item(0)->nodeValue;
     
    434497
    435498                $tipo = $_FILES['fich']['type']; //tipo fichero
    436 
    437499                $sep= $_POST['separador'];
    438500
     
    440502                // Se admiten ficheros xml y .dat
    441503                /* INICIO LLIUREX 24/09/2015 */
    442                 if (!strcmp($tipo, "text/xml") || !strcmp($tipo, "application/x-ns-proxy-autoconfig")){
    443                         require("$base_path/includes/db_param.inc.php");
    444                         $link2 = @mysql_connect(SQL_SERVER, USER_NAME, USER_PASS) OR die("Error MySQL");
    445                         // Comprobamos si la tabla de usuarios (empr) esta vacia
    446                         $sql_vacia="SELECT * FROM empr";
    447                         $vacia=@mysql_num_rows(@mysql_query($sql_vacia, $link2));
    448 
    449                         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.
     504                if (!strcmp($tipo, "text/xml") || !strcmp($tipo, "application/octet-stream")){
    450505                       
    451                                 if ($vacia==0){
    452                                         $tipo="NIA";
    453                                         $referencia=24; //Si la tabla esta vacia el número  máximo de campos será 24
     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{
    454519                                       
    455                                 }else{
    456                                         $tipo="Exp";
    457                                         $referencia=25; //Si la tabla esta vacia el número  máximo de campos será 25
    458                
    459                                 }                               
    460        
    461                                 $totAlu = sacaCamposItacaAlu($nomfich,$tipo);
    462                                 $totProf= sacaCamposItacaProf($nomfich);
    463                                
    464                         }
    465                 /* FIN LLIUREX 24/09/2015 */
    466            
    467                         $camposAlu=(count($totAlu))-1; //total de campos, se le resta 1 debido a que coge un campo mas (vacio)
     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                                                }                               
    468529                       
    469                         if (($camposAlu%$referencia) != 0){                     
    470                                 exit("Campos $camposAlu");      //Se muestra mensaje advirtiendo que el fichero no tiene la estructura correcta
    471                                 exit("<b><center>$msg[usur_imp_a]</center></b>");
    472                         }
    473        
    474                 /* INICIO LLIUREX 24/09/2015 */
    475                 /*      while($num<$campos){
    476                                 if ($tot[$num] == " ") {
    477                                         $tot[$num] = NULL;
    478                                 }
    479                                      
    480                                 if(((($num+1)%$referencia)== 0) && ($num != 0)){//cada 24 debido a que hay 24 campos
    481                         // Comprobamos si existe ya un alumno el mismo nombre y apellidos en la BD del PMB, si está actualizamos
    482                         // su datos personales si no los incorporamos al PMB
     530                                                $totAlu = sacaCamposItacaAlu($nomfich,$tipo);
     531                                                $totProf= sacaCamposItacaProf($nomfich);
     532                                        }       
    483533                                       
    484                                         $sql_comp= "SELECT `empr`.`id_empr`, `empr`.`empr_login`, `empr`.`empr_password`, `empr`.`empr_location` FROM `empr` WHERE (`empr`.`empr_cb`='" . $tot[$num-23] . "' AND `empr`. `empr_nom` like '" . $tot[$num-22] . "' AND `empr`. `empr_prenom` like '" . $tot[$num-21] . "' )";
    485 
    486                                         $resul1= @mysql_query($sql_comp, $link2);
    487                                         $fecha= date('Y-m-d');
    488                                         $fecha_cad= date('Y-m-d', strtotime('+1 year'));
    489                        
    490                                                 //Se actualiza el usuario y password del usuario si vien en el fichero. Si no se utiliza el Número Expediente o NIA como usuario y password
    491                                         if (trim($tot[$num-9]) != "") {
    492                                                 $user_a=addslashes($tot[$num-9]);
    493                                                 if (trim($tot[$num-8]) != "") $pass_a=addslashes($tot[$num-8]);
    494                                                 else $pass_a=$tot[$num-23];
    495                                         } else {
    496                                
    497                                                 $user_a=$tot[$num-23];
    498                                                 $pass_a=$tot[$num-23];
    499                                 //echo "a".$user_a." ".$pass_a."a";
    500                                 //exit(0);
     534                                }
     535                        /* FIN LLIUREX 24/09/2015 */
     536                   
     537                                $camposAlu=(count($totAlu))-1; //total de campos, se le resta 1 debido a que coge un campo mas (vacio)
     538                               
     539                                if (($camposAlu%$referencia) != 0){                     
     540                                        exit("Campos $camposAlu");      //Se muestra mensaje advirtiendo que el fichero no tiene la estructura correcta
     541                                        exit("<b><center>$msg[usur_imp_a]</center></b>");
     542                                }
     543               
     544                        /* INICIO LLIUREX 24/09/2015 */
     545                        /*      while($num<$campos){
     546                                        if ($tot[$num] == " ") {
     547                                                $tot[$num] = NULL;
    501548                                        }
    502                                         if (trim($tot[$num-3]) != "") $loca=intval(($tot[$num-3]));
    503                                         else $loca=1;
    504 
    505                                         //Si el alumno esta repetido se actualizan sus datos a excepción del empr_cb
    506                                         if (@mysql_num_rows($resul1) != 0) {
    507                                 //echo "$msg[usur_imp_b] <b>" . $tot[$num-23] . "</b><br>";
    508                                                 echo ("alumno repetido");
    509                                                 $row1 = mysql_fetch_array($resul1);
    510                                                 $requete = "UPDATE empr SET ";
    511                                                 $requete .= "empr_nom='".fields_slashes($tot[$num-22])."',";
    512                                                 $requete .= "empr_prenom='".fields_slashes($tot[$num-21])."',";
    513                                                 $requete .= "empr_adr1='".fields_slashes($tot[$num-20])."',";
    514                                                 $requete .= "empr_adr2='".fields_slashes($tot[$num-19])."',";
    515                                                 $requete .= "empr_cp='".fields_slashes($tot[$num-18])."',";
    516                                                 $requete .= "empr_ville='".fields_slashes($tot[$num-17])."',";
    517                                                 $requete .= "empr_pays='".fields_slashes($tot[$num-16])."',";
    518                                                 $requete .= "empr_mail='".fields_slashes($tot[$num-15])."',";
    519                                                 $requete .= "empr_tel1='".fields_slashes($tot[$num-14])."',";
    520                                                 $requete .= "empr_tel2='".fields_slashes($tot[$num-13])."',";
    521                                                 $requete .= "empr_prof='".fields_slashes($tot[$num-12])."',";
    522                                                 $requete .= "empr_year=".intval(($tot[$num-11])).",";
     549                                             
     550                                        if(((($num+1)%$referencia)== 0) && ($num != 0)){//cada 24 debido a que hay 24 campos
     551                                // Comprobamos si existe ya un alumno el mismo nombre y apellidos en la BD del PMB, si está actualizamos
     552                                // su datos personales si no los incorporamos al PMB
    523553                                               
    524                                                 if ($row1['empr_login'] == "") {
    525                                                         $requete .= "empr_login='".$user_a."', ";
    526                                                         $requete .= "empr_password='".$pass_a."', ";
     554                                                $sql_comp= "SELECT `empr`.`id_empr`, `empr`.`empr_login`, `empr`.`empr_password`, `empr`.`empr_location` FROM `empr` WHERE (`empr`.`empr_cb`='" . $tot[$num-23] . "' AND `empr`. `empr_nom` like '" . $tot[$num-22] . "' AND `empr`. `empr_prenom` like '" . $tot[$num-21] . "' )";
     555
     556                                                $resul1= @mysql_query($sql_comp, $link2);
     557                                                $fecha= date('Y-m-d');
     558                                                $fecha_cad= date('Y-m-d', strtotime('+1 year'));
     559                               
     560                                                        //Se actualiza el usuario y password del usuario si vien en el fichero. Si no se utiliza el Número Expediente o NIA como usuario y password
     561                                                if (trim($tot[$num-9]) != "") {
     562                                                        $user_a=addslashes($tot[$num-9]);
     563                                                        if (trim($tot[$num-8]) != "") $pass_a=addslashes($tot[$num-8]);
     564                                                        else $pass_a=$tot[$num-23];
     565                                                } else {
     566                                       
     567                                                        $user_a=$tot[$num-23];
     568                                                        $pass_a=$tot[$num-23];
     569                                        //echo "a".$user_a." ".$pass_a."a";
     570                                        //exit(0);
    527571                                                }
    528                                                 //$requete .= "empr_msg='".$tot[$num-7]."' ";
    529                                                 //$requete .= "empr_lang='".$lang."', ";
    530                                                 //$requete .= "type_abt='".$tot[$num-5]."', ";
    531                                                 //$requete .= "last_loan_date='".$tot[$num-4]."', ";
    532                                                 if ($row1['empr_location'] == "" || intval($row1['empr_location']) == 0) $requete .= "empr_location='".$loca."', ";
    533                                                 //$requete .= "date_fin_blocage=$tot[$num-22],";
    534                                                 //$requete .= "total_loans=$tot[$num-22],";
    535                                                 //$requete .= "empr_statut='"$tot[$num-22]."',";
    536                                                 $requete .= "empr_sexe=".intval(($tot[$num-10]))."";
    537                                                 $requete .= " WHERE id_empr=".intval($row1['id_empr'])." ";
    538                                                 $resul2 = @mysql_query($requete, $link2);
    539                                                 $cont++;
    540 
    541                                         }
    542                                         else{
    543                                                         echo ("Alumno nuevo en tabla vacia");
     572                                                if (trim($tot[$num-3]) != "") $loca=intval(($tot[$num-3]));
     573                                                else $loca=1;
     574
     575                                                //Si el alumno esta repetido se actualizan sus datos a excepción del empr_cb
     576                                                if (@mysql_num_rows($resul1) != 0) {
     577                                        //echo "$msg[usur_imp_b] <b>" . $tot[$num-23] . "</b><br>";
     578                                                        echo ("alumno repetido");
     579                                                        $row1 = mysql_fetch_array($resul1);
     580                                                        $requete = "UPDATE empr SET ";
     581                                                        $requete .= "empr_nom='".fields_slashes($tot[$num-22])."',";
     582                                                        $requete .= "empr_prenom='".fields_slashes($tot[$num-21])."',";
     583                                                        $requete .= "empr_adr1='".fields_slashes($tot[$num-20])."',";
     584                                                        $requete .= "empr_adr2='".fields_slashes($tot[$num-19])."',";
     585                                                        $requete .= "empr_cp='".fields_slashes($tot[$num-18])."',";
     586                                                        $requete .= "empr_ville='".fields_slashes($tot[$num-17])."',";
     587                                                        $requete .= "empr_pays='".fields_slashes($tot[$num-16])."',";
     588                                                        $requete .= "empr_mail='".fields_slashes($tot[$num-15])."',";
     589                                                        $requete .= "empr_tel1='".fields_slashes($tot[$num-14])."',";
     590                                                        $requete .= "empr_tel2='".fields_slashes($tot[$num-13])."',";
     591                                                        $requete .= "empr_prof='".fields_slashes($tot[$num-12])."',";
     592                                                        $requete .= "empr_year=".intval(($tot[$num-11])).",";
    544593                                                       
    545                                                         if ($tot[$num] == "") $tot[$num] = 1;
    546                         $sql = "insert into empr (empr_cb, empr_nom, empr_prenom, empr_adr1, empr_adr2, empr_cp, empr_ville, empr_pays, empr_mail, empr_tel1, empr_tel2, empr_prof, empr_year, empr_sexe, empr_login, empr_password, empr_msg, empr_lang, type_abt, last_loan_date, empr_location, date_fin_blocage, total_loans, empr_statut, empr_creation, empr_modif, empr_date_adhesion, empr_date_expiration, empr_categ, empr_codestat) values ( '" . fields_slashes($tot[$num-23]) . "', '" . fields_slashes($tot[$num-22]) . "', '" . fields_slashes($tot[$num-21]) . "', '" . fields_slashes($tot[$num-20]) . "', '" . fields_slashes($tot[$num-19]) . "', '" . fields_slashes($tot[$num-18]) . "', '" . fields_slashes($tot[$num-17]) . "', '" . fields_slashes($tot[$num-16]) . "', '" . fields_slashes($tot[$num-15]) . "', '" . fields_slashes($tot[$num-14]) . "', '" . fields_slashes($tot[$num-13]) . "', '" . fields_slashes($tot[$num-12]) . "', " . intval(($tot[$num-11])) . ", " . intval(($tot[$num-10])) . ", '" . $user_a . "', '" . $pass_a . "', '" . fields_slashes($tot[$num-7]) . "', '" . $lang . "', '" . fields_slashes($tot[$num-5]) . "', '" . $tot[$num-4] . "', $loca, '" . $tot[$num-2] . "', '" . $tot[$num-1] . "', '" . $tot[$num] . "', '" . $fecha . "', '" . $fecha . "', '" . $fecha . "', '" . $fecha_cad . "', 7, 2 )";
    547                         $resul2 = @mysql_query($sql, $link2);
    548                         $cont++;
    549                                                 }               
    550                                         }
    551                                         $num++;
    552                                 }       // Fin del While */
    553 
    554                            
    555    
    556             //Si la tabla esta vacia se utilizará el NIA como identificador
    557             $tipo_user=0;
    558             $existeNIA=0;       
    559             if ($vacia!=0){
    560                      $idused=identificador_usado($totAlu,$camposAlu,$link2);
    561                        
    562                      if ($idused=="Exp"){       
    563                         $sql="SELECT column_name from INFORMATION_SCHEMA.columns where table_schema='pmb' and table_name='empr' AND column_name='empr_NIA'";
    564                                          $existeNIA=@mysql_query($sql, $link2);
    565                                         //Si el campo empr_NIA no existe se crea
    566                                         if (@mysql_num_rows($existeNIA)==0){
    567                                                 $sql="ALTER TABLE empr ADD empr_NIA varchar(15)";
    568                                                 $insert=@mysql_query($sql, $link2);
    569                                                
    570                                         }
    571                         //Comprobamos si existe el campo empr_Tipo para distinguir entre alumnos y profesores
    572                         $sql="SELECT column_name from INFORMATION_SCHEMA.columns where table_schema='pmb' and table_name='empr' AND column_name='empr_Tipo'";
    573                         $existeTipo=@mysql_query($sql, $link2);
    574                                         //Si el campo empr_Tipo no existe se crea
    575                                         if (@mysql_num_rows($existeTipo)==0){
    576                                                 $sql="ALTER TABLE empr ADD empr_Tipo varchar(1)";
    577                                                 $insert=@mysql_query($sql, $link2);
    578                                                
    579                                         }
    580                                        
    581                        }
    582                         $tipo_user="A";
    583              }                 
    584                         //Importamos datos alumnos
    585                         $resul_comp=inserta_datos($vacia,$referencia,$totAlu,$camposAlu,$link2,$idused,$lang,$tipo_user);
    586                        
    587                         //Importamos datos profesores;
    588 
    589                         $camposProf=(count($totProf))-1;
    590                         $tipo_user="P";
    591                         $resul_prof=inserta_datos($vacia,24,$totProf,$camposProf,$link2,$idused,$lang,$tipo_user);                                     
    592                         $contR=$resul_comp[1]+$resul_prof[1];
    593                         $contAct=$resul_comp[2]+$resul_prof[2];
    594                                                    
    595             //Se muestra mensaje indicado el número de registros importados
    596                         echo "<b>$msg[usur_imp_c] </b>";
    597                         if ($contR>0){
    598                                 echo "<b>$msg[usur_imp_d]  " .$contR . "</b>";
    599                         }
    600                         if ($contAct>0){
    601                                 echo " <b>$msg[usur_imp_q]  " .$contAct . "</b>";
    602                         }
    603                         $migracion=comprueba_migracion($link2);
    604 
    605                         if ($resul_comp[0]>0){ //comparativa campos con los valores a insertar. Se muestra a modo de ejemplo el primer registro importado
    606                                 $fecha=$resul_comp[3];
    607                                 $fecha_cad=$resul_comp[4];
    608                                 echo "<h3>$msg[usur_imp_e]&nbsp;&nbsp;&nbsp;</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>";
    609         /* FIN LLIUREX 24/09/2015 */
    610                         fclose($archivo);
    611                         unlink($nomfich);
    612                         break;
    613                         }
     594                                                        if ($row1['empr_login'] == "") {
     595                                                                $requete .= "empr_login='".$user_a."', ";
     596                                                                $requete .= "empr_password='".$pass_a."', ";
     597                                                        }
     598                                                        //$requete .= "empr_msg='".$tot[$num-7]."' ";
     599                                                        //$requete .= "empr_lang='".$lang."', ";
     600                                                        //$requete .= "type_abt='".$tot[$num-5]."', ";
     601                                                        //$requete .= "last_loan_date='".$tot[$num-4]."', ";
     602                                                        if ($row1['empr_location'] == "" || intval($row1['empr_location']) == 0) $requete .= "empr_location='".$loca."', ";
     603                                                        //$requete .= "date_fin_blocage=$tot[$num-22],";
     604                                                        //$requete .= "total_loans=$tot[$num-22],";
     605                                                        //$requete .= "empr_statut='"$tot[$num-22]."',";
     606                                                        $requete .= "empr_sexe=".intval(($tot[$num-10]))."";
     607                                                        $requete .= " WHERE id_empr=".intval($row1['id_empr'])." ";
     608                                                        $resul2 = @mysql_query($requete, $link2);
     609                                                        $cont++;
     610
     611                                                }
     612                                                else{
     613                                                                echo ("Alumno nuevo en tabla vacia");
     614                                                               
     615                                                                if ($tot[$num] == "") $tot[$num] = 1;
     616                                $sql = "insert into empr (empr_cb, empr_nom, empr_prenom, empr_adr1, empr_adr2, empr_cp, empr_ville, empr_pays, empr_mail, empr_tel1, empr_tel2, empr_prof, empr_year, empr_sexe, empr_login, empr_password, empr_msg, empr_lang, type_abt, last_loan_date, empr_location, date_fin_blocage, total_loans, empr_statut, empr_creation, empr_modif, empr_date_adhesion, empr_date_expiration, empr_categ, empr_codestat) values ( '" . fields_slashes($tot[$num-23]) . "', '" . fields_slashes($tot[$num-22]) . "', '" . fields_slashes($tot[$num-21]) . "', '" . fields_slashes($tot[$num-20]) . "', '" . fields_slashes($tot[$num-19]) . "', '" . fields_slashes($tot[$num-18]) . "', '" . fields_slashes($tot[$num-17]) . "', '" . fields_slashes($tot[$num-16]) . "', '" . fields_slashes($tot[$num-15]) . "', '" . fields_slashes($tot[$num-14]) . "', '" . fields_slashes($tot[$num-13]) . "', '" . fields_slashes($tot[$num-12]) . "', " . intval(($tot[$num-11])) . ", " . intval(($tot[$num-10])) . ", '" . $user_a . "', '" . $pass_a . "', '" . fields_slashes($tot[$num-7]) . "', '" . $lang . "', '" . fields_slashes($tot[$num-5]) . "', '" . $tot[$num-4] . "', $loca, '" . $tot[$num-2] . "', '" . $tot[$num-1] . "', '" . $tot[$num] . "', '" . $fecha . "', '" . $fecha . "', '" . $fecha . "', '" . $fecha_cad . "', 7, 2 )";
     617                                $resul2 = @mysql_query($sql, $link2);
     618                                $cont++;
     619                                                        }               
     620                                                }
     621                                                $num++;
     622                                        }       // Fin del While */
     623
     624                                   
     625           
     626                    //Si la tabla esta vacia se utilizará el NIA como identificador
     627                    $tipo_user=0;
     628                    $existeNIA=0;       
     629                    if ($vacia!=0){
     630                             $idused=identificador_usado($totAlu,$camposAlu,$link2);
     631                               
     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                                                }
     641                                //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                                                }
     650                                               
     651                               }
     652                                $tipo_user="A";
     653                     }                 
     654                                //Importamos datos alumnos
     655                                $resul_comp=inserta_datos($vacia,$referencia,$totAlu,$camposAlu,$link2,$idused,$lang,$tipo_user);
     656                               
     657                                //Importamos datos profesores;
     658
     659                                $camposProf=(count($totProf))-1;
     660                                $tipo_user="P";
     661                                $resul_prof=inserta_datos($vacia,24,$totProf,$camposProf,$link2,$idused,$lang,$tipo_user);                                     
     662                                $contR=$resul_comp[1]+$resul_prof[1];
     663                                $contAct=$resul_comp[2]+$resul_prof[2];
     664                                                           
     665                    //Se muestra mensaje indicado el número de registros importados
     666                                echo "<b>$msg[usur_imp_c] </b>";
     667                                if ($contR>0){
     668                                        echo "<b>$msg[usur_imp_d]  " .$contR . "</b>";
     669                                }
     670                                if ($contAct>0){
     671                                        echo " <b>$msg[usur_imp_q]  " .$contAct . "</b>";
     672                                }
     673                                $migracion=comprueba_migracion($link2);
     674
     675                                if ($resul_comp[0]>0){ //comparativa campos con los valores a insertar. Se muestra a modo de ejemplo el primer registro importado
     676                                        $fecha=$resul_comp[3];
     677                                        $fecha_cad=$resul_comp[4];
     678                                        echo "<h3>$msg[usur_imp_e]&nbsp;&nbsp;&nbsp;</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                /* FIN LLIUREX 24/09/2015 */
     680                                fclose($archivo);
     681                                unlink($nomfich);
     682                                break;
     683                                }
     684                               
    614685        }else { //Si el fichero no es xml o .dat se muestra mensaje de advertencia
    615686                echo "<b><center> ". $nomfich ." ". $msg["usur_imp_l"]."</center></b>";
Note: See TracChangeset for help on using the changeset viewer.