source: pmb4.2/trunk/fuentes/pmb/copia_seg_importa.php @ 828

Last change on this file since 828 was 828, checked in by jrpelegrina, 4 years ago

WIP in lliurex features and modifications 4

File size: 5.0 KB
Line 
1<?php
2//-------------------------------------> L L I U R E X <--------------------------------------//
3//Modulo para importar toda la base de datos de un fichero sql.//
4
5$base_path=".";                           
6$base_auth = "ADMINISTRATION_AUTH"; 
7$base_title = "\$msg[7]";   
8require_once ("$base_path/includes/init.inc.php"); 
9
10$categor = $_GET['categor'];
11
12switch($categor){ // Selección de opciones.
13        case 'import': {
14                //--(16/12/2014)--Se comprueba que se ha podido subir el fichero--INI
15                if (!is_uploaded_file($_FILES['fich']['tmp_name'])){
16                        $php_sin_fichero="El fitxer no ha pogut set carregat. Informe a l'administrador del sistema per a que revise la configuració de php.";
17                        echo "<SCRIPT>alert(\"$php_sin_fichero\");</SCRIPT>";
18                        echo("<SCRIPT LANGUAGE='JavaScript'> window.location = \"$base_path/\"</SCRIPT>"); 
19                        break;
20       
21                } //--(16/12/2014)--Se comprueba que se ha podido subir el fichero--FIN
22
23                // Formulario de tablas de importacion
24                $nomfich = "./temp/".$_FILES['fich']['name']; //nombre fichero en el cliente
25                // -- (17/12/2014)--Nombre del fichero--INI
26                $nfich =$_FILES['fich']['name'];
27                // -- (17/12/2014)--Nombre del fichero--FIN
28                               
29                $cont= (strlen($_FILES['fich']['name']))-3; //saca la extension (ultimos 3 digitos)
30               
31                // --(17/12/2014)--Se obtiene la extensión del fichero--INI
32                //$fExt=substr($nomfich, $cont);
33                $fExt=substr($nfich,$cont);
34                // --(17/12/2014)--Se obtiene la extensión del fichero--FIN
35                $finfo=finfo_open(FILEINFO_MIME_TYPE);
36                $ftype=finfo_file($finfo,$_FILES['fich']['tmp_name']);
37                finfo_close($finfo);
38                                               
39                // -- (17/12/2014)--Se corrige la validación para detectar extensiones correctas--INI
40                //if (!strpos($fExt, "sql") && $_FILES['fich']['type'] == "text/x-sql"){
41                  if (!strpos($fExt, "sql") && $ftype == "text/x-c"){
42                // -- (17/12/2014)--Se corrige la validación para detectar extensiones correctas--FIN
43                        echo "$msg[importa_a]";
44                        break;
45                }
46                $post_max_size_php_MB=ini_get('upload_max_filesize');
47                $post_max_size_php = substr(ini_get('upload_max_filesize'),0,-1)*1024*1024;
48                $nom_fich_size = filesize($nomfich);
49                                       
50                if ($nom_fich_size > $post_max_size_php){
51                        $php_ini_conf = "El fitxer té una mida de: " . number_format($nom_fich_size/1024/1024, 2, '.', ' ') . "MB,\\nsuperior al permés: " . $post_max_size_php_MB ."B\\n\\nInforme a l'administrador del sistema per actualitzar la configuració de php.";
52                        echo "<SCRIPT>alert(\"$php_ini_conf\");</SCRIPT>";
53                        echo("<SCRIPT LANGUAGE='JavaScript'> window.location = \"$base_path/\"</SCRIPT>");
54                       
55                        break;
56                }
57                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.
58                        require("$base_path/includes/db_param.inc.php");
59                        $comando= "cat ". $nomfich ." | mysql -u ". USER_NAME ." --password=". USER_PASS ." ". DATA_BASE;
60                        if (system($comando, $salida)==0){
61                                echo "$msg[importa_b]";
62                        }
63                        // -------------------------------- LLIUREX 11/02/2013
64                        // Trataremos de forma distinta la importación de versiones anteriores de Nemo
65                        $query = "select valeur_param from parametres where type_param='pmb' and sstype_param='bdd_version' ";
66                        $req = mysql_query($query, $dbh);
67                        $data = mysql_fetch_array($req) ;
68                        $version_pmb_bdd = $data['valeur_param'];
69                        echo " versió: ".$version_pmb_bdd;
70                        if ($version_pmb_bdd == "v4.47"){
71                                //cambiamos la versión para que el proceso de actualización sea más rápido
72                                $rqt = "update parametres set valeur_param='vLlxNemo' where type_param='pmb' and sstype_param='bdd_version' ";
73                                $res = mysql_query($rqt, $dbh);
74                                //cambiamos el tema por defecto de pmb4
75                                $rqt = "update users set deflt_styles = 'light' ";
76                                $res = mysql_query($rqt, $dbh);
77                                //activamos las cestas
78                                $rqt = "update parametres set valeur_param='1' where type_param='empr' and sstype_param='show_caddie' ";
79                                $res = mysql_query($rqt, $dbh);
80
81                                echo "<SCRIPT>alert(\"".$msg[close_session]." ".$msg[database_update]."\");</SCRIPT>";
82                        }
83                        else    echo("<SCRIPT LANGUAGE='JavaScript'> window.alert($msg[close_session])</SCRIPT>");
84                        echo("<SCRIPT LANGUAGE='JavaScript'> window.location = \"$base_path/\"</SCRIPT>");
85                        // -------------------------------- LLIUREX
86                }
87                break;
88        }
89        default:{
90                echo "<form class='form-admin' name='form1' ENCTYPE=\"multipart/form-data\" method='post' action=\"./admin.php?categ=sauvegarde&sub=lliureximp&categor=import\"><h3>$msg[importa_c]</h3><div class='form-contenu'><div class='row'><div class='colonne60'><label class='etiquette' for='form_import_lec'>$msg[importa_d]</label><input name='fich' accept='.sql' type='file'  size='40'></div><br><div class='colonne60'><input type='button' name='fichero' value='Continuar' onclick='form.submit()'></div><br><br><br></form>";
91                break;
92        }
93}
94//-------------------------------------> L L I U R E X <--------------------------------------//
95?>
Note: See TracBrowser for help on using the repository browser.