Пример #1
0
 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;
 }
Пример #2
0
                        $ret_param = "";
                        $query = "select linked_notice from notices_relations where num_notice={$id}";
                        $result = mysql_query($query, $dbh);
                        $not_mere = 0;
                        if (mysql_numrows($result)) {
                            $not_mere = mysql_result($result, 0, 0);
                        }
                        if ($not_mere > 0) {
                            // perio ou mono?
                            $n = mysql_fetch_object(@mysql_query("select * from notices where notice_id=" . $not_mere));
                            if ($n->niveau_biblio == 'm' || $n->niveau_biblio == 'b') {
                                $ret_param = "?categ=isbd&id={$not_mere}";
                            } elseif ($n->niveau_biblio == 's' || $n->niveau_biblio == 'a') {
                                $ret_param = "?categ=serials&sub=view&serial_id={$not_mere}";
                            }
                        }
                        //archivage
                        if ($pmb_archive_warehouse) {
                            notice::save_to_agnostic_warehouse(array(0 => $id), $pmb_archive_warehouse);
                        }
                        notice::del_notice($id);
                        // affichage du message suppression en cours puis redirect vers page de catalogage
                        print "<div class=\"row\"><div class='msg-perio'>" . $msg['suppression_en_cours'] . "</div></div>\n\t\t\t\t\t\t\t<script type=\"text/javascript\">\n\t\t\t\t\t\t\t\tdocument.location='./catalog.php" . $ret_param . "';\n\t\t\t\t\t\t\t</script>";
                    }
                }
            }
        }
    } else {
        error_message($msg[416], "{$msg[417]} : {$msg[418]}", 1, "./catalog.php");
    }
}