function delete() { global $dbh; global $pmb_synchro_rdf; //suppression des notices de dépouillement $this->delete_analysis(); //synchro rdf if ($pmb_synchro_rdf) { $synchro_rdf = new synchro_rdf(); $synchro_rdf->delRdf(0, $this->bulletin_id); } //suppression des exemplaires $req_expl = "select expl_id from exemplaires where expl_bulletin ='" . $this->bulletin_id . "' "; $result_expl = @pmb_mysql_query($req_expl, $dbh); while ($expl = pmb_mysql_fetch_object($result_expl)) { exemplaire::del_expl($expl->expl_id); } // expl numériques $req_explNum = "select explnum_id from explnum where explnum_bulletin=" . $this->bulletin_id . " "; $result_explNum = @pmb_mysql_query($req_explNum, $dbh); while ($explNum = pmb_mysql_fetch_object($result_explNum)) { $myExplNum = new explnum($explNum->explnum_id); $myExplNum->delete(); } $requete = "delete from caddie_content using caddie, caddie_content where caddie_id=idcaddie and type='BULL' and object_id='" . $this->bulletin_id . "' "; @pmb_mysql_query($requete, $dbh); // Suppression des résas du bulletin $requete = "DELETE FROM resa WHERE resa_idbulletin=" . $this->bulletin_id; pmb_mysql_query($requete, $dbh); // Suppression des transferts_demande $requete = "DELETE FROM transferts_demande using transferts_demande, transferts WHERE num_transfert=id_transfert and num_bulletin=" . $this->bulletin_id; pmb_mysql_query($requete, $dbh); // Suppression des transferts $requete = "DELETE FROM transferts WHERE num_bulletin=" . $this->bulletin_id; pmb_mysql_query($requete, $dbh); //suppression de la notice du bulletin $requete = "select num_notice from bulletins where bulletin_id=" . $this->bulletin_id; $res_nbul = pmb_mysql_query($requete); if (pmb_mysql_num_rows($res_nbul)) { $num_notice = pmb_mysql_result($res_nbul, 0, 0); if ($num_notice) { notice::del_notice($num_notice); } } // Suppression de ce bulletin $requete = "DELETE FROM bulletins WHERE bulletin_id=" . $this->bulletin_id; pmb_mysql_query($requete, $dbh); audit::delete_audit(AUDIT_BULLETIN, $this->bulletin_id); }
function del_item_base($item = 0, $forcage = array()) { global $dbh; if (!$item) { return CADDIE_ITEM_NULL; } switch ($this->type) { case "EXPL": if (!$this->verif_expl_item($item)) { if ($forcage['source_id']) { exemplaire::save_to_agnostic_warehouse(array(0 => $item), $forcage['source_id']); } if (exemplaire::del_expl($item)) { return CADDIE_ITEM_SUPPR_BASE_OK; } else { return 0; } } else { return CADDIE_ITEM_EXPL_PRET; } break; case "BULL": if (!$this->verif_bull_item($item, $forcage)) { // aucun prêt d'exemplaire de ce bulletin en cours, on supprime : $myBulletinage = new bulletinage($item); $myBulletinage->delete(); return CADDIE_ITEM_SUPPR_BASE_OK; } else { return CADDIE_ITEM_BULL_USED; } break; case "NOTI": if (!$this->verif_noti_item($item, $forcage)) { if ($forcage['source_id']) { notice::save_to_agnostic_warehouse(array(0 => $item), $forcage['source_id']); } $requete = "SELECT niveau_biblio, niveau_hierar FROM notices WHERE notice_id='" . $item . "'"; $res = pmb_mysql_query($requete, $dbh); if (pmb_mysql_num_rows($res) && pmb_mysql_result($res, 0, 0) == "s" && pmb_mysql_result($res, 0, 1) == "1") { $myBulletinage = new serial($item); $myBulletinage->serial_delete(); } else { notice::del_notice($item); } return CADDIE_ITEM_SUPPR_BASE_OK; } else { return CADDIE_ITEM_NOTI_USED; } break; } return CADDIE_ITEM_OK; }