Ignore:
Timestamp:
Oct 19, 2009, 7:45:42 AM (11 years ago)
Author:
apachot@…
Message:
  • afficher les données des éditeurs avec les webservices
  • et ajout de la pagination sur les ouvrages d'un auteur / éditeur
File:
1 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/spip-pmb/2_0_0/pmb_mes_fonctions.php

    r32207 r32210  
    187187}
    188188
    189 function pmb_editeur_extraire($id_editeur, $url_base, $pmb_page=1, $mode='auto') {
    190         $tableau_resultat = Array();
    191        
    192         if ($htmldom = pmb_charger_page($url_base, "index.php?lvl=publisher_see&page=".$pmb_page."&id=".$id_editeur,$mode)) {
    193                         $tableau_resultat[0] = Array();
    194                         $tableau_resultat[0]['nav_bar'] = $htmldom->find('.navbar',0)->outertext;
    195                         $tableau_resultat[0]['nav_bar'] = pmb_transformer_nav_bar($tableau_resultat[0]['nav_bar']);
    196                         $tableau_resultat[0]['titre_editeur'] = $htmldom->find('#aut_see h3',0)->innertext;
    197                         $tableau_resultat[0]['collections_editeur'] = $htmldom->find('#aut_see ul',0)->outertext;
    198                         $infos_editeur = $htmldom->find('#aut_see p');
    199                         $tableau_resultat[0]['infos_editeur'] = '';
    200                         foreach($infos_editeur as $p_editeur) {
    201                                 $tableau_resultat[0]['infos_editeur'] .= $p_editeur->outertext;
    202                         }
    203                        
    204                         $resultats_recherche = $htmldom->find('.notice-child');
    205                         $tableau_resultat[0]['nb_resultats'] = count($resultats_recherche);
    206                         $i = 1;
    207                         foreach($resultats_recherche as $res) {
    208                                 $tableau_resultat[$i] = Array();                               
    209                                 pmb_parser_notice_apercu($res, $tableau_resultat[$i]);
    210                                 $i++;
    211                         }       
    212         }
    213         return $tableau_resultat;
    214 
    215 }
    216 
    217 function pmb_auteur_extraire($id_auteur, $url_base) {
     189function pmb_editeur_extraire($id_editeur, $debut=0, $nbresult=5, $id_session=0) {
    218190        $tableau_resultat = Array();
    219191       
    220192        pmb_ws_charger_wsdl($ws, $url_base);
    221193        try {
    222               $result = $ws->pmbesAuthors_get_author_information_and_notices($id_auteur,0);
     194              $result = $ws->pmbesPublishers_get_publisher_information_and_notices($id_editeur,$id_session);
     195              if ($result) {
     196                  $tableau_resultat['publisher_id'] = $result['information']->publisher_id;
     197                  $tableau_resultat['publisher_name'] = $result['information']->publisher_name;
     198                  $tableau_resultat['publisher_address1'] = $result['information']->publisher_address1;
     199                  $tableau_resultat['publisher_address2'] = $result['information']->publisher_address2;
     200                 
     201
     202                  $tableau_resultat['publisher_zipcode'] = $result['information']->publisher_zipcode;
     203                  $tableau_resultat['publisher_city'] = $result['information']->publisher_city;
     204                  $tableau_resultat['publisher_country'] = $result['information']->publisher_country;
     205                  $tableau_resultat['publisher_web'] = $result['information']->publisher_web;
     206                  $tableau_resultat['publisher_comment'] = $result['information']->publisher_comment;
     207                   $tableau_resultat['notice_ids'] = Array();
     208
     209                  $liste_notices = Array();
     210                  $cpt=0;
     211                  foreach($result['notice_ids'] as $cle=>$valeur) {
     212                    if (($cpt>=$debut) && ($cpt<$nbresult+$debut)) $liste_notices[] = $valeur;
     213                    $cpt++;
     214                  }
     215                  pmb_ws_recuperer_tab_notices($liste_notices, $ws, $tableau_resultat['notice_ids']);
     216                  $tableau_resultat['notice_ids'][0]['nb_resultats'] = $cpt;
     217
     218                  $cpt=0;
     219                  foreach($liste_notices as $notice) {
     220                    $tableau_resultat['notice_ids'][$cpt]['id'] = $notice;
     221                    $cpt++;
     222                  }
     223                }
     224        } catch (SoapFault $fault) {
     225                print("Erreur : ".$fault->faultcode." : ".$fault->faultstring);
     226        }
     227        return $tableau_resultat;
     228
     229}
     230
     231function pmb_auteur_extraire($id_auteur, $debut=0, $nbresult=5, $id_session=0) {
     232        $tableau_resultat = Array();
     233       
     234        pmb_ws_charger_wsdl($ws, $url_base);
     235        try {
     236              $result = $ws->pmbesAuthors_get_author_information_and_notices($id_auteur,$id_session);
    223237              if ($result) {
    224238                  $tableau_resultat['author_id'] = $result['information']->author_id;
     
    244258
    245259                  $liste_notices = Array();
     260                  $cpt=0;
    246261                  foreach($result['notice_ids'] as $cle=>$valeur) {
    247                     $liste_notices[] = $valeur;
     262                    if (($cpt>=$debut) && ($cpt<$nbresult+$debut)) $liste_notices[] = $valeur;
     263                    $cpt++;
    248264                  }
    249265                  pmb_ws_recuperer_tab_notices($liste_notices, $ws, $tableau_resultat['notice_ids']);
     266                   $tableau_resultat['notice_ids'][0]['nb_resultats'] = $cpt;
    250267                  $cpt=0;
    251268                  foreach($liste_notices as $notice) {
Note: See TracChangeset for help on using the changeset viewer.