Changeset 29192 in spip-zone


Ignore:
Timestamp:
Jun 15, 2009, 8:08:09 PM (11 years ago)
Author:
cedric@…
Message:

gestion de la rotation des images, debut d'implementation du portfolio

Location:
_plugins_/gestion_documents
Files:
9 added
10 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/gestion_documents/action/ajouter_documents.php

    r29055 r29192  
    160160        document_set($id_document,$champs);
    161161
     162        // permettre aux plugins de faire des modifs a l'ajout initial
     163        // ex EXIF qui tourne les images si necessaire
     164        pipeline('post_edition',
     165                array(
     166                        'args' => array(
     167                                'table' => 'spip_documents', // compatibilite
     168                                'table_objet' => 'documents',
     169                                'spip_table_objet' => 'spip_documents',
     170                                'type' =>'document',
     171                                'id_objet' => $id_document,
     172                                'champs' => array_keys($champs),
     173                                'serveur' => '', // serveur par defaut, on ne sait pas faire mieux pour le moment
     174                                'action' => 'ajouter_document',
     175                                'operation' => 'ajouter_document', // compat <= v2.0
     176                        ),
     177                        'data' => $champs
     178                )
     179        );
     180
    162181        return $id_document ;
    163182}
  • _plugins_/gestion_documents/formulaires/editer_document.html

    r29055 r29192  
    2323                                </div>
    2424            </li>]
    25                 <li>
     25                <li class="editer_apercu">
    2626                        <label><:gestdoc:label_apercu:></label>
    27                         [(#ENV{apercu}|oui)[<a href='#ENV{apercu}'>(#ENV{apercu}|image_reduire{300,200})</a>]]
     27                        [(#ENV{apercu}|oui)
     28                                <div class="tourner">
     29                                        <input class="image" type="image" name="tournerL90" src="#CHEMIN{img_pack/tourner-gauche.gif}" alt="<:gestdoc:tourner_90L:>" />
     30                                        <input class="image" type="image" name="tournerR90" src="#CHEMIN{img_pack/tourner-droite.gif}" alt="<:gestdoc:tourner_90R:>" />
     31                                        <input class="image" type="image" name="tourner180" src="#CHEMIN{img_pack/tourner-180.gif}" alt="<:gestdoc:tourner_180:>" />
     32                                </div>
     33                                [<a href='#ENV{apercu}'>(#ENV{apercu}|image_reduire{300,200})</a>]
     34                                ]
    2835                        [(#ENV{apercu}|non)[(#MODELE{doc,id_document=#ENV{id_document,''},hauteur=200,largeur=300}|extraire_balise{a})]]
    2936                </li>
    30                 <li>
     37                <li class="editer_infos">
    3138                        <label><:gestdoc:label_caracteristiques:></label>
    3239                        [<span class='type'>(#ENV{type_document}) - </span>]
  • _plugins_/gestion_documents/formulaires/editer_document.php

    r29055 r29192  
    113113        if (is_null(_request('parents')))
    114114                set_request('parents',array());
    115        
     115
    116116        // verifier les infos de taille et dimensions sur les fichiers locaux
    117117        // cas des maj de fichier directes par ftp
     
    142142                }
    143143        }
     144        else{
     145                // regarder si une demande de rotation a eu lieu
     146                // c'est un bouton image, dont on a pas toujours le name en request, on fait avec
     147                $angle = 0;
     148                if (_request('tournerL90') OR _request('tournerL90_x'))
     149                        $angle = -90;
     150                if (_request('tournerR90') OR _request('tournerR90_x'))
     151                        $angle = 90;
     152                if (_request('tourner180') OR _request('tourner180_x'))
     153                        $angle = 180;
     154                if ($angle){
     155                        $tourner = charger_fonction('tourner','action');
     156                        action_tourner_post($id_document,$angle);
     157                }
     158        }
    144159
    145160        if (!isset($res['redirect']))
  • _plugins_/gestion_documents/formulaires/inc-colonne_documents.html

    r29053 r29192  
    1515        jQuery('a.editbox:not(.nobox)')
    1616        .attr("onclick","").addClass('nobox').click(function(){
    17                 var li = jQuery(this).parents('li').eq(0);
    18                 jQuery(li).animeajax();
     17                var casedoc = jQuery(this).parents('div.document').eq(0);
     18                jQuery(casedoc).animeajax();
    1919                jQuery.modalboxload(jQuery(this).attr('href'),{
    2020                        maxWidth: 500,
    2121                        minHeight: 600,
    22                         onClose: function (dialog) {var a = jQuery(li).find('a.refresh');if (a.length) a.click();}
     22                        onClose: function (dialog) {var a = jQuery(casedoc).find('a.refresh');if (a.length) a.click();}
    2323                });
    2424                return false;
  • _plugins_/gestion_documents/formulaires/joindre_document.html

    r29053 r29192  
     1[(#ENV{editable})
    12<div class='formulaire_spip formulaire_joindre formulaire_joindre_document' id='formulaire_joindre_document-#ENV{id,new}'>
    23        [(#ENV{mode}|=={image}|oui)
     
    1819        </div></form>
    1920
    20 </div>
    21 [(#ENV{_colonne,''})
    22                 [(#INCLURE{fond=formulaires/inc-colonne_documents}{env}{ajax})]
     21</div>]
     22[(#ENV{_galerie,''})
     23                [(#INCLURE{fond=#ENV{_galerie}}{env}{ajax})]
    2324]
  • _plugins_/gestion_documents/formulaires/joindre_document.php

    r29055 r29192  
    2727
    2828
    29 function formulaires_joindre_document_charger_dist($id_document='new',$id_objet=0,$objet='',$mode = 'auto',$colonne = false){
     29function formulaires_joindre_document_charger_dist($id_document='new',$id_objet=0,$objet='',$mode = 'auto',$galerie = false){
    3030        $valeurs = array();
    3131        $mode = joindre_determiner_mode($mode,$id_document,$objet);
     
    4444        $valeurs['joindre_ftp']='';
    4545        $valeurs['joindre_mediatheque']='';
    46        
     46
     47        $valeurs['editable'] = ' ';
     48        if (intval($id_document)){
     49                $valeurs['editable'] = autoriser('modifier','document',$id_document)?' ':'';
     50        }
     51
    4752        # regarder si un choix d'upload FTP est possible
    4853        if (
     
    6368        }
    6469
    65         if ($colonne){
    66                 # colonne documents ?
     70        if ($galerie){
     71                # colonne documents ou portfolio ?
    6772                $valeurs['id_objet'] = $id_objet;
    6873                $valeurs['objet'] = $objet;
    69                 $valeurs['_colonne'] = ' ';
     74                $valeurs['_galerie'] = $galerie;
    7075                $valeurs['id_joindre'] = '';
    71         }
    72 
     76                if ($valeurs['editable']){
     77                        $valeurs['editable'] = autoriser('modifier',$objet,$id_objet)?' ':'';
     78                }
     79        }
    7380       
    7481        return $valeurs;
     
    7683
    7784
    78 function formulaires_joindre_document_verifier_dist($id_document='new',$id_objet=0,$objet='',$mode = 'auto'){
     85function formulaires_joindre_document_verifier_dist($id_document='new',$id_objet=0,$objet='',$mode = 'auto',$galerie = false){
    7986        include_spip('inc/joindre_document');
    8087       
     
    128135
    129136
    130 function formulaires_joindre_document_traiter_dist($id_document='new',$id_objet=0,$objet='',$mode = 'auto'){
     137function formulaires_joindre_document_traiter_dist($id_document='new',$id_objet=0,$objet='',$mode = 'auto',$galerie = false){
    131138        $res = array('editable'=>true);
    132139        // on joint un document deja dans le site
  • _plugins_/gestion_documents/modeles/document_case.html

    r29053 r29192  
    1515                </h3>
    1616                <div class="infos">
     17                        [(#EXTENSION|match{gif|png|jpg}|oui) #SET{id,#ID_VIGNETTE|?{#ID_VIGNETTE,#ID_DOCUMENT}}
     18                        <div class="tourner">
     19                                [(#BOUTON_ACTION{<:gestdoc:tourner_90L:>,#URL_ACTION_AUTEUR{tourner,#GET{id}|concat{',-90'},#SELF},ajax,#CHEMIN{img_pack/tourner-gauche.gif}})]
     20                                [(#BOUTON_ACTION{<:gestdoc:tourner_90R:>,#URL_ACTION_AUTEUR{tourner,#GET{id}|concat{',90'},#SELF},ajax,#CHEMIN{img_pack/tourner-droite.gif}})]
     21                                [(#BOUTON_ACTION{<:gestdoc:tourner_180:>,#URL_ACTION_AUTEUR{tourner,#GET{id}|concat{',180'},#SELF},ajax,#CHEMIN{img_pack/tourner-180.gif}})]
     22                        </div>]
    1723                        [(#LOGO_DOCUMENT|#URL_DOCUMENT)]
    1824                        <BOUCLE_type_doc(TYPES_DOCUMENTS){extension}>
  • _plugins_/gestion_documents/prive/editer/colonne_document.html

    r29017 r29192  
    11<div class='ajax'>
    2 #FORMULAIRE_JOINDRE_DOCUMENT{new,#ENV{id_objet},#ENV{objet},'auto','colonne'}
     2#FORMULAIRE_JOINDRE_DOCUMENT{new,#ENV{id_objet},#ENV{objet},'auto','formulaires/inc-colonne_documents'}
    33</div>
  • _plugins_/gestion_documents/prive/inc-galerie.html

    r29052 r29192  
    8484        <BOUCLE_galerie(DOCUMENTS) {id_rubrique ?}{id_article ?}{id_breve ?}{id_document ?}{recherche ?} {tri id_document,inverse}{media?}{extension?}{distant?}{brise?}{statut==#ENV{statut,.*}}{orphelins?}{pagination 10}>
    8585        <tr class="[(#ENV{media}|non)[ media-(#MEDIA)]]">
    86                 #SET{logo,#LOGO_DOCUMENT{apercu,250,100}}
     86                <td class='infos'>
    8787                [(#DISTANT|=={oui}|non)#SET{missing,#FICHIER|file_exists|non}]
    88                 <td class='infos'>
    8988                [(#ENV{media}|non|et{#MEDIA|!={file}})[(#CHEMIN{images/media-#MEDIA|concat{-32.png}}|tag_img|inserer_attribut{alt,#VAL{gestdoc:media_#MEDIA}|_T}|inserer_attribut{title,#VAL{gestdoc:media_#MEDIA}|_T})]]
    9089                [(#GET{missing}|oui)<img src='#CHEMIN{images/document-manquant-24.png}' width='22' height='22' alt='<:gestdoc:fichier_manquant:>' />]
     
    9897                </td>
    9998                <td class="logo">
    100                 [<a href="#URL_DOCUMENT" type="#MIME_TYPE"[ title="(#FICHIER)"]>(#GET{logo}||inserer_attribut{alt,[(#TITRE|couper{60}|texte_backend)]})</a>]
     99                #SET{fichier,#DISTANT|=={oui}|?{#FICHIER,#FICHIER|basename}}
     100                [<a href="#URL_DOCUMENT" type="#MIME_TYPE"[ title="(#GET{fichier})"]>(#LOGO_DOCUMENT{apercu,250,100}||inserer_attribut{alt,[(#TITRE|couper{60}|texte_backend)]})</a>]
     101                <div class="fichier">#GET{fichier}</div>
    101102                </td>
    102103                <td class="exif">
     
    123124                </td>
    124125                <td>
     126                [(#REM) Utilisation de la galerie en mode portfolio, avec renvoi vers l'edition]
    125127                [(#GET{editable})
    126128                [(#AUTORISER{modifier,document,#ID_DOCUMENT})&#91;<a href='#URL_ECRIRE{documents_edit,id_document=#ID_DOCUMENT}'><:bouton_modifier:></a>&#93;]
    127129                [<span class='supprimer'>(#GET{supprimer}|et{#AUTORISER{supprimer,document,#ID_DOCUMENT}})[(#BOUTON_ACTION{<:gestdoc:bouton_supprimer:>,#URL_ACTION_AUTEUR{supprimer_document,#ID_DOCUMENT,#SELF},ajax})]</span>]
    128130                ]
     131                [(#REM) Utilisation de la galerie en mode selecteur, avec un bouton choix qui appelle une fonction js passee en argument]
    129132                [<span class="choisir"><a href="#" onclick="(#ENV{selectfunc,''})([(#ID_DOCUMENT)]);return false;"><:bouton_choisir:></a></span>]
    130133                </td>
  • _plugins_/gestion_documents/prive/style_prive_plugin_gestdoc.html

    r29053 r29192  
    2626
    2727.formulaire_editer_document .taille_modifiee {display:block;color: red;}
     28
     29.formulaire_editer_document .editer_apercu .tourner {display:block;float:#GET{right};}
     30.formulaire_editer_document .editer_apercu .tourner input.image {padding:5px;border:1px solid #eee;}
    2831
    2932.formulaire_joindre_document .sourceup {padding:0 5px;}
     
    7174.galerie table td.logo { width: 250px; overflow: hidden; }
    7275.galerie table td.logo img { /*border: 1px solid #666;*/ }
     76.galerie table .fichier {font-size:0.8em;width:250px;overflow:hidden;font-style:italic;}
     77
    7378.galerie table td.exif { width: 140px;  }
    7479.galerie table td.exif small { display: inline; }
     
    115120#documents_joints .item .actions {display:block;text-align:right;font-size:x-small;}
    116121
     122#documents_joints .item .tourner {display:block;float:#GET{right};}
     123#documents_joints .item .tourner input.image {padding:3px;border:1px solid #eee;display:block;}
     124
     125
    117126[(#INCLURE{fond=modalbox/style_prive_plugin_modalbox}{env})]
    118127[(#REM)</style>]
Note: See TracChangeset for help on using the changeset viewer.