source: pmb4.1/trunk/fuentes/pmb/catalog/expl/expl_update.inc.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: 4.5 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: expl_update.inc.php,v 1.23.6.2 2014-09-12 12:54:39 ngantier Exp $
6
7if (stristr($_SERVER['REQUEST_URI'], ".inc.php")) die("no access");
8
9require_once($class_path."/notice.class.php");
10
11$expl_id="";
12
13//Vérification des champs personalisés
14$p_perso=new parametres_perso("expl");
15$nberrors=$p_perso->check_submited_fields();
16if ($nberrors) {
17        error_message_history($msg["notice_champs_perso"],$p_perso->error_message,1);
18        exit();
19}
20
21switch($sub) {
22        case 'create':
23                $requete = "SELECT count(1) FROM exemplaires WHERE expl_cb='$f_ex_cb' ";
24                $res = mysql_query($requete, $dbh);
25                $nbr_lignes = mysql_result($res, 0, 0);
26                $nbr_lignes ? $valid_requete = FALSE : $valid_requete = TRUE;
27                $requete = "INSERT INTO exemplaires SET create_date=sysdate(), ";
28                $limiter = "";
29                $libelle = $msg[4007];
30                break;
31        case 'update':
32                // ceci teste si l'exemplaire cible existe bien
33                $requete = "SELECT expl_id FROM exemplaires WHERE expl_cb='$org_cb' ";
34                $res = mysql_query($requete, $dbh);
35                $nbr_lignes = mysql_num_rows($res);
36                $nbr_lignes ? $valid_requete = TRUE : $valid_requete = FALSE;
37                if ($nbr_lignes) $expl_id = mysql_result($res,0,0);
38                 
39                // remplacement code-barre : test sur le nouveau numéro
40                if($org_cb != $f_ex_cb) {
41                        $requete = "SELECT count(1) FROM exemplaires WHERE expl_cb='$f_ex_cb' ";
42                        $res = mysql_query($requete, $dbh);
43                        $nbr_lignes = mysql_result($res, 0, 0);
44                        $nbr_lignes ? $valid_requete = FALSE : $valid_requete = TRUE;
45                        }
46                $requete = "UPDATE exemplaires SET ";
47                $limiter = " WHERE expl_cb='${org_cb}' ";
48                $libelle = $msg[4007];
49                break;
50}
51
52print pmb_bidi("<div class=\"row\"><h1>$libelle</h1></div>");
53
54if(!is_numeric($f_ex_nbparts) || !$f_ex_nbparts) $f_ex_nbparts=1;
55
56$transfert_origine="";
57if($expl_id){
58        $rqt = "SELECT id_transfert FROM transferts, transferts_demande WHERE num_transfert=id_transfert and etat_transfert=0 AND num_expl='".$expl_id."' " ;
59        $res = mysql_query ( $rqt );
60        if (!mysql_num_rows($res)){
61                // pas de transfert en cours, on met à jour transfert_location_origine
62                $transfert_origine= ", transfert_location_origine='$f_ex_location', transfert_statut_origine='$f_ex_statut' ";
63        }
64}else{
65        // en création
66        $transfert_origine= ", transfert_location_origine='$f_ex_location', transfert_statut_origine='$f_ex_statut' ";
67}
68
69if($expl_id){
70        $audit=new audit();
71        $audit->get_old_infos("SELECT expl_statut, expl_location, transfert_location_origine, transfert_statut_origine, expl_owner FROM exemplaires WHERE expl_cb='$f_ex_cb' ");
72}
73
74if($valid_requete) {
75        $requete .= "expl_cb='${f_ex_cb}'";
76        $requete .= ", expl_notice=${id}";
77        $requete .= ", expl_typdoc=${f_ex_typdoc}";
78        $requete .= ", expl_cote=trim('${f_ex_cote}')";
79        $formlocid="f_ex_section".$f_ex_location ;
80        $requete .= ", expl_section='".$$formlocid."'";
81        $requete .= ", expl_statut='${f_ex_statut}'";
82        $requete .= ", expl_location='$f_ex_location' $transfert_origine ";
83        $requete .= ", expl_codestat='${f_ex_cstat}'";
84        $requete .= ", expl_note='".${f_ex_note}."'";
85        $requete .= ", expl_comment='".${f_ex_comment}."'";
86        $requete .= ", expl_prix='${f_ex_prix}'";
87        $requete .= ", expl_owner='${f_ex_owner}'";
88        $requete .= ", type_antivol='${type_antivol}'";
89        $requete .= ", expl_nbparts='${f_ex_nbparts}'";
90        $requete .= $limiter;
91        $result = mysql_query($requete, $dbh);
92        if (!$expl_id) {
93                $expl_id=mysql_insert_id();
94                audit::insert_creation (AUDIT_EXPL, $expl_id) ;
95        } else{
96                $audit->get_new_infos("SELECT expl_statut, expl_location, transfert_location_origine, transfert_statut_origine, expl_owner FROM exemplaires WHERE expl_cb='$f_ex_cb' ");
97                $audit->save_info_modif(AUDIT_EXPL, $expl_id,"expl_update.inc.php");
98        }
99        //Insertion des champs personalisés
100        $p_perso->rec_fields_perso($expl_id);
101       
102        // Mise a jour de la table notices_mots_global_index
103        notice::majNoticesMotsGlobalIndex($id,'expl'); 
104       
105        // tout va bene, on réaffiche l'ISBD
106        print "<div class='row'><div class='msg-perio'>".$msg[maj_encours]."</div></div>";
107        $id_form = md5(microtime());
108        $retour = "./catalog.php?categ=isbd&id=$id";
109        print "
110                <form class='form-$current_module' name=\"dummy\" method=\"post\" action=\"$retour\" style=\"display:none\">
111                        <input type=\"hidden\" name=\"id_form\" value=\"$id_form\">
112                </form>
113                <script type=\"text/javascript\">document.dummy.submit();</script>
114                ";
115} else {
116        error_message($msg[301], $msg[303], 1, "./catalog.php?categ=isbd&id=$id");
117}
118?>
Note: See TracBrowser for help on using the repository browser.