Changeset 57059 in spip-zone


Ignore:
Timestamp:
Jan 13, 2012, 7:13:36 PM (8 years ago)
Author:
marcimat@…
Message:

Boucle (PMB:RESERVATIONS){pmb_session}

Location:
_plugins_/spip-pmb/trunk
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/spip-pmb/trunk/inclure/inc-moncompte.html

    r56891 r57059  
    8080        <h2 class="pas_surlignable"><:pmb:reservations:></h2>
    8181        <div>
    82         [(#SET{tab_reservations,[(#PMB_SESSION|pmb_reservations_extraire)]})]
    83         <B_tab_resultat3>
     82        <B_reservations>
    8483                <table class="spip pmb-tableau">
    8584                <thead>
    86                         <tr class="row_first"><th></th><th><:pmb:titre:></th><th><:pmb:rang:></th></tr>
     85                        <tr class="row_first">
     86                                <th></th>
     87                                <th><:pmb:titre:></th>
     88                                <th><:pmb:rang:></th>
     89                        </tr>
    8790                </thead>
    8891                <tbody>
    89                 <BOUCLE_tab_resultat3(POUR){tableau #GET{tab_reservations}}>
    90                         #SET{notice, #GET{tab_reservations/notice_ids/#CLE}}
     92                <BOUCLE_reservations(PMB:RESERVATIONS){pmb_session}>
    9193                        <tr[ class="(#COMPTEUR_BOUCLE|modulo{2}|?{row_even,row_odd})"]>
    92                                 <td><a href="#URL_PMB_NOTICE{#GET{notice/id}}">
    93                                         [(#GET{notice/logo_src}
    94                                                 |image_reduire{0,80}
    95                                                 |inserer_attribut{class,spip_logos})]
     94                                <td><a href="#URL_PMB_NOTICE">
     95                                        [(#VALEUR{notice/logo_src}|oui)
     96                                                [(#VALEUR{notice/logo_src}
     97                                                        |image_reduire{0,80}
     98                                                        |inserer_attribut{class,spip_logos})]
     99                                        ]
    96100                                        </a>
    97101                                </td>
    98                                 <td><a href="#URL_PMB_NOTICE{#GET{tab_reservations/#CLE/notice_id}}">#GET{notice/titre}</a></td>
    99                                 <td>#GET{tab_reservations/#CLE/resa_rank}</td>
     102                                <td><a href="#URL_PMB_NOTICE">#VALEUR{notice/titre}</a></td>
     103                                <td>#RANK</td>
    100104                        </tr>
    101                 </BOUCLE_tab_resultat3>
     105                </BOUCLE_reservations>
    102106                </tbody>
    103107                </table>
    104         </B_tab_resultat3>
     108        </B_reservations>
    105109                Pas de r&eacute;servations
    106         <//B_tab_resultat3>
    107 
     110        <//B_reservations>
    108111        </div>
    109112</div>
  • _plugins_/spip-pmb/trunk/paquet.xml

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

    r57058 r57059  
    965965
    966966
     967/**
     968 * Retourne un tableau contenant la liste des tris possibles
     969 * (non utilisee)
     970**/
    967971function pmb_ws_liste_tri_recherche() {
    968         //retourne un tableau contenant la liste des tris possibles
     972        //
    969973        /* Exemple de retour:
    970974          Array
     
    980984          [sort_name] => num_2
    981985          [sort_caption] => Indexation décimale
    982           )
    983          
    984           [2] => Array
    985           (
    986           [sort_name] => text_3
    987           [sort_caption] => Auteur
    988986          )
    989987        ...
     
    10421040}
    10431041
    1044 function pmb_reservations_extraire($pmb_session) {
    1045         $tableau_resultat = Array();
    1046        
     1042
     1043/**
     1044 * Retourne les reservations demandes...
     1045 *
     1046 * @param array $ids_pmb_session
     1047 *              Les demandes, des 'pmb_session' (table spip_auteurs_pmb)
     1048 *
     1049 * @return array
     1050 *              Tableau contenant les reservations
     1051 *              Et dans 'notice' de chaque reservation
     1052 *              les informations de la notice correspondante.
     1053**/
     1054function pmb_extraire_reservations_ids($ids_pmb_session) {
     1055        $ids_pmb_session = array_filter($ids_pmb_session);
     1056        if (!$ids_pmb_session) {
     1057                return array();
     1058        }
     1059       
     1060        $resas = array();
     1061        $notices = Array();
    10471062        $ws = pmb_webservice();
    1048         $reservations = $ws->pmbesOPACEmpr_list_resas($pmb_session);
    1049         $liste_notices = Array();
    1050        
    1051         $cpt = 0;
    1052         if (is_array($reservations)) {
    1053                 foreach ($reservations as $reservation) {
    1054                         $liste_notices[] = $reservation->notice_id;
    1055                         $tableau_resultat[$cpt] = Array();
    1056                         $tableau_resultat[$cpt]['resa_id']              = $reservation->resa_id;
    1057                         $tableau_resultat[$cpt]['empr_id']              = $reservation->empr_id;
    1058                         $tableau_resultat[$cpt]['notice_id']    = $reservation->notice_id;
    1059                         $tableau_resultat[$cpt]['bulletin_id']  = $reservation->bulletin_id;
    1060                         $tableau_resultat[$cpt]['resa_rank']    = $reservation->resa_rank;
    1061                         $tableau_resultat[$cpt]['resa_dateend'] = $reservation->resa_dateend;
    1062                         $tableau_resultat[$cpt]['resa_retrait_location_id ']    = $reservation->resa_retrait_location_id ;
    1063                         $tableau_resultat[$cpt]['resa_retrait_location']                = $reservation->resa_retrait_location;
    1064 
    1065                         $cpt++;
    1066                 }
    1067         }
    1068         if ($cpt>0) {
    1069                 $tableau_resultat['notice_ids'] = pmb_extraire_notices_ids($liste_notices); 
    1070         }
    1071         #pmb_remettre_id_dans_resultats(&$tabreau_resultat, $liste_notices)
    1072         return $tableau_resultat;
    1073 
    1074 }
     1063       
     1064        foreach ($ids_pmb_session as $id_pmb_session) {
     1065                $reservations = $ws->pmbesOPACEmpr_list_resas($pmb_session);
     1066                if (is_array($reservations)) {
     1067                        foreach ($reservations as $reservation) {
     1068                                $r = array();
     1069                                $r['id_reservation']      = $reservation->resa_id;
     1070                                $r['id_emprunteur']       = $reservation->empr_id;
     1071                                $r['id_notice']           = $reservation->notice_id;
     1072                                $r['id_bulletin']         = $reservation->bulletin_id;
     1073                                $r['rank']                = $reservation->resa_rank;
     1074                                $r['date_fin']            = $reservation->resa_dateend;
     1075                                $r['retrait_id_location'] = $reservation->resa_retrait_location_id ;
     1076                                $r['retrait_location']    = $reservation->resa_retrait_location;
     1077                                $notices[] = $reservation->notice_id;
     1078                                $resas[] = $r;
     1079                        }
     1080                }
     1081        }
     1082        if ($resas) {
     1083                // on integre les informations des notices
     1084                $notices = pmb_extraire_notices_ids($notices);
     1085                // (pas tres optimise... mais y en a pas beaucoup)
     1086                foreach ($resas as $r) {
     1087                        foreach ($notices as $n) {
     1088                                if ($r['id_notice'] == $n['id_notice']) {
     1089                                        $r['notice'] = $n;
     1090                                        break;
     1091                                }
     1092                        }
     1093                }
     1094        }
     1095        return $resas;
     1096}
     1097
     1098
     1099
    10751100
    10761101/**
     
    10931118
    10941119
     1120/**
     1121 * Reserve pour un auteur identifie a pmb une notice
     1122 *
     1123**/
    10951124function pmb_reserver_ouvrage($session_id, $notice_id, $bulletin_id, $location) {
    10961125
  • _plugins_/spip-pmb/trunk/public/pmb.php

    r57056 r57059  
    414414
    415415
     416/**
     417 *
     418 * Selectionne les reservations d'an auteurs identifie a PMB
     419 * et retourne un tableau des elements parsees
     420 *
     421 * Liste des reservations
     422 * (PMB:RESERVATIONS) {pmb_session}
     423 * (PMB:RESERVATIONS) {liste #TABLEAU_PMB_SESSIONS}
     424 *
     425 */
     426function inc_pmb_reservations_select_dist(&$command, $iterateur) {
     427        return inc_pmb_select_abstract_dist(&$command, $iterateur, 'reservations', 'pmb_session');
     428}
     429
    416430
    417431/**
Note: See TracChangeset for help on using the changeset viewer.