Пример #1
0
function show_results($dbh, $user_input, $nbr_lignes = 0, $page = 0, $id = 0)
{
    global $nb_per_page;
    global $base_url;
    global $caller;
    global $msg;
    global $no_display;
    global $charset;
    global $niveau_biblio, $modele_id, $serial_id;
    global $acces_j;
    if ($niveau_biblio) {
        $filtre_notice = " and niveau_biblio='{$niveau_biblio}' ";
    }
    // on récupére le nombre de lignes qui vont bien
    if ($user_input == "") {
        $requete_count = "SELECT COUNT(1) FROM notices ";
        $requete_count .= $acces_j;
        $requete_count .= "where notice_id!='" . $no_display . "' {$filtre_notice} ";
    } else {
        $aq = new analyse_query(stripslashes($user_input));
        if ($aq->error) {
            error_message($msg["searcher_syntax_error"], sprintf($msg["searcher_syntax_error_desc"], $aq->current_car, $aq->input_html, $aq->error_message));
            exit;
        }
        $members = $aq->get_query_members("notices", "index_wew", "index_sew", "notice_id");
        $isbn_verif = traite_code_isbn(stripslashes($user_input));
        $suite_rqt = "";
        if (isISBN($isbn_verif)) {
            if (strlen($isbn_verif) == 13) {
                $suite_rqt = "  code like '" . formatISBN($isbn_verif, 13) . "' or code like '" . addslashes($isbn_verif) . "' ";
            } else {
                $suite_rqt = " code like '" . formatISBN($isbn_verif, 10) . "' or code like '" . addslashes($isbn_verif) . "' ";
            }
            $requete_count = "select count(1) from notices ";
            $requete_count .= $acces_j;
            $requete_count .= "where ( " . $suite_rqt . " ) ";
            $requete_count .= "and notice_id!='" . $no_display . "' {$filtre_notice}";
        } else {
            $requete_count = "select count(1) from notices ";
            $requete_count .= $acces_j;
            $requete_count .= "where (" . $members["where"] . " or code like '" . addslashes($isbn_verif) . "' ) ";
            $requete_count .= "and notice_id!='" . $no_display . "' {$filtre_notice}";
        }
    }
    $res = mysql_query($requete_count, $dbh);
    $nbr_lignes = @mysql_result($res, 0, 0);
    if (!$page) {
        $page = 1;
    }
    $debut = ($page - 1) * $nb_per_page;
    if ($nbr_lignes) {
        // on lance la vraie requête
        if ($user_input == "") {
            $requete = "SELECT notice_id, tit1, serie_name, tnvol, code FROM notices ";
            $requete .= $acces_j;
            $requete .= "left join series on serie_id=tparent_id ";
            $requete .= "where notice_id!='" . $no_display . "' {$filtre_notice} ORDER BY index_sew, code LIMIT {$debut},{$nb_per_page} ";
        } else {
            $isbn_verif = traite_code_isbn(stripslashes($user_input));
            $suite_rqt = "";
            if (isISBN($isbn_verif)) {
                if (strlen($isbn_verif) == 13) {
                    $suite_rqt = "  code like '" . formatISBN($isbn_verif, 13) . "' or code like '" . addslashes($isbn_verif) . "' ";
                } else {
                    $suite_rqt = " code like '" . formatISBN($isbn_verif, 10) . "' or code like '" . addslashes($isbn_verif) . "' ";
                }
                $requete = "select notice_id, tit1, serie_name, tnvol, code from notices ";
                $requete .= $acces_j;
                $requete .= "left join series on serie_id=tparent_id ";
                $requete .= "where (  " . $suite_rqt . " ) ";
                $requete .= "and notice_id!='" . $no_display . "' {$filtre_notice} group by notice_id limit {$debut},{$nb_per_page}";
            } else {
                $requete = "select notice_id, tit1, serie_name, tnvol, code, " . $members["select"] . " as pert from notices ";
                $requete .= $acces_j;
                $requete .= "left join series on serie_id=tparent_id where (" . $members["where"] . " or (code like '" . addslashes($isbn_verif) . "' )) ";
                $requete .= "and notice_id!='" . $no_display . "' {$filtre_notice} group by notice_id order by pert desc, index_sew, code limit {$debut},{$nb_per_page}";
            }
        }
        $res = @mysql_query($requete, $dbh);
        while ($notice = mysql_fetch_object($res)) {
            $notice_entry = "";
            if ($notice->serie_name) {
                $notice_entry .= $notice->serie_name;
                if ($notice->tnvol) {
                    $notice_entry .= ", " . $notice->tnvol;
                }
            }
            $notice_entry ? $notice_entry .= '. ' . $notice->tit1 : ($notice_entry = $notice->tit1);
            if ($niveau_biblio) {
                $location = "./catalog.php?categ=serials&sub=modele&act=copy&modele_id={$modele_id}&serial_id={$serial_id}&new_serial_id={$notice->notice_id}";
                $display = new mono_display($notice->notice_id, 0, '', 0, '', '', '', 0, 0, 0, 0, "", 0, false, true);
                print pmb_bidi("<div class='row'>\n\t\t\t\t\t\t\t\t<div class='left'>\n\t\t\t\t\t\t\t\t\t<a href='#' onclick=\"copier_modele('{$location}')\">" . $display->result . "</a>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t<div class='right'>\n\t\t\t\t\t\t\t\t\t" . htmlentities($notice->code, ENT_QUOTES, $charset) . "\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</div>");
            } else {
                $display = new mono_display($notice->notice_id, 0, '', 0, '', '', '', 0, 0, 0, 0, "", 0, false, true);
                print pmb_bidi("<div class='row'>\n\t\t\t\t\t\t\t\t<div class='left'>\n\t\t\t\t\t\t\t\t\t<a href='#' onclick=\"set_parent('{$caller}', '{$notice->notice_id}', '" . htmlentities(addslashes($notice_entry), ENT_QUOTES, $charset) . " ({$notice->code})')\">" . $display->result . "</a>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t<div class='right'>\n\t\t\t\t\t\t\t\t\t" . htmlentities($notice->code, ENT_QUOTES, $charset) . "\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</div>");
            }
        }
        mysql_free_result($res);
        // constitution des liens
        $nbepages = ceil($nbr_lignes / $nb_per_page);
        $suivante = $page + 1;
        $precedente = $page - 1;
    }
    print "<div class='row'>&nbsp;<hr /></div><div align='center'>";
    $url_base = $base_url . "&user_input=" . rawurlencode(stripslashes($user_input));
    $nav_bar = aff_pagination($url_base, $nbr_lignes, $nb_per_page, $page, 10, false, true);
    print $nav_bar;
    print "</div>";
}
Пример #2
0
             } else {
                 $erreur_affichage = "<table border='0' cellpadding='1' height='40'><tr><td width='30'><span><img src='./images/info.png' /></span></td>\n\t\t\t\t\t\t\t<td width='100%'><span class='erreur'>{$msg[prets_prolong]}</span></td></tr></table>";
             }
             $ficEmpr = new emprunteur($id_empr, $erreur_affichage, FALSE, 1);
             $affichage = $ficEmpr->fiche;
             print pmb_bidi($affichage);
         } else {
             // prolongation d'un prêt. exemplaire ou emprunteur inconnu
             error_message($msg[391], $msg[392], 1, './circ.php');
         }
     } else {
         include "./circ/pret.inc.php";
     }
     break;
 case 'pret_express':
     $pe_isbn = traite_code_isbn(stripslashes($pe_isbn));
     $suite_rqt = "";
     $requete_idexpl = "select expl_id from exemplaires where expl_cb='" . addslashes($pe_excb) . "'";
     $result = pmb_mysql_query($requete_idexpl, $dbh);
     if (pmb_mysql_num_rows($result) == 0) {
         if (isISBN($pe_isbn)) {
             if (strlen($pe_isbn) == 13) {
                 $suite_rqt = " or code='" . formatISBN($pe_isbn, 13) . "' ";
             } else {
                 $suite_rqt = "or code='" . formatISBN($pe_isbn, 10) . "' ";
             }
         }
         $acreer = 1;
         if ($pe_isbn) {
             $requete = "select notice_id from notices where code='" . addslashes($pe_isbn) . "' " . $suite_rqt . " and niveau_biblio='m' and niveau_hierar='0' ";
             $result = pmb_mysql_query($requete, $dbh);
Пример #3
0
 $rqt_bib_id = mysql_query("select format from z_bib where bib_id='{$znotices_bib_id}'");
 while ($ligne_format = mysql_fetch_array($rqt_bib_id)) {
     $format = $ligne_format["format"];
 }
 $resultat_titre = $ligne["titre"];
 $resultat_auteur = $ligne["auteur"];
 $resultat_isbd = $ligne["isbd"];
 $test_resultat++;
 $lien = $resultat_titre . " / " . $resultat_auteur;
 print pmb_bidi(zshow_isbd($resultat_isbd, $lien));
 if ($action != "integrerexpl") {
     if ($source == 'form') {
         $notice = new z3950_notice('form');
     } else {
         // avant affichage du formulaire : détecter si notice déjà présente pour proposer MAJ
         $isbn_verif = traite_code_isbn($ligne['isbn']);
         $suite_rqt = "";
         if (isISBN($isbn_verif)) {
             if (strlen($isbn_verif) == 13) {
                 $suite_rqt = " or code='" . formatISBN($isbn_verif, 13) . "' ";
             } else {
                 $suite_rqt = "or code='" . formatISBN($isbn_verif, 10) . "' ";
             }
         }
         if ($isbn_verif) {
             $requete = "SELECT notice_id FROM notices WHERE code='{$isbn_verif}' " . $suite_rqt;
             $myQuery = mysql_query($requete, $dbh);
             $temp_nb_notice = mysql_num_rows($myQuery);
             if ($temp_nb_notice) {
                 $not_id = mysql_result($myQuery, 0, 0);
             } else {
Пример #4
0
     $requete = "select if(sub_coll_issn is not null and sub_coll_issn!='',concat(sub_coll_name,', ',sub_coll_issn),sub_coll_name) as subcoll,sub_coll_id from sub_collections where if(sub_coll_issn is not null and sub_coll_issn!='',concat(sub_coll_name,', ',sub_coll_issn),sub_coll_name) like '" . addslashes($start) . "%' {$restrict} order by 1 limit 20";
     $origine = "SQL";
     break;
 case 'indexint':
     if ($autexclude) {
         $restrict = " AND indexint_id not in ({$autexclude}) ";
     }
     $requete = "select if(indexint_comment is not null and indexint_comment!='',concat(indexint_name,' : ',indexint_comment),indexint_name) as indexint,indexint_id, concat( indexint_name,' ',indexint_comment) as indexsimple from indexint where if(indexint_comment is not null and indexint_comment!='',concat(indexint_name,' - ',indexint_comment),indexint_name) like '" . addslashes($start) . "%' {$restrict} order by 1 limit 20";
     $origine = "SQL";
     break;
 case 'notice':
     require_once './includes/isbn.inc.php';
     if ($autexclude) {
         $restrict = " AND notice_id not in ({$autexclude}) ";
     }
     $requete = "select if(serie_name is not null,if(tnvol is not null,concat(serie_name,', ',tnvol,'. ',tit1),concat(serie_name,'. ',tit1)),tit1), notice_id from notices left join series on serie_id=tparent_id where (index_sew like ' " . addslashes(strip_empty_words($start)) . "%' or TRIM(index_wew) like '" . addslashes($start) . "%' or tit1 like '" . addslashes($start) . "%' or code like '" . traite_code_isbn(addslashes($start)) . "') {$restrict} order by index_serie, tnvol, index_sew , code limit 20 ";
     $origine = "SQL";
     break;
 case 'serie':
     if ($autexclude) {
         $restrict = " AND serie_id not in ({$autexclude}) ";
     }
     $requete = "select serie_name,serie_id from series where serie_name like '" . addslashes($start) . "%' {$restrict} order by 1 limit 20";
     $origine = "SQL";
     break;
 case 'fonction':
     // récupération des codes de fonction
     if (!count($s_func)) {
         $s_func = new marc_list('function');
     }
     $origine = "TABLEAU";
Пример #5
0
 static function get_notice_id_from_cb($code)
 {
     if (!$code) {
         return 0;
     }
     $isbn = traite_code_isbn($code);
     if (isISBN10($isbn)) {
         $isbn13 = formatISBN($isbn, 13);
         $isbn10 = $isbn;
     } elseif (isISBN13($isbn)) {
         $isbn10 = formatISBN($isbn, 10);
         $isbn13 = $isbn;
     } else {
         // ce n'est pas un code au format isbn
         $isbn10 = $code;
     }
     $requete = "SELECT notice_id FROM notices WHERE ( code='{$isbn10}' or code='{$isbn13}') and code !='' LIMIT 1 ";
     if ($result = pmb_mysql_query($requete)) {
         if (pmb_mysql_num_rows($result)) {
             $notice = pmb_mysql_fetch_object($result);
             return $notice->notice_id;
         }
     }
     return 0;
 }
Пример #6
0
     } else {
         $requete = "select if(indexint_comment is not null and indexint_comment!='',concat(indexint_name,' - ',indexint_comment),indexint_name) as indexint,indexint_id, concat( indexint_name,' ',indexint_comment) as indexsimple from indexint \n\t\t\twhere if(indexint_comment is not null and indexint_comment!='',concat(indexint_name,' - ',indexint_comment),indexint_name) like '" . addslashes($start) . "%' {$restrict} and num_pclass = '{$thesaurus_classement_defaut}' order by 1 limit 20";
     }
     $origine = "SQL";
     break;
 case 'notice':
     require_once './includes/isbn.inc.php';
     if ($autexclude) {
         $restrict = " AND notice_id not in ({$autexclude}) ";
     }
     $requete = "select if(serie_name is not null,if(tnvol is not null,concat(serie_name,', ',tnvol,'. ',tit1),concat(serie_name,'. ',tit1)),tit1), notice_id from notices left join series on serie_id=tparent_id where (index_sew like ' " . addslashes(strip_empty_words($start)) . "%' or TRIM(index_wew) like '" . addslashes($start) . "%' or tit1 like '" . addslashes($start) . "%' or (code like '" . traite_code_isbn(addslashes($start)) . "'";
     if (isISBN(traite_code_isbn($start))) {
         if (strlen(traite_code_isbn($start)) == 13) {
             $requete .= " or code like '" . formatISBN(traite_code_isbn($start), 13) . "'";
         } else {
             $requete .= " or code like '" . formatISBN(traite_code_isbn($start), 10) . "'";
         }
     }
     $requete .= ")) {$restrict} order by index_serie, tnvol, index_sew , code limit 20 ";
     $origine = "SQL";
     break;
 case 'serie':
     if ($autexclude) {
         $restrict = " AND serie_id not in ({$autexclude}) ";
     }
     $requete = "select serie_name,serie_id from series where serie_name like '" . addslashes($start) . "%' {$restrict} order by 1 limit 20";
     $origine = "SQL";
     break;
 case 'fonction':
     // récupération des codes de fonction
     if (!count($s_func)) {
Пример #7
0
 function make_first_search()
 {
     global $msg, $dbh;
     global $elt_query;
     global $notice_statut_query, $doctype_query;
     global $nb_per_page, $nb_per_page_select;
     global $results_show_all;
     if (!$nb_per_page) {
         $nb_per_page = $nb_per_page_select;
     }
     $restrict = "niveau_biblio='m' ";
     if ($notice_statut_query != '-1') {
         $restrict .= "and statut='" . $notice_statut_query . "' ";
     }
     if ($doctype_query != '-1') {
         $restrict .= "and typdoc='" . $doctype_query . "' ";
     }
     $suite_rqt = "or code='" . $elt_query . "' ";
     $isbn_verif = traite_code_isbn(stripslashes($elt_query));
     if (isISBN($isbn_verif)) {
         $suite_rqt .= "or code='" . formatISBN($isbn_verif, 13) . "' ";
         $suite_rqt .= "or code='" . formatISBN($isbn_verif, 10) . "' ";
         $q_count = "select count(*) from notices where " . $restrict . " and (0 " . $suite_rqt . ")";
         $r_count = pmb_mysql_query($q_count, $dbh);
         $n_count = pmb_mysql_result($r_count, 0, 0);
         $this->nbresults = $n_count;
         $q_list = "select notice_id from notices where " . $restrict . " and (0 " . $suite_rqt . ")";
         if (!$results_show_all) {
             $q_list .= " limit " . $this->page * $nb_per_page . ", " . $nb_per_page . " ";
         }
         $r_list = pmb_mysql_query($q_list, $dbh);
         $this->t_query = $r_list;
         if (!$results_show_all) {
             $this->nbepage = ceil($this->nbresults / $nb_per_page);
         } else {
             $this->nbepage = 1;
         }
     } else {
         $aq = new analyse_query(stripslashes($elt_query));
         if ($aq->error) {
             $this->show_form();
             error_message($msg["searcher_syntax_error"], sprintf($msg["searcher_syntax_error_desc"], $aq->current_car, $aq->input_html, $aq->error_message));
             return;
         } else {
             $q_members = $aq->get_query_members("notices", "index_wew", "index_sew", "notice_id");
             $q_count = "select count(*) from notices where " . $restrict . " and (" . $q_members["where"] . " " . $suite_rqt . ")";
             $r_count = pmb_mysql_query($q_count, $dbh);
             $n_count = pmb_mysql_result($r_count, 0, 0);
             $this->nbresults = $n_count;
             $q_list = "select notice_id, " . $q_members['select'] . " as pert from notices where " . $restrict . " and (" . $q_members["where"] . " " . $suite_rqt . ") " . $q_members['post'];
             if (!$results_show_all) {
                 $q_list .= " limit " . $this->page * $nb_per_page . ", " . $nb_per_page . " ";
             }
             $r_list = pmb_mysql_query($q_list, $dbh);
             $this->t_query = $r_list;
             if (!$results_show_all) {
                 $this->nbepage = ceil($this->nbresults / $nb_per_page);
             } else {
                 $this->nbepage = 1;
             }
         }
     }
     return ELT_LIST;
 }