예제 #1
0
 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);
 }
예제 #2
0
파일: caddie.class.php 프로젝트: hogsim/PMB
 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;
 }