Changeset 57066 in spip-zone


Ignore:
Timestamp:
Jan 13, 2012, 9:51:02 PM (8 years ago)
Author:
marcimat@…
Message:
  • Recherche en GET en enlevant les paramètres inutiles.
  • boucle (PMB:EXEMPLAIRES){id_notice}
  • utilisation de {id_notice} sur les boucles (PMB:NOTICES) car plus logique avec SPIP.
Location:
_plugins_/spip-pmb/trunk
Files:
17 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/spip-pmb/trunk/content/pmb_notice.html

    r56901 r57066  
    11[(#REM) Fil d'Ariane ]
    2 <BOUCLE_notice(PMB:NOTICES){id}>
     2<BOUCLE_notice(PMB:NOTICES){id_notice}>
    33<p id="hierarchie"><a href="#URL_SITE_SPIP/"><:accueil_site:></a>
    44        &gt; <a href="#URL_PMB_CATALOGUE"><:pmb:catalogue:></a>
     
    1515</div>
    1616
    17 <INCLURE{fond=inclure/inc-pmb_notice}{env}{id}
     17<INCLURE{fond=inclure/inc-pmb_notice}{env}{id_notice}
    1818        {afficher_logo=non}{afficher_resume=oui}>
    1919
  • _plugins_/spip-pmb/trunk/content/pmb_recherche.html

    r57043 r57066  
    11
    22[(#REM) Fil d'Ariane ]
    3 <p id="hierarchie"><a href="#URL_SITE_SPIP/"><:accueil_site:></a> &gt; <:info_rechercher:>[ &gt; <strong class="on">(#RECHERCHE)</strong>]</p>
     3<p id="hierarchie"><a href="#URL_SITE_SPIP/"><:accueil_site:></a>
     4 &gt; <a href="#URL_PMB_RECHERCHE"><:pmb:rechercher_dans_catalogue:></a>
     5[ &gt; <strong class="on">(#RECHERCHE)</strong>]</p>
    46
    57[<div class="cartouche">
     
    810</div>]
    911
    10 [(#VAL{PMB}|in_any{#ENV{look}}|oui)
    11         [(#INCLURE{fond=inclure/inc-recherche-pmb_catalogue}{env}
    12                 {ajax}
    13                 {rechercher=#ENV{recherche}}{look}
    14                 {id_section}{id_location_memo}
    15                 {typdoc}
    16                 {debut}{fin} )]
     12[(#REM) ok est poste par le formulaire de recherche ]
     13[(#ENV{ok}|oui)
     14        [(#INCLURE{fond=inclure/inc-recherche-pmb_catalogue}
     15                {env}{ajax}{rechercher=#ENV{recherche}})]
    1716]
    1817
  • _plugins_/spip-pmb/trunk/head/pmb_notice.html

    r56967 r57066  
    1 <BOUCLE_notice(PMB:NOTICES){id}>
     1<BOUCLE_notice(PMB:NOTICES){id_notice}>
    22<title>[(#TITRE|textebrut) - ][(#NOM_SITE_SPIP|textebrut)][ - (#SLOGAN_SITE_SPIP|typo|textebrut)]</title>[
    33<meta name="description" content="(#RESUME|couper{150}|attribut_html)" />]
  • _plugins_/spip-pmb/trunk/inclure/inc-autreslecteurs.html

    r56891 r57066  
    66                <thead><tr class="row_first"><th></th><th><:pmb:titre:></th><th><:pmb:auteur:></th></tr></thead>
    77                <tbody>
    8                 <BOUCLE_autres_lecteurs(PMB:NOTICES){id}{autres_lecteurs}>
     8                <BOUCLE_autres_lecteurs(PMB:NOTICES){id_notice}{autres_lecteurs}>
    99                        <tr class="[(#COMPTEUR_BOUCLE|modulo{2}|?{row_even,row_odd})]">
    1010                                <td><a href="#URL_PMB_NOTICE">
  • _plugins_/spip-pmb/trunk/inclure/inc-moncompte.html

    r57061 r57066  
    6868                                        </a>
    6969                                ]
    70                                 #EXPL_CB
     70                                #EXEMPLAIRE_CODE_BARRE
    7171                                </td>
    72                                 <td><a href="#URL_PMB_NOTICE">#EXPL_LIBELLE</a></td>
    73                                 <td>#EXPL_SUPPORT</td>
    74                                 <td>#LOAN_STARTDATE</td>
    75                                 <td>#LOAN_RETURNDATE</td>
     72                                <td><a href="#URL_PMB_NOTICE">#EXEMPLAIRE_LIBELLE</a></td>
     73                                <td>#EXEMPLAIRE_SUPPORT</td>
     74                                <td>#DATE_DEBUT</td>
     75                                <td>#DATE_RETOUR</td>
    7676                        </tr>
    7777        </BOUCLE_prets>
  • _plugins_/spip-pmb/trunk/inclure/inc-notice-dispo.html

    r56891 r57066  
    33[(#SESSION_SET{tab_noticesconsultees, [(#SESSION{tab_noticesconsultees,#ARRAY}
    44        |array_reverse
    5         |push{<a href='[(#URL_PMB_NOTICE{#ENV{id}})]'>
     5        |push{<a href='#URL_PMB_NOTICE'>
    66                [(#ENV{titre_notice}|urldecode)]
    77        </a>}|array_unique|array_reverse|array_slice{0,3})]})]
    88
    9 [(#SET{tab_exemplaires, [(#ENV{id}|pmb_ws_dispo_exemplaire)]})]
    109
    11 <B_tab_exemplaires>
     10<B_exemplaires>
    1211<div class="pmb-exemplaires">
    1312        <h2><:pmb:exemplaires:></h2>
     
    2221                </tr>
    2322
    24                 <BOUCLE_tab_exemplaires(POUR){tableau #GET{tab_exemplaires}}>
     23                <BOUCLE_exemplaires(PMB:EXEMPLAIRES){id_notice}>
    2524                <tr class="[(#COMPTEUR_BOUCLE|modulo{2}|?{row_even,row_odd})]">
    26                                 <td class='expl_cb'>[(#GET{tab_exemplaires/#CLE/cb})]</td>
    27                                 <td class='expl_cote'>[(#GET{tab_exemplaires/#CLE/cote})]</td>
    28                                 <td class='tdoc_libelle'>[(#GET{tab_exemplaires/#CLE/support})]</td>
    29                                 <td class='location_libelle'><a href="[(#URL_PAGE{catalogue}|parametre_url{id_location,[(#GET{tab_exemplaires/#CLE/location_id})]})]">[(#GET{tab_exemplaires/#CLE/location_caption})]</a></td>
    30                                 <td class='section_libelle'><a href="[(#URL_PAGE{catalogue}|parametre_url{id_section,[(#GET{tab_exemplaires/#CLE/section_id})]}|parametre_url{id_location_memo,[(#GET{tab_exemplaires/#CLE/location_id})]})]">[(#GET{tab_exemplaires/#CLE/section_caption})]</a></td>
    31                                 <td class='expl_situation'>[(#GET{tab_exemplaires/#CLE/situation})]</td>
     25                                <td class='expl_cb'>#CODE_BARRE</td>
     26                                <td class='expl_cote'>#COTE</td>
     27                                <td class='tdoc_libelle'>#SUPPORT</td>
     28                                <td class='location_libelle'>
     29                                        <a href="#URL_PMB_CATALOGUE{#ID_LOCATION}">#TITRE_LOCATION</a>
     30                                </td>
     31                                <td class='section_libelle'>
     32                                        <a href="[(#URL_PMB_CATALOGUE
     33                                                |parametre_url{id_section,#ID_SECTION}
     34                                                |parametre_url{id_location_memo,#ID_LOCATION})]">
     35                                                #TITRE_SECTION
     36                                        </a>
     37                                </td>
     38                                <td class='expl_situation'>#SITUATION</td>
    3239                </tr>
    33                 </BOUCLE_tab_exemplaires>
     40                </BOUCLE_exemplaires>
    3441        </table>
    3542</div>
    36 </B_tab_exemplaires>
     43</B_exemplaires>
  • _plugins_/spip-pmb/trunk/inclure/inc-notice-resume.html

    r56891 r57066  
    1 <BOUCLE_notice_resume(PMB:NOTICES){id}>
     1<BOUCLE_notice_resume(PMB:NOTICES){id_notice}>
    22[(#SET{url,[(#URL_PMB_NOTICE|parametre_url{url_ret,#ENV{url_ret}})]})]
    33
  • _plugins_/spip-pmb/trunk/inclure/inc-pmb_notice.html

    r56891 r57066  
    1 <BOUCLE_notice(PMB:NOTICES){id}>
     1<BOUCLE_notice(PMB:NOTICES){id_notice}>
    22[<a href="(#ENV{url_ret}|urldecode)" class="lien-retour-recherche"><:pmb:retour_recherche:></a>]
    33
     
    1010       
    1111        [(#ENV{afficher_logo}|=={oui}|oui)
    12                 [(#INCLURE{fond=inclure/pmb-inc-logo, id, largeur=130})]
     12                [(#INCLURE{fond=inclure/pmb-inc-logo, id_notice, largeur=130})]
    1313        ]
    1414
     
    4040                                [<tr><td><strong><:pmb:note_contenu:></strong></td><td>(#NOTE_CONTENU)</td></tr>]
    4141                                [(#CHEMIN{inclure/inc-pmb_notice-local.html}|oui)
    42                                         [(#INCLURE{fond=inclure/inc-pmb_notice-local,id})]
     42                                        [(#INCLURE{fond=inclure/inc-pmb_notice-local,id_notice})]
    4343                                ]
    4444                        </tbody>
     
    5656
    5757[(#ENV{afficher_dispo}|=={non}|non)
    58         [(#INCLURE{fond=inclure/inc-notice-dispo,env,id,titre_notice=#TITRE,ajax,ajaxload})]
     58        [(#INCLURE{fond=inclure/inc-notice-dispo,env,id_notice,titre_notice=#TITRE,ajax,ajaxload})]
    5959]
    6060
    61 [(#ENV{afficher_dispo}|=={non}|non)
    62         [(#INCLURE{fond=inclure/inc-autreslecteurs,env,id,ajax,ajaxload})]
     61[(#ENV{afficher_autreslecteurs}|=={non}|non)
     62        [(#INCLURE{fond=inclure/inc-autreslecteurs,env,id_notice,ajax,ajaxload})]
    6363]
    6464
  • _plugins_/spip-pmb/trunk/inclure/inc-recherche-avancee.html

    r57058 r57066  
    55<div id="search">
    66        <div class='formulaire_spip formulaire_recherche_avancee'>
    7                 <form action='#URL_PAGE{pmb_recherche}' method='post'>
     7                <form action='#URL_PMB_RECHERCHE' method='get'>
     8                        <input type='hidden' name='page' value='[(#URL_PMB_RECHERCHE|parametre_url{page})]'/>
    89                        [<input type='hidden' name='id_section' value='(#ENV{id_section})'/>]
    910                        [<input type='hidden' name='id_location_memo' value='(#ENV{id_location_memo})'/>]
    1011                        [<input type='hidden' name='id_section_memo' value='(#ENV{id_section_memo})'/>]
    1112                        [<input type='hidden' name='titre_section' value='(#ENV{titre_section})'/>]
    12                         <input type='hidden' name='recherche_avancee' value='1'/>
    13                         <input type='hidden' name='look[]' value='PMB'/>
    14                         <input type='hidden' name='look[]' value='FIRSTACCESS' />
     13[(#REM)         <input type='hidden' name='recherche_avancee' value='1'/>]
     14
    1515                        <fieldset>
    1616                                <legend><:pmb:recherche_avancee:></legend>
     
    8585                                                                <td><input type='checkbox' name='look[]' id='recherche_avancee_look_KEYWORDS' value='KEYWORDS'[(#VAL{KEYWORDS}|in_any{#ENV{look}}|oui)checked="checked"]  /><label for='recherche_avancee_look_KEYWORDS'> Tags</label></td>
    8686                                                                <td><input type='checkbox' name='look[]' id='recherche_avancee_look_ABSTRACT' value='ABSTRACT'[(#VAL{ABSTRACT}|in_any{#ENV{look}}|oui)checked="checked"]  /><label for='recherche_avancee_look_ABSTRACT'> R&eacute;sum&eacute; et notes </label></td>
    87                                                                 <td><input type='checkbox' name='look[]' id='recherche_avancee_look_ALL' value='ALL'[(#VAL{ALL}|in_any{#ENV{look}}|oui)checked="checked"] /><label for='recherche_avancee_look_ALL'> Tous les champs </label></td>
     87                                                                <td><input type='checkbox' name='look[]' id='recherche_avancee_look_ALL' value='ALL'[(#VAL{ALL}|in_any{#ENV{look}}|oui|ou{[(#ENV{look}|count|non)]})checked="checked"] /><label for='recherche_avancee_look_ALL'> Tous les champs </label></td>
    8888                                                        </tr>
    8989                                                        <tr class="row_odd">
  • _plugins_/spip-pmb/trunk/inclure/inc-recherche-notices.html

    r57055 r57066  
    1111        <ul class="liste-items items">
    1212                <BOUCLE_liste_notices(PMB:NOTICES)
    13                         {id ?}{id_auteur ?}{id_collection ?}{id_editeur ?}
     13                        {id_notice ?}{id_auteur ?}{id_collection ?}{id_editeur ?}
    1414                        {pagination 5}>
    15                                 <INCLURE{fond=inclure/inc-notice-resume}{id}{surlignable=1}{compteur=#COMPTEUR_BOUCLE}>
     15                                [(#INCLURE{fond=inclure/inc-notice-resume,id_notice, surlignable=1, compteur=#COMPTEUR_BOUCLE})]
    1616                </BOUCLE_liste_notices>
    1717        </ul>
  • _plugins_/spip-pmb/trunk/inclure/inc-recherche-pmb_catalogue.html

    r57003 r57066  
    1111        <BOUCLE_recherche(PMB:NOTICES){rechercher}
    1212                        {id_section ?}{id_location_memo ?}{id_section_memo ?}{look ?}{pagination 5}>
    13                 [(#SET{url_ret,[(#GET{url}|parametre_url{debut,#ENV{debut}}|trim|urlencode)]})]
    14                 [(#INCLURE{fond=inclure/inc-notice-resume}{id}
    15                         {url_ret=#SELF}{surlignable=0}{compteur=#COMPTEUR_BOUCLE})]
     13                        [(#INCLURE{fond=inclure/inc-notice-resume, id_notice,
     14                                url_ret=#SELF, surlignable=0, compteur=#COMPTEUR_BOUCLE})]
    1615        </BOUCLE_recherche>
    1716        </ul>
  • _plugins_/spip-pmb/trunk/inclure/pmb-inc-logo.html

    r56883 r57066  
    1 <BOUCLE_logo_notice(PMB:NOTICES){id}>
     1<BOUCLE_logo_notice(PMB:NOTICES){id_notice}>
    22[(#VALEUR{logo_src}|oui)
    33        [(#ENV{copieimage,non}|=={non}|non)
  • _plugins_/spip-pmb/trunk/lang/pmb_fr.php

    r57044 r57066  
    112112'recherche_avancee' => 'Recherche avanc&eacute;e',
    113113'recherche_catalogue' => 'Dans le catalogue',
     114'rechercher_dans_catalogue' => 'Rechercher dans le catalogue',
    114115'recherche_dans' => 'Recherche dans',
    115116'recherche_portail_web' => 'Dans le site',
  • _plugins_/spip-pmb/trunk/modeles/notice.html

    r56887 r57066  
    11<INCLURE{fond=inclure/inc-pmb_notice}{env}
     2        {id_notice=#ENV{id}}
    23        {afficher_titre=oui}>
  • _plugins_/spip-pmb/trunk/paquet.xml

    r57059 r57066  
    22        prefix="pmb"
    33        categorie="divers"
    4         version="1.115.0"
     4        version="1.116.0"
    55        etat="dev"
    66        compatibilite="[3.0.0-beta2;3.0.*]"
  • _plugins_/spip-pmb/trunk/pmb_fonctions.php

    r57061 r57066  
    185185 * pour eviter des requetes intempestives
    186186 * sur un hit de page et permettre d'utiliser plusieurs
    187  * fois une boucle telle que (PMB:NOTICES){id}
     187 * fois une boucle telle que (PMB:NOTICES){id_notice}
    188188 * sans avoir besoin de tout recalculer.
    189189 *
     
    767767        }
    768768
    769         $tresultat['id'] = $id_notice;
     769        $tresultat['id'] = $tresultat['id_notice'] = $id_notice;
    770770
    771771        // on stocke en cache
     
    840840}
    841841
    842 function pmb_ws_dispo_exemplaire($id_notice, $id_session=0) {
    843  
    844         $tresultat = Array();
     842
     843/**
     844 * Retourne la liste des exemplaires (item)
     845 * d'une notice (identifiant d'un ouvrage/document)
     846 *
     847 * @param string $ids_notice
     848 *              Liste des identifiants de notices dont les exemplaires sont a recuperer
     849 *
     850 * @return array
     851 *              Liste des exemplaires
     852**/
     853function pmb_extraire_exemplaires_ids($ids_notice) {
     854        if (!$ids_notice) {
     855                return array();
     856        }
     857        $res = Array();
    845858
    846859        try {
    847860                $ws = pmb_webservice();
    848                 $r=$ws->pmbesItems_fetch_notice_items($id_notice, $id_session);
    849                 $cpt = 0;
    850                 if (is_array($r)) {
    851                         foreach ($r as $exemplaire) {
    852                                 $tresultat[$cpt] = Array();
    853                                 $tresultat[$cpt]['id'] = $exemplaire->id;
    854                                 $tresultat[$cpt]['cb'] = $exemplaire->cb;
    855                                 $tresultat[$cpt]['cote'] = $exemplaire->cote;
    856                                 $tresultat[$cpt]['location_id'] = $exemplaire->location_id;
    857                                 $tresultat[$cpt]['location_caption'] = $exemplaire->location_caption;
    858                                 $tresultat[$cpt]['section_id'] = $exemplaire->section_id;
    859                                 $tresultat[$cpt]['section_caption'] = $exemplaire->section_caption;
    860                                 $tresultat[$cpt]['statut'] = $exemplaire->statut;
    861                                 $tresultat[$cpt]['support'] = $exemplaire->support;
    862                                 $tresultat[$cpt]['situation'] = $exemplaire->situation;
    863 
    864                                 $cpt++;
    865                         }
    866                 }
    867 
     861                foreach ($ids_notice as $id_notice) {
     862                        // second parametre $id_session non utilise
     863                        $exemplaires = $ws->pmbesItems_fetch_notice_items($id_notice);
     864                        if (is_array($exemplaires)) {
     865                                foreach ($exemplaires as $exemplaire) {
     866                                        $e = Array();
     867                                        $e['id']               = $exemplaire->id;
     868                                        $e['id_notice']        = $id_notice;
     869                                        $e['code_barre']       = $exemplaire->cb;
     870                                        $e['cote']             = $exemplaire->cote;
     871                                        $e['id_location']      = $exemplaire->location_id;
     872                                        $e['titre_location']   = $exemplaire->location_caption;
     873                                        $e['id_section']       = $exemplaire->section_id;
     874                                        $e['titre_section']    = $exemplaire->section_caption;
     875                                        $e['statut']           = $exemplaire->statut;
     876                                        $e['support']          = $exemplaire->support;
     877                                        $e['situation']        = $exemplaire->situation;
     878                                        $res[] = $e;
     879                                }
     880                        }
     881                }
    868882        } catch (Exception $e) {
    869883                 echo 'Exception reçue (12) : ',  $e->getMessage(), "\n";
    870         }
    871         return $tresultat;
     884        }
     885       
     886        return $res;
    872887}
    873888
     
    10291044                        foreach ($prets as $pret) {
    10301045                                $p = array();
    1031                                 $p['id_emprunteur']         = $pret->empr_id;
    1032                                 $p['id_notice']             = $pret->notice_id;
    1033                                 $p['id_bulletin']           = $pret->bulletin_id;
    1034                                 $p['expl_id']               = $pret->expl_id;
    1035                                 $p['expl_cb']               = $pret->expl_cb;
    1036                                 $p['expl_support']          = $pret->expl_support;
    1037                                 $p['expl_id_location']      = $pret->expl_location_id;
    1038                                 $p['expl_location_titre']  = $pret->expl_location_caption;
    1039                                 $p['expl_id_section']       = $pret->expl_section_id;
    1040                                 $p['expl_section_titre']    = $pret->expl_section_caption;
    1041                                 $p['expl_libelle']          = $pret->expl_libelle;
    1042                                 $p['loan_startdate']        = $pret->loan_startdate;
    1043                                 $p['loan_returndate']       = $pret->loan_returndate;
     1046                                $p['id_emprunteur']             = $pret->empr_id;
     1047                                $p['id_notice']                 = $pret->notice_id;
     1048                                $p['id_bulletin']               = $pret->bulletin_id;
     1049                                $p['exemplaire_id']             = $pret->expl_id;
     1050                                $p['exemplaire_code_barre']     = $pret->expl_cb;
     1051                                $p['exemplaire_support']        = $pret->expl_support;
     1052                                $p['exemplaire_id_location']    = $pret->expl_location_id;
     1053                                $p['exemplaire_titre_location'] = $pret->expl_location_caption;
     1054                                $p['exemplaire_id_section']     = $pret->expl_section_id;
     1055                                $p['exemplaire_titre_section']  = $pret->expl_section_caption;
     1056                                $p['exemplaire_libelle']        = $pret->expl_libelle;
     1057                                $p['date_debut']                = $pret->loan_startdate;
     1058                                $p['date_retour']               = $pret->loan_returndate;
    10441059                                $notices[] = $pret->notice_id;
    10451060                                $prets[] = $p;
  • _plugins_/spip-pmb/trunk/public/pmb.php

    r57061 r57066  
    248248 *
    249249 * Une ou n notices
    250  * (PMB:NOTICES) {id}
     250 * (PMB:NOTICES) {id}
     251 * (PMB:NOTICES) {id_notice}
    251252 * (PMB:NOTICES) {liste #TABLEAU_IDS}
    252253 *
     
    281282        // depuis un critere id=x ou {id?}
    282283        if ($id = pmb_critere_valeur($criteres, 'id')) {
     284                $ids = pmb_intersect_ids($ids, $id);
     285        }
     286
     287        // depuis un critere id_notice=x ou {id_notice?}
     288        if ($id = pmb_critere_valeur($criteres, 'id_notice')) {
    283289                $ids = pmb_intersect_ids($ids, $id);
    284290        }
     
    382388
    383389                $idsr = pmb_ids_notices_recherches($demande, $total_resultats, $debut, $nombre, $pagination);
    384 
    385390                $ids = pmb_intersect_ids($ids, $idsr);
    386391                $iterateur->total = $total_resultats;
     
    506511        return inc_pmb_select_abstract_dist(&$command, $iterateur, 'editeurs', 'id_editeur');
    507512}
     513
     514
     515
     516/**
     517 *
     518 * Selectionne les exemplaires disponibles d'une notice
     519 * et retourne un tableau des elements parsees
     520 *
     521 * Liste des exemplaires
     522 * (PMB:EXEMPLAIRES) {id_notice}
     523 * (PMB:EXEMPLAIRES) {liste #TABLEAU_IDS_NOTICE}
     524 *
     525 */
     526function inc_pmb_exemplaires_select_dist(&$command, $iterateur) {
     527        return inc_pmb_select_abstract_dist(&$command, $iterateur, 'exemplaires', 'id_notice');
     528}
     529
    508530
    509531
     
    824846**/
    825847function balise_URL_PMB_NOTICE_dist($p) {
    826         return pbm_balise_url($p, 'id', 'pmb_notice');
     848        return pbm_balise_url($p, 'id_notice', 'pmb_notice');
    827849}
    828850
     
    855877function balise_URL_PMB_NOUVEAUTES_dist($p) {
    856878        $page = 'pmb_nouveautes';
     879        $p->code = "generer_url_public('$page')";
     880        $p->interdire_scripts = false;
     881        return $p;
     882}
     883
     884/**
     885 * Balise URL_PMB_RECHERCHE
     886**/
     887function balise_URL_PMB_RECHERCHE_dist($p) {
     888        $page = 'pmb_recherche';
    857889        $p->code = "generer_url_public('$page')";
    858890        $p->interdire_scripts = false;
Note: See TracChangeset for help on using the changeset viewer.