function delete_diffusion($expl_id) { global $dbh; $status = 1; if (!$this->info_expl[$expl_id]) { return 0; } // Traitement des résa $req = "select num_serialcirc_circ_empr from serialcirc_circ where serialcirc_circ_hold_asked=2 and num_serialcirc_circ_expl={$expl_id}\n\t\torder by serialcirc_circ_order"; $res = mysql_query($req); if (mysql_num_rows($res)) { while ($r = mysql_fetch_object($res)) { $resa = new reservation($r->num_serialcirc_circ_empr, 0, $this->info_expl[$expl_id]['bulletin_id']); $resa->add(); } } $req = "delete from serialcirc_expl where num_serialcirc_expl_id ={$expl_id}"; mysql_query($req); $req = "delete from serialcirc_circ where num_serialcirc_circ_expl ={$expl_id}"; mysql_query($req); // on change le statut si demandé if ($this->info_expl[$expl_id]['serialcirc_diff']->expl_statut_circ_after) { $req = "update exemplaires set expl_statut=" . $this->info_expl[$expl_id]['serialcirc_diff']->expl_statut_circ_after . " where expl_id=" . $expl_id; mysql_query($req); } // traitement résa $query = "select count(1) from resa where resa_idbulletin=" . $this->info_expl[$expl_id]['bulletin_id']; $result = @mysql_query($query, $dbh); if (@mysql_result($result, 0, 0)) { $status = 2; // mail de résa sera envoyé à l'affectation dans résa à traiter } return $status; }
} } } else { $resa_cart_display = "<table><tr><th colspan=2>" . $msg["empr_menu_resa"] . " : </th></tr>"; foreach ($notices as $notice_id) { $resa_cart_display .= "<tr>"; $bulletin_id = 0; //On vérifi si notre notice n'est pas une notice de bulletin. $query = 'SELECT bulletin_id FROM bulletins WHERE num_notice=' . $notice_id; $result = pmb_mysql_query($query, $dbh); if (pmb_mysql_num_rows($result)) { while ($line = pmb_mysql_fetch_array($result, MYSQL_ASSOC)) { $bulletin_id = $line['bulletin_id']; } } $resa = new reservation($id_empr, $notice_id, $bulletin_id); if ($resa->add($_SESSION['empr_location'])) { $resa_cart_display .= "<td>" . $resa->notice . "</td><td>" . $resa->message . "</td>"; } else { $resa_cart_display .= "<td>" . $resa->notice . "</td><td>" . $resa->message . "</td>"; } $resa_cart_display .= "</tr>"; } $resa_cart_display .= "</table>"; if (!$opac_resa_popup) { require_once $base_path . '/includes/show_cart.inc.php'; } } } else { print "<script>document.location='" . $base_path . "/index.php';</script>"; }
function add_resa($session_id, $id_notice, $id_bulletin, $location) { global $dbh, $msg; $results = array(); if (!$session_id) { $results["error"] = "no_session_id"; $results["status"] = FALSE; return $results; } $session_info = $this->retrieve_session_information($session_id); $empr_id = $session_info["empr_id"]; if (!$empr_id) { $results["error"] = "no_empr_id"; $results["status"] = FALSE; return $results; } $resa = new reservation($empr_id, $id_notice, $id_bulletin); if ($resa->add($location) == FALSE) { $results["error"] = $resa->service->error; $results["message"] = $resa->service->message; $results["status"] = FALSE; } else { $results["status"] = TRUE; } return $results; }
// page de création d'une réservation // toute la mécanique doit être ici // on dispose des variables $id_empr et $id_notice || $id_bulletin require_once "{$class_path}/emprunteur.class.php"; require_once "{$class_path}/resa.class.php"; require_once "{$class_path}/serial_display.class.php"; if ($id_empr && ($id_notice || $id_bulletin)) { // on teste si c'est une suppression if (!$delete) { // on tente d'effectuer la réservation if ($id_notice) { $resa = new reservation($id_empr, $id_notice, 0); } else { $resa = new reservation($id_empr, 0, $id_bulletin); } $resa->add(); $erreur_affichage = "<div class='row'><div class='colonne10'><img src='./images/info.png' /></div>\n\t\t\t\t\t<div class='colonne-suite'>"; $erreur_affichage .= "<span class='erreur'>" . $resa->message . "</span>"; $erreur_affichage .= "</div>"; if ($resa->force) { $erreur_affichage .= "<input type='button' class='bouton' value='" . $msg["resa_force"] . "' onClick=\"document.location='circ.php?categ=resa&id_empr={$id_empr}&id_notice={$id_notice}&id_bulletin={$id_bulletin}"a_resa=1'\">"; } $erreur_affichage .= "</div>\n"; $empr = new emprunteur($id_empr, $erreur_affichage, FALSE, 1, $resa->id); print pmb_bidi($empr->fiche); } else { // c'est une suppression if ($id_notice) { $resa = new reservation($id_empr, $id_notice); } else { $resa = new reservation($id_empr, 0, $id_bulletin);