Changeset 61611 in spip-zone


Ignore:
Timestamp:
May 23, 2012, 8:40:39 PM (7 years ago)
Author:
kent1@…
Message:

On commence à gérer également les vignettes de documents en partant de l'image de départ

Location:
_plugins_/photospip/trunk
Files:
9 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/photospip/trunk/exec/image_edit.php

    r61506 r61611  
    1717function exec_image_edit_dist()
    1818{
    19         exec_image_edit_args(intval(_request('id_document')),_request('parent'),_request('new'));
     19        exec_image_edit_args(intval(_request('id_document')),_request('mode'));
    2020}
    2121
    2222/**
    2323 * Edition d'une image
    24  * parent est de la forme id_objet|objet (ex : 123|article)
    2524 *
    2625 * @param int $id_document
    27  * @param string $parent
    28  * @param string $new
     26 * @param string $mode
    2927 */
    30 function exec_image_edit_args($id_document, $parent, $new){
     28function exec_image_edit_args($id_document, $mode){
    3129
    3230        $row = false;
    33         if (!( ($new!='oui' AND (!autoriser('voir','document',$id_document) OR !autoriser('modifier','document', $id_document))))) {
    34                 $row = sql_fetsel("*", "spip_documents", "id_document=$id_document");
     31        if (!( (!autoriser('voir','document',$id_document) OR !autoriser('modifier','document', $id_document)))) {
     32                $row = sql_fetsel("*", "spip_documents", "id_document=".intval($id_document));
    3533        }
    3634        if (!$row) {
     
    3937        }
    4038        else
    41                 image_edit_ok($row, $id_document, $parent, $new);
     39                image_edit_ok($row, $id_document, $mode);
    4240}
    4341
    44 function image_edit_ok($row, $id_document, $parent, $new)
     42function image_edit_ok($row, $id_document, $mode)
    4543{
    4644
     
    4846                $contexte = array(
    4947                'redirect'=>'',//generer_url_ecrire("portfolio"),
    50                 'new'=>$new == "oui"?$new:$id_document,
    51                 'parent'=>$parent,
     48                'new'=>$id_document,
     49                'mode'=>$mode,
    5250                'config_fonc'=>'image_edit_config',
    5351                'fichier'=>$row['fichier']
     
    6664        }
    6765
    68         if ($new != 'oui') {
    69                 $id_document=$row['id_document'];
    70                 $titre=$row['titre']?$row['titre']:basename($row['fichier']);
    71                 $statut=$row['statut'];
    72         }
    73         else {
    74                 $titre = "";
    75                 $statut = "prop";
    76         }
     66       
     67        $id_document=$row['id_document'];
     68        $titre=$row['titre']?$row['titre']:basename($row['fichier']);
     69        $statut=$row['statut'];
    7770
    7871        $commencer_page = charger_fonction('commencer_page', 'inc');
     
    9285        echo debut_boite_info(true). $boite . fin_boite_info(true);
    9386       
    94         echo recuperer_fond("prive/navigation/image_edit",array('id_document'=>$id_document));
    95         echo pipeline('affiche_gauche',array('args'=>array('exec'=>'image_edit','id_document'=>$id_document),'data'=>''));
     87        echo recuperer_fond("prive/navigation/image_edit",array('id_document'=>$id_document,'mode'=>$mode));
     88        echo pipeline('affiche_gauche',array('args'=>array('exec'=>'image_edit','id_document'=>$id_document,'mode'=>$mode),'data'=>''));
    9689        echo creer_colonne_droite('', true);
    97         echo pipeline('affiche_droite',array('args'=>array('exec'=>'image_edit','id_document'=>$id_document),'data'=>''));
     90        echo pipeline('affiche_droite',array('args'=>array('exec'=>'image_edit','id_document'=>$id_document,'mode'=>$mode),'data'=>''));
    9891        echo debut_droite('', true);
    9992
    10093        $redirect = _request('redirect') ? _request('redirect') : generer_url_ecrire("portfolio");
    10194        $contexte = array(
    102         'icone_retour'=>$new=='oui'?'':icone_inline(_T('icone_retour'),$redirect, find_in_path("images/document-24.png"), "rien.gif",$GLOBALS['spip_lang_left']),
     95        'icone_retour'=>icone_inline(_T('icone_retour'),$redirect, find_in_path("images/document-24.png"), "rien.gif",$GLOBALS['spip_lang_left']),
    10396        'redirect'=>_request('redirect',''),//generer_url_ecrire("portfolio"),
    10497        'titre'=>$titre,
    105         'new'=>$new == "oui"?$new:$id_document,
    106         'parent'=>$parent,
     98        'new'=>$id_document,
     99        'mode'=>$mode,
    107100        'config_fonc'=>'image_edit_config'
    108101        );
    109102
    110103        $milieu = recuperer_fond("prive/editer/image", $contexte);
    111         echo pipeline('affiche_milieu',array('args'=>array('exec'=>'image_edit','id_document'=>$id_document),'data'=>$milieu));
     104        echo pipeline('affiche_milieu',array('args'=>array('exec'=>'image_edit','id_document'=>$id_document,'mode'=>$mode),'data'=>$milieu));
    112105
    113106        echo fin_gauche(), fin_page();
  • _plugins_/photospip/trunk/formulaires/editer_image.html

    r61602 r61611  
    6464                                        </ul>
    6565                                </li>]
    66                                 <BOUCLE_resultats_sup_un(CONDITION){si #CONFIG{photospip/resultats,#ARRAY{0,remplacer_image,1,creer_nouvelle_image,2,creer_version_image}}|count|>{1}|oui}>
     66                                <BOUCLE_resultats_sup_un(CONDITION){si #ENV{mode}|!={vignette}|et{#CONFIG{photospip/resultats,#ARRAY{0,remplacer_image,1,creer_nouvelle_image,2,creer_version_image}}|count|>{1}}|oui}>
    6767                                <li>
    6868                                        <label><:photospip:label_type_modification:></label>
  • _plugins_/photospip/trunk/formulaires/editer_image.php

    r61602 r61611  
    99include_spip('photospip_fonctions');
    1010
    11 function formulaires_editer_image_charger_dist($id_document='new', $retour=''){
     11function formulaires_editer_image_charger_dist($id_document='new',$mode=false, $retour=''){
    1212        $valeurs = array();
    1313        $id_document = sql_getfetsel('id_document','spip_documents','id_document='.intval($id_document));
    1414        $valeurs['id_document'] = $id_document;
    15 
     15        $valeurs['mode'] = $mode;
     16       
    1617        if(!$id_document){
    1718                $valeurs['editable'] = false;
    1819                $valeurs['message_erreur'] = _T('phpotospip:erreur_doc_numero');
    19                 return $valeurs;
    20         }
    21        
    22         $limite = lire_config('photospip/limite_version',1000000);
    23         $nb_versions = sql_countsel('spip_documents_inters','id_document='.intval($id_document));
    24         if($nb_versions >= $limite){
    25                 $valeurs['modifiable'] = false;
    26                 $valeurs['message_erreur'] = _T('phpotospip:erreur_nb_versions_atteint',array('nb'=>$limite));
    2720                return $valeurs;
    2821        }
     
    5649       
    5750        $valeurs['largeur_previsu'] = test_espace_prive()? 548 : lire_config('photospip/largeur_previsu','450');
    58        
    59         $resultats = lire_config('photospip/resultats',array('remplacer_image','creer_nouvelle_image','creer_version_image'));
    60         if(count($resultats) == 1){
    61                 $valeurs['_hidden'] .= '<input type="hidden" name="type_modification" value="'.$resultats[0].'" />';
     51        if($mode != 'vignette'){
     52                $limite = lire_config('photospip/limite_version',1000000);
     53                $nb_versions = sql_countsel('spip_documents_inters','id_document='.intval($id_document));
     54                $resultats = lire_config('photospip/resultats',array('remplacer_image','creer_nouvelle_image','creer_version_image'));
     55                if(count($resultats) == 1){
     56                        $valeurs['_hidden'] .= '<input type="hidden" name="type_modification" value="'.$resultats[0].'" />';
     57                }
     58                if($nb_versions >= $limite){
     59                        $valeurs['modifiable'] = false;
     60                        $valeurs['message_erreur'] = _T('phpotospip:erreur_nb_versions_atteint',array('nb'=>$limite));
     61                        return $valeurs;
     62                }
     63        }else{
     64                $id_vignette = sql_getfetsel('id_vignette','spip_documents','id_document='.intval($row['id_document']));
     65                if($id_vignette && $id_vignette > 0 && $id_document = sql_getfetsel('id_document','spip_documents','id_document='.intval($id_vignette)))
     66                        $valeurs['id_document'] = $id_vignette;
     67                       
    6268        }
    6369       
     
    7379}
    7480
    75 function formulaires_editer_image_verifier_dist($id_document='new', $retour=''){
     81function formulaires_editer_image_verifier_dist($id_document='new',$mode=false, $retour=''){
     82        spip_log($mode,'photospip');
    7683        if(!$var_filtre = _request('filtre'))
    7784                $erreurs['message_erreur'] = _T('photospip:erreur_form_filtre');
    78        
    79         elseif(!$type_resultat = _request('type_modification'))
     85        else if(($mode != 'vignette') && (!$type_resultat = _request('type_modification')))
    8086                $erreurs['message_erreur'] = _T('photospip:erreur_form_type_resultat');
    8187        /**
     
    103109}
    104110
    105 function formulaires_editer_image_traiter_dist($id_document='new', $retour=''){
     111function formulaires_editer_image_traiter_dist($id_document='new',$mode=false, $retour=''){
    106112        $res = array();
    107113       
     
    127133        $dest = preg_replace(",\.[^.]+$,","-photospip".md5(date('Y-m-d H:i:s'))."$0", $src_tmp);
    128134       
     135        if($mode == 'vignette'){
     136        //      spip_log("On retaille d'abord en 800 px","photospip");
     137        //      $src = extraire_attribut(image_reduire($src,800,800),'src');
     138                $res['redirect'] = _request('redirect');
     139        }else{
     140                $mode = $row['mode'];
     141        }
     142       
    129143        spip_log("application du filtre $var_filtre $src : $tmp_img","photospip");
    130        
    131144        if($var_filtre == "tourner"){
    132145                include_spip('inc/filtres');
     
    166179                $files[0]['tmp_name'] = $tmp_img;
    167180                $files[0]['name'] = basename($dest);
    168                 if($type_modif == 'remplacer_image'){
     181                if(($type_modif == 'remplacer_image') OR $mode=='vignette'){
    169182                        /**
    170183                         * Remplace l'image actuelle par une nouvelle
     
    172185                         spip_log('on remplace','photospip');
    173186                         $ajouter_document = charger_fonction('ajouter_documents','action');
    174                          $id_document = $ajouter_document($row['id_document'], $files, $objet, $id_objet, $row['mode']);
     187                         if($mode != 'vignette'){
     188                                $ajoute = $ajouter_document($row['id_document'], $files, $objet, $id_objet, $mode);
     189                         }else{
     190                                 $id_vignette = sql_getfetsel('id_vignette','spip_documents','id_document='.intval($row['id_document']));
     191                                 $ajoute = $ajouter_document($id_vignette,$files,'',0,'vignette');
     192                                        if(is_int(reset($ajoute))){
     193                                                $id_vignette = reset($ajoute);
     194                                                include_spip('action/editer_document');
     195                                                document_set($row['id_document'],array("id_vignette" => $id_vignette,'mode'=>'document'));
     196                                                $res['message_ok'] = _T('medias:document_installe_succes');
     197                                        }
     198                         }
    175199                         include_spip('inc/flock');
    176200                         spip_unlink($tmp_img);
     
    183207                         $ajouter_document = charger_fonction('ajouter_documents','action');
    184208                         $objet_lie = sql_fetsel('*','spip_documents_liens','id_document='.intval($row['id_document']));
    185                          $id_document = $ajouter_document('new', $files, $objet_lie['objet'], $objet_lie['id_objet'], $row['mode']);
     209                         $id_document = $ajouter_document('new', $files, $objet_lie['objet'], $objet_lie['id_objet'], $mode);
    186210                         spip_log($id_document,'photospip');
    187211                         $res['redirect'] = parametre_url(parametre_url(self(),'redirect',''),'id_document',$id_document[0]);
     
    196220        if (!isset($res['redirect']))
    197221                $res['redirect'] = parametre_url(self(),'redirect','');
    198         if (!isset($res['message_erreur']))
     222        if (!isset($res['message_erreur']) && !$res['message_ok'])
    199223                $res['message_ok'] = _L('Votre modification a &eacute;t&eacute; enregistr&eacute;e');
    200224        return $res;
  • _plugins_/photospip/trunk/lang/photospip_fr.php

    r61588 r61611  
    2424        'erreur_form_filtre' => 'Veuillez indiquer un filtre à appliquer.',
    2525        'erreur_form_filtre_sstest' => 'Le filtre que vous avez essayé ne permet pas d\'&ecirc;tre testé. Vous ne pouvez que l\'appliquer.',
     26        'erreur_form_type_resultat' => 'Vous devez choisir le type de résultat',
    2627        'erreur_image_process' => 'Le site n\'utilise pas GD2 pour gérer les images, veuillez l\'utiliser pour leur traitement.',
    2728        'erreur_nb_versions_atteint' => 'Le nombre de versions différentes de l\'image a été atteint (@nb@). Vous ne pouvez que tester et non appliquer les modifications.',
     
    4546        // I
    4647        'info_modifier_image' => 'Éditer l\'image',
     48        'info_modifier_vignette' => 'Modifier la vignette du document #@id_document@',
    4749       
    4850        // L
     
    98100        'legende_filtres_supplementaires' => 'Filtres supplémentaires',
    99101        'lien_editer_image' => 'Éditer cette image',
     102        'lien_editer_vignette' => 'Éditer la vignette',
    100103       
    101104        // M
  • _plugins_/photospip/trunk/photospip_fonctions.php

    r61602 r61611  
    8686                return false;
    8787        }
    88         spip_log($dst_img,'photospip');
     88        spip_log("dst_img = $dst_img",'photospip');
    8989        if (preg_match(',^(.*)\?date=(\d+).([^.]+)$,', $dst_img, $match)) {
    9090                $dst_img = $match[1];
     91                spip_log($match,'photospip');
     92                spip_log("On enlève la date : dst_img = $dst_img",'photospip');
    9193        }
    9294        //$dst_img = preg_replace(',\?date=\d+$,','', $dst_img);
  • _plugins_/photospip/trunk/photospip_pipelines.php

    r61588 r61611  
    6464        if (($infos['distant'] == 'non') && in_array($infos['extension'], array('jpg', 'png', 'gif'))) {
    6565                $redirect = self();
    66                 $url = parametre_url(generer_url_ecrire('image_edit', 'id_document=' . intval($id_document)), 'redirect', $redirect);
    67                 $texte = _T('photospip:lien_editer_image');
     66                $url_modif = parametre_url(generer_url_ecrire('image_edit', 'id_document=' . intval($id_document)), 'redirect', $redirect);
     67                $texte_modif = _T('photospip:lien_editer_image');
     68                $url_vignette = parametre_url(parametre_url(generer_url_ecrire('image_edit','id_document='.intval($id_document)),'mode','vignette'),'redirect', $redirect);
     69                $texte_vignette = _T('photospip:lien_editer_vignette');
    6870                if ($flux['args']['position'] == 'galerie') {
    69                         $flux['data'] .= "[<a href='$url'>$texte</a>]";
     71                        $flux['data'] .= "[<a href='$url_modif'>$texte_modif</a>] [<a href='$url_vignette'>$texte_vignette</a>]";
    7072                } else {
    71                         $flux['data'] .= "<span class='sep'> | </span><a href='$url'>$texte</a>";
     73                        $flux['data'] .= "<span class='sep'> | </span><a href='$url_modif'>$texte_modif</a><span class='sep'> | </span><a href='$url_vignette'>$texte_vignette</a>";
    7274                }
    7375        }
  • _plugins_/photospip/trunk/plugin.xml

    r61588 r61611  
    44_ &copy; 2008-2012 - Distribu&#233; sous licence GNU/GPL
    55        </auteur>
    6         <version>0.2.7</version>
     6        <version>0.2.8</version>
    77        <version_base>0.4</version_base>
    88        <prefix>photospip</prefix>
  • _plugins_/photospip/trunk/prive/editer/image.html

    r61544 r61611  
    22<div class="entete-formulaire">
    33        #ENV**{icone_retour}
    4         [<:photospip:info_modifier_image:>
     4        [[(#ENV{mode}|=={vignette}|?{[(#VAL{photospip:info_modifier_vignette}|_T{#ARRAY{id_document,#ENV{new}}})],<:photospip:info_modifier_vignette:>})]
    55        <h1>(#ENV{titre})</h1>]
    66</div>
    77<div class="ajax">
    8         #FORMULAIRE_EDITER_IMAGE{#ENV{new},#ENV{redirect}}
     8        #FORMULAIRE_EDITER_IMAGE{#ENV{new},#ENV{mode},#ENV{redirect}}
    99</div>
    1010</div>
  • _plugins_/photospip/trunk/prive/navigation/image_edit.html

    r61588 r61611  
     1<BOUCLE_mode_pas_vignette(CONDITION){si #ENV{mode}|!={vignette}|oui}>
    12<BOUCLE_doc(DOCUMENTS){id_document}{tout}>
    23<div id="versions">
     
    5657</div>
    5758</BOUCLE_doc>
     59</BOUCLE_mode_pas_vignette>
Note: See TracChangeset for help on using the changeset viewer.