Changeset 52236 in spip-zone


Ignore:
Timestamp:
Oct 1, 2011, 4:51:26 PM (8 years ago)
Author:
dwojylac@…
Message:

Modification des tables images qui deviennent docs (pour généraliser).
Modification en conséquence des noms des champs (même philosophie)
ajout d'un champ "extension" dans sitra_doc.

Modification du filtre url_image_sitra en url_doc_sitra

Ajout d'un champ reservation_url dans sitra_objet

modification du numéro de version.

Location:
_plugins_/sitra_exports/trunk
Files:
10 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/sitra_exports/trunk/base/tables_sitra.php

    r51845 r52236  
    2323        'classement_code' => 'varchar(32) NOT NULL',
    2424        'classement' => 'varchar(32) NOT NULL',
     25        'reservation_url' => 'text NOT NULL',
    2526        );
    2627
     
    125126
    126127
    127 // Table SITRA_IMAGES
    128 $sitra_images_field = array(
    129         'id_sitra' => 'varchar(32) NOT NULL',
    130         'num_image' => 'integer NOT NULL',
    131         'url_image' => 'varchar(255) NOT NULL',
    132         'type_image' => 'varchar(12) NOT NULL',
    133         'lien' => 'varchar(3) NOT NULL'
    134         );
    135 
    136 $sitra_images_key = array(
    137         'PRIMARY KEY' => 'id_sitra, num_image',
    138         );
    139 
    140 $sitra_images_join = array(
     128// Table SITRA_DOCS
     129$sitra_docs_field = array(
     130        'id_sitra' => 'varchar(32) NOT NULL',
     131        'num_doc' => 'integer NOT NULL',
     132        'url_doc' => 'varchar(255) NOT NULL',
     133        'type_doc' => 'varchar(12) NOT NULL',
     134        'lien' => 'varchar(3) NOT NULL',
     135        'extension' => 'varchar(10) NOT NULL'
     136        );
     137
     138$sitra_docs_key = array(
     139        'PRIMARY KEY' => 'id_sitra, num_doc',
     140        );
     141
     142$sitra_docs_join = array(
    141143        'id_sitra' => 'id_sitra',
    142         'num_image' => 'num_image'
    143         );
    144 
    145 $tables_principales['spip_sitra_images'] = array(
    146         'field' => &$sitra_images_field,
    147         'key' => &$sitra_images_key,
    148         'join' => &$sitra_images_join
     144        'num_doc' => 'num_doc'
     145        );
     146
     147$tables_principales['spip_sitra_docs'] = array(
     148        'field' => &$sitra_docs_field,
     149        'key' => &$sitra_docs_key,
     150        'join' => &$sitra_docs_join
    149151);
    150152
    151153// Table SITRA_IMAGES_DETAILS
    152 $sitra_images_details_field = array(
    153         'id_sitra' => 'varchar(32) NOT NULL',
    154         'num_image' => 'integer NOT NULL',
     154$sitra_docs_details_field = array(
     155        'id_sitra' => 'varchar(32) NOT NULL',
     156        'num_doc' => 'integer NOT NULL',
    155157        'lang' => 'varchar(3) NOT NULL',
    156158        'titre' => 'text NOT NULL',
     
    159161        );
    160162
    161 $sitra_images_details_key = array(
    162         'PRIMARY KEY' => 'id_sitra, num_image, lang',
    163         );
    164 
    165 $sitra_images_details_join = array(
     163$sitra_docs_details_key = array(
     164        'PRIMARY KEY' => 'id_sitra, num_doc, lang',
     165        );
     166
     167$sitra_docs_details_join = array(
    166168        'id_sitra' => 'id_sitra',
    167         'num_image' => 'num_image'
    168         );
    169 
    170 $tables_principales['spip_sitra_images_details'] = array(
    171         'field' => &$sitra_images_details_field,
    172         'key' => &$sitra_images_details_key,
    173         'join' => &$sitra_images_details_join
     169        'num_doc' => 'num_doc'
     170        );
     171
     172$tables_principales['spip_sitra_docs_details'] = array(
     173        'field' => &$sitra_docs_details_field,
     174        'key' => &$sitra_docs_details_key,
     175        'join' => &$sitra_docs_details_join
    174176);
    175177
     
    205207        $interface['table_des_tables']['sitra_categories'] = 'sitra_categories';
    206208        $interface['table_des_tables']['sitra_selections'] = 'sitra_selections';
    207         $interface['table_des_tables']['sitra_images'] = 'sitra_images';
    208         $interface['table_des_tables']['sitra_images_details'] = 'sitra_images_details';
     209        $interface['table_des_tables']['sitra_docs'] = 'sitra_docs';
     210        $interface['table_des_tables']['sitra_docs_details'] = 'sitra_docs_details';
    209211        $interface['table_des_tables']['sitra_criteres'] = 'sitra_criteres';
    210212       
     
    213215        $interface['tables_jointures']['spip_sitra_objets'][]= 'sitra_selections';
    214216        $interface['tables_jointures']['spip_sitra_objets'][]= 'sitra_objets_details';
    215         $interface['tables_jointures']['spip_sitra_objets'][]= 'sitra_images';
     217        $interface['tables_jointures']['spip_sitra_objets'][]= 'sitra_docs';
    216218        $interface['tables_jointures']['spip_sitra_objets'][]= 'sitra_criteres';
    217219       
     
    220222        $interface['tables_jointures']['spip_sitra_criteres'][] = 'sitra_objets';
    221223       
    222         $interface['tables_jointures']['spip_sitra_images'][] = 'sitra_images_details';
    223         $interface['tables_jointures']['spip_sitra_images_details'][] = 'sitra_images';
     224        $interface['tables_jointures']['spip_sitra_docs'][] = 'sitra_docs_details';
     225        $interface['tables_jointures']['spip_sitra_docs_details'][] = 'sitra_docs';
    224226       
    225227        // les dates   
  • _plugins_/sitra_exports/trunk/inc/un_objet.html

    r51857 r52236  
    2323        <li><:sitra:obj_classement_code:> : #CLASSEMENT_CODE</li>
    2424        <li><:sitra:obj_classement:> : #CLASSEMENT</li>
     25        <li><:sitra:obj_reservation_url:> : [(#RESERVATION_URL|sitra_expand_liste)]</li>
    2526</ul>
    2627</dd>
    2728<B_b><dd style="overflow: hidden">
    28 <BOUCLE_b (SITRA_IMAGES){id_sitra}{par type_image}>
     29<BOUCLE_b (SITRA_DOCS){id_sitra}{par type_doc}>
    2930        [<dl class="spip_documents spip_documents_left" style="float: left; width: 120px;">
    30         <dt>(#URL_IMAGE|url_image_sitra{#LIEN,'../'}|image_reduire{120,120}|sinon{#URL_IMAGE - #LIEN})</dt>
    31         [<dt>(#TYPE_IMAGE) - #TITRE</dt>]
     31        <dt>(#URL_DOC|url_doc_sitra{#LIEN,'../'}|image_reduire{120,120}|sinon{#URL_DOC - #LIEN})</dt>
     32        [<dt>(#TYPE_DOC)</dt>]
    3233        </dl>]
    3334</BOUCLE_b>
  • _plugins_/sitra_exports/trunk/inclure/sitra_maj_objets.php

    r51926 r52236  
    6060                        'classement_orga' => '',
    6161                        'classement_code' => '',
    62                         'classement' => ''
     62                        'classement' => '',
     63                        'reservation_url' => ''
    6364                );
    6465               
     
    153154               
    154155                // Images et logo
    155                 $images = array();
    156                 $images_details = array();
     156                $docs = array();
     157                $docs_details = array();
    157158               
    158159                // tjs le problème des clés qui doivent être des alphanum
    159                 $types_images = array(
     160                $types_docs = array(
    160161                        'i_03.01.05' => 'principale',
    161162                        'i_03.01.01' => 'secondaire',
     
    166167                        $i = 0;
    167168                        foreach ($oi -> Multimedia -> DetailMultimedia as $val){
    168                                 if (array_key_exists('i_'.$val['type'],$types_images)){
     169                                if (array_key_exists('i_'.$val['type'],$types_docs)){
    169170                                        if ($premiere_langue){
    170                                                 $images[$i]['id_sitra'] = $id_sitra;
    171                                                 $images[$i]['num_image'] = $i;
    172                                                 $images[$i]['type_image'] = $types_images['i_'.$val['type']];
    173                                                 $images[$i]['url_image'] = $val -> URL;
     171                                                $docs[$i]['id_sitra'] = $id_sitra;
     172                                                $docs[$i]['num_doc'] = $i;
     173                                                $docs[$i]['type_doc'] = $types_docs['i_'.$val['type']];
     174                                                $docs[$i]['url_doc'] = $val -> URL;
    174175                                                // seules les images principales sont importées eventuellement
    175                                                 if ($images[$i]['type_image'] != 'principale')
    176                                                         $images[$i]['lien'] = 'O';
     176                                                if ($docs[$i]['type_doc'] != 'principale')
     177                                                        $docs[$i]['lien'] = 'O';
    177178                                                else
    178                                                         $images[$i]['lien'] = $val['lien'];
     179                                                        $docs[$i]['lien'] = $val['lien'];
     180                                                $extension = substr(strrchr($val -> URL,'.'),1);
     181                                                $docs[$i]['extension'] = strtolower($extension);
    179182                                        } // fin if premiere_langue
    180                                         $images_details[$i]['id_sitra'] = $id_sitra;
    181                                         $images_details[$i]['num_image'] = $i;
    182                                         $images_details[$i]['lang'] = $langue;
    183                                         $images_details[$i]['titre'] = $val -> Nom;
    184                                         $images_details[$i]['descriptif'] = $val -> LegendeRessource;
    185                                         $images_details[$i]['copyright'] = $val -> Copyright;
     183                                        $docs_details[$i]['id_sitra'] = $id_sitra;
     184                                        $docs_details[$i]['num_doc'] = $i;
     185                                        $docs_details[$i]['lang'] = $langue;
     186                                        $docs_details[$i]['titre'] = $val -> Nom;
     187                                        $docs_details[$i]['descriptif'] = $val -> LegendeRessource;
     188                                        $docs_details[$i]['copyright'] = $val -> Copyright;
    186189                                        $i++;
    187190                                } // fin if
     
    289292                        }
    290293                }
     294               
     295                // reservation
     296                if ($oi -> ModesReservations -> DetailModeReservation -> Contacts and $premiere_langue){
     297                        $reservation_url = array();
     298                        foreach($oi -> ModesReservations -> DetailModeReservation -> Contacts -> DetailContact -> Adresses -> DetailAdresse -> Personnes -> DetailPersonne -> MoyensCommunications -> DetailMoyenCom as $val){
     299                                if ($val['type'] == '04.02.05')
     300                                        ajoute_si_present($reservation_url, $val -> Coord);
     301                        }
     302                        $objet['reservation_url'] = serialize_non_vide($reservation_url);
     303                } // fin resa
    291304
    292305                // controle des valeurs de $obj
     
    295308                        sitra_debug('objet_details',$objet_details);
    296309                        sitra_debug('categories',$categories);
    297                         sitra_debug('images',$images);
    298                         sitra_debug('images_details',$images_details);
     310                        sitra_debug('docs',$docs);
     311                        sitra_debug('docs_details',$docs_details);
    299312                        sitra_debug('criteres',$criteres);
    300313                }
     
    326339                                sql_insertq_multi('spip_sitra_criteres', $criteres);
    327340                       
    328                         // images
    329                         sql_delete('spip_sitra_images', $where);
    330                         if (count($images))
    331                                 sql_insertq_multi('spip_sitra_images',$images);
     341                        // docs
     342                        sql_delete('spip_sitra_docs', $where);
     343                        if (count($docs))
     344                                sql_insertq_multi('spip_sitra_docs',$docs);
    332345                       
    333346                        // on supprime toutes les données dans les tables annexes qqsoit la langue
    334                         sql_delete('spip_sitra_images_details', $where);
     347                        sql_delete('spip_sitra_docs_details', $where);
    335348                        sql_delete('spip_sitra_objets_details', $where);
    336349                } // fin if premiere_langue
     
    339352                        $r = sql_insertq('spip_sitra_objets_details',$objet_details);
    340353               
    341                 // les details images
    342                 if (count($images_details))
    343                         $r = sql_insertq_multi('spip_sitra_images_details',$images_details);
     354                // les details docs
     355                if (count($docs_details))
     356                        $r = sql_insertq_multi('spip_sitra_docs_details',$docs_details);
    344357               
    345358                if (SITRA_DEBUG) echo '//////';
  • _plugins_/sitra_exports/trunk/inclure/sitra_suppr_objets.php

    r51291 r52236  
    3333
    3434                message('Traitement objet : '.$id_sitra);
    35                 // suppression des images eventuelles (image principale et secondaires et logo)
    36                 $images = sql_allfetsel(array('url_image','lien'),'spip_sitra_images',$where);
    37                 foreach($images as $image) {
    38                         switch ($image['lien']) {
     35                // suppression des docs eventuels (image principale et secondaires et logo)
     36                $docs = sql_allfetsel(array('url_doc','lien'),'spip_sitra_docs',$where);
     37                foreach($docs as $doc) {
     38                        switch ($doc['lien']) {
    3939                                // image importée dans le zip stockée en local
    4040                                case 'N':
    41                                         $url_img = url_image_locale($image['url_image']);
    42                                         suppr_image($url_img);
     41                                        $url_img = url_image_locale($doc['url_doc']);
     42                                        suppr_doc($url_img);
    4343                                break;
    44                                 // image obtenue par copie distante
     44                                // doc obtenu par copie distante
    4545                                case 'O':
    46                                         $url_img = copie_locale($image['url_image'],'test');
    47                                         suppr_image($url_img);
     46                                        $url_doc = copie_locale($doc['url_doc'],'test');
     47                                        suppr_doc($url_doc);
    4848                                break;
    4949                        } // fin switch
     
    5454                sql_delete('spip_sitra_objets_details', $where);
    5555                sql_delete('spip_sitra_categories', $where);
    56                 sql_delete('spip_sitra_images', $where);
    57                 sql_delete('spip_sitra_images_details', $where);
     56                sql_delete('spip_sitra_docs', $where);
     57                sql_delete('spip_sitra_docs_details', $where);
    5858                sql_delete('spip_sitra_selections', $where);
    5959                sql_delete('spip_sitra_criteres', $where);
  • _plugins_/sitra_exports/trunk/inclure/sitra_utils_maj.php

    r51291 r52236  
    8787}
    8888
    89 // supprime une image d'un repertoire
    90 function suppr_image($url_img = ''){
    91         if ($url_img){
    92                 if (unlink($url_img)) {
    93                         message('Suppression image :'.$url_img);
     89// supprime un doc d'un repertoire
     90function suppr_doc($url_doc = ''){
     91        if ($url_doc){
     92                if (unlink($url_doc)) {
     93                        message('Suppression document :'.$url_doc);
    9494                } else {
    95                         message('Probleme suppression image :'.$url_img, 'erreur');
     95                        message('Probleme suppression document :'.$url_doc, 'erreur');
    9696                }
    9797        }
  • _plugins_/sitra_exports/trunk/lang/sitra_fr.php

    r51857 r52236  
    8080'obj_longitude' => 'Longitude',
    8181'obj_n_insee' => 'N° insee',
     82'obj_reservation_url' => 'Url réservation',
    8283'obj_tel_fax' => 'Téléphone-Fax',
    8384'obj_telephone' => 'Téléphone',
  • _plugins_/sitra_exports/trunk/plugin.xml

    r51937 r52236  
    22        <nom>Sitra Exports</nom>
    33        <auteur>Dominique Wojylac - [Sivu Inforoutes de l'Ard&#232;che->http://www.inforoutes.fr]</auteur>
    4         <version>0.8.3</version>
     4        <version>0.8.5</version>
    55        <etat>test</etat>
    66        <description>R&#233;cup&#233;ration et mise en base des exports SITRA, gestion des exports multilingues en un seul fichier compress&#233;s ou non. Importation des images principales, r&#233;cup&#233;ration des images distantes (principales, secondaires ou logos). R&#233;cup&#233;ration des s&#233;lections SITRA, des cat&#233;gories et sous-cat&#233;gories des objets, des crit&#232;res internes affect&#233;s.</description>
  • _plugins_/sitra_exports/trunk/sitra_fonctions.php

    r51654 r52236  
    1919
    2020/**
    21 Pour les images distantes
     21Pour les docs distants
    2222teste si une copie locale existe sinon la force
    2323retourne l'url de la copie locale
    2424**/
    25 function url_image_distante($url=''){
     25function url_doc_distant($url=''){
    2626        if (!$url) return;
    2727        $result = copie_locale($url,'test');
     
    3333/**
    3434copie locale ou distante en fonction du type image distante (O ou N)
    35 $chemin a utiliser pour la partie privée
    36 **/
    37 function url_image_sitra($url='', $lien='', $chemin=''){
     35$chemin a utiliser pour affichage dans la partie privée
     36**/
     37function url_doc_sitra($url='', $lien='', $chemin=''){
    3838        switch ($lien){
    3939                // image importée par zip sitra
    4040                case 'N': return url_image_locale($url,$chemin); break;
    41                 // image distante
    42                 case 'O': return $chemin.url_image_distante($url); break;
     41                // doc distant
     42                case 'O': return $chemin.url_doc_distant($url); break;
    4343                default : return; break;
    4444        }
  • _plugins_/sitra_exports/trunk/sitra_installations.php

    r51291 r52236  
    1818        sql_drop_table('spip_sitra_objets_details',true);
    1919        sql_drop_table('spip_sitra_categories',true);
    20         sql_drop_table('spip_sitra_images',true);
    21         sql_drop_table('spip_sitra_images_details',true);
     20        sql_drop_table('spip_sitra_docs',true);
     21        sql_drop_table('spip_sitra_docs_details',true);
    2222        sql_drop_table('spip_sitra_selections',true);
    2323        sql_drop_table('spip_sitra_criteres',true);
  • _plugins_/sitra_exports/trunk/test/sitra_test.html

    r51346 r52236  
    88        [<li>telephone : (#TELEPHONE|sitra_expand_telephone)</li>]
    99        [<li>web : (#WEB|sitra_expand_web)</li>]
    10         <BOUCLE_b (SITRA_IMAGES){id_sitra}{type_image=principale}>
    11                 <BOUCLE_c (SITRA_IMAGES_DETAILS){id_sitra}{num_image}{lang}>
    12                         [<li>(#URL_IMAGE|url_image_sitra{#LIEN}|url_absolue|image_reduire{150,150})</li>]
     10        <BOUCLE_b (SITRA_DOCS){id_sitra}{type_doc=principale}>
     11                <BOUCLE_c (SITRA_DOCS_DETAILS){id_sitra}{num_doc}{lang}>
     12                        [<li>(#URL_DOC|url_doc_sitra{#LIEN}|url_absolue|image_reduire{150,150})</li>]
    1313                        [<li>(#TITRE)</li>]
    1414                        [<li>(#DESCRIPTIF)</li>]
Note: See TracChangeset for help on using the changeset viewer.