Ejemplo n.º 1
0
function show_explnum_in_relation($no_notice, $link_expl = '', $param_aff = array())
{
    global $dbh;
    global $charset;
    global $base_path, $msg;
    global $_mimetypes_bymimetype_, $_mimetypes_byext_;
    global $prefix_url_image;
    if (!$no_notice) {
        return "";
    }
    create_tableau_mimetype();
    // recuperation du nombre d'exemplaires
    $requete = "SELECT explnum_id, explnum_notice, explnum_bulletin, explnum_nom, explnum_mimetype, explnum_url, explnum_vignette, explnum_nomfichier, explnum_extfichier, explnum_docnum_statut\n\t\t\tFROM explnum \n\t\t\tJOIN index_concept on index_concept.num_object = explnum_id AND index_concept.type_object=11\n\t\t\tJOIN vedette_link on vedette_link.num_object=index_concept.num_concept AND vedette_link.type_object=1\n\t\t\tJOIN vedette_object on vedette_object.num_vedette=vedette_link.num_vedette AND vedette_object.object_type=10 and vedette_object.object_id='{$no_notice}'\n\t\t\tORDER BY explnum_mimetype, explnum_id ";
    $res = pmb_mysql_query($requete, $dbh) or die($requete . " " . pmb_mysql_error());
    $nb_ex = pmb_mysql_num_rows($res);
    if ($nb_ex) {
        // on recupere les donnees des exemplaires
        $i = 1;
        while ($expl = pmb_mysql_fetch_object($res)) {
            // couleur de l'img en fonction du statut
            if ($expl->explnum_docnum_statut) {
                $rqt_st = "SELECT * FROM explnum_statut WHERE  id_explnum_statut='" . $expl->explnum_docnum_statut . "' ";
                $Query_statut = pmb_mysql_query($rqt_st, $dbh) or die($rqt_st . " " . pmb_mysql_error());
                $r_statut = pmb_mysql_fetch_object($Query_statut);
                $class_img = " class='docnum_" . $r_statut->class_html . "' ";
                if ($expl->explnum_docnum_statut > 1) {
                    $txt = $r_statut->opac_libelle;
                } else {
                    $txt = "";
                }
                $statut_libelle_div = "\n\t\t\t\t\t<div id='zoom_statut_docnum" . $expl->explnum_id . "' style='border: 2px solid rgb(85, 85, 85); background-color: rgb(255, 255, 255); position: absolute; z-index: 2000; display: none;'>\n\t\t\t\t\t<b>{$txt}</b>\n\t\t\t\t\t</div>\n\t\t\t\t\t";
            } else {
                $class_img = " class='docnum_statutnot1' ";
                $txt = "";
            }
            if ($i == 1) {
                $ligne = "<tr><td class='docnum' width='25%'>!!1!!</td><td class='docnum' width='25%'>!!2!!</td><td class='docnum' width='25%'>!!3!!</td><td class='docnum' width='25%'>!!4!!</td></tr>";
            }
            if ($link_expl) {
                $tlink = str_replace("!!explnum_id!!", $expl->explnum_id, $link_expl);
                $tlink = str_replace("!!notice_id!!", $expl->explnum_notice, $tlink);
                $tlink = str_replace("!!bulletin_id!!", $expl->explnum_bulletin, $tlink);
            }
            $alt = htmlentities($expl->explnum_nom . " - " . $expl->explnum_mimetype, ENT_QUOTES, $charset);
            if ($prefix_url_image) {
                $tmpprefix_url_image = $prefix_url_image;
            } else {
                $tmpprefix_url_image = "./";
            }
            if ($expl->explnum_vignette) {
                $obj = "<img src='" . $tmpprefix_url_image . "vig_num.php?explnum_id={$expl->explnum_id}' alt='{$alt}' title='{$alt}' border='0'>";
            } else {
                // trouver l'icone correspondant au mime_type
                $obj = "<img src='" . $tmpprefix_url_image . "images/mimetype/" . icone_mimetype($expl->explnum_mimetype, $expl->explnum_extfichier) . "' alt='{$alt}' title='{$alt}' border='0'>";
            }
            $obj_suite = "{$statut_libelle_div}\n\t\t\t<a  href='#' onmouseout=\"z=document.getElementById('zoom_statut_docnum" . $expl->explnum_id . "'); z.style.display='none'; \" onmouseover=\"z=document.getElementById('zoom_statut_docnum" . $expl->explnum_id . "'); z.style.display=''; \">\n\t\t\t<div class='vignette_doc_num' ><img {$class_img} width='10' height='10' src='./images/spacer.gif'></div>\n\t\t\t</a>\n\t\t\t";
            $expl_liste_obj = "<center>";
            $expl_liste_obj .= "<a href='" . $tmpprefix_url_image . "doc_num.php?explnum_id={$expl->explnum_id}' alt='{$alt}' title='{$alt}' target='_blank'>" . $obj . "</a>{$obj_suite}<br />";
            if ($_mimetypes_byext_[$expl->explnum_extfichier]["label"]) {
                $explmime_nom = $_mimetypes_byext_[$expl->explnum_extfichier]["label"];
            } elseif ($_mimetypes_bymimetype_[$expl->explnum_mimetype]["label"]) {
                $explmime_nom = $_mimetypes_bymimetype_[$expl->explnum_mimetype]["label"];
            } else {
                $explmime_nom = $expl->explnum_mimetype;
            }
            if ($param_aff["mine_type"]) {
                $explmime_nom = "";
            }
            if ($tlink) {
                $expl_liste_obj .= "<a href='{$tlink}'>";
                $expl_liste_obj .= htmlentities($expl->explnum_nom, ENT_QUOTES, $charset) . "</a><div class='explnum_type'>" . htmlentities($explmime_nom, ENT_QUOTES, $charset) . "</div>";
            } else {
                $expl_liste_obj .= htmlentities($expl->explnum_nom, ENT_QUOTES, $charset) . "<div class='explnum_type'>" . htmlentities($explmime_nom, ENT_QUOTES, $charset) . "</div>";
            }
            //recherche des concepts...
            $query = "select num_concept,value from index_concept join skos_fields_global_index on num_concept = id_item and code_champ = 1  where num_object = " . $expl->explnum_id . " and type_object = 11 order by order_concept";
            $result = pmb_mysql_query($query, $dbh);
            $concept = "";
            if (pmb_mysql_num_rows($result)) {
                while ($row = pmb_mysql_fetch_object($result)) {
                    if ($concept) {
                        $concept .= " / ";
                    }
                    if (SESSrights & AUTORITES_AUTH) {
                        $concept .= "<a href='" . $base_path . "/autorites.php?categ=see&sub=concept&id=" . $row->num_concept . "' title='" . addslashes($msg['concept_menu'] . ": " . htmlentities($row->value, ENT_QUOTES, $charset)) . "'>" . htmlentities($row->value, ENT_QUOTES, $charset) . "</a>";
                    } else {
                        $concept .= "<span title='" . addslashes($msg['concept_menu'] . ": " . htmlentities($row->value, ENT_QUOTES, $charset)) . "'>" . htmlentities($row->value, ENT_QUOTES, $charset) . "</span>";
                    }
                }
            }
            $expl_liste_obj .= $concept . "</center>";
            $ligne = str_replace("!!{$i}!!", $expl_liste_obj, $ligne);
            $i++;
            if ($i == 5) {
                $ligne_finale .= $ligne;
                $i = 1;
            }
        }
        if (!$ligne_finale) {
            $ligne_finale = $ligne;
        } elseif ($i != 1) {
            $ligne_finale .= $ligne;
        }
        $ligne_finale = str_replace('!!2!!', "&nbsp;", $ligne_finale);
        $ligne_finale = str_replace('!!3!!', "&nbsp;", $ligne_finale);
        $ligne_finale = str_replace('!!4!!', "&nbsp;", $ligne_finale);
    } else {
        return "";
    }
    $entry .= "<table class='docnum'>{$ligne_finale}</table>";
    return $entry;
}
Ejemplo n.º 2
0
if ($css == "") {
    $css = 1;
}
// récupération paramètres MySQL et connection á la base
require_once $base_path . '/includes/opac_db_param.inc.php';
require_once $base_path . '/includes/opac_mysql_connect.inc.php';
$dbh = connection_mysql();
require_once $base_path . '/includes/start.inc.php';
require_once $base_path . "/includes/check_session_time.inc.php";
// récupération localisation
require_once $base_path . '/includes/localisation.inc.php';
// version actuelle de l'opac
require_once $base_path . '/includes/opac_version.inc.php';
require_once $include_path . "/explnum.inc.php";
$resultat = mysql_query("SELECT explnum_id, explnum_mimetype, explnum_vignette,explnum_extfichier FROM explnum WHERE explnum_id = '{$explnum_id}' ", $dbh);
$nb_res = mysql_num_rows($resultat);
if (!$nb_res) {
    exit;
}
$ligne = mysql_fetch_object($resultat);
if ($ligne->explnum_vignette) {
    print $ligne->explnum_vignette;
    exit;
} else {
    create_tableau_mimetype();
    $iconname = icone_mimetype($ligne->explnum_mimetype, $ligne->explnum_extfichier);
    $fp = fopen("./images/mimetype/{$iconname}", "r");
    $contenu_vignette = fread($fp, filesize("./images/mimetype/{$iconname}"));
    fclose($fp);
    print $contenu_vignette;
}
Ejemplo n.º 3
0
 public function render_thumbnail()
 {
     header('Content-Type: image/png');
     if ($this->vignette) {
         print $this->vignette;
     } else {
         global $prefix_url_image;
         if ($prefix_url_image) {
             $tmpprefix_url_image = $prefix_url_image;
         } else {
             $tmpprefix_url_image = "./";
         }
         print file_get_contents($tmpprefix_url_image . "images/mimetype/" . icone_mimetype($this->mimetype, substr($this->filename, strrpos($this->filename, ".") + 1)));
     }
 }
Ejemplo n.º 4
0
 /**
  * Affichage sous forme de tableau des exemplaires
  */
 function construire_tableau()
 {
     global $_mimetypes_bymimetype_, $_mimetypes_byext_, $dbh, $charset, $opac_url_base;
     global $opac_visionneuse_allow;
     if (!$this->tableau_id) {
         $this->display = "";
     } else {
         create_tableau_mimetype();
         $url_docnum = "";
         switch ($this->type_elt) {
             case DOCNUM_DMDE:
                 $url_docnum = "/explnum_doc.php?explnumdoc_id=";
                 $requete = "SELECT id_explnum_doc as explnum_id, explnum_doc_nomfichier as explnum_nom,  explnum_doc_mimetype as explnum_mimetype,\n\t\t\t\t\t\t explnum_doc_url as explnum_url, explnum_doc_data as explnum_data, explnum_doc_extfichier as explnum_extfichier\n\t\t\t\t\t\t  FROM explnum_doc join explnum_doc_actions on id_explnum_doc=num_explnum_doc WHERE prive=0 and num_action in (" . implode(',', $this->tableau_id) . ")";
                 break;
             case DOCNUM_SUGG:
                 $url_docnum = "/explnum_doc.php?explnumdoc_id=";
                 $requete = "SELECT id_explnum_doc as explnum_id, explnum_doc_nomfichier as explnum_nom,  explnum_doc_mimetype as explnum_mimetype,\n\t\t\t\t\t\t explnum_doc_url as explnum_url, explnum_doc_data as explnum_data, explnum_doc_extfichier as explnum_extfichier\n\t\t\t\t\t\t  FROM explnum_doc join explnum_doc_sugg on id_explnum_doc=num_explnum_doc WHERE num_suggestion in (" . implode(',', $this->tableau_id) . ")";
                 break;
             case DOCNUM_NOTI:
             default:
                 // récupération des infos des explnum
                 $requete = "SELECT explnum_id, explnum_notice, explnum_bulletin, explnum_nom, explnum_mimetype,\n\t\t\t\t\t\t explnum_url, explnum_data, explnum_vignette, explnum_nomfichier, explnum_extfichier\n\t\t\t\t\t\t  FROM explnum WHERE explnum_id in (" . implode(',', $this->tableau_id) . ")";
                 $url_docnum = "/doc_num.php?explnum_id=";
                 break;
         }
         $res = mysql_query($requete, $dbh);
         $i = 1;
         $allowed_mimetype = array();
         if ($opac_visionneuse_allow) {
             global $opac_photo_filtre_mimetype;
             $allowed_mimetype = explode(",", str_replace("'", "", $opac_photo_filtre_mimetype));
         }
         while ($expl = mysql_fetch_object($res)) {
             if ($expl->explnum_notice) {
                 $notice_aff = new notice_affichage($expl->explnum_notice, '');
                 $notice_aff->do_header_without_html();
                 $titre = $notice_aff->notice_header_without_html;
             } elseif ($expl->explnum_bulletin) {
                 $titre = $this->get_header_bulletin($expl->explnum_bulletin);
             }
             if ($i == 1) {
                 $ligne = "<div class='row'><div class='colonne3' >!!1!!</div><div class='colonne3' width='33%'>!!2!!</div><div class='colonne3' >!!3!!</div></div>";
             }
             $alt = htmlentities($expl->explnum_nom . " - " . $expl->explnum_mimetype, ENT_QUOTES, $charset);
             if ($expl->explnum_vignette) {
                 $obj = "<img src='" . $opac_url_base . "/vig_num.php?explnum_id={$expl->explnum_id}' alt='{$alt}' title='{$alt}' border='0'>";
             } else {
                 // trouver l'icone correspondant au mime_type
                 $obj = "<img src='" . $opac_url_base . "/images/mimetype/" . icone_mimetype($expl->explnum_mimetype, $expl->explnum_extfichier) . "' alt='{$alt}' title='{$alt}' border='0'>";
             }
             $lien = "";
             if ($expl->explnum_notice) {
                 $lien = "index.php?lvl=notice_display&id=" . $expl->explnum_notice;
             } elseif ($expl->explnum_bulletin) {
                 $lien = "index.php?lvl=bulletin_display&id=" . $expl->explnum_bulletin;
             }
             $words_to_find = "";
             if ($expl->explnum_mimetype == 'application/pdf' || $expl->explnum_mimetype == 'URL' && strpos($expl->explnum_nom, '.pdf') !== false) {
                 $words_to_find = "#search=\"" . $this->termes_recherche . "\"";
             }
             $expl_liste_obj = "<div class='explnum-titre' style=\"margin-top:20px;margin-bottom:10px;text-align:center;font-weight:bold;\" ><a href='{$lien}'>{$titre}</a></div>";
             $expl_liste_obj .= "<div style=\"text-align:center; word-wrap: break-word\">";
             if ($allowed_mimetype && in_array($expl->explnum_mimetype, $allowed_mimetype)) {
                 $link = "\n\t\t\t\t\t\t<script type='text/javascript'>\n\t\t\t\t\t\t\tif(typeof(sendToVisionneuse) == 'undefined'){\n\t\t\t\t\t\t\t\tvar sendToVisionneuse = function (explnum_id){\n\t\t\t\t\t\t\t\t\tdocument.getElementById('visionneuseIframe').src = 'visionneuse.php?'+(typeof(explnum_id) != 'undefined' ? 'explnum_id='+explnum_id+\"\" : '\\'');\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t</script>\n\t\t\t\t\t\t<a href='#' onclick=\"open_visionneuse(sendToVisionneuse," . $expl->explnum_id . ");return false;\" alt='{$alt}' title='{$alt}'>" . $obj . "</a><br />";
                 $expl_liste_obj .= $link;
             } else {
                 $expl_liste_obj .= "<a href='" . $opac_url_base . $url_docnum . $expl->explnum_id . $words_to_find . "' alt='{$alt}' title='{$alt}' target='_blank'>" . $obj . "</a><br />";
             }
             if ($_mimetypes_byext_[$expl->explnum_extfichier]["label"]) {
                 $explmime_nom = $_mimetypes_byext_[$expl->explnum_extfichier]["label"];
             } elseif ($_mimetypes_bymimetype_[$expl->explnum_mimetype]["label"]) {
                 $explmime_nom = $_mimetypes_bymimetype_[$expl->explnum_mimetype]["label"];
             } else {
                 $explmime_nom = $expl->explnum_mimetype;
             }
             $expl_liste_obj .= htmlentities($expl->explnum_nom, ENT_QUOTES, $charset) . "<div class='explnum_type'>" . htmlentities($explmime_nom, ENT_QUOTES, $charset) . "</div>";
             $expl_liste_obj .= "</div>";
             $ligne = str_replace("!!{$i}!!", $expl_liste_obj, $ligne);
             $i++;
             if ($i == 4) {
                 $ligne_finale .= $ligne;
                 $i = 1;
             }
         }
         if (!$ligne_finale) {
             $ligne_finale = $ligne;
         } elseif ($i != 1) {
             $ligne_finale .= $ligne;
         }
         $ligne_finale = str_replace('!!2!!', "&nbsp;", $ligne_finale);
         $ligne_finale = str_replace('!!3!!', "&nbsp;", $ligne_finale);
         $this->display = $ligne_finale;
     }
 }
Ejemplo n.º 5
0
 function show_docnum_table($docnum_tab = array(), $action)
 {
     global $charset;
     create_tableau_mimetype();
     $display = "";
     if ($docnum_tab) {
         $nb_doc = 0;
         for ($i = 0; $i < count($docnum_tab); $i++) {
             $nb_doc++;
             if ($nb_doc == 1) {
                 $display .= "<tr >";
             }
             $alt = htmlentities($docnum_tab[$i]['tache_docnum_nomfichier'], ENT_QUOTES, $charset) . ' - ' . htmlentities($docnum_tab[$i]['tache_docnum_mimetype'], ENT_QUOTES, $charset);
             $display .= "<td class='docnum' style='width:25%;border:1px solid #CCCCCC;padding : 5px 5px'>\n\t\t\t\t\t\t<a target='_blank' alt='{$alt}' title='{$alt}' href=\"./tache_docnum.php?tache_docnum_id=" . $docnum_tab[$i]['id_tache_docnum'] . "\">\n\t\t\t\t\t\t\t<img src='./images/mimetype/" . icone_mimetype($docnum_tab[$i]['tache_docnum_mimetype'], $docnum_tab[$i]['tache_docnum_extfichier']) . "' alt='{$alt}' title='{$alt}' >\n\t\t\t\t\t\t</a>\n\t\t\t\t\t\t<br />\n\t\t\t\t\t\t<a target='_blank' href='./tache_docnum.php?tache_docnum_id=" . $docnum_tab[$i]['id_tache_docnum'] . "'>" . htmlentities($docnum_tab[$i]['tache_docnum_nomfichier'], ENT_QUOTES, $charset) . "\n\t\t\t\t\t\t</a>\n\t\t\t\t\t\t<div class='explnum_type'>" . $docnum_tab[$i]['tache_docnum_mimetype'] . "</div>\n\t\t\t\t\t\t</td>\n\t\t\t\t\t";
             if ($nb_doc == 4) {
                 $display .= "</tr>";
                 $nb_doc = 0;
             }
         }
     }
     return $display;
 }
 function genere_simple($depliable = 1, $what = 'ISBD')
 {
     global $msg, $charset;
     global $dbh;
     global $cart_aff_case_traitement;
     global $opac_url_base;
     global $opac_avis_allow;
     global $opac_allow_add_tag;
     global $opac_visionneuse_allow;
     global $allow_tag;
     // l'utilisateur a-t-il le droit d'ajouter un tag
     $this->notice_childs = $this->genere_notice_childs();
     // preparation de la case a cocher pour traitement panier
     if ($cart_aff_case_traitement) {
         $case_a_cocher = "<input type='checkbox' value='!!id!!' name='notice[]'/>&nbsp;";
     } else {
         $case_a_cocher = "";
     }
     if ($this->cart_allowed) {
         $basket = "<a href=\"cart_info.php?id=" . $this->notice_id . "&header=" . rawurlencode($this->notice_header) . "\" target=\"cart_info\"><img src='" . $opac_url_base . "images/basket_small_20x20.gif' align='absmiddle' border='0' title=\"" . $msg[notice_title_basket] . "\" alt=\"" . $msg[notice_title_basket] . "\"></a>";
     } else {
         $basket = "";
     }
     //Avis
     if ($opac_avis_allow && $opac_avis_allow != 2 || $_SESSION["user_code"] && $opac_avis_allow == 2) {
         $basket .= "&nbsp;&nbsp;<a href='#' onclick=\"open('avis.php?todo=liste&noticeid={$this->notice_id}','avis','width=520,height=290,scrollbars=yes,resizable=yes'); return false;\"><img src='" . $opac_url_base . "images/avis.png' align='absmiddle' border='0' title=\"" . $msg[notice_title_avis] . "\" alt=\"" . $msg[notice_title_avis] . "\"></a>";
     }
     //add tags
     if ($opac_allow_add_tag == 1 || $opac_allow_add_tag == 2 && $_SESSION["user_code"] && $allow_tag) {
         $basket .= "&nbsp;&nbsp;<a href='#' onclick=\"open('addtags.php?noticeid={$this->notice_id}','ajouter_un_tag','width=350,height=150,scrollbars=yes,resizable=yes'); return false;\"><img src='" . $opac_url_base . "images/tag.png'align='absmiddle' border='0' title=\"" . $msg[notice_title_tag] . "\" alt=\"" . $msg[notice_title_tag] . "\"></a>";
     }
     if ($basket) {
         $basket = "<div>" . $basket . "</div>";
     }
     if ($this->notice->niveau_biblio == "s") {
         $icon = "icon_per_16x16.gif";
     } elseif ($this->notice->niveau_biblio == "a") {
         $icon = "icon_art_16x16.gif";
     } else {
         $icon = "icon_" . $this->notice->typdoc . "_16x16.gif";
     }
     if (!$depliable && $this->notice->typdoc == "k") {
         $template = "\n\t\t\t<div id=\"el!!id!!Global\" class=\"notice-global-photo\">\n\t\t\t<div id=\"el!!id!!Parent\" class=\"notice-parent\">\n\n\t\t{$case_a_cocher}";
         if ($icon) {
             $template .= "\n\t\t\t\t<img src=\"" . $opac_url_base . "images/{$icon}\" />";
         }
         $template .= "\n    \t\t<span class=\"notice-heada\">!!heada!!</span>\n\t\t    <center>!!DOCNUM1!!</center>\n\n    \t\t</div>\t\t\t\n\t\t\t<div id=\"el!!id!!Child\" class=\"notice-child-photo\" style=\"margin-bottom:6px;\">" . $basket . "!!ISBD!!\n\n\t\t\t</div>\n\n\t\t\t</div>\n";
     } else {
         $template = "\n\t\t\t<div id=\"el!!id!!Global\" class=\"notice-global-nophoto\">\n\n\t\t\t<div id=\"el!!id!!Parent\" class=\"notice-parent\">\n\n    \t{$case_a_cocher}";
         if ($icon) {
             $template .= "\n\t\t\t\t<img src=\"" . $opac_url_base . "images/{$icon}\" />";
         }
         $template .= "\n    \t\t<span class=\"heada\">!!heada!!</span><br />\n\t    \t</div>\t\t\t\n\t\t\t\n<div id='el!!id!!Child' class='child' >" . $basket . "\n\t\t\t!!ISBD!!\n\t\t\t!!SUITE!!\n\t\t\t</div>\r\n</div>\n";
     }
     $no_notice = $this->notice_id;
     if ($this->notice->typdoc == "k") {
         // Affichage du premier exemplaire numerique
         if ($no_notice) {
             // Traitement exemplaire numerique
             $requete = "SELECT explnum_id, explnum_notice, explnum_bulletin, explnum_nom, explnum_mimetype, explnum_url, explnum_data, explnum_vignette, explnum_nomfichier, explnum_extfichier FROM explnum WHERE ";
             $requete .= "explnum_notice='{$no_notice}' ";
             $requete .= " order by explnum_id LIMIT 1";
             $res = mysql_query($requete, $dbh) or die($requete . " " . mysql_error());
             $nb_ex = mysql_num_rows($res);
         }
         if ($nb_ex) {
             // on recupere les donnees des exemplaires
             $i = 1;
             while ($expl = mysql_fetch_object($res)) {
                 $ligne = "!!1!!";
                 if ($link_expl) {
                     $tlink = str_replace("!!explnum_id!!", $expl->explnum_id, $link_expl);
                     $tlink = str_replace("!!notice_id!!", $expl->explnum_notice, $tlink);
                     $tlink = str_replace("!!bulletin_id!!", $expl->explnum_bulletin, $tlink);
                 }
                 $alt = htmlentities($expl->explnum_nom . " - " . $expl->explnum_mimetype, ENT_QUOTES, $charset);
                 global $prefix_url_image;
                 if ($prefix_url_image) {
                     $tmpprefix_url_image = $prefix_url_image;
                 } else {
                     $tmpprefix_url_image = "./";
                 }
                 if ($expl->explnum_vignette) {
                     $obj = "<img src='" . $tmpprefix_url_image . "vig_num.php?explnum_id={$expl->explnum_id}' alt='{$alt}' title='{$alt}' border='0'>";
                 } else {
                     // trouver l'icone correspondant au mime_type
                     $obj = "<img src='" . $tmpprefix_url_image . "images/mimetype/" . icone_mimetype($expl->explnum_mimetype, $expl->explnum_extfichier) . "' alt='{$alt}' title='{$alt}' border='0'>";
                 }
                 $expl_liste_obj = "";
                 if ($opac_visionneuse_allow) {
                     $link = "<script type='text/javascript'>\n\t\t\t\t\t\tif(typeof(sendToVisionneuse) == 'undefined'){\n\t\t\t\t\t\t\tvar sendToVisionneuse = function (explnum_id){\n\t\t\t\t\t\t\t\tdocument.getElementById('visionneuseIframe').src = 'visionneuse.php?'+(typeof(explnum_id) != 'undefined' ? 'explnum_id='+explnum_id+\"\" : '\\'');\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t</script>";
                     $link .= "<a href='#' onclick=\"open_visionneuse(sendToVisionneuse," . $expl->explnum_id . ");return false;\" alt='{$alt}' title='{$alt}'>" . $obj . "</a><br />";
                     $expl_liste_obj .= $link;
                 } else {
                     $suite_url_explnum = "doc_num.php?explnum_id={$expl->explnum_id}{$words_to_find}";
                     $expl_liste_obj .= "<a href='index.php?lvl=notice_display&id=" . $this->notice_id . "&mode_phototeque=1' alt='{$alt}' title='{$alt}'>" . $obj . "</a><br />";
                 }
                 if ($_mimetypes_byext_[$expl->explnum_extfichier]["label"]) {
                     $explmime_nom = $_mimetypes_byext_[$expl->explnum_extfichier]["label"];
                 } elseif ($_mimetypes_bymimetype_[$expl->explnum_mimetype]["label"]) {
                     $explmime_nom = $_mimetypes_bymimetype_[$expl->explnum_mimetype]["label"];
                 } else {
                     $explmime_nom = $expl->explnum_mimetype;
                 }
                 /* Pas besoin de l'affichage des titres ni format
                 			 if ($tlink) {
                 				$expl_liste_obj .= "<a href='$tlink'>";
                 				$expl_liste_obj .= htmlentities($expl->explnum_nom,ENT_QUOTES, $charset)."</a><div class='explnum_type'>".htmlentities($explmime_nom,ENT_QUOTES, $charset)."</div>";
                 				} else {
                 					$expl_liste_obj .= htmlentities($expl->explnum_nom,ENT_QUOTES, $charset)."<div class='explnum_type'>".htmlentities($explmime_nom,ENT_QUOTES, $charset)."</div>";
                 					}
                 			*/
                 $expl_liste_obj .= "";
                 $ligne = str_replace("!!{$i}!!", $expl_liste_obj, $ligne);
             }
             $ligne_finale = $ligne;
         }
         $entry .= "{$ligne_finale}";
     }
     // Si un document numerique, renvoi du doc num $entry dans le template, sinon vide
     if ($nb_ex) {
         $template = str_replace('!!DOCNUM1!!', $entry, $template);
     } else {
         $template = str_replace('!!DOCNUM1!!', "", $template);
     }
     // Serials : difference avec les monographies on affiche [periodique] et [article] devant l'ISBD
     if ($this->notice->niveau_biblio == 's') {
         $template = str_replace('!!ISBD!!', "<span class='fond-mere'>[" . $msg['isbd_type_perio'] . "]</span>&nbsp;<a href='index.php?lvl=notice_display&id=" . $this->notice_id . "'><i>" . $msg["see_bull"] . "</i></a>&nbsp;!!ISBD!!", $template);
     } elseif ($this->notice->niveau_biblio == 'a') {
         $template = str_replace('!!ISBD!!', "<span class='fond-article'>[" . $msg['isbd_type_art'] . "]</span>&nbsp;!!ISBD!!", $template);
     }
     $this->result = str_replace('!!id!!', $this->notice_id, $template);
     $this->result = str_replace('!!heada!!', $this->notice_header, $this->result);
     if ($what == 'ISBD') {
         $this->do_image($this->notice_isbd, $depliable);
         $this->result = str_replace('!!ISBD!!', $this->notice_isbd, $this->result);
     } else {
         $this->do_image($this->notice_public, $depliable);
         $this->result = str_replace('!!ISBD!!', $this->notice_public, $this->result);
     }
     if ($this->affichage_resa_expl || $this->notice_childs) {
         $this->result = str_replace('!!SUITE!!', $this->notice_childs . $this->affichage_resa_expl, $this->result);
     } else {
         $this->result = str_replace('!!SUITE!!', '', $this->result);
     }
 }
Ejemplo n.º 7
0
/**
 * Fonction retournant les infos d'exemplaires numériques pour une notice ou un bulletin donné
 * @param int $explnum_id Identifiant du document numérique
 * @return string
 */
function show_explnum_per_id($explnum_id, $link_explnum = "")
{
    global $dbh;
    global $charset;
    global $opac_url_base;
    global $opac_visionneuse_allow;
    global $opac_photo_filtre_mimetype;
    global $opac_explnum_order;
    global $opac_show_links_invisible_docnums;
    global $gestion_acces_active, $gestion_acces_empr_notice, $gestion_acces_empr_docnum;
    global $search_terms;
    if (!$explnum_id) {
        return "";
    }
    global $_mimetypes_bymimetype_, $_mimetypes_byext_;
    create_tableau_mimetype();
    // récupération des infos du document
    $query = "select explnum_id, explnum_notice, explnum_bulletin, explnum_nom, explnum_mimetype, explnum_url, explnum_vignette, explnum_nomfichier, explnum_extfichier , explnum_docnum_statut FROM explnum WHERE explnum_id = " . $explnum_id;
    $result = pmb_mysql_query($query, $dbh);
    if ($result && pmb_mysql_num_rows($result)) {
        if ($explnum = pmb_mysql_fetch_object($result)) {
            $docnum_visible = true;
            $id_for_right = $explnum->explnum_notice;
            if ($gestion_acces_active == 1 && $gestion_acces_empr_notice == 1) {
                $ac = new acces();
                $dom_2 = $ac->setDomain(2);
                $docnum_visible = $dom_2->getRights($_SESSION['id_empr_session'], $id_for_right, 16);
            } else {
                $requete = "SELECT explnum_visible_opac, explnum_visible_opac_abon FROM notices, notice_statut WHERE notice_id ='" . $id_for_right . "' and id_notice_statut=statut ";
                $myQuery = pmb_mysql_query($requete, $dbh);
                if (pmb_mysql_num_rows($myQuery)) {
                    $statut_temp = pmb_mysql_fetch_object($myQuery);
                    if (!$statut_temp->explnum_visible_opac) {
                        $docnum_visible = false;
                    }
                    if ($statut_temp->explnum_visible_opac_abon && !$_SESSION['id_empr_session']) {
                        $docnum_visible = false;
                    }
                } else {
                    $docnum_visible = false;
                }
            }
            if ($docnum_visible) {
                if ($gestion_acces_active == 1 && $gestion_acces_empr_docnum == 1) {
                    $ac = new acces();
                    $dom_3 = $ac->setDomain(3);
                    $docnum_visible = $dom_3->getRights($_SESSION['id_empr_session'], $explnum->explnum_id, 16);
                } else {
                    $requete = "SELECT explnum_visible_opac, explnum_visible_opac_abon FROM explnum, explnum_statut WHERE explnum_id ='" . $explnum->explnum_id . "' and id_explnum_statut=explnum_docnum_statut ";
                    $myQuery = pmb_mysql_query($requete, $dbh);
                    if (pmb_mysql_num_rows($myQuery)) {
                        $statut_temp = pmb_mysql_fetch_object($myQuery);
                        if (!$statut_temp->explnum_visible_opac) {
                            $docnum_visible = false;
                        }
                        if ($statut_temp->explnum_visible_opac_abon && !$_SESSION['id_empr_session']) {
                            $docnum_visible = false;
                        }
                    } else {
                        $docnum_visible = false;
                    }
                }
            }
            if ($link_explnum) {
                $tlink = str_replace("!!explnum_id!!", $explnum->explnum_id, $link_explnum);
                $tlink = str_replace("!!notice_id!!", $explnum->explnum_notice, $tlink);
                $tlink = str_replace("!!bulletin_id!!", $explnum->explnum_bulletin, $tlink);
            }
            $alt = htmlentities($explnum->explnum_nom . " - " . $explnum->explnum_mimetype, ENT_QUOTES, $charset);
            // couleur de l'img en fonction du statut
            if ($expl->explnum_docnum_statut) {
                $rqt_st = "SELECT * FROM explnum_statut WHERE  id_explnum_statut='" . $expl->explnum_docnum_statut . "' ";
                $Query_statut = pmb_mysql_query($rqt_st, $dbh) or die($rqt_st . " " . pmb_mysql_error());
                $r_statut = pmb_mysql_fetch_object($Query_statut);
                $class_img = " class='docnum_" . $r_statut->class_html . "' ";
                if ($expl->explnum_docnum_statut > 1) {
                    $txt = $r_statut->opac_libelle;
                } else {
                    $txt = "";
                }
                $statut_libelle_div = "\r\n\t\t\t\t\t<div id='zoom_statut_docnum" . $expl->explnum_id . "' style='border: 2px solid rgb(85, 85, 85); background-color: rgb(255, 255, 255); position: absolute; z-index: 2000; display: none;'>\r\n\t\t\t\t\t\t<b>{$txt}</b>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t";
            } else {
                $class_img = " class='docnum_statutnot1' ";
                $txt = "";
            }
            if ($explnum->explnum_vignette) {
                $obj = "<img src='" . $opac_url_base . "vig_num.php?explnum_id={$explnum->explnum_id}' alt='{$alt}' title='{$alt}' border='0'>";
            } else {
                // trouver l'icone correspondant au mime_type
                $obj = "<img src='" . get_url_icon('mimetype/' . icone_mimetype($explnum->explnum_mimetype, $explnum->explnum_extfichier), 1) . "' alt='{$alt}' title='{$alt}' border='0'>";
            }
            $explnum_liste_obj = "<center>";
            $obj .= "{$statut_libelle_div}\r\n\t\t\t\t<a  href='#' onmouseout=\"z=document.getElementById('zoom_statut_docnum" . $expl->explnum_id . "'); z.style.display='none'; \" onmouseover=\"z=document.getElementById('zoom_statut_docnum" . $expl->explnum_id . "'); z.style.display=''; \">\r\n\t\t\t\t\t<div class='vignette_doc_num' ><img {$class_img} width='10' height='10' src='./images/spacer.gif'></div>\r\n\t\t\t\t</a>\r\n\t\t\t";
            $words_to_find = "";
            if ($explnum->explnum_mimetype == 'application/pdf' || $explnum->explnum_mimetype == 'URL' && strpos($explnum->explnum_nom, '.pdf') !== false) {
                if (is_array($search_terms)) {
                    $words_to_find = "#search=\"" . trim(str_replace('*', '', implode(' ', $search_terms))) . "\"";
                }
            }
            //si l'affichage du lien vers les documents numériques est forcé et qu'on est pas connecté, on propose l'invite de connexion!
            if (!$docnum_visible && !$_SESSION['user_code'] && $opac_show_links_invisible_docnums) {
                if ($opac_visionneuse_allow) {
                    $allowed_mimetype = explode(",", str_replace("'", "", $opac_photo_filtre_mimetype));
                }
                if ($allowed_mimetype && in_array($explnum->explnum_mimetype, $allowed_mimetype)) {
                    $link = "\n\t\t\t\t\t\t<script type='text/javascript'>\n\t\t\t\t\t\t\tif(typeof(sendToVisionneuse) == 'undefined'){\n\t\t\t\t\t\t\t\tvar sendToVisionneuse = function (explnum_id){\n\t\t\t\t\t\t\t\t\tdocument.getElementById('visionneuseIframe').src = 'visionneuse.php?'+(typeof(explnum_id) != 'undefined' ? 'explnum_id='+explnum_id+\"\" : '\\'');\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tfunction sendToVisionneuse_" . $explnum->explnum_id . "(){\n\t\t\t\t\t\t\t\topen_visionneuse(sendToVisionneuse," . $explnum->explnum_id . ");\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t</script>\n\t\t\t\t\t\t<a href='#' onclick=\"auth_popup('./ajax.php?module=ajax&categ=auth&callback_func=sendToVisionneuse_" . $explnum->explnum_id . "');\" alt='{$alt}' title='{$alt}'>" . $obj . "</a><br />";
                    $explnum_liste_obj .= $link;
                } else {
                    $link = "\n\t\t\t\t\t\t<a href='#' onclick=\"auth_popup('./ajax.php?module=ajax&categ=auth&new_tab=1&callback_url=" . rawurlencode($opac_url_base . "doc_num.php?explnum_id=" . $explnum->explnum_id) . "')\" alt='{$alt}' title='{$alt}'>" . $obj . "</a><br />";
                    $explnum_liste_obj .= $link;
                }
            } else {
                if ($opac_visionneuse_allow) {
                    $allowed_mimetype = explode(",", str_replace("'", "", $opac_photo_filtre_mimetype));
                }
                if ($allowed_mimetype && in_array($explnum->explnum_mimetype, $allowed_mimetype)) {
                    $link = "\n\t\t\t\t\t\t<script type='text/javascript'>\n\t\t\t\t\t\t\tif(typeof(sendToVisionneuse) == 'undefined'){\n\t\t\t\t\t\t\t\tvar sendToVisionneuse = function (explnum_id){\n\t\t\t\t\t\t\t\t\tdocument.getElementById('visionneuseIframe').src = 'visionneuse.php?'+(typeof(explnum_id) != 'undefined' ? 'explnum_id='+explnum_id+\"\" : '\\'');\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t</script>\n\t\t\t\t\t\t<a href='#' onclick=\"open_visionneuse(sendToVisionneuse," . $explnum->explnum_id . ");return false;\" alt='{$alt}' title='{$alt}'>" . $obj . "</a><br />";
                    $explnum_liste_obj .= $link;
                } else {
                    $suite_url_explnum = "doc_num.php?explnum_id={$explnum->explnum_id}";
                    if (!$r_statut->explnum_download_opac) {
                        $explnum_liste_obj .= $obj . "<br />";
                    } else {
                        $explnum_liste_obj .= "<a href='" . $opac_url_base . $suite_url_explnum . "' alt='{$alt}' title='{$alt}' target='_blank'>" . $obj . "</a><br />";
                    }
                }
            }
            if ($_mimetypes_byext_[$explnum->explnum_extfichier]["label"]) {
                $explnummime_nom = $_mimetypes_byext_[$explnum->explnum_extfichier]["label"];
            } elseif ($_mimetypes_bymimetype_[$explnum->explnum_mimetype]["label"]) {
                $explnummime_nom = $_mimetypes_bymimetype_[$explnum->explnum_mimetype]["label"];
            } else {
                $explnummime_nom = $explnum->explnum_mimetype;
            }
            if ($tlink) {
                $explnum_liste_obj .= "<a href='{$tlink}'>";
                $explnum_liste_obj .= htmlentities($explnum->explnum_nom, ENT_QUOTES, $charset) . "</a><div class='explnum_type'>" . htmlentities($explnummime_nom, ENT_QUOTES, $charset) . "</div>";
            } else {
                $explnum_liste_obj .= htmlentities($explnum->explnum_nom, ENT_QUOTES, $charset) . "<div class='explnum_type'>" . htmlentities($explnummime_nom, ENT_QUOTES, $charset) . "</div>";
            }
            $explnum_liste_obj .= "</center>";
        } else {
            return "";
        }
    } else {
        return "";
    }
    return $explnum_liste_obj;
}
Ejemplo n.º 8
0
 function show_docnum_table($docnum_tab = array())
 {
     global $charset;
     create_tableau_mimetype();
     $display = "";
     if ($docnum_tab) {
         $nb_doc = 0;
         $display .= "<table>\r\n\t\t\t<tbody>";
         for ($i = 0; $i < count($docnum_tab); $i++) {
             $nb_doc++;
             if ($nb_doc == 1) {
                 $display .= "<tr>";
             }
             $alt = htmlentities($docnum_tab[$i]['explnum_doc_nomfichier'], ENT_QUOTES, $charset) . ' - ' . htmlentities($docnum_tab[$i]['explnum_doc_mimetype'], ENT_QUOTES, $charset);
             $display .= "<td class='docnum' style='width:25%;border:1px solid #CCCCCC;padding : 5px 5px'>\r\n\t\t\t\t<a target='_blank' alt='{$alt}' title='{$alt}' href=\"./explnum_doc.php?explnumdoc_id=" . $docnum_tab[$i]['id_explnum_doc'] . "\">\r\n\t\t\t\t<img src='" . get_url_icon('mimetype/' . icone_mimetype($docnum_tab[$i]['explnum_doc_mimetype'], $docnum_tab[$i]['explnum_doc_extfichier'])) . "' alt='{$alt}' title='{$alt}' >\r\n\t\t\t\t</a>\r\n\t\t\t\t<br />\r\n\t\t\t\t<div class='explnum_type'>" . $docnum_tab[$i]['explnum_doc_mimetype'] . "</div>\r\n\t\t\t\t</td>\r\n\t\t\t\t";
             if ($nb_doc == 4) {
                 $display .= "</tr>";
                 $nb_doc = 0;
             }
         }
         $display .= "</tbody></table>";
     }
     return $display;
 }
Ejemplo n.º 9
0
 /**
  * Exécution du processus d'indexation
  */
 function run_index()
 {
     if ($this->mimetype == 'URL') {
         //récupération par cURL
         $this->get_file_from_curl($this->file_url);
         create_tableau_mimetype();
         $this->mimetype = trouve_mimetype($this->fichier);
         if (!$this->mimetype) {
             //Test sur l'extension du fichier
             $this->ext = extension_fichier($this->file_url);
             $this->mimetype = trouve_mimetype($this->file_url, $this->ext);
         }
         if (!$this->mimetype && $this->explnum_nomfichier) {
             //Test sur l'extension du fichier
             $this->ext = extension_fichier($this->explnum_nomfichier);
             $this->mimetype = trouve_mimetype($this->file_url, $this->ext);
         }
         if ($this->mimetype && !$this->ext) {
             $this->ext = extension_fichier($this->file_url);
         }
         if ($this->mimetype && $this->explnum_nomfichier && !$this->ext) {
             $this->ext = extension_fichier($this->explnum_nomfichier);
         }
         if (!$this->mimetype) {
             $this->mimetype = "URL";
         }
         global $prefix_url_image;
         if ($prefix_url_image) {
             $tmpprefix_url_image = $prefix_url_image;
         } else {
             $tmpprefix_url_image = "./";
         }
         if ($tmp = construire_vignette('', "", $this->file_url)) {
             $this->vignette = $tmp;
         } else {
             $this->vignette = construire_vignette('', $tmpprefix_url_image . "images/mimetype/" . icone_mimetype($this->mimetype, $this->ext));
         }
     } else {
         //récupération dans la base
         $this->get_file($this->file_content);
         create_tableau_mimetype();
         if (!$this->mimetype) {
             $this->mimetype = trouve_mimetype($this->fichier);
         }
         if (!$this->mimetype && $this->explnum_nomfichier) {
             //Test sur l'extension du fichier
             $this->ext = extension_fichier($this->explnum_nomfichier);
             $this->mimetype = trouve_mimetype($this->fichier, $this->ext);
         }
     }
     if (file_exists($this->fichier)) {
         //On parse le XML pour recupérer le nom de la classe
         $this->parse_xml();
         //On choisit la classe correspondant au traitement du type MIME
         $this->choose_class($this->class_associee);
     }
 }
Ejemplo n.º 10
0
 function recuperer_explnum($f_notice, $f_bulletin, $f_nom, $f_url, $retour, $conservervignette = 0, $f_statut_chk = 0)
 {
     global $scanned_image, $scanned_image_ext, $base_path;
     global $f_new_name, $mime_vign;
     $this->infos_docnum = array();
     $this->params = array();
     create_tableau_mimetype();
     $erreur = 0;
     $userfile_name = $_FILES['f_fichier']['name'];
     $userfile_temp = $_FILES['f_fichier']['tmp_name'];
     $userfile_moved = basename($userfile_temp);
     $vignette_name = $_FILES['f_vignette']['name'];
     $vignette_temp = $_FILES['f_vignette']['tmp_name'];
     $vignette_moved = basename($vignette_temp);
     $userfile_name = preg_replace("/ |'|\\|\"|\\//m", "_", $userfile_name);
     $vignette_name = preg_replace("/ |'|\\|\"|\\//m", "_", $vignette_name);
     $contenu_vignette = "";
     $userfile_ext = '';
     if ($userfile_name) {
         $userfile_ext = extension_fichier($userfile_name);
     }
     if ($this->explnum_id) {
         // modification
         // si $userfile_name est vide on ne fera pas la maj du data
         if ($scanned_image || $userfile_name) {
             //Avant tout, y-a-t-il une image extérieure ?
             if ($scanned_image) {
                 //Si oui !
                 $tmpid = str_replace(" ", "_", microtime());
                 $fp = @fopen($base_path . "/temp/scanned_{$tmpid}." . $scanned_image_ext, "w+");
                 if ($fp) {
                     fwrite($fp, base64_decode($scanned_image));
                     $nf = 1;
                     $part_name = "scanned_image_" . $nf;
                     global ${$part_name};
                     while (${$part_name}) {
                         fwrite($fp, base64_decode(${$part_name}));
                         $nf++;
                         $part_name = "scanned_image_" . $nf;
                         global ${$part_name};
                     }
                     fclose($fp);
                     $fic = 1;
                     $maj_data = 1;
                     $userfile_name = "scanned_{$tmpid}." . $scanned_image_ext;
                     $userfile_ext = $scanned_image_ext;
                     $userfile_moved = $userfile_name;
                     $f_url = "";
                 } else {
                     $erreur++;
                 }
             } else {
                 if ($userfile_name) {
                     if (move_uploaded_file($userfile_temp, $base_path . '/temp/' . $userfile_moved)) {
                         $fic = 1;
                         $f_url = "";
                         $maj_data = 1;
                         move_uploaded_file($vignette_temp, $base_path . '/temp/' . $vignette_moved);
                     } else {
                         $erreur++;
                     }
                 }
             }
             $mimetype = trouve_mimetype($userfile_moved, $userfile_ext);
             if (!$mimetype) {
                 $mimetype = "application/data";
             }
             $maj_mimetype = 1;
             if (!$conservervignette && !$mime_vign) {
                 $contenu_vignette = construire_vignette($vignette_moved, $userfile_moved);
             }
             $maj_vignette = 1;
         } else {
             if ($vignette_name) {
                 move_uploaded_file($vignette_temp, $base_path . '/temp/' . $vignette_moved);
                 if (!$conservervignette && !$mime_vign) {
                     $contenu_vignette = construire_vignette($vignette_moved, $userfile_moved);
                 }
                 $maj_vignette = 1;
             }
             if ($f_url) {
                 $mimetype = "URL";
                 $maj_mimetype = 1;
                 move_uploaded_file($vignette_temp, $base_path . '/temp/' . $vignette_moved);
                 if (!$conservervignette && !$mime_vign) {
                     $contenu_vignette = construire_vignette($vignette_moved, $userfile_moved);
                 }
                 $maj_vignette = 1;
                 $contenu = "";
                 $maj_data = 1;
             }
         }
     } else {
         // creation
         //Y-a-t-il une image exterieure ?
         if ($scanned_image) {
             //Si oui !
             $tmpid = str_replace(" ", "_", microtime());
             $fp = @fopen($base_path . "/temp/scanned_{$tmpid}." . $scanned_image_ext, "w+");
             if ($fp) {
                 fwrite($fp, base64_decode($scanned_image));
                 $nf = 1;
                 $part_name = "scanned_image_" . $nf;
                 global ${$part_name};
                 while (${$part_name}) {
                     fwrite($fp, base64_decode(${$part_name}));
                     $nf++;
                     $part_name = "scanned_image_" . $nf;
                     global ${$part_name};
                 }
                 fclose($fp);
                 $fic = 1;
                 $maj_data = 1;
                 $userfile_name = "scanned_{$tmpid}." . $scanned_image_ext;
                 $userfile_ext = $scanned_image_ext;
                 $userfile_moved = $userfile_name;
                 $f_url = "";
             } else {
                 $erreur++;
             }
         } else {
             if (move_uploaded_file($userfile_temp, $base_path . '/temp/' . $userfile_moved)) {
                 $fic = 1;
                 $f_url = "";
                 $maj_data = 1;
             } elseif (!$f_url) {
                 $erreur++;
             }
         }
         if (!$f_url && !$fic) {
             $erreur++;
         }
         if ($f_url) {
             $mimetype = "URL";
         } else {
             $mimetype = trouve_mimetype($userfile_moved, $userfile_ext);
             if (!$mimetype) {
                 $mimetype = "application/data";
             }
         }
         $maj_mimetype = 1;
         move_uploaded_file($vignette_temp, $base_path . '/temp/' . $vignette_moved);
         if (!$mime_vign) {
             $contenu_vignette = construire_vignette($vignette_moved, $userfile_moved);
         }
         $maj_vignette = 1;
     }
     if ($mime_vign && !$conservervignette) {
         global $prefix_url_image;
         if ($prefix_url_image) {
             $tmpprefix_url_image = $prefix_url_image;
         } else {
             $tmpprefix_url_image = "./";
         }
         $contenu_vignette = construire_vignette('', $tmpprefix_url_image . "images/mimetype/" . icone_mimetype($mime_vign, ""));
         if ($contenu_vignette) {
             $maj_vignette = 1;
         }
     }
     //Initialisation des tableaux d'infos
     $this->infos_docnum["mime"] = $this->explnum_id && !$maj_mimetype ? $this->explnum_mimetype : $mimetype;
     $this->infos_docnum["nom"] = $f_new_name ? $f_new_name : $f_nom;
     $this->infos_docnum["notice"] = $f_notice;
     $this->infos_docnum["bull"] = $f_bulletin;
     $this->infos_docnum["url"] = $f_url;
     $this->infos_docnum["fic"] = $fic;
     $this->infos_docnum["contenu_vignette"] = $contenu_vignette;
     $this->infos_docnum["userfile_name"] = $this->explnum_id && !$userfile_name ? $this->explnum_nomfichier : ($f_new_name ? $f_new_name : $userfile_name);
     $this->infos_docnum["userfile_ext"] = $this->explnum_id && !$userfile_ext ? $this->explnum_ext : $userfile_ext;
     $this->infos_docnum["userfile_moved"] = $userfile_moved;
     $this->infos_docnum["vignette_name"] = $vignette_name;
     $this->infos_docnum["vignette_moved"] = $vignette_moved;
     $this->params["error"] = $erreur;
     $this->params["maj_mimetype"] = $maj_mimetype;
     $this->params["maj_data"] = $maj_data;
     $this->params["maj_vignette"] = $maj_vignette;
     $this->params["retour"] = $retour;
     $this->params["conservervignette"] = $conservervignette;
     $this->params["statut"] = $f_statut_chk;
 }
 function show_explnum_per_notice($no_notice, $no_bulletin, $link_expl = '')
 {
     global $class_path;
     require_once $class_path . "/auth_popup.class.php";
     // params :
     // $link_expl= lien associé à l'exemplaire avec !!explnum_id!! à mettre à jour
     global $dbh, $msg, $charset;
     global $opac_url_base;
     global $opac_visionneuse_allow;
     global $opac_photo_filtre_mimetype;
     global $opac_explnum_order;
     global $opac_show_links_invisible_docnums;
     global $gestion_acces_active, $gestion_acces_empr_notice;
     if (!$no_notice && !$no_bulletin) {
         return "";
     }
     global $_mimetypes_bymimetype_, $_mimetypes_byext_;
     create_tableau_mimetype();
     // récupération du nombre d'exemplaires
     $requete = "SELECT explnum_id, explnum_notice, explnum_bulletin, explnum_nom, explnum_mimetype, explnum_url, explnum_vignette, explnum_nomfichier, explnum_extfichier FROM explnum WHERE ";
     if ($no_notice && !$no_bulletin) {
         $requete .= "explnum_notice='{$no_notice}' ";
     } elseif (!$no_notice && $no_bulletin) {
         $requete .= "explnum_bulletin='{$no_bulletin}' ";
     } elseif ($no_notice && $no_bulletin) {
         $requete .= "explnum_bulletin='{$no_bulletin}' or explnum_notice='{$no_notice}' ";
     }
     if ($opac_explnum_order) {
         $requete .= " order by " . $opac_explnum_order;
     } else {
         $requete .= " order by explnum_mimetype, explnum_nom, explnum_id ";
     }
     $res = pmb_mysql_query($requete, $dbh);
     $nb_ex = pmb_mysql_num_rows($res);
     $docnum_visible = true;
     $id_for_right = $no_notice;
     if ($no_bulletin) {
         $query = "select num_notice,bulletin_notice from bulletins where bulletin_id = " . $no_bulletin;
         $result = pmb_mysql_query($query);
         if (pmb_mysql_num_rows($result)) {
             $infos = pmb_mysql_fetch_object($result);
             if ($infos->num_notice) {
                 $id_for_right = $infos->num_notice;
             } else {
                 $id_for_right = $infos->bulletin_notice;
             }
         }
     }
     if ($gestion_acces_active == 1 && $gestion_acces_empr_notice == 1) {
         $ac = new acces();
         $dom_2 = $ac->setDomain(2);
         $docnum_visible = $dom_2->getRights($_SESSION['id_empr_session'], $id_for_right, 16);
     } else {
         $requete = "SELECT explnum_visible_opac, explnum_visible_opac_abon FROM notices, notice_statut WHERE notice_id ='" . $id_for_right . "' and id_notice_statut=statut ";
         $myQuery = pmb_mysql_query($requete, $dbh);
         if (pmb_mysql_num_rows($myQuery)) {
             $statut_temp = pmb_mysql_fetch_object($myQuery);
             if (!$statut_temp->explnum_visible_opac) {
                 $docnum_visible = false;
             }
             if ($statut_temp->explnum_visible_opac_abon && !$_SESSION['id_empr_session']) {
                 $docnum_visible = false;
             }
         } else {
             $docnum_visible = false;
         }
     }
     //on peut appeller cette méthode sans avoir le droit de voir les documents...
     if (!$docnum_visible && $opac_show_links_invisible_docnums) {
         $auth_popup = new auth_popup();
     }
     if ($nb_ex) {
         // on récupère les données des exemplaires
         $i = 1;
         global $search_terms;
         while ($expl = pmb_mysql_fetch_object($res)) {
             if ($i == 1) {
                 $ligne = "<tr><td class='docnum' width='33%'>!!1!!</td><td class='docnum' width='33%'>!!2!!</td><td class='docnum' width='33%'>!!3!!</td></tr>";
             }
             if ($link_expl) {
                 $tlink = str_replace("!!explnum_id!!", $expl->explnum_id, $link_expl);
                 $tlink = str_replace("!!notice_id!!", $expl->explnum_notice, $tlink);
                 $tlink = str_replace("!!bulletin_id!!", $expl->explnum_bulletin, $tlink);
             }
             $alt = htmlentities($expl->explnum_nom . " - " . $expl->explnum_mimetype, ENT_QUOTES, $charset);
             if ($expl->explnum_vignette) {
                 $obj = "<img src='" . $opac_url_base . "vig_num.php?explnum_id={$expl->explnum_id}' alt='{$alt}' title='{$alt}' border='0'>";
             } else {
                 // trouver l'icone correspondant au mime_type
                 $obj = "<img src='" . $opac_url_base . "images/mimetype/" . icone_mimetype($expl->explnum_mimetype, $expl->explnum_extfichier) . "' alt='{$alt}' title='{$alt}' border='0'>";
             }
             $expl_liste_obj = "<center>";
             $words_to_find = "";
             if ($expl->explnum_mimetype == 'application/pdf' || $expl->explnum_mimetype == 'URL' && strpos($expl->explnum_nom, '.pdf') !== false) {
                 if (is_array($search_terms)) {
                     $words_to_find = "#search=\"" . trim(str_replace('*', '', implode(' ', $search_terms))) . "\"";
                 }
             }
             //si l'affichage du lien vers les documents numériques est forcé et qu'on est pas connecté, on propose l'invite de connexion!
             if (!$docnum_visible && !$_SESSION['user_code'] && $opac_show_links_invisible_docnums) {
                 if ($opac_visionneuse_allow) {
                     $allowed_mimetype = explode(",", str_replace("'", "", $opac_photo_filtre_mimetype));
                 }
                 if ($allowed_mimetype && in_array($expl->explnum_mimetype, $allowed_mimetype)) {
                     $link = "\r\n\t\t\t\t\t\t\t<script type='text/javascript'>\r\n\t\t\t\t\t\t\t\tif(typeof(sendToVisionneuse) == 'undefined'){\r\n\t\t\t\t\t\t\t\t\tvar sendToVisionneuse = function (explnum_id){\r\n\t\t\t\t\t\t\t\t\t\tdocument.getElementById('visionneuseIframe').src = 'visionneuse.php?'+(typeof(explnum_id) != 'undefined' ? 'explnum_id='+explnum_id+\"\" : '\\'');\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\tfunction sendToVisionneuse_" . $expl->explnum_id . "(){\r\n\t\t\t\t\t\t\t\t\topen_visionneuse(sendToVisionneuse," . $expl->explnum_id . ");\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t</script>\r\n\t\t\t\t\t\t\t<a href='#' onclick=\"auth_popup('./ajax.php?module=ajax&categ=auth&callback_func=sendToVisionneuse_" . $expl->explnum_id . "');\" alt='{$alt}' title='{$alt}'>" . $obj . "</a><br />";
                     $expl_liste_obj .= $link;
                 } else {
                     $link = "\r\n\t\t\t\t\t\t\t<a href='#' onclick=\"auth_popup('./ajax.php?module=ajax&categ=auth&new_tab=1&callback_url=" . rawurlencode($opac_url_base . "doc_num.php?explnum_id=" . $expl->explnum_id) . "')\" alt='{$alt}' title='{$alt}'>" . $obj . "</a><br />";
                     $expl_liste_obj .= $link;
                 }
             } else {
                 if ($opac_visionneuse_allow) {
                     $allowed_mimetype = explode(",", str_replace("'", "", $opac_photo_filtre_mimetype));
                 }
                 if ($allowed_mimetype && in_array($expl->explnum_mimetype, $allowed_mimetype)) {
                     $link = "\r\n\t\t\t\t\t\t\t<script type='text/javascript'>\r\n\t\t\t\t\t\t\t\tif(typeof(sendToVisionneuse) == 'undefined'){\r\n\t\t\t\t\t\t\t\t\tvar sendToVisionneuse = function (explnum_id){\r\n\t\t\t\t\t\t\t\t\t\tdocument.getElementById('visionneuseIframe').src = 'visionneuse.php?'+(typeof(explnum_id) != 'undefined' ? 'explnum_id='+explnum_id+\"\" : '\\'');\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t</script>\r\n\t\t\t\t\t\t\t<a href='#' onclick=\"open_visionneuse(sendToVisionneuse," . $expl->explnum_id . ");return false;\" alt='{$alt}' title='{$alt}'>" . $obj . "</a><br />";
                     $expl_liste_obj .= $link;
                     $suite_url_explnum = "doc_num.php?explnum_id={$expl->explnum_id}";
                     $expl_liste_obj .= "<a href='" . $opac_url_base . $suite_url_explnum . "' alt='{$alt}' title='{$alt}' target='_blank'>" . htmlentities($msg['download'], ENT_QUOTES, $charset) . "</a><br />";
                 } else {
                     $suite_url_explnum = "doc_num.php?explnum_id={$expl->explnum_id}";
                     $expl_liste_obj .= "<a href='" . $opac_url_base . $suite_url_explnum . "' alt='{$alt}' title='{$alt}' target='_blank'>" . $obj . "</a><br />";
                 }
             }
             if ($_mimetypes_byext_[$expl->explnum_extfichier]["label"]) {
                 $explmime_nom = $_mimetypes_byext_[$expl->explnum_extfichier]["label"];
             } elseif ($_mimetypes_bymimetype_[$expl->explnum_mimetype]["label"]) {
                 $explmime_nom = $_mimetypes_bymimetype_[$expl->explnum_mimetype]["label"];
             } else {
                 $explmime_nom = $expl->explnum_mimetype;
             }
             if ($tlink) {
                 $expl_liste_obj .= "<a href='{$tlink}'>";
                 $expl_liste_obj .= htmlentities($expl->explnum_nom, ENT_QUOTES, $charset) . "</a><div class='explnum_type'>" . htmlentities($explmime_nom, ENT_QUOTES, $charset) . "</div>";
             } else {
                 $expl_liste_obj .= htmlentities($expl->explnum_nom, ENT_QUOTES, $charset) . "<div class='explnum_type'>" . htmlentities($explmime_nom, ENT_QUOTES, $charset) . "</div>";
             }
             $expl_liste_obj .= "</center>";
             $ligne = str_replace("!!{$i}!!", $expl_liste_obj, $ligne);
             $i++;
             if ($i == 4) {
                 $ligne_finale .= $ligne;
                 $i = 1;
             }
         }
         if (!$ligne_finale) {
             $ligne_finale = $ligne;
         } elseif ($i != 1) {
             $ligne_finale .= $ligne;
         }
         $ligne_finale = str_replace('!!2!!', "&nbsp;", $ligne_finale);
         $ligne_finale = str_replace('!!3!!', "&nbsp;", $ligne_finale);
     } else {
         return "";
     }
     $entry .= "<table class='docnum'>{$ligne_finale}</table>";
     return $entry;
 }
Ejemplo n.º 12
0
    /**
     * Retourne les infos de documents numériques associés à la notice
     * @return array
     */
    public function get_explnums_datas()
    {
        if (!isset($this->explnums_datas)) {
            global $dbh;
            global $charset;
            global $opac_url_base;
            global $opac_visionneuse_allow;
            global $opac_photo_filtre_mimetype;
            global $opac_explnum_order;
            global $opac_show_links_invisible_docnums;
            global $gestion_acces_active, $gestion_acces_empr_notice, $gestion_acces_empr_docnum;
            $this->explnums_datas = array('nb_explnums' => 0, 'explnums' => array(), 'visionneuse_script' => '
								<script type="text/javascript">
									if(typeof(sendToVisionneuse) == "undefined"){
										var sendToVisionneuse = function (explnum_id){
											document.getElementById("visionneuseIframe").src = "visionneuse.php?"+(typeof(explnum_id) != "undefined" ? "explnum_id="+explnum_id : "");
										}
									}
								</script>');
            global $_mimetypes_bymimetype_, $_mimetypes_byext_;
            if (!count($_mimetypes_bymimetype_)) {
                create_tableau_mimetype();
            }
            $this->get_bul_info();
            // récupération du nombre d'exemplaires
            $query = "SELECT explnum_id, explnum_notice, explnum_bulletin, explnum_nom, explnum_mimetype, explnum_url, explnum_vignette, explnum_nomfichier, explnum_extfichier, explnum_docnum_statut FROM explnum WHERE ";
            if ($this->get_niveau_biblio() != 'b') {
                $query .= "explnum_notice='" . $this->id . "' ";
            } else {
                $query .= "explnum_bulletin='" . $this->parent['bulletin_id'] . "' or explnum_notice='" . $this->id . "' ";
            }
            $query .= "union SELECT explnum_id, explnum_notice, explnum_bulletin, explnum_nom, explnum_mimetype, explnum_url, explnum_vignette, explnum_nomfichier, explnum_extfichier, explnum_docnum_statut\n\t\t\tFROM explnum, bulletins\n\t\t\tWHERE bulletin_id = explnum_bulletin\n\t\t\tAND bulletins.num_notice='" . $this->id . "'";
            if ($opac_explnum_order) {
                $query .= " order by " . $opac_explnum_order;
            } else {
                $query .= " order by explnum_mimetype, explnum_nom, explnum_id ";
            }
            $res = pmb_mysql_query($query, $dbh);
            $nb_explnums = pmb_mysql_num_rows($res);
            $docnum_visible = true;
            if ($gestion_acces_active == 1 && $gestion_acces_empr_notice == 1) {
                $docnum_visible = $this->dom_2->getRights($_SESSION['id_empr_session'], $this->id, 16);
            } else {
                $query = "SELECT explnum_visible_opac, explnum_visible_opac_abon FROM notices, notice_statut WHERE notice_id ='" . $this->id . "' and id_notice_statut=statut ";
                $result = pmb_mysql_query($query, $dbh);
                if ($result && pmb_mysql_num_rows($result)) {
                    $statut_temp = pmb_mysql_fetch_object($result);
                    if (!$statut_temp->explnum_visible_opac) {
                        $docnum_visible = false;
                    }
                    if ($statut_temp->explnum_visible_opac_abon && !$_SESSION['id_empr_session']) {
                        $docnum_visible = false;
                    }
                } else {
                    $docnum_visible = false;
                }
            }
            if ($nb_explnums && ($docnum_visible || $opac_show_links_invisible_docnums)) {
                // on récupère les données des exemplaires
                global $search_terms;
                while ($expl = pmb_mysql_fetch_object($res)) {
                    // couleur de l'img en fonction du statut
                    if ($expl->explnum_docnum_statut) {
                        $rqt_st = "SELECT * FROM explnum_statut WHERE  id_explnum_statut='" . $expl->explnum_docnum_statut . "' ";
                        $Query_statut = pmb_mysql_query($rqt_st, $dbh) or die($rqt_st . " " . pmb_mysql_error());
                        $r_statut = pmb_mysql_fetch_object($Query_statut);
                        $explnum_class = 'docnum_' . $r_statut->class_html;
                        if ($expl->explnum_docnum_statut > 1) {
                            $explnum_opac_label = $r_statut->opac_libelle;
                        } else {
                            $explnum_opac_label = '';
                        }
                    } else {
                        $explnum_class = 'docnum_statutnot1';
                        $explnum_opac_label = '';
                    }
                    $explnum_docnum_visible = true;
                    $explnum_docnum_consult = true;
                    if ($gestion_acces_active == 1 && $gestion_acces_empr_docnum == 1) {
                        $explnum_docnum_visible = $this->dom_3->getRights($_SESSION['id_empr_session'], $expl->explnum_id, 16);
                        $explnum_docnum_consult = $this->dom_3->getRights($_SESSION['id_empr_session'], $expl->explnum_id, 4);
                    } else {
                        $requete = "SELECT explnum_visible_opac, explnum_visible_opac_abon, explnum_consult_opac, explnum_consult_opac_abon FROM explnum, explnum_statut WHERE explnum_id ='" . $expl->explnum_id . "' and id_explnum_statut=explnum_docnum_statut ";
                        $myQuery = pmb_mysql_query($requete, $dbh);
                        if (pmb_mysql_num_rows($myQuery)) {
                            $statut_temp = pmb_mysql_fetch_object($myQuery);
                            if (!$statut_temp->explnum_visible_opac) {
                                $explnum_docnum_visible = false;
                            }
                            if (!$statut_temp->explnum_consult_opac) {
                                $explnum_docnum_consult = false;
                            }
                            if ($statut_temp->explnum_visible_opac_abon && !$_SESSION['id_empr_session']) {
                                $explnum_docnum_visible = false;
                            }
                            if ($statut_temp->explnum_consult_opac_abon && !$_SESSION['id_empr_session']) {
                                $explnum_docnum_consult = false;
                            }
                        } else {
                            $explnum_docnum_visible = false;
                        }
                    }
                    if ($explnum_docnum_visible || $opac_show_links_invisible_docnums) {
                        $this->explnums_datas['nb_explnums']++;
                        $explnum_datas = array('id' => $expl->explnum_id, 'name' => $expl->explnum_nom, 'mimetype' => $expl->explnum_mimetype, 'url' => $expl->explnum_url, 'filename' => $expl->explnum_nomfichier, 'extension' => $expl->explnum_extfichier, 'statut' => $expl->explnum_docnum_statut, 'consultation' => $explnum_docnum_consult);
                        if ($expl->explnum_vignette) {
                            $explnum_datas['thumbnail_url'] = $opac_url_base . 'vig_num.php?explnum_id=' . $expl->explnum_id;
                        } else {
                            // trouver l'icone correspondant au mime_type
                            $explnum_datas['thumbnail_url'] = get_url_icon('mimetype/' . icone_mimetype($expl->explnum_mimetype, $expl->explnum_extfichier), 1);
                        }
                        $words_to_find = "";
                        if ($expl->explnum_mimetype == 'application/pdf' || $expl->explnum_mimetype == 'URL' && strpos($expl->explnum_nom, '.pdf') !== false) {
                            if (is_array($search_terms)) {
                                $words_to_find = "#search=\"" . trim(str_replace('*', '', implode(' ', $search_terms))) . "\"";
                            }
                        }
                        $explnum_datas['access_datas'] = array('script' => '', 'href' => '#', 'onclick' => '');
                        //si l'affichage du lien vers les documents numériques est forcé et qu'on est pas connecté, on propose l'invite de connexion!
                        if (!$explnum_docnum_visible && $opac_show_links_invisible_docnums && !$_SESSION['id_empr_session']) {
                            if ($opac_visionneuse_allow) {
                                $allowed_mimetype = explode(",", str_replace("'", "", $opac_photo_filtre_mimetype));
                            }
                            if ($allowed_mimetype && in_array($expl->explnum_mimetype, $allowed_mimetype)) {
                                $explnum_datas['access_datas']['script'] = "\n\t\t\t\t\t\t\t\t<script type='text/javascript'>\n\t\t\t\t\t\t\t\t\tfunction sendToVisionneuse_" . $expl->explnum_id . "(){\n\t\t\t\t\t\t\t\t\t\topen_visionneuse(sendToVisionneuse," . $expl->explnum_id . ");\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t</script>";
                                $explnum_datas['access_datas']['onclick'] = "auth_popup('./ajax.php?module=ajax&categ=auth&callback_func=sendToVisionneuse_" . $expl->explnum_id . "');";
                            } else {
                                $explnum_datas['access_datas']['onclick'] = "auth_popup('./ajax.php?module=ajax&categ=auth&new_tab=1&callback_url=" . rawurlencode($opac_url_base . "doc_num.php?explnum_id=" . $expl->explnum_id) . "')";
                            }
                        } else {
                            if ($opac_visionneuse_allow) {
                                $allowed_mimetype = explode(",", str_replace("'", "", $opac_photo_filtre_mimetype));
                            }
                            if ($allowed_mimetype && in_array($expl->explnum_mimetype, $allowed_mimetype)) {
                                $explnum_datas['access_datas']['onclick'] = "open_visionneuse(sendToVisionneuse," . $expl->explnum_id . ");return false;";
                            } else {
                                $explnum_datas['access_datas']['href'] = $opac_url_base . 'doc_num.php?explnum_id=' . $expl->explnum_id;
                            }
                        }
                        if ($_mimetypes_byext_[$expl->explnum_extfichier]["label"]) {
                            $explnum_datas['mimetype_label'] = $_mimetypes_byext_[$expl->explnum_extfichier]["label"];
                        } elseif ($_mimetypes_bymimetype_[$expl->explnum_mimetype]["label"]) {
                            $explnum_datas['mimetype_label'] = $_mimetypes_bymimetype_[$expl->explnum_mimetype]["label"];
                        } else {
                            $explnum_datas['mimetype_label'] = $expl->explnum_mimetype;
                        }
                        $this->explnums_datas['explnums'][] = $explnum_datas;
                    }
                }
            }
        }
        return $this->explnums_datas;
    }
Ejemplo n.º 13
0
/**
 * Fonction retournant les infos d'exemplaires numériques pour une notice ou un bulletin donné
 * @param int $explnum_id Identifiant du document numérique
 * @return string
 */
function show_explnum_per_id($explnum_id, $link_explnum = "")
{
    global $dbh;
    global $charset;
    global $opac_url_base;
    global $opac_visionneuse_allow;
    global $opac_photo_filtre_mimetype;
    global $opac_explnum_order;
    global $opac_show_links_invisible_docnums;
    global $gestion_acces_active, $gestion_acces_empr_notice;
    global $search_terms;
    if (!$explnum_id) {
        return "";
    }
    global $_mimetypes_bymimetype_, $_mimetypes_byext_;
    create_tableau_mimetype();
    // récupération des infos du document
    $query = "select explnum_id, explnum_notice, explnum_bulletin, explnum_nom, explnum_mimetype, explnum_url, explnum_vignette, explnum_nomfichier, explnum_extfichier FROM explnum WHERE explnum_id = " . $explnum_id;
    $result = mysql_query($query, $dbh);
    if ($result && mysql_num_rows($result)) {
        if ($explnum = mysql_fetch_object($result)) {
            $docnum_visible = true;
            $id_for_right = $explnum->explnum_notice;
            if ($gestion_acces_active == 1 && $gestion_acces_empr_notice == 1) {
                $ac = new acces();
                $dom_2 = $ac->setDomain(2);
                $docnum_visible = $dom_2->getRights($_SESSION['id_empr_session'], $id_for_right, 16);
            } else {
                $requete = "SELECT explnum_visible_opac, explnum_visible_opac_abon FROM notices, notice_statut WHERE notice_id ='" . $id_for_right . "' and id_notice_statut=statut ";
                $myQuery = mysql_query($requete, $dbh);
                if (mysql_num_rows($myQuery)) {
                    $statut_temp = mysql_fetch_object($myQuery);
                    if (!$statut_temp->explnum_visible_opac) {
                        $docnum_visible = false;
                    }
                    if ($statut_temp->explnum_visible_opac_abon && !$_SESSION['id_empr_session']) {
                        $docnum_visible = false;
                    }
                } else {
                    $docnum_visible = false;
                }
            }
            //on peut appeller cette méthode sans avoir le droit de voir les documents...
            if (!$docnum_visible && $opac_show_links_invisible_docnums) {
                $auth_popup = new auth_popup();
            }
            if ($link_explnum) {
                $tlink = str_replace("!!explnum_id!!", $explnum->explnum_id, $link_explnum);
                $tlink = str_replace("!!notice_id!!", $explnum->explnum_notice, $tlink);
                $tlink = str_replace("!!bulletin_id!!", $explnum->explnum_bulletin, $tlink);
            }
            $alt = htmlentities($explnum->explnum_nom . " - " . $explnum->explnum_mimetype, ENT_QUOTES, $charset);
            if ($explnum->explnum_vignette) {
                $obj = "<img src='" . $opac_url_base . "vig_num.php?explnum_id={$explnum->explnum_id}' alt='{$alt}' title='{$alt}' border='0'>";
            } else {
                // trouver l'icone correspondant au mime_type
                $obj = "<img src='" . $opac_url_base . "images/mimetype/" . icone_mimetype($explnum->explnum_mimetype, $explnum->explnum_extfichier) . "' alt='{$alt}' title='{$alt}' border='0'>";
            }
            $explnum_liste_obj = "<center>";
            $words_to_find = "";
            if ($explnum->explnum_mimetype == 'application/pdf' || $explnum->explnum_mimetype == 'URL' && strpos($explnum->explnum_nom, '.pdf') !== false) {
                if (is_array($search_terms)) {
                    $words_to_find = "#search=\"" . trim(str_replace('*', '', implode(' ', $search_terms))) . "\"";
                }
            }
            //si l'affichage du lien vers les documents numériques est forcé et qu'on est pas connecté, on propose l'invite de connexion!
            if (!$docnum_visible && !$_SESSION['user_code'] && $opac_show_links_invisible_docnums) {
                if ($opac_visionneuse_allow) {
                    $allowed_mimetype = explode(",", str_replace("'", "", $opac_photo_filtre_mimetype));
                }
                if ($allowed_mimetype && in_array($explnum->explnum_mimetype, $allowed_mimetype)) {
                    $link = "\n\t\t\t\t\t\t<script type='text/javascript'>\n\t\t\t\t\t\t\tif(typeof(sendToVisionneuse) == 'undefined'){\n\t\t\t\t\t\t\t\tvar sendToVisionneuse = function (explnum_id){\n\t\t\t\t\t\t\t\t\tdocument.getElementById('visionneuseIframe').src = 'visionneuse.php?'+(typeof(explnum_id) != 'undefined' ? 'explnum_id='+explnum_id+\"\" : '\\'');\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tfunction sendToVisionneuse_" . $explnum->explnum_id . "(){\n\t\t\t\t\t\t\t\topen_visionneuse(sendToVisionneuse," . $explnum->explnum_id . ");\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t</script>\n\t\t\t\t\t\t<a href='#' onclick=\"auth_popup('./ajax.php?module=ajax&categ=auth&callback_func=sendToVisionneuse_" . $explnum->explnum_id . "');\" alt='{$alt}' title='{$alt}'>" . $obj . "</a><br />";
                    $explnum_liste_obj .= $link;
                } else {
                    $link = "\n\t\t\t\t\t\t<a href='#' onclick=\"auth_popup('./ajax.php?module=ajax&categ=auth&new_tab=1&callback_url=" . rawurlencode($opac_url_base . "doc_num.php?explnum_id=" . $explnum->explnum_id) . "')\" alt='{$alt}' title='{$alt}'>" . $obj . "</a><br />";
                    $explnum_liste_obj .= $link;
                }
            } else {
                if ($opac_visionneuse_allow) {
                    $allowed_mimetype = explode(",", str_replace("'", "", $opac_photo_filtre_mimetype));
                }
                if ($allowed_mimetype && in_array($explnum->explnum_mimetype, $allowed_mimetype)) {
                    $link = "\n\t\t\t\t\t\t<script type='text/javascript'>\n\t\t\t\t\t\t\tif(typeof(sendToVisionneuse) == 'undefined'){\n\t\t\t\t\t\t\t\tvar sendToVisionneuse = function (explnum_id){\n\t\t\t\t\t\t\t\t\tdocument.getElementById('visionneuseIframe').src = 'visionneuse.php?'+(typeof(explnum_id) != 'undefined' ? 'explnum_id='+explnum_id+\"\" : '\\'');\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t</script>\n\t\t\t\t\t\t<a href='#' onclick=\"open_visionneuse(sendToVisionneuse," . $explnum->explnum_id . ");return false;\" alt='{$alt}' title='{$alt}'>" . $obj . "</a><br />";
                    $explnum_liste_obj .= $link;
                } else {
                    $suite_url_explnum = "doc_num.php?explnum_id={$explnum->explnum_id}";
                    $explnum_liste_obj .= "<a href='" . $opac_url_base . $suite_url_explnum . "' alt='{$alt}' title='{$alt}' target='_blank'>" . $obj . "</a><br />";
                }
            }
            if ($_mimetypes_byext_[$explnum->explnum_extfichier]["label"]) {
                $explnummime_nom = $_mimetypes_byext_[$explnum->explnum_extfichier]["label"];
            } elseif ($_mimetypes_bymimetype_[$explnum->explnum_mimetype]["label"]) {
                $explnummime_nom = $_mimetypes_bymimetype_[$explnum->explnum_mimetype]["label"];
            } else {
                $explnummime_nom = $explnum->explnum_mimetype;
            }
            if ($tlink) {
                $explnum_liste_obj .= "<a href='{$tlink}'>";
                $explnum_liste_obj .= htmlentities($explnum->explnum_nom, ENT_QUOTES, $charset) . "</a><div class='explnum_type'>" . htmlentities($explnummime_nom, ENT_QUOTES, $charset) . "</div>";
            } else {
                $explnum_liste_obj .= htmlentities($explnum->explnum_nom, ENT_QUOTES, $charset) . "<div class='explnum_type'>" . htmlentities($explnummime_nom, ENT_QUOTES, $charset) . "</div>";
            }
            $explnum_liste_obj .= "</center>";
        } else {
            return "";
        }
    } else {
        return "";
    }
    return $explnum_liste_obj;
}