Ignore:
Timestamp:
Oct 19, 2009, 12:12:10 PM (11 years ago)
Author:
apachot@…
Message:

récupérer les collections par les ws, exemple: http://www.risom.fr/spip.php?page=coll_see&id=4043

File:
1 edited

Legend:

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

    r32210 r32221  
    164164}
    165165
    166 function pmb_collection_extraire($id_collection, $url_base, $pmb_page=1, $mode='auto') {
    167         $tableau_resultat = Array();
    168        
    169         if ($htmldom = pmb_charger_page($url_base, "index.php?lvl=coll_see&page=".$pmb_page."&id=".$id_collection,$mode)) {
    170                         $tableau_resultat[0] = Array();
    171                         $tableau_resultat[0]['nav_bar'] = $htmldom->find('.navbar',0)->outertext;
    172                         $tableau_resultat[0]['nav_bar'] = pmb_transformer_nav_bar($tableau_resultat[0]['nav_bar']);
    173                         $tableau_resultat[0]['titre_collection'] = $htmldom->find('#aut_see h3',0)->innertext;
    174                         $tableau_resultat[0]['collections_infos'] = $htmldom->find('#aut_see ul',0)->outertext;
    175                        
    176                         $resultats_recherche = $htmldom->find('.notice-child');
    177                         $tableau_resultat[0]['nb_resultats'] = count($resultats_recherche);
    178                         $i = 1;
    179                         foreach($resultats_recherche as $res) {
    180                                 $tableau_resultat[$i] = Array();                               
    181                                 pmb_parser_notice_apercu($res, $tableau_resultat[$i]);
    182                                 $i++;
    183                         }       
    184         }
    185         return $tableau_resultat;
    186 
     166function pmb_collection_extraire($id_collection, $debut=0, $nbresult=5, $id_session=0) {
     167        $tableau_resultat = Array();
     168       
     169        pmb_ws_charger_wsdl($ws, $url_base);
     170        try {
     171              $result = $ws->pmbesCollections_get_collection_information_and_notices($id_collection,$id_session);
     172              if ($result) {
     173                  $tableau_resultat['collection_id'] = $result['information']->collection_id;
     174                  $tableau_resultat['collection_name'] = $result['information']->collection_name;
     175                  $tableau_resultat['collection_parent'] = $result['information']->collection_parent;
     176                  $tableau_resultat['collection_issn'] = $result['information']->collection_issn;
     177                  $tableau_resultat['collection_web'] = $result['information']->collection_web;
     178                   $tableau_resultat['notice_ids'] = Array();
     179
     180                $liste_notices = Array();
     181                  $cpt=0;
     182                  foreach($result['notice_ids'] as $cle=>$valeur) {
     183                    if (($cpt>=$debut) && ($cpt<$nbresult+$debut)) $liste_notices[] = $valeur;
     184                    $cpt++;
     185                  }
     186                  pmb_ws_recuperer_tab_notices($liste_notices, $ws, $tableau_resultat['notice_ids']);
     187                  $tableau_resultat['notice_ids'][0]['nb_resultats'] = $cpt;
     188
     189                  $cpt=0;
     190                  foreach($liste_notices as $notice) {
     191                    $tableau_resultat['notice_ids'][$cpt]['id'] = $notice;
     192                    $cpt++;
     193                  }
     194                }
     195        } catch (SoapFault $fault) {
     196                print("Erreur : ".$fault->faultcode." : ".$fault->faultstring);
     197        }
     198        return $tableau_resultat;
    187199}
    188200
     
    198210                  $tableau_resultat['publisher_address1'] = $result['information']->publisher_address1;
    199211                  $tableau_resultat['publisher_address2'] = $result['information']->publisher_address2;
    200                  
    201 
    202212                  $tableau_resultat['publisher_zipcode'] = $result['information']->publisher_zipcode;
    203213                  $tableau_resultat['publisher_city'] = $result['information']->publisher_city;
Note: See TracChangeset for help on using the changeset viewer.