source: pmb4.1/trunk/fuentes/pmb/classes/sauvegarde_list.class.php @ 478

Last change on this file since 478 was 478, checked in by mabarracus, 4 years ago

copy trusty code 4.1

  • Property svn:executable set to *
File size: 8.1 KB
Line 
1<?php
2// +-------------------------------------------------+
3// © 2002-2004 PMB Services / www.sigb.net pmb@sigb.net et contributeurs (voir www.sigb.net)
4// +-------------------------------------------------+
5// $Id: sauvegarde_list.class.php,v 1.12 2012-04-24 15:23:00 dgoron Exp $
6
7if (stristr($_SERVER['REQUEST_URI'], ".class.php")) die("no access");
8
9//Formulaire de gestion des listes de sauvegardes
10include ($include_path."/templates/sauvegarde_list.tpl.php");
11
12class sauvegarde_list {
13       
14        //Données
15        var $date_saving; //Liste des dates de sauvegarde
16        var $logid; //Liste des fichiers à supprimer ou a restaurer
17        var $act; //Action
18
19    function sauvegarde_list() {
20        global $date_saving;
21        global $logid;
22        global $act;
23       
24        $this->date_saving=$date_saving;
25        $this->logid=$logid;
26        $this->act=$act;
27    }
28   
29    function proceed() {
30        global $msg;
31        //Actions possibles :
32        //delete : suppression des jeux cochés
33        //restore : restoration immédiate des jeux cochés
34        //chaine vide : affichage
35        switch ($this->act) {
36               
37                case "delete":
38                        if (!is_array($this->logid)) {
39                                echo "<script>alert(\"".$msg["sauv_list_unselected_set"]."\"); history.go(-1);</script>";
40                        } else {
41                                for ($i=0; $i<count($this->logid); $i++) {
42                                        $requete="select sauv_log_file from sauv_log where sauv_log_id=".$this->logid[$i];
43                                        $resultat=mysql_query($requete) or die(mysql_error());
44                                        $file_to_del=mysql_result($resultat,0,0);
45                                        @unlink("admin/backup/backups/".$file_to_del);
46                                        $requete="delete from sauv_log where sauv_log_id=".$this->logid[$i];
47                                        mysql_query($requete) or die(mysql_error());
48                                }
49                        }
50                break;
51                default:
52                        //Do nothing
53                break;
54        }
55        return $this->showForm();
56    }
57   
58    function read_infos($filename) {
59        $tInfo=array();
60        $f=@fopen($filename,"r");
61        if (!$f) return $tInfo;
62        $line=fgets($f,4096);
63        $line=rtrim($line);
64        while ((!feof($f))&&($line!="#data-section")) {
65                $tLine=explode(" : ",$line);
66                $tInfo[substr($tLine[0],1)]=$tLine[1];
67                $line=fgets($f,4096);
68                $line=rtrim($line);
69        }
70        return $tInfo;         
71    }
72   
73    function showForm() {
74        global $form;
75        global $msg;
76       
77        //Récupération des dates présentes dans la base
78        if (!is_array($this->date_saving)) $this->date_saving=array();
79        $date_list="<select name=\"date_saving[]\" multiple>\n";
80        $requete="select sauv_log_start_date from sauv_log group by sauv_log_start_date order by sauv_log_start_date desc";
81        $resultat=mysql_query($requete) or die(mysql_error());
82        while ($res=mysql_fetch_object($resultat)) {
83                $tDate=explode("-",$res->sauv_log_start_date);
84                $date_list.="<option value=\"".$res->sauv_log_start_date."\"";
85                $as=array_search($res->sauv_log_start_date,$this->date_saving);
86                if (($as!==null)&&($as!==false)) $date_list.=" selected";
87                $date_list.=">".$tDate[2]."/".$tDate[1]."/".$tDate[0]."</option>\n";
88        }
89        $date_list.="</select>";
90       
91        $form=str_replace("!!date_saving!!",$date_list,$form);
92       
93        $requete="select sauv_log_id,sauv_log_start_date,sauv_log_file,sauv_log_succeed,sauv_log_messages,concat(prenom,' ',nom) as name from sauv_log,users where sauv_log_userid=userid";
94        if (count($this->date_saving)!=0) {
95                $dates=implode("','",$this->date_saving);
96                $dates="'".$dates."'";
97                $requete.=" and sauv_log_start_date in (".$dates.")";
98        }
99        $requete.=" order by sauv_log_start_date desc";
100        $resultat=mysql_query($requete);
101       
102                $sty="class='brd' align=center";
103                $sty0="class='brd2' align=center";
104       
105        $sauvegarde_list="<table align=center celpadding=0 cellspacing=0>\n";
106        $sauvegarde_list.="<th>&nbsp;</th><th>&nbsp;</th>";
107        $sauvegarde_list.="<th $sty colspan='4'><center>".$msg["sauv_list_th_info_set"]."</center></th>";
108        $sauvegarde_list.="<th $sty colspan='4'><center>".$msg["sauv_list_th_info_file"]."</center></th>";
109        $sauvegarde_list.="<th $sty colspan='3' rowspan='2'><center>".$msg["sauv_list_th_actions"]."</center></th>";
110        $sauvegarde_list.="<tr>";
111        $sauvegarde_list.="<th>&nbsp;</th><th>&nbsp;</th>";
112        $sauvegarde_list.="<th $sty><center>".$msg["sauv_list_th_filename"]."</center></th>";
113        $sauvegarde_list.="<th $sty><center>".$msg["sauv_list_th_date"]."</center></th>";
114        $sauvegarde_list.="<th $sty><center>".$msg["sauv_list_th_final_state"]."</center></th>";
115        $sauvegarde_list.="<th $sty><center>".$msg["sauv_list_th_user"]."</center></th>";
116        $sauvegarde_list.="<th $sty><center>".$msg["sauv_list_th_set"]."</center></th>";
117        $sauvegarde_list.="<th $sty><center>".$msg["sauv_list_th_hour"]."</center></th>";
118        $sauvegarde_list.="<th $sty><center>".$msg["sauv_list_th_compr"]."</center></th>";
119        $sauvegarde_list.="<th $sty><center>".$msg["sauv_list_th_crypt"]."</center></th>";
120                $sauvegarde_list.="</tr>\n";
121        while ($res=mysql_fetch_object($resultat)) {
122                $sauvegarde_list.="<tr><td $sty><input type=\"checkbox\" name=\"logid[]\" value=\"".$res->sauv_log_id."\"></td>";
123                $sauvegarde_list.="<td $sty>";
124                if ($res->sauv_log_succeed==1) { 
125                        $infos=$this->read_infos("admin/backup/backups/".$res->sauv_log_file);
126                        if (count($infos)==0) {
127                                $res->sauv_log_succeed=0;
128                        }
129                }
130                if ($res->sauv_log_succeed==1) { 
131                        $succeed="sauv_succeed.png"; 
132                        $succeed_message=$msg["sauv_list_succeed"];
133                } else { 
134                        $succeed="sauv_failed.png";
135                        //Recherche du message d'erreur
136                        $tMessages=explode("\n",$res->sauv_log_messages);
137                        $succeed_message="";
138                        for ($i=0; $i<count($tMessages); $i++) {
139                                if (substr($tMessages[$i],0,5)=="Abort") {
140                                        $succeed_message=$tMessages[$i];
141                                        break;
142                                }
143                        }
144                        if ($succeed_message=="") $succeed_message=$msg["sauv_list_special_error"];
145                        $infos=array();
146                }
147                $sauvegarde_list.="<img src=\"images/".$succeed."\" width=20 height=20></td>";
148                $sauvegarde_list.="<td $sty><center>".$res->sauv_log_file."</center></td>";
149                $sauvegarde_list.="<td $sty><center>".$res->sauv_log_start_date."</center></td>";
150                $sauvegarde_list.="<td $sty><center>".$succeed_message."</center></td>";
151                $sauvegarde_list.="<td $sty><center>".$res->name."</center></td>";
152                if ($res->sauv_log_succeed==1) {
153                        $sauvegarde_list.="<td $sty><center>".$infos[Name]."</center></td>";
154                        $sauvegarde_list.="<td $sty><center>".$infos["Start time"]."</center></td>";
155                        $sauvegarde_list.="<td $sty><center>";
156                        if ($infos[Compress]=="1") $sauvegarde_list.="<img src=\"images/sauv_compress.png\">"; 
157                                else $sauvegarde_list.="&nbsp;";
158                        $sauvegarde_list.="</td>";
159                        $sauvegarde_list.="<td $sty>";
160                        if ($infos[Crypt]=="1") $sauvegarde_list.="<img src=\"images/sauv_crypted.png\">"; 
161                                else $sauvegarde_list.="<img src=\"images/sauv_noncrypted.png\">";
162                        $sauvegarde_list.="</td>";
163                        $sauvegarde_list.="<td $sty><input type=\"button\" value=\"".$msg["sauv_list_download"]."\" class=\"bouton\" onClick=\"document.location='admin/sauvegarde/download.php?logid=".$res->sauv_log_id."'\"></td>";
164                        $sauvegarde_list.="<td $sty><input type=\"button\" value=\"".$msg["sauv_list_restaure"]."\" class=\"bouton\" onClick=\"openPopUp('admin/sauvegarde/restaure.php?filename=".rawurlencode("../backup/backups/".$res->sauv_log_file)."&logid=".$res->sauv_log_id."&critical=','restore_win',700,500,-2,-2,'menubar=no,resizable=yes,scrollbars=yes');\"></td>";                           
165                } else {
166                        $sauvegarde_list.="<td $sty colspan=4>".$msg["sauv_list_fnodisp"]."</td>";
167                        $sauvegarde_list.="<td $sty>&nbsp;</td>";
168                        $sauvegarde_list.="<td $sty>&nbsp;</td>";                       
169                }
170                $sauvegarde_list.="<td $sty><input type=\"button\" value=\"".$msg["sauv_list_log"]."\" class=\"bouton\" onClick=\"openPopUp('admin/sauvegarde/show_log.php?logid=".$res->sauv_log_id."','show_log',300,300,-2,-2,'menubar=no,resizable=1,scrollbars=yes');\"></td>";
171                $sauvegarde_list.="</tr>\n";
172        }
173        $sauvegarde_list.="</table>\n";
174        $form=str_replace("!!sauvegarde_list!!",$sauvegarde_list,$form);
175        return $form;
176    }
177}
178?>
Note: See TracBrowser for help on using the repository browser.