Example #1
0
function aff_notice_unimarc($id, $nocart = 0, $entrepots_localisations = array())
{
    global $opac_notices_format;
    global $opac_notices_depliable;
    global $opac_cart_allow;
    global $opac_cart_only_for_subscriber;
    global $msg;
    if ($opac_cart_allow && !$opac_cart_only_for_subscriber || $opac_cart_allow && $_SESSION["user_code"]) {
        $cart = 1;
    } else {
        $cart = 0;
    }
    if ($nocart) {
        $cart = 0;
    }
    //Recherche des fonctions d'affichage
    //$f=get_aff_function();
    //if ($f) return $f($id,$cart);
    if ($id) {
        $current = new notice_affichage_unimarc($id, "", $cart, 0, $entrepots_localisations);
        $depliable = $opac_notices_depliable;
        $current->do_header();
        if ($current->notice_header == "") {
            $current->notice_header = sprintf($msg['cart_notice_expired'], $id);
            $current->notice_expired = true;
        }
        switch ($opac_notices_format) {
            case AFF_ETA_NOTICES_REDUIT:
                $retour_aff .= $current->notice_header . " ";
                break;
            case AFF_ETA_NOTICES_ISBD:
                $current->do_isbd();
                $current->genere_simple($depliable, 'ISBD');
                $retour_aff .= $current->result;
                break;
            case AFF_ETA_NOTICES_PUBLIC:
                $current->do_public();
                $current->genere_simple($depliable, 'PUBLIC');
                $retour_aff .= $current->result;
                break;
            case AFF_ETA_NOTICES_BOTH:
                $current->do_isbd();
                $current->do_public();
                $current->genere_double($depliable, 'PUBLIC');
                $retour_aff .= $current->result;
                break;
            case AFF_ETA_NOTICES_BOTH_ISBD_FIRST:
                $current->do_isbd();
                $current->do_public();
                $current->genere_double($depliable, 'ISBD');
                $retour_aff .= $current->result;
                break;
            default:
                $current->do_isbd();
                $current->do_public();
                $current->genere_double($depliable, 'autre');
                $retour_aff .= $current->result;
                break;
        }
    }
    return $retour_aff;
}