コード例 #1
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;
 }
コード例 #2
0
ファイル: serial_delete.inc.php プロジェクト: bouchra012/PMB
}
echo str_replace('!!page_title!!', $msg[4000] . $msg[1003] . $msg['catalog_serie_suppression'], $serial_header);
//verification des droits de modification notice
$acces_m = 1;
if ($serial_id != 0 && $gestion_acces_active == 1 && $gestion_acces_user_notice == 1) {
    require_once "{$class_path}/acces.class.php";
    $ac = new acces();
    $dom_1 = $ac->setDomain(1);
    $acces_m = $dom_1->getRights($PMBuserid, $serial_id, 8);
}
if ($acces_m == 0) {
    error_message('', htmlentities($dom_1->getComment('mod_seri_error'), ENT_QUOTES, $charset), 1, '');
} else {
    print "<div class=\"row\"><div class=\"msg-perio\">" . $msg['catalog_notices_suppression'] . "</div></div>";
    $requete = "select 1 from pret, exemplaires, bulletins, notices where notice_id='{$serial_id}' and expl_notice=0 ";
    $requete .= "and pret_idexpl=expl_id and expl_bulletin=bulletin_id and bulletin_notice=notice_id";
    $result = @mysql_query($requete);
    if (mysql_num_rows($result)) {
        // gestion erreur pret en cours
        error_message($msg[416], $msg['impossible_perio_del_pret'], 1, "./catalog.php?categ=serials&sub=view&serial_id={$serial_id}");
    } else {
        //suppression du périodique
        $serial = new serial($serial_id);
        if ($pmb_archive_warehouse) {
            serial::save_to_agnostic_warehouse(array(0 => $serial_id), $pmb_archive_warehouse);
        }
        $serial->serial_delete();
        $retour = "./catalog.php?categ=serials";
        print "\n\t\t\t<form class='form-{$current_module}' name=\"dummy\" method=\"post\" action=\"{$retour}\" style=\"display:none\">\n\t\t\t\t<input type=\"hidden\" name=\"id_form\" value=\"{$id_form}\">\n\t\t\t</form>\n\t\t\t<script type=\"text/javascript\">document.dummy.submit();</script>\n\t\t\t";
    }
}
コード例 #3
0
ファイル: import_func.inc.php プロジェクト: bouchra012/PMB
function creer_bulletinage_et_articles($bull = array(), $art = array())
{
    global $notice_id, $dbh, $notices_a_creer, $bulletins_crees, $notices_crees, $tit_200a, $isbn_OK, $id_unimarc, $msg;
    global $force_creation_notice_perio;
    //On regarde si la notice n'existe pas déjà dans la base
    $requete = "select notice_id from notices where tit1 LIKE '" . addslashes(clean_string(implode(" ; ", $tit_200a))) . "' and niveau_biblio='s' and niveau_hierar='1' and notice_id !='" . addslashes($notice_id) . "' ";
    if ($isbn_OK) {
        $requete .= "and code = '" . addslashes($isbn_OK) . "'";
    }
    $res = mysql_query($requete, $dbh);
    if ((!isset($force_creation_notice_perio) || !$force_creation_notice_perio) && mysql_num_rows($res)) {
        $id_perio_garde = 0;
        while (($r = mysql_fetch_object($res)) && !$id_perio_garde) {
            if (!array_search($r->notice_id, $notices_crees)) {
                //Si le periodique ne fait pas parti des notices créées (il était déja dans la base)
                $id_perio_garde = $r->notice_id;
            }
        }
        if ($id_perio_garde) {
            mysql_query("insert into error_log (error_origin, error_text) values ('import_" . addslashes(SESSid) . ".inc', '" . $msg[542] . " {$id_unimarc} " . " {$isbn_OK} " . addslashes(clean_string(implode(" ; ", $tit_200a))) . "') ", $dbh);
            //Si j'ai déja une notice dans la base avec ce titre et ce code je supprime celle que je suis en train d'importer
            $perio_traite = new serial($notice_id);
            $perio_traite->replace($id_perio_garde);
            $perio_traite->serial_delete();
            //Je travail avec le periodique qui était dans la base
            $notice_id = $id_perio_garde;
            $notices_crees[$id_unimarc] = $id_perio_garde;
        }
    }
    if ($bull) {
        for ($i = 0; $i < sizeof($bull); $i++) {
            $bulletin = array();
            $bulletin = array("titre" => $bull[$i]['t'][0], "date" => $bull[$i]['d'][0], "mention" => $bull[$i]['e'][0], "num" => $bull[$i]['v'][0]);
            creer_bulletin($notice_id, $bulletin, "", "");
        }
    }
    if ($art) {
        for ($i = 0; $i < sizeof($art); $i++) {
            if (!$notices_crees[get_valeur_champ9($art[$i]['9'], 'id')] && !$art[$i]['0'][0]) {
                $bulletin = array();
                $bulletin = array("titre" => $art[$i]['t'][1], "date" => $art[$i]['d'][0], "mention" => $art[$i]['e'][0], "num" => $art[$i]['v'][0]);
                creer_notice_article(get_valeur_champ9($art[$i]['9'], 'id'), $art[$i]['t'][0], get_valeur_champ9($art[$i]['9'], 'page'), 0, $bulletin, "", "", $notice_id);
            } elseif ($art[$i]['0'][0]) {
                $id = get_valeur_champ9($art[$i]['9'], 'id');
                $type_lien = get_valeur_champ9($art[$i]['9'], 'type_lnk');
                $lien = get_valeur_champ9($art[$i]['9'], 'lnk');
                $rank = get_valeur_champ9($art[$i]['9'], 'rank') * 1;
                $page = get_valeur_champ9($art[$i]['9'], 'page');
                //On enregistre les informations pour créer l'article plus tard
                $notices_a_creer[$id][] = array("type_lnk" => $type_lien, "lnk" => $lien, "rank" => $rank, "titre_art" => $art[$i]['t'][0], "titre" => $art[$i]['t'][1], "num" => $art[$i]['v'][0], "mention" => $art[$i]['e'][0], "date" => $art[$i]['d'][0], "id_asso" => $notice_id, "page" => $page);
            }
        }
    }
}