source: pmb4.2/trunk/fuentes/pmb/history.php @ 819

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

Initial release of pmb 4.2

  • Property svn:executable set to *
File size: 13.4 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: history.php,v 1.35 2015-05-27 09:56:27 apetithomme Exp $
6
7//Transmission ensuite du fichier converti
8$base_path = ".";
9$base_auth = "CATALOGAGE_AUTH";
10$base_title = "\$msg[histo_title]";
11$base_nobody=1;
12
13
14include($base_path."/includes/error_report.inc.php") ;
15if ($_POST["act"]=="export") {
16        if (isset($_POST["sel"])) $base_noheader=1;
17        $base_nosession=0;
18        // ATTENTION : était à 1 pour permettre l'envoi du header et pas du ccokie avant, bug IE mais finalement, marche arrière...
19}
20require($base_path."/includes/init.inc.php");
21
22if ($act) {
23        switch ($act) {
24                case 'del':
25                        require_once($base_path."/includes/history_functions.inc.php");
26                       
27                        //parcours du tableau des recherches de l'historique cochées
28                                       
29                        for ($i=0;$i<=count($sel)-1;$i++) {
30                                $t1=array();
31                                $t1=suppr_histo($sel[$i]-1,$t1);
32                                $t1=reorg_tableau_suppr($t1);
33                                foreach ($t1 as $key => $value) {
34                                        if ($key!=$value) {
35                                                $_SESSION["session_history"][$value]=$_SESSION["session_history"][$key];
36                                                if ($_SESSION["session_history"][$value]["NOTI"]["SEARCH_TYPE"]=="extended") {
37                                                        for ($j=0;$j<=count($_SESSION["session_history"][$value]["NOTI"]["POST"]["search"])-1;$j++) {
38                                                                if ($_SESSION["session_history"][$value]["NOTI"]["POST"]["search"][$j]=="s_1") {
39                                                                        $t2=array();
40                                                                        $t2[0]=$t1[$_SESSION["session_history"][$key]["NOTI"]["POST"]["field_".$j."_".$_SESSION["session_history"][$key]["NOTI"]["POST"]["search"][$j]][0]];
41                                                                        $_SESSION["session_history"][$value]["NOTI"]["POST"]["field_".$j."_".$_SESSION["session_history"][$value]["NOTI"]["POST"]["search"][$j]][0]=$t2[0];
42                                                                        $_SESSION["session_history"][$value]["QUERY"]["POST"]["field_".$j."_".$_SESSION["session_history"][$value]["QUERY"]["POST"]["search"][$j]][0]=$t2[0];
43                                                                }
44                                                        }
45                                                }
46                                                $_SESSION["session_history"][$key]=array();
47                                                unset($_SESSION["session_history"][$key]);
48                                        }
49                                }
50                               
51                        }
52                        $_SESSION["CURRENT"]=$_SESSION["session_history"][count($_SESSION["session_history"])]; 
53                        break;
54                case 'delall':
55                        $_SESSION["session_history"]=array();
56                        $_SESSION["CURRENT"]=false;
57                        //vide également l'historique stocké en base
58                        $requete="delete from admin_session where userid=".SESSuserid;
59                        $r=pmb_mysql_query($requete);
60                        break;
61                case 'export':
62                        if ($sel) {
63                                header("Content-Type: text/txt");
64                                header('Content-Disposition: attachment; filename="search.rsh"');
65                                $export=array();
66                                $f=0;
67                                for ($i=0; $i<count($sel); $i++) {
68                                        $export[$f]=$_SESSION["session_history"][$sel[$i]-1];
69                                        $f++;
70                                        for ($j=0;$j<=count($_SESSION["session_history"])-1;$j++) {
71                                                if ($_SESSION["session_history"][$j]["NOTI"]["SEARCH_TYPE"]=="extended") {
72                                                        for ($x=0;$x<=count($_SESSION["session_history"][$j]["NOTI"]["POST"]["search"])-1;$x++) {
73                                                                if ($_SESSION["session_history"][$j]["NOTI"]["POST"]["search"][$x]=="s_1") {
74                                                                if ($_SESSION["session_history"][$j]["NOTI"]["POST"]["field_".$x."_".$_SESSION["session_history"][$j]["NOTI"]["POST"]["search"][$x]][0]==$sel[$i]-1) {
75                                                                                $export[$f]=$_SESSION["session_history"][$j];
76                                                                                $export[$f]["NOTI"]["POST"]["field_".$x."_".$_SESSION["session_history"][$j]["NOTI"]["POST"]["search"][$x]][0]=$f-1;
77                                                                                $export[$f]["QUERY"]["POST"]["field_".$x."_".$_SESSION["session_history"][$j]["QUERY"]["POST"]["search"][$x]][0]=$f-1;
78                                                                                $f++;
79                                                                        }               
80                                                                }       
81                                                        }
82                                                }       
83                                        }
84                                }
85                                $export_serialized=serialize($export);
86                                print $export_serialized;
87                                exit();
88                        } else {
89                                $alert=htmlentities($msg["no_search_selected"],ENT_QUOTES,$charset);
90                        }
91                        break;
92                case 'import':
93                        print "<body class='catalog'><div id='contenu-frame'><table width='100%'><tr><td align='left'><h3>".$msg["histo_import_title"]."</h3></td><td align='right'><a href='#' onClick=\"parent.document.getElementById('history').style.display='none'; return false;\"><img src='images/close.gif' border='0' align='center'></a></td></tr></table>";
94                        print "<form name='history_form' method='post' action='history.php?act=import2' enctype='multipart/form-data' class='form-catalog'>";
95                        print "<div class='form-contenu'>";
96                        print $msg["histo_select_file"]."<br />";
97                        print "<input type='file' name='search_file'/><br /><br />";
98                        print "</div>";
99                        print "<center><input type='submit' value='".$msg["histo_import_button"]."' class='bouton'/>&nbsp;<input type='button' value='".$msg["print_cancel"]."' class='bouton' onClick=\"document.location='history.php'; return false;\"/></center>";
100                        print "</form>";
101                        print "</div></body>";
102                        print "</html>";
103                        exit();
104                        break;
105                case 'import2':
106                        $error=false;
107                        if ($_FILES['search_file']['tmp_name']) {
108                                $fp=@fopen($_FILES['search_file']['tmp_name'],'r');
109                                if ($fp) {
110                                        $searches=fread($fp,filesize($_FILES['search_file']['tmp_name']));
111                                        $import=unserialize($searches);
112                                        if ($import) {
113                                                for ($i=0; $i<count($import); $i++) {
114                                                        for ($x=0;$x<=count($import[$i]["NOTI"]["POST"]["search"])-1;$x++) {
115                                                                if ($import[$i]["NOTI"]["POST"]["search"][$x]=="s_1") {
116                                                                        $import[$i]["NOTI"]["POST"]["field_".$x."_".$import[$i]["NOTI"]["POST"]["search"][$x]][0]=$import[$i]["NOTI"]["POST"]["field_".$x."_".$import[$i]["NOTI"]["POST"]["search"][$x]][0]+count($_SESSION["session_history"]);
117                                                                        $import[$i]["QUERY"]["POST"]["field_".$x."_".$import[$i]["QUERY"]["POST"]["search"][$x]][0]=$import[$i]["QUERY"]["POST"]["field_".$x."_".$import[$i]["QUERY"]["POST"]["search"][$x]][0]+count($_SESSION["session_history"]);
118                                                                }
119                                                        }
120                                                }
121                                                for ($i=0; $i<count($import); $i++) {
122                                                        $_SESSION["session_history"][]=$import[$i];
123                                                }
124                                        } else $error=true;
125                                        fclose($fp);
126                                        unlink($_FILES['search_file']['tmp_name']);
127                                } else $error=true;
128                        } else $error=true;
129                        if ($error) $alert=$msg["histo_upload_failed"];
130                        break;
131                case 'save':
132                        $save=serialize($_SESSION['session_history']);
133                        $requete="replace into admin_session values(".SESSuserid.",'".addslashes($save)."')";
134                        $r=pmb_mysql_query($requete);
135                        if (!$r) $alert=$msg["histo_save_fail"]; else $alert=$msg["histo_save_done"];
136                        break;
137        }
138}
139print "<body class='catalog'><div id='contenu-frame'><table width='100%'><tr><td align='left'><h3>".$msg["histo_title"]."</h3></td><td align='right'><a href='#' onClick=\"parent.document.getElementById('history').style.display='none'; return false;\"><img src='images/close.gif' border='0' align='center'></a></td></tr></table>";
140print "<form name='history_form' method='post' action='history.php'>";
141if ($alert) {
142        print "<script>alert(\"".$alert."\")</script>";
143}
144print "<input type='hidden' name='act' value=''/>";
145if (count($_SESSION["session_history"])) {
146        print $begin_result_liste."&nbsp;";
147        print "<a href='#' onClick=\"document.history_form.act.value='del'; document.history_form.submit(); return false;\"><img src='images/suppr_coche.gif' alt=\"".$msg["histo_del_selected"]."\" title=\"".$msg["histo_del_selected"]."\" /></a>&nbsp;";
148        print "<a href='#' onClick=\"document.history_form.act.value='delall'; document.history_form.submit(); return false;\"><img src='images/suppr_all.gif' alt=\"".$msg["histo_del_histo"]."\" title=\"".$msg["histo_del_histo"]."\" /></a>&nbsp;";
149        print "&nbsp;<a href='#' onClick=\"document.history_form.act.value='save'; document.history_form.submit(); return false;\"><img src='images/save.gif' alt=\"".$msg["histo_save_histo"]."\" title=\"".$msg["histo_save_histo"]."\" /></a>&nbsp;";
150        print "&nbsp;<a href='#' onClick=\"document.history_form.act.value='export'; document.history_form.submit(); return false;\"><img src='images/upload.gif' alt=\"".$msg["histo_export_selected"]."\" title=\"".$msg["histo_export_selected"]."\" /></a>&nbsp;";
151        print "&nbsp;<a href='#' onClick=\"document.history_form.act.value='import'; document.history_form.submit(); return false;\"><img src='images/download.gif' alt=\"".$msg["histo_import_searches"]."\" title=\"".$msg["histo_import_searches"]."\" /></a><br />";
152        for ($i=count($_SESSION["session_history"])-1; $i>=0; $i--) {
153                $javascript_template ="
154                <div id=\"el!!id!!Parent\" class=\"notice-parent\">
155                <input type='checkbox' name='sel[]' value='".($i+1)."'/><img src=\"./images/plus.gif\" class=\"img_plus\" name=\"imEx\" id=\"el!!id!!Img\" title=\"".addslashes($msg['plus_detail'])."\" border=\"0\" onClick=\"expandBase('el!!id!!', true); return false;\" hspace=\"3\">
156                <span class=\"notice-heada\">!!query!!</span>
157                <br />
158                </div>
159                <div id=\"el!!id!!Child\" !!sO!! class=\"notice-child\" style=\"margin-bottom:6px;width:auto;border:none;display:none;\">
160        !!subqueries!!
161                </div>";
162               
163                $query_prep=($i+1).")";
164                if (!$_SESSION["session_history"][$i]["QUERY"]["NOLINK"]) $query_prep.=" <a href='#' onClick=\"parent.document.location='recall.php?t=QUERY&current=$i'; return false;\">";
165                $query_prep.=$_SESSION["session_history"][$i]["QUERY"]["HUMAN_TITLE"]." : ".$_SESSION["session_history"][$i]["QUERY"]["HUMAN_QUERY"];
166                if (!$_SESSION["session_history"][$i]["QUERY"]["NOLINK"]) $query_prep.="</a>";
167                $to_print=str_replace("!!query!!",$query_prep,$javascript_template);
168                $subqueries="";
169                if (($_SESSION["session_history"][$i]["AUT"])||($_SESSION["session_history"][$i]["NOTI"])||($_SESSION["session_history"][$i]["EXPL"])||($_SESSION["session_history"][$i]["EMPR"])) {
170                        $subqueries.="<table width='100%' id='history_table'>";
171                        if (($_SESSION["session_history"][$i]["AUT"])&&($_SESSION["session_history"][$i]["NOTI"])) {
172                                $image="./images/branch.png"; 
173                                $background="./images/branch_background.png";
174                        } else {
175                                $image="./images/branch_final.png";
176                                $background="";
177                        }
178                        if ($_SESSION["session_history"][$i]["AUT"]) $subqueries.="<tr><td width='15px' valign='top' style=\"background:url('$background') repeat-y;\"><img src='$image' align='center'/></td><td><a href='#' onClick=\"parent.document.location='recall.php?t=AUT&current=$i'; return false;\"><b>A</b> ".$_SESSION["session_history"][$i]["AUT"]["HUMAN_QUERY"].", page ".$_SESSION["session_history"][$i]["AUT"]["PAGE"]."</a></td></tr>\n";
179                        if ($_SESSION["session_history"][$i]["NOTI"]) {
180                                $subqueries.="<tr><td width='15' valign='top'><img src='./images/branch_final.png' align='center'/></td><td><a href='#' onClick=\"parent.document.location='recall.php?t=NOTI&current=$i'; return false;\"><b>N</b> ".$_SESSION["session_history"][$i]["NOTI"]["HUMAN_QUERY"].", page ".$_SESSION["session_history"][$i]["NOTI"]["PAGE"]."</a>";
181                                if (!$_SESSION["session_history"][$i]["NOTI"]["NOPRINT"])
182                                        $subqueries.="&nbsp;<a href='#' onClick=\"openPopUp('./print_cart.php?current_print=$i&action=print_prepare','print',500, 600, -2, -2, 'scrollbars=yes,menubar=0'); return false;\"><img src='./images/basket_small_20x20.gif' border='0' align='center' alt=\"".$msg["histo_add_to_cart"]."\" title=\"".$msg["histo_add_to_cart"]."\"></a>&nbsp;<a href='#' onClick=\"w=openPopUp('./print.php?current_print=$i&action_print=print_prepare','print',500,600,-2,-2,'scrollbars=yes,menubar=0'); return false;\"><img src='./images/print.gif' border='0' align='center' alt=\"".$msg["histo_print"]."\" title=\"".$msg["histo_print"]."\"/></a>";
183                                        $subqueries.="&nbsp;<a href='#' onClick=\"openPopUp('./download.php?current_download=$i&action_download=download_prepare','download',500,600,-2,-2,'scrollbars=yes,menubar=0'); return false;\"><img src='./images/upload_docnum.gif' border='0' align='center' alt=\"".$msg["docnum_download"]."\" title=\"".$msg["docnum_download"]."\"/></a>";
184                                        if ($pmb_allow_external_search) 
185                                                $subqueries.="&nbsp;<a href='#' onClick=\"parent.document.location='recall.php?t=NOTI&current=$i&external=1'; return false;\" title='".$msg["connecteurs_external_search_sources"]."'><img src='./images/external_search.png' border='0' align='center' alt=\"".$msg["connecteurs_external_search_sources"]."\"/></a>";
186                                $subqueries.="</td></tr>\n";
187                        }
188                        if ($_SESSION["session_history"][$i]["EXPL"]) {
189                                $subqueries.="<tr><td width='15' valign='top'><img src='./images/branch_final.png' align='center'/></td><td><a href='#' onClick=\"parent.document.location='recall.php?t=EXPL&current=$i'; return false;\"><b>N</b> ".$_SESSION["session_history"][$i]["EXPL"]["HUMAN_QUERY"].", page ".$_SESSION["session_history"][$i]["EXPL"]["PAGE"]."</a>";
190                                $subqueries.="</td></tr>\n";
191                        }
192                        if ($_SESSION["session_history"][$i]["EMPR"]) {
193                                $subqueries.="<tr><td width='15' valign='top'><img src='./images/branch_final.png' align='center'/></td><td><a href='#' onClick=\"parent.document.location='recall.php?t=EMPR&current=$i'; return false;\"><b>N</b> ".$_SESSION["session_history"][$i]["EMPR"]["HUMAN_QUERY"].", page ".$_SESSION["session_history"][$i]["EMPR"]["PAGE"]."</a>";
194                                $subqueries.="</td></tr>\n";
195                        }                       
196                        $subqueries.="</table>";
197                }
198                $to_print=str_replace("!!subqueries!!",$subqueries,$to_print);
199                $to_print=str_replace("!!id!!",$i+1,$to_print);
200                if (($_SESSION["CURRENT"]!==false)&&($_SESSION["CURRENT"]==$i))
201                        $to_print=str_replace("!!sO!!","startOpen=\"Yes\"",$to_print);
202                else
203                        $to_print=str_replace("!!sO!!","",$to_print);
204                print pmb_bidi($to_print);
205        }
206} else {
207        print "<b>".$msg["histo_empty"]."</b><br />";
208        print "<a href='#' onClick=\"document.history_form.act.value='import'; document.history_form.submit(); return false;\"><img src='images/download.gif' alt=\"".$msg["histo_import_searches"]."\" title=\"".$msg["histo_import_searches"]."\" align='center'/></a><br />";
209}
210print "</form>";
211print "</div></body></html>";
212?>
Note: See TracBrowser for help on using the repository browser.