Changeset 31643 in spip-zone


Ignore:
Timestamp:
Sep 18, 2009, 1:05:57 PM (10 years ago)
Author:
apachot@…
Message:

-afficher avec les boucles spip la disponibilité des exemplaires

  • début de navigation dans le catalogue
  • réservation d'un ouvrage
Location:
_plugins_/spip-pmb/2_0_0
Files:
1 added
4 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/spip-pmb/2_0_0/inc-menuprincipal.html

    r27709 r31643  
    55        <li><a href="#URL_PAGE{actualites}"><:derniers_articles:></a></li>
    66        <li><a href="#URL_PAGE{nouveautes}"><:nouveautes:></a></li>
     7        <li><a href="#URL_PAGE{catalogue}"><:catalogue:></a></li>
    78        <BOUCLE_rubriques(RUBRIQUES) {titre_mot=menu_haut} {par num titre, titre}>
    89                <li>
  • _plugins_/spip-pmb/2_0_0/lang/pmb_fr.php

    r27709 r31643  
    4444'message_recherche_avancee' => 'Prochainement, vous disposerez d\'une int\351gration compl\350te\nde la recherche avanc\351e sur ce site. \n\nEn attendant, vous allez \352tre redirig\351s vers l\'interface standard.',
    4545'comment_ca_fonctionne' => 'Comment &ccedil;a fonctionne ?',
    46 'en_savoir_plus' => 'en&nbsp;savoir&nbsp;+'
     46'en_savoir_plus' => 'en&nbsp;savoir&nbsp;+',
     47'catalogue' => 'Catalogue',
     48'reservation_ok' => 'Votre r&eacute;servation &agrave; &eacute;t&eacute; prise en compte.',
     49'reservation_ko' => 'Votre r&eacute;servation &agrave; n\'a pas pu &ecirc;tre prise en compte.'
     50
    4751);
    4852?>
  • _plugins_/spip-pmb/2_0_0/notice_display.html

    r27709 r31643  
    9090        <br class="nettoyeur" />
    9191
    92         [<div class="pmb-exemplaires">
     92       
     93
     94        [(#SET{tab_exemplaires, [(#GET{notice}|pmb_notice_champ{'tab_exemplaires'})]})]
     95        <B_tab_exemplaires>
     96        <div class="pmb-exemplaires">
    9397                <h2><:pmb:exemplaires:></h2>
     98                <table cellpadding='2' class='exemplaires' width='100%'>
     99                    <tr><th class='expl_header_expl_cb'>Code barre</th><th class='expl_header_expl_cote'>Cote</th><th class='expl_header_tdoc_libelle'>Support</th><th class='expl_header_location_libelle'>Localisation</th><th class='expl_header_section_libelle'>Section</th><th>Disponibilité</th></tr>
    94100
    95                 (#GET{notice}|pmb_notice_champ{'exemplaires'})
    96         </div>]
     101                    <BOUCLE_tab_exemplaires(POUR){tableau #GET{tab_exemplaires}}>
     102                          <tr>
     103                                    <td class='expl_cb'>[(#GET{tab_exemplaires}|pmb_tableau2_valeur{#CLE, expl_cb})]</td>
     104                                    <td class='expl_cote'>[(#GET{tab_exemplaires}|pmb_tableau2_valeur{#CLE, expl_cote})]</td>
     105                                    <td class='tdoc_libelle'>[(#GET{tab_exemplaires}|pmb_tableau2_valeur{#CLE, tdoc_libelle})]</td>
     106                                    <td class='location_libelle'>[(#GET{tab_exemplaires}|pmb_tableau2_valeur{#CLE, location_libelle})]</td>
     107                                    <td class='section_libelle'>[(#GET{tab_exemplaires}|pmb_tableau2_valeur{#CLE, section_libelle})]</td>
     108                                    <td class='expl_situation'><strong>[(#GET{tab_exemplaires}|pmb_tableau2_valeur{#CLE, expl_situation})]</strong></td>
     109                          </tr>
    97110
     111                    </BOUCLE_tab_exemplaires>
     112                </table>
     113        </div>
     114        </B_tab_exemplaires>
     115        <//B_tab_exemplaires>
     116       
    98117        [<div class="pmb-autreslecteurs">
    99118                <h2><:pmb:autres_lecteurs:></h2>
     
    103122
    104123       
    105         <div class="pmb-toolbox">
     124        <div class="pmb-toolbox" id="compte-lecteur">
    106125                <h2><:pmb:compte_lecteur:></h2>
     126                [(#SESSION{pmb_session}|oui)
     127
     128                    [(#ENV{reserver}|=={1}|oui)
     129                                  <strong>
     130
     131
     132                                [(#SESSION{pmb_session}|pmb_reserver_ouvrage{[(#GET{notice}|pmb_notice_champ{'id'})],'','',''}|?{<:pmb:reservation_ok:>,                <:pmb:reservation_ko:>})]
     133                                  </strong>
     134                    ]
    107135                <ul>
    108                         <li><a href="#CONFIG{spip_pmb/url}do_resa.php?lvl=resa&id_notice=#ENV{id}&$id_empr=&oresa=popup" class="lien-modal"><:pmb:reserver_ouvrage:></a></li>
     136                        <li><a href="[(#SELF|parametre_url{reserver,1})]#compte-lecteur"><:pmb:reserver_ouvrage:></a></li>
    109137                        <li><a href="#CONFIG{spip_pmb/url}addtags.php?noticeid=#ENV{id}" class="lien-modal"><:pmb:ajouter_tag:></a></li>
    110138                        <li><a href="#CONFIG{spip_pmb/url}avis.php?todo=liste&noticeid=#ENV{id}" class="lien-modal"><:pmb:donner_avis:></a></li>
    111139                </ul>
     140                ]
     141                [(#SESSION{pmb_session}|non)
     142                        <i>Identifiez-vous pour r&eacute;server cet ouvrage ou donner votre avis.</i>
     143                ]
    112144        </div> 
    113145
  • _plugins_/spip-pmb/2_0_0/pmb_mes_fonctions.php

    r31626 r31643  
    5454}
    5555
    56 function pmb_section_extraire($id_section, $id, $url_base, $pmb_page=1, $mode='auto') {
    57         $tableau_resultat = Array();
    58        
    59         if ($htmldom = pmb_charger_page($url_base, "index.php?lvl=section_see&page=".$pmb_page."&location=".$id_section."&id=".$id,$mode)) {
    60                         $tableau_resultat[0] = Array();
    61                         $tableau_resultat[0]['nav_bar'] = $htmldom->find('.navbar',0)->outertext;
    62                         $tableau_resultat[0]['nav_bar'] = pmb_transformer_nav_bar($tableau_resultat[0]['nav_bar']);
    63 
    64                         $tableau_resultat[0]['titre_section'] = $htmldom->find('#aut_details h3',0)->innertext;
    65                        
    66                         $resultats_recherche = $htmldom->find('#aut_details_container table td');
    67                         $i = 1;
    68                         foreach($resultats_recherche as $res) {
    69                                 $tableau_resultat[$i] = $res->find('a', 1)->outertext;
    70                                 $i++;
    71                         }       
    72         }
    73         return $tableau_resultat;
    74 
     56function pmb_section_extraire($id_section, $url_base) {
     57        $tableau_sections = Array();
     58        pmb_ws_charger_wsdl($ws, $url_base);
     59        //$tab_sections = $ws->pmbesOPACGeneric_list_sections(13);
     60        return $tab_sections;
    7561}
    7662
     
    232218       
    233219       
    234         pmb_ws_charger_wsdl($ws);
     220        pmb_ws_charger_wsdl($ws, $url_base);
    235221        try {   
    236222                        $tableau_resultat[0] = Array();
     
    363349       global $dernierTypeTrouve;
    364350    global $gtresultat;
     351    global $indice_exemplaire;
    365352
    366353        // Selon les cas, nous affichons le texte
     
    407394                if (($dernierTypeTrouve == "700") && ($dernierSousTypeTrouve == "b")) $gtresultat['lesauteurs'] .= " ".$texte;
    408395               
    409                 //section996
     396                //section996 mode html
    410397                if (($dernierTypeTrouve == "996") && ($dernierSousTypeTrouve == "f")) $gtresultat['exemplaires'] .= "<tr><td class='expl_cb'>".$texte."</td>";
    411398                if (($dernierTypeTrouve == "996") && ($dernierSousTypeTrouve == "k")) $gtresultat['exemplaires'] .= "<td class='expl_cote'>".$texte."</td>";
     
    415402                if (($dernierTypeTrouve == "996") && ($dernierSousTypeTrouve == "1")) $gtresultat['exemplaires'] .= "<td class='expl_situation'><strong>".$texte."</strong></td></tr>";
    416403
    417                 //a faire : disponibilité
    418 
    419                 /* sous la forme ...
    420               <table cellpadding='2' class='exemplaires' width='100%'>
    421                     <tr><th class='expl_header_expl_cb'>Code barre</th><th class='expl_header_expl_cote'>Cote</th><th class='expl_header_tdoc_libelle'>Support</th><th class='expl_header_location_libelle'>Localisation</th><th class='expl_header_section_libelle'>Section</th><th>Disponibilité</th>
    422 
    423                     <tr><td class='expl_cb'>4319900946</td><td class='expl_cote'>RP GUI</td><td class='tdoc_libelle'>Livre</td><td class='location_libelle'>Saint-Jeures</td><td class='section_libelle'>Romans Policiers</td><td class='expl_situation'><strong>Disponible</strong> </td></tr>
    424 
    425               </table>
    426               */
     404                //section996 mode tableau
     405                if (($dernierTypeTrouve == "996") && ($dernierSousTypeTrouve == "f")) {
     406                        $indice_exemplaire++;
     407                        $gtresultat['tab_exemplaires'][$indice_exemplaire-1] = Array();
     408                        $gtresultat['tab_exemplaires'][$indice_exemplaire-1]['expl_cb'] .= $texte;
     409                }
     410
     411                if (($dernierTypeTrouve == "996") && ($dernierSousTypeTrouve == "k")) $gtresultat['tab_exemplaires'][$indice_exemplaire-1]['expl_cote'] .= $texte;
     412                if (($dernierTypeTrouve == "996") && ($dernierSousTypeTrouve == "e")) $gtresultat['tab_exemplaires'][$indice_exemplaire-1]['tdoc_libelle'] .= $texte;
     413                if (($dernierTypeTrouve == "996") && ($dernierSousTypeTrouve == "v")) $gtresultat['tab_exemplaires'][$indice_exemplaire-1]['location_libelle'] .= $texte;
     414                if (($dernierTypeTrouve == "996") && ($dernierSousTypeTrouve == "x")) $gtresultat['tab_exemplaires'][$indice_exemplaire-1]['section_libelle'] .= $texte;
     415                if (($dernierTypeTrouve == "996") && ($dernierSousTypeTrouve == "1")) $gtresultat['tab_exemplaires'][$indice_exemplaire-1]['expl_situation'] .= $texte;
     416
     417               
    427418                break;
    428419        }         
     
    432423function pmb_ws_parser_notice_xml($id_notice, $value, &$tresultat) {
    433424            global $gtresultat;
     425            global $indice_exemplaire;
     426            $indice_exemplaire = 0;
    434427            $gtresultat = array();
    435428       
     
    446439            xml_set_character_data_handler($parseurXML, "fonctionTexte");
    447440
     441           $gtresultat['tab_exemplaires'] = Array();
     442         
    448443           $gtresultat['exemplaires'] = "<table cellpadding='2' class='exemplaires' width='100%'>
    449                     <tr><th class='expl_header_expl_cb'>Code barre</th><th class='expl_header_expl_cote'>Cote</th><th class='expl_header_tdoc_libelle'>Support</th><th class='expl_header_location_libelle'>Localisation</th><th class='expl_header_section_libelle'>Section</th><th>Disponibilité</th></tr>";
     444                    <tr><th class='expl_header_expl_cb'>Code barre</th><th class='expl_header_expl_cote'>Cote</th><th class='expl_header_location_libelle'>Localisation</th><th class='expl_header_tdoc_libelle'>Support</th><th class='expl_header_section_libelle'>Section</th><th>Disponibilité</th></tr>";
    450445
    451446            // Ouverture du fichier
     
    548543
    549544//charger les webservices
    550 function pmb_ws_charger_wsdl(&$ws) {
     545function pmb_ws_charger_wsdl(&$ws, $url_base) {
    551546        $ws=new SoapClient("http://test3.bibli.fr/ostudio/PMBWsSOAP_1?wsdl");
    552547       
     
    558553        $tableau_resultat = Array();
    559554       
    560         pmb_ws_charger_wsdl($ws);
     555        pmb_ws_charger_wsdl($ws, $url_base);
    561556        pmb_ws_recuperer_notice($id_notice, $ws, $tableau_resultat);
    562557        return $tableau_resultat;
     
    564559}
    565560
    566 // retourne un tableau associatif contenant tous les champs d'une notice
     561// retourne un tableau associatif contenant les prêts en cours
    567562function pmb_prets_extraire ($session_id, $url_base, $type_pret=0) {
    568563        $tableau_resultat = Array();
    569         pmb_ws_charger_wsdl($ws);
    570         $loans = $ws->pmbesOPACEmpr_list_loans($session_id, $type_pret);
     564        pmb_ws_charger_wsdl($ws, $url_base);
     565        $loans = $ws->pmbesOPACEmpr_add_resa($session_id, $type_pret);
    571566        $cpt = 0;
    572567        foreach ($loans as $loan) {
     
    592587}
    593588
    594 
     589function pmb_reserver_ouvrage($session_id, $notice_id, $bulletin_id, $location, $url_base) {
     590        pmb_ws_charger_wsdl($ws, $url_base);
     591        return $ws->pmbesOPACEmpr_add_resa($session_id, $notice_id, $bulletin_id, $location);
     592}
    595593
    596594function pmb_notice_champ ($tableau_resultat, $champ) {
Note: See TracChangeset for help on using the changeset viewer.