Changeset 62160 in spip-zone


Ignore:
Timestamp:
Jun 5, 2012, 12:08:22 PM (7 years ago)
Author:
kent1@…
Message:

Ne pas afficher les spinners de base de chrome et de webkits si on a notre widget

Location:
_plugins_/photospip
Files:
7 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/photospip/branches/v1/formulaires/editer_image.html

    r62156 r62160  
    1 <BOUCLE_doc(DOCUMENTS){id_document}{mode IN vignette,image,document}{tout}>
    2 [(#CONFIG{photospip/image_reduire,on}|=={on}|oui)
    3 <li class="editer editer_reduire[ (#ENV**{erreurs}|table_valeur{image_reduire}|oui)erreur]">
    4         <label for="image_reduire"><:photospip:label_image_reduire:></label>
    5         <input type="radio" name="filtre" id="image_reduire" value="image_reduire"[(#ENV{filtre}|=={image_reduire}|oui)checked="checked"] />
    6         <div class="cache params_filtre image_reduire">
    7                 [<span class='erreur_message'>(#ENV**{erreurs}|table_valeur{image_reduire})</span>]
    8                 <p class="explication">
    9                         <:photospip:explication_image_reduire:><br />
    10                         <:photospip:message_image_taille_actuelle{largeur=#LARGEUR,hauteur=#HAUTEUR}:>
    11                 </p>
    12                 <div id='slider_image_reduire'>
    13                         <div></div>     
     1<div class='formulaire_spip formulaire_editer formulaire_#FORM formulaire_#FORM-#ENV{id_document}' style="position:relative;overflow:auto;">
     2        [<p class="reponse_formulaire reponse_formulaire_ok">(#ENV**{message_ok})</p>]
     3        [<p class="reponse_formulaire reponse_formulaire_erreur">(#ENV*{message_erreur})</p>]
     4        <BOUCLE_editable(CONDITION){si #ENV{editable}|oui}>
     5        <BOUCLE_document(DOCUMENTS){id_document}{mode IN vignette,image,document}{tout}>
     6        [(#REM)
     7                Calcul du ratio entre notre image originale et la prévisualisation
     8                Utile pour les opération de recadrage notamment
     9        ]
     10        #SET{largeur_max,#ENV{largeur_previsu,#ENV{erreurs}|table_valeur{largeur_previsu}|sinon{450}}}
     11        #SET{hauteur_max,#CONFIG{photospip/hauteur_previsu,#ENV{erreurs}|table_valeur{hauteur_previsu}|sinon{450}}}
     12        [(#SET{largeur_reduit,[(#FICHIER|image_reduire{#GET{largeur_max},#GET{hauteur_max}}|extraire_attribut{width})]})]
     13        #SET{ratio,#LARGEUR|div{#GET{largeur_reduit}}}
     14        #SET{ratio_image,#LARGEUR|div{#HAUTEUR}}
     15        #SET{largeur_image,#LARGEUR}
     16        #SET{hauteur_image,#HAUTEUR}
     17        <form method='post' action='#ENV{action}' enctype='multipart/form-data'><div>
     18                [(#REM) declarer les hidden qui declencheront le service du formulaire
     19                parametre : url d'action ]
     20                #ACTION_FORMULAIRE{#ENV{action}}
     21                <input type='hidden' name='id_document' value='#ENV{id_document}' />
     22                <input type="submit" class="submit" name="tester" style="display:none;" value="<:photospip:bouton_tester:>" />
     23                <div id="modifier_image">
     24                        <div id="image-container">
     25                                <div id="image_modifier" class="spip_documents spip_documents_center">
     26                                        [(#ENV{erreurs}|table_valeur{filtre}|oui)
     27                                        [(#_document:FICHIER|photospip_appliquer_filtre{[(#ENV{erreurs}|table_valeur{filtre})],[(#ENV{erreurs}|table_valeur{param1})],[(#ENV{erreurs}|table_valeur{param2})],[(#ENV{erreurs}|table_valeur{param3})],[(#ENV{erreurs}|table_valeur{param})]}|image_reduire{#GET{largeur_max},#GET{hauteur_max}}|inserer_attribut{alt,' '})]]
     28                                        [(#ENV{erreurs}|table_valeur{filtre}|non)
     29                                        [(#_document:FICHIER|image_reduire{#GET{largeur_max},#GET{hauteur_max}}|inserer_attribut{alt,' '})]]
     30                                </div>
     31                        </div>
     32                        [(#ENV{erreurs}|table_valeur{message}|oui)
     33                        <div class="notice">
     34                                [(#ENV{erreurs}|table_valeur{message}|=={previsu}|oui)
     35                                <span><:previsualisation:></span><br />
     36                                <:photospip:erreur_previsu:>]
     37                                [(#ENV{erreurs}|table_valeur{message}|=={sanstest}|oui)
     38                                <:photospip:sanstest:>]
     39                                [(#ENV{erreurs}|table_valeur{message}|=={sansfiltre}|oui)
     40                                <:photospip:sansfiltre:>]
     41                                [(#ENV{erreurs}|table_valeur{message}|=={sansconf}|oui)
     42                                <:photospip:sansconf:>]
     43                        </div>]
    1444                </div>
    15                 <ul>
    16                         <li>
    17                                 <label for="reduire_width"><:photospip:label_reduire_width:></label>
    18                                 <input type="number" max="#LARGEUR" min="10" class="text nombre" id="reduire_width" maxlength="5" style="width:7em" name="reduire_width" value="#ENV{reduire_width,#LARGEUR}" />
    19                         </li>
    20                         <li>
    21                                 <label for="reduire_height"><:photospip:label_reduire_height:></label>
    22                                 <input type="number" max="#HAUTEUR" min="10" class="text nombre" id="reduire_height" maxlength="5" style="width:7em" name="reduire_height" value="#ENV{reduire_height,#HAUTEUR}" />
    23                         </li>
    24                 </ul>
    25         </div>
    26 </li>]
    27 [(#CONFIG{photospip/image_passe_partout,on}|=={on}|oui)
    28 <li class="editer editer_passe_partout[ (#ENV**{erreurs}|table_valeur{image_passe_partout}|oui)erreur]">
    29         <label for="image_passe_partout"><:photospip:label_image_passe_partout:></label>
    30         <input type="radio" name="filtre" id="image_passe_partout" value="image_passe_partout"[(#ENV{filtre}|=={image_passe_partout}|oui)checked="checked"] />
    31         <div class="cache params_filtre image_passe_partout">
    32                 [<span class='erreur_message'>(#ENV**{erreurs}|table_valeur{image_passe_partout})</span>]
    33                 <p class="explication">
    34                         <:photospip:explication_image_passe_partout:><br />
    35                         <:photospip:message_image_taille_actuelle{largeur=#LARGEUR,hauteur=#HAUTEUR}:>
    36                 </p>
    37                 <ul>
    38                         <li>
    39                                 <label for="passe_partout_width"><:photospip:label_reduire_width:></label>
    40                                 <input type="number" max="#LARGEUR" min="10" step="1" class="text nombre" id="passe_partout_width" maxlength="5" style="width:7em" name="passe_partout_width" value="#ENV{passe_partout_width,#LARGEUR}" />
    41                         </li>
    42                         <li>
    43                                 <label for="passe_partout_height"><:photospip:label_reduire_height:></label>
    44                                 <input type="number" max="#HAUTEUR" min="10" step="1" class="text nombre" id="passe_partout_height" maxlength="5" style="width:7em" name="passe_partout_height" value="#ENV{passe_partout_height,#HAUTEUR}" />
    45                         </li>
    46                 </ul>
    47         </div>
    48 </li>]
    49 [(#CONFIG{photospip/image_recadre,on}|=={on}|oui)
    50 <li class="editer editer_recadre[ (#ENV**{erreurs}|table_valeur{image_recadre}|oui)erreur]">
    51         <label for="image_recadre"><:photospip:label_image_recadre:></label>
    52         <input type="radio" name="filtre" id="image_recadre" value="image_recadre"[(#ENV{filtre}|=={image_recadre}|oui)checked="checked"] />
    53         <div class="cache params_filtre image_recadre">
    54                 [<span class='erreur_message'>(#ENV**{erreurs}|table_valeur{image_recadre})</span>]
    55                 <p class="explication">
    56                         <:photospip:explication_image_recadre:>
    57                         <:photospip:message_image_taille_actuelle{largeur=#LARGEUR,hauteur=#HAUTEUR}:>
    58                 </p>
    59                 <ul>
    60                 <li>
    61                         <label><:photospip:label_ratio:></label>
    62                         <div class="choix">
    63                                 <input type="radio" id="ratio" name="ratio" value=""[(#ENV{ratio}|non)checked="checked"] />
    64                                 <label for="ratio"><:photospip:label_ratio_libre:></label>
    65                         </div>
    66                         <div class="choix">
    67                                 <input type="radio" id="ratio1" name="ratio" value="1:1"[(#ENV{ratio,''}|=={'1:1'}|oui)checked="checked"] />
    68                                 <label for="ratio1">1:1</label>
    69                         </div>
    70                         <div class="choix">
    71                                 <input type="radio" id="ratio2" name="ratio" value="4:3"[(#ENV{ratio,''}|=={'4:3'}|oui)checked="checked"] />
    72                                 <label for="ratio2">4:3</label>
    73                         </div>
    74                         <div class="choix">
    75                                 <input type="radio" id="ratio3" name="ratio" value="16:9"[(#ENV{ratio,''}|=={'16:9'}|oui)checked="checked"] />
    76                                 <label for="ratio3">16:9</label>
    77                         </div>
    78                 </li>
    79                 <li>
    80                         <label for="recadre_width"><:photospip:label_recadre_width:></label>
    81                         <input type="number" max="#LARGEUR" min="10" step="1" class="text nombre" id="recadre_width" maxlength="5" style="width:7em" name="recadre_width" value="#ENV{recadre_width}" />
    82                 </li>
    83                 <li>
    84                         <label for="recadre_height"><:photospip:label_recadre_height:></label>
    85                         <input type="number" max="#HAUTEUR" min="10" step="1" class="text nombre" id="recadre_height" maxlength="5" style="width:7em" name="recadre_height" value="#ENV{recadre_height}" />
    86                 </li>
    87                 <li>
    88                         <label><:photospip:label_recadre_x1_y1:></label>
    89                         <div class="choix" style="display:inline">
    90                                 <label for="recadre_x1">x</label>
    91                                 <input type="number" max="[(#LARGEUR|moins{10})]" min="0" step="1" class="text nombre" id="recadre_x1" name="recadre_x1" maxlength="5" style="width:7em" value="#ENV{recadre_x1}" />
    92                         </div>
    93                         <div class="choix" style="display:inline">
    94                                 <label for="recadre_y1">y</label>
    95                                 <input type="number" max="[(#HAUTEUR|moins{10})]" min="0" step="1" class="text nombre" id="recadre_y1" name="recadre_y1" maxlength="5" style="width:7em" value="#ENV{recadre_y1}" />
    96                         </div>
    97                 </li>
    98                 <li>
    99                         <label><:photospip:label_recadre_x2_y2:></label>
    100                         <div class="choix" style="display:inline">
    101                                 <label for="recadre_x2">x</label>
    102                                 <input type="number" max="[(#LARGEUR)]" min="10" step="1" class="text nombre" id="recadre_x2" name="recadre_x2" maxlength="5" style="width:7em" value="#ENV{recadre_x2}" />
    103                         </div>
    104                         <div class="choix" style="display:inline">
    105                                 <label for="recadre_y2">y</label>
    106                                 <input type="number" max="[(#HAUTEUR)]" min="10" step="1" class="text nombre" id="recadre_y2" name="recadre_y2" maxlength="5" style="width:7em" value="#ENV{recadre_y2}" />
    107                         </div>
    108                 </li>
    109         </ul>
    110         </div>
    111 </li>]
    112 [(#CONFIG{photospip/tourner,oui}|=={on}|oui)
    113 <li class="editer editer_tourner[ (#ENV**{erreurs}|table_valeur{tourner}|oui)erreur]">
    114         <label for="tourner"><:photospip:label_tourner:></label>
    115         <input type="radio" name="filtre" id="tourner" value="tourner"[(#ENV{filtre}|=={tourner}|oui)checked="checked"] />
    116         <div class="cache params_filtre">
    117                 [<span class='erreur_message'>(#ENV**{erreurs}|table_valeur{image_passe_partout})</span>]
    118                 <p class="explication"><:photospip:explication_tourner:></p>
    119                 <ul>
    120                         <li>
    121                                 <label><:photospip:label_angle_rotation:></label>
    122                                 <div class="choix tourner_90">
    123                                         <input type="radio" name="params_tourner" value="90" id="param_tourner_90"[(#ENV{params_tourner}|=={90}|oui)checked="checked"] />
    124                                         <label for="param_tourner_90"><:photospip:label_tourner_90:></label>
    125                                 </div>
    126                                 <div class="choix tourner_180">
    127                                         <input type="radio" name="params_tourner" value="180" id="param_tourner_180"[(#ENV{params_tourner}|=={180}|oui)checked="checked"] />
    128                                         <label for="param_tourner_180"><:photospip:label_tourner_180:></label>
    129                                 </div>
    130                                 <div class="choix tourner_270">
    131                                         <input type="radio" name="params_tourner" value="270" id="param_tourner_270"[(#ENV{params_tourner}|=={270}|oui)checked="checked"] />
    132                                         <label for="param_tourner_270"><:photospip:label_tourner_270:></label>
    133                                 </div>
    134                         </li>
    135                 </ul>
    136         </div>
    137 </li>]
    138 [(#CONFIG{photospip/image_rotation}|=={on}|oui)
    139 <li class="editer editer_rotation[ (#ENV**{erreurs}|table_valeur{image_rotation}|oui)erreur]">
    140         <label for="image_rotation"><:photospip:label_image_rotation:></label>
    141         <input type="radio" name="filtre" id="image_rotation" value="image_rotation"[(#ENV{filtre}|=={image_rotation}|oui)checked="checked"] />
    142         <div class="cache params_filtre">
    143                 [<span class='erreur_message'>(#ENV**{erreurs}|table_valeur{image_rotation})</span>]
    144                 <p class="explication"><:photospip:explication_image_rotation:></p>
    145                 <div id='sliderrotation'>
    146                         <div></div>     
     45                <div class="editer_image_inputs">
     46                        <BOUCLE_si_versions_et_vignettes(CONDITION){si #ENV{mode}|!={vignette}|ou{#ENV{mode}|=={vignette}|et{#ENV{vignette}|=={oui}}}|oui}>
     47                        <B_interd_nb>
     48                        <ul class="liste-versions">
     49                                <li class="fieldset">
     50                                        <h3 class="legend">[(#GRAND_TOTAL|singulier_ou_pluriel{photospip:info_nb_versions_une,photospip:info_nb_versions})]</h3>
     51                                        <BOUCLE_interd_nb(DOCUMENTS_INTERS){id_document}{!par version}> </BOUCLE_interd_nb>
     52                                        <ul>
     53                                        <B_interd>
     54                                                <li id="image-versions" class="editer editer_version">
     55                                                <BOUCLE_interd(DOCUMENTS_INTERS){id_document}{!par version}>
     56                                                <div class="photospip_version choix">
     57                                                <label for="version_#VERSION" title="<:photospip:title_version{version=#VERSION}:>">
     58                                                        [(#HAUTEUR|>{#LARGEUR}|non)
     59                                                        [(#SET{fichier,[(#FICHIER|get_spip_doc)]})]
     60                                                        [(#SET{miniature,[(#FICHIER|get_spip_doc|image_reduire{80,80}|inserer_attribut{alt,Version #VERSION})]})]]
     61                                                        [(#HAUTEUR|>{#LARGEUR}|oui)
     62                                                        [(#SET{fichier,[(#FICHIER|get_spip_doc)]})]
     63                                                        [(#SET{miniature,[(#FICHIER|get_spip_doc|image_reduire{80,80}|inserer_attribut{alt,Version #VERSION}|inserer_attribut{style,'vertical-align:bottom;'})]})]]
     64                                                        #GET{miniature}
     65                                                </label>
     66                                                <input type="radio" name="version" id="version_#VERSION" value="#VERSION" />
     67                                                </div>
     68                                                </BOUCLE_interd>
     69                                                </li>
     70                                                <li class="boutons">
     71                                                        <input type="submit" class="submit" name="revenir_version" value="<:photospip:bouton_revenir_version:>" />
     72                                                        <input type="submit" class="submit" name="supprimer_version" value="<:photospip:bouton_supprimer_version:>" />
     73                                                </li>
     74                                        </B_interd>
     75                                        </ul>
     76                                </li>
     77                        </ul>
     78                        </B_interd_nb>
     79                        </BOUCLE_si_versions_et_vignettes>
     80                        <BOUCLE_modifiable(CONDITION){si #ENV{modifiable,oui}|oui}>
     81                        <ul>
     82                                #CHEMIN{formulaires/editer_image_format}
     83                                [<li class="fieldset" id="fragment-format">
     84                                        <h3 class="legend"><:photospip:legende_filtres_format:></h3>
     85                                        <ul>
     86                                        (#INCLURE{fond=formulaires/editer_image_format,env}|trim)
     87                                        </ul>
     88                                </li>]
     89                               
     90                                [<li class="fieldset" id="fragment-couleurs">
     91                                        <h3 class="legend"><:photospip:legende_filtres_de_couleur:></h3>
     92                                        <ul>
     93                                                (#INCLURE{fond=formulaires/editer_image_couleurs,env}|trim)
     94                                        </ul>
     95                                </li>]
     96                                <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}>
     97                                <li>
     98                                        <label><:photospip:label_type_modification:></label>
     99                                        <BOUCLE_resultats(POUR){tableau #CONFIG{photospip/resultats,#ARRAY{0,remplacer_image,1,creer_nouvelle_image,2,creer_version_image}}}>
     100                                        <div class="choix">
     101                                                <input type="radio" id="#VALEUR" name="type_modification" value="#VALEUR"[(#ENV{type_modification,#CONFIG{photospip/resultats_defaut,creer_version_image}}|=={#VALEUR}|oui)checked="checked"] />
     102                                                <label for="#VALEUR">[(#VAL{photospip:label_modif_}|concat{#VALEUR}|_T)]</label>
     103                                        </div>
     104                                        </BOUCLE_resultats>
     105                                </li>
     106                                </BOUCLE_resultats_sup_un>
     107                                [(#REM)
     108                               
     109                                        Les résultats possible dans le cas d'une vignette.
     110                                       
     111                                        On affiche ce choix de résultat uniquement lorsque la vignette existe réellement
     112                                       
     113                                        Contrairement aux résultats du travail sur le document, seuls 2 résultats sont possibles :
     114                                        -* Le remplacement de la vignette purement et simplement;
     115                                        -* La création de versions de la vignette
     116                                ]
     117                                <BOUCLE_resultats_sup_vignette_un(CONDITION){si #ENV{mode}|=={vignette}|et{#ENV{vignette}|=={oui}}|et{#CONFIG{photospip/resultats_vignette,#ARRAY{0,remplacer_image,1,creer_version_image}}|count|>{1}}|oui}>
     118                                <li>
     119                                        <label><:photospip:label_type_modification:></label>
     120                                        <BOUCLE_resultats_vignette(POUR){tableau #CONFIG{photospip/resultats_vignette,#ARRAY{0,remplacer_image,1,creer_version_image}}}>
     121                                        <div class="choix">
     122                                                <input type="radio" id="#VALEUR" name="type_modification" value="#VALEUR"[(#ENV{type_modification,#CONFIG{photospip/resultats_defaut_vignette,creer_version_image}}|=={#VALEUR}|oui)checked="checked"] />
     123                                                <label for="#VALEUR">[(#VAL{photospip:label_modif_vignette_}|concat{#VALEUR}|_T)]</label>
     124                                        </div>
     125                                        </BOUCLE_resultats_vignette>
     126                                </li>
     127                                </BOUCLE_resultats_sup_vignette_un>
     128                        </ul>
    147129                </div>
    148                 <ul>
    149                         <li class="editer editer_param_image_rotation">
    150                                 <label for="param_image_rotation"><:photospip:label_angle_rotation:></label>
    151                                 <input type="number" max="180" min="-180" step="1" class="text nombre" name="params_image_rotation" id="param_image_rotation" value="#ENV{params_image_rotation,45}" maxlength="4" />
    152                         </li>
    153                 </ul>
    154         </div>
    155 </li>]
    156 [(#CONFIG{photospip/image_flip_vertical}|=={on}|oui)
    157 <li class="editer editer_flip_vertical[ (#ENV**{erreurs}|table_valeur{image_flip_vertical}|oui)erreur]">
    158         <label for="image_flip_vertical"><:photospip:label_image_flip_vertical:></label>
    159         <input type="radio" name="filtre" id="image_flip_vertical" value="image_flip_vertical"[(#ENV{filtre}|=={image_flip_vertical}|oui)checked="checked"] />
    160         <div class="cache params_filtre">
    161                 [<span class='erreur_message'>(#ENV**{erreurs}|table_valeur{image_flip_vertical})</span>]
    162                 <p class="explication"><:photospip:explication_image_flip_vertical:></p>
    163         </div>
    164 </li>]
    165 [(#CONFIG{photospip/image_flip_horizontal}|=={on}|oui)
    166 <li class="editer editer_flip_horizontal[ (#ENV**{erreurs}|table_valeur{image_flip_horizontal}|oui)erreur]">
    167         <label for="image_flip_horizontal"><:photospip:label_image_flip_horizontal:></label>
    168         <input type="radio" name="filtre" id="image_flip_horizontal" value="image_flip_horizontal"[(#ENV{filtre}|=={image_flip_horizontal}|oui)checked="checked"] />
    169         <div class="cache params_filtre">
    170                 [<span class='erreur_message'>(#ENV**{erreurs}|table_valeur{image_flip_horizontal})</span>]
    171                 <p class="explication"><:photospip:explication_image_flip_horizontal:></p>
    172         </div>
    173 </li>]
    174 </BOUCLE_doc>
     130          [(#REM) ajouter les saisies supplementaires : extra et autre, a cet endroit ]
     131          <!--extra-->
     132          <p class="boutons">
     133                <input type="submit" class="submit" name="tester" value="<:photospip:bouton_tester:>" />
     134                [(#ENV{mode}|=={vignette}|et{#ENV{vignette}|=={oui}}|oui)
     135                <input type="submit" class="submit" name="supprimer_vignette" value="<:photospip:bouton_supprimer_vignette:>" />
     136                ]
     137                <input type="submit" class="submit" name="validation_continuer" value="<:photospip:bouton_valider_continuer:>" />
     138                <input type="submit" class="submit" name="validation_fermer" value="<:photospip:bouton_valider_fermer:>" />
     139          </p>
     140         <script type="text/javascript"><!--
     141                        var ratio, ratio_image,largeur,hauteur;
     142                        ratio_image = parseFloat([(#GET{ratio_image})]);
     143                        largeur = parseFloat(#GET{largeur_image});
     144                        hauteur = parseFloat(#GET{hauteur_image});
     145                        [(#CONFIG{photospip/image_recadre,on}|=={on}|oui)
     146                                var x1, y1, x2, y2, w, h, ias;
     147                                function image_crop_selectchange(img, selection){
     148                                        /**
     149                                         *  Le ratio est la relation entre notre image normale et la prévisualisation
     150                                         */
     151                                        if(!isNaN(parseFloat(selection.x1*ratio))){
     152                                                x1.val(parseFloat(selection.x1*ratio).toFixed(0));
     153                                                y1.val(parseFloat(selection.y1*ratio).toFixed(0));
     154                                                x2.val(parseFloat(selection.x2*ratio).toFixed(0));
     155                                                y2.val(parseFloat(selection.y2*ratio).toFixed(0));
     156                                                w.val(parseFloat(selection.width*ratio).toFixed(0));
     157                                                h.val(parseFloat(selection.height*ratio).toFixed(0));
     158                                        }
     159                                }
     160
     161                                var image_crop = function(){
     162                                        if(typeof(ias) == 'object'){
     163                                                image_crop_close();
     164                                        }
     165
     166                                        ias = jQuery('#image_modifier img').imgAreaSelect(
     167                                                {
     168                                                        parent:jQuery('#modifier_image'),
     169                                                        x1:[(#ENV{recadre_x1}|>{0}|?{[(#ENV{recadre_x1}|div{#GET{ratio}}|intval)],10})],
     170                                                        y1:[(#ENV{recadre_y1}|>{0}|?{[(#ENV{recadre_y1}|div{#GET{ratio}}|intval)],10})],
     171                                                        x2:[(#ENV{recadre_x2}|>{0}|?{[(#ENV{recadre_x2}|div{#GET{ratio}}|intval)],60})],
     172                                                        y2:[(#ENV{recadre_y2}|>{0}|?{[(#ENV{recadre_y2}|div{#GET{ratio}}|intval)],60})],
     173                                                        show:true,
     174                                                        instance: true,
     175                                                        handles: true,
     176                                                        keys: true,
     177                                                        fadeSpeed:400,
     178                                                        enable:true,
     179                                                        onInit: function(img, c) {
     180                                                                image_crop_selectchange(img,c);
     181                                                        },
     182                                                        onSelectStart: function(img, c) {},
     183                                                        onSelectEnd: function(img, c) {},
     184                                                        onSelectChange: function(img, c) {
     185                                                                image_crop_selectchange(img,c);
     186                                                        }
     187                                                }
     188                                        );
     189                                }
     190                               
     191                                var image_crop_close = function(){
     192                                        if(typeof(ias) == 'object')
     193                                                ias.remove();
     194                                }
     195                        ]
     196                        var activatesliders = function(){
     197                                if(typeof($.fn.slider) == 'function'){
     198                                        if(jQuery('#sliderrotation').size() > 0){
     199                                                var slider_image_rotation = jQuery('#sliderrotation').slider({
     200                                                        min: -180,
     201                                                        max: 180,
     202                                                        value: [(#ENV{params_image_rotation}|intval|sinon{45})],
     203                                                        slide: function( event, ui ) {
     204                                                                jQuery(this).parent().find('input').val(ui.value.toFixed(0));
     205                                                        }
     206                                                });
     207                                                $("#param_image_rotation").change(function() {
     208                                                        var val = parseInt($(this).val());
     209                                                        slider_image_rotation.slider("value", val);
     210                                                });
     211                                        }
     212                                        if(jQuery('#slidergamma').size() > 0){
     213                                                var slider_image_gamma = jQuery('#slidergamma').slider({
     214                                                        min: -254,
     215                                                        max: 254,
     216                                                        value: [(#ENV{params_image_gamma}|sinon{10}|intval)],
     217                                                        slide: function(event, ui) {
     218                                                                jQuery(this).parent().find('input').val(ui.value.toFixed(0));
     219                                                        }
     220                                                });
     221                                                $("#param_image_gamma").change(function() {
     222                                                        var val = parseInt($(this).val());
     223                                                        slider_image_gamma.slider("value", val);
     224                                                });
     225                                        }
     226                                        if(jQuery('#sliderflou').size() > 0){
     227                                                var slider_image_flou = jQuery('#sliderflou').slider({
     228                                                        min: 1,
     229                                                        max: 11,
     230                                                        value: [(#ENV{param_image_flou}|sinon{3}|intval)],
     231                                                        slide: function(event, ui) {
     232                                                                jQuery(this).parent().find('input').val(ui.value.toFixed(0));
     233                                                        }
     234                                                });
     235                                                $("#param_image_flou").change(function() {
     236                                                        var val = parseInt($(this).val());
     237                                                        slider_image_flou.slider("value", val);
     238                                                });
     239                                        }
     240                                        if(jQuery('#slider_image_reduire').size() > 0){
     241                                                /**
     242                                                 * On utilise qu'un slider pour les deux valeurs
     243                                                 * car on fait dans le proportionnel ici
     244                                                 */
     245                                                var slider_image_reduire = jQuery('#slider_image_reduire').slider({
     246                                                        min: 5,
     247                                                        max: 100,
     248                                                        value: [(#ENV{reduire_width,#LARGEUR}|div{#LARGEUR}|mult{100}|intval)],
     249                                                        slide: function(event, ui) {
     250                                                                jQuery(this).parent().find('input#reduire_width').val(((ui.value.toFixed(0)*#LARGEUR)/100).toFixed(0));
     251                                                                jQuery(this).parent().find('input#reduire_height').val(((ui.value.toFixed(0)*#HAUTEUR)/100).toFixed(0));
     252                                                        }
     253                                                });
     254                                                $("#reduire_width").change(function() {
     255                                                        var val = (parseInt($(this).val())/parseInt(#LARGEUR))*100;
     256                                                        slider_image_reduire.slider("value", val);
     257                                                        var height = ((parseInt(#HAUTEUR)*val)/100).toFixed(0);
     258                                                        $("#reduire_height").val(height);
     259                                                });
     260                                                $("#reduire_height").change(function() {
     261                                                        var val = (parseInt($(this).val())/parseInt(#HAUTEUR))*100;
     262                                                        slider_image_reduire.slider("value", val);
     263                                                        var height = ((parseInt(#LARGEUR)*val)/100).toFixed(0);
     264                                                        $("#reduire_width").val(height);
     265                                                });
     266                                        }
     267                                }
     268                        }
     269                        if(typeof($) == 'function' && typeof(jQuery) == 'function'){
     270                                jQuery(document).ready(function() {
     271                                        var cbox = '[(#EVAL{_AJAX}|?{oui,non})]';
     272                                       
     273                                        /**
     274                                         * Cas où l'on se trouve dans une mediabox
     275                                         */
     276                                        var container_offset = $('#image-container').offset().top-$('#cboxLoadedContent').offset().top;
     277                                        if((cbox == 'oui') || ($('#image-container').parents('#cboxLoadedContent').size()>0)){
     278                                                var boxoffset, boxmargins,container_offset;
     279                                                var init_box = function(){
     280                                                        $('input[type=number],input.nombre').spinner().parents('li').addClass('has_spinner');
     281                                                        if($('#modifier_image img').width() > $('#modifier_image').width()){
     282                                                                $('#image-container img').attr('width','').attr('height','').width('100%').height('auto');
     283                                                        }
     284                                                        ratio = largeur/parseFloat($('#image-container img').width());
     285                                                       
     286                                                        jQuery('.cache').hide();
     287                                                       
     288                                                        /**
     289                                                         * Si on est en modal et si la hauteur de l'image affichée est inférieure à la hauteur
     290                                                         * de la div de la modale, on fait scroller l'image lors du scroll dans la modale
     291                                                         * jusqu'aux boutons au maximum
     292                                                         */                                                     
     293                                                        boxoffset = $('#cboxLoadedContent').offset();
     294                                                        boxmargins = $('#cboxContent').height() - $('#cboxLoadedContent').height();
     295                                                        container_offset = $('#image-container').offset().top-$('#cboxLoadedContent').offset().top+10;
     296                                                        $('#cboxLoadedContent').unbind('scroll').scroll(function() {
     297                                                                var limite_image = boxoffset.top;
     298                                                                var limite_bas = $('#cboxContent .boutons').last().offset().top-$('#cboxContent .boutons').last().outerHeight();
     299                                                                var pos_bas = $('#image-container').offset().top+$('#image-container').height();
     300                                                                if(($('#cboxLoadedContent').scrollTop() >= container_offset) && (pos_bas < limite_bas) && ($('#cboxLoadedContent').scrollTop()+$('#image-container').offset().top < limite_bas)){
     301                                                                        var margintop = $('#cboxLoadedContent').scrollTop() - container_offset+(boxmargins/2);
     302                                                                        if(!$('#image-container').hasClass("image_flottant"))
     303                                                                                $('#image-container').addClass("image_flottant");
     304                                                                        $('#image-container').css({"margin-top": margintop+"px"});
     305                                                                        if(typeof(ias) == 'object'){
     306                                                                                ias.update();
     307                                                                        }
     308                                                                }
     309                                                                else if($('#image-container').hasClass("image_flottant") && ($('#cboxLoadedContent').scrollTop() < container_offset)){
     310                                                                        $('#image-container').removeClass("image_flottant").css({"margin-top": "0px", "width": "auto"});
     311                                                                        if(typeof(ias) == 'object'){
     312                                                                                ias.update();
     313                                                                        }
     314                                                                }
     315                                                        });
     316                                                }
     317                                                /**
     318                                                 * On initialise les js de la box qui si la box est complete
     319                                                 */
     320                                                if($('#cboxLoadedContent').html() == ''){
     321                                                        $(document).bind('cbox_complete', function(){
     322                                                                init_box();
     323                                                        });
     324                                                }else{
     325                                                        init_box();
     326                                                }
     327                                                if($('#modifier_image').width() != 0){
     328                                                        if($('#modifier_image img').width() > $('#modifier_image').width()){
     329                                                                $('#image-container img').attr('width','').attr('height','').width('100%').height('auto');
     330                                                        }
     331                                                }
     332                                        }else{
     333                                                if($('#modifier_image img').width() > $('#modifier_image').width()){
     334                                                        $('#image-container img').attr('width','').attr('height','').width('100%').height('auto');
     335                                                }
     336                                                ratio = largeur/parseFloat($('#image-container img').width());
     337                                                $('input[type=number],input.nombre').spinner().parents('li').addClass('has_spinner');
     338                                                jQuery('.cache').hide();
     339                                        }
     340                                        if(typeof($.fn.scrollTo) == 'function'){
     341                                                $('input[type=submit]').click(function(){
     342                                                        $('#cboxLoadedContent').scrollTo( { top: 0, left:'0' });
     343                                                });
     344                                        }
     345                                       
     346                                        activatesliders();
     347                                        /**
     348                                         * On cache les options des filtres
     349                                         */
     350                                       
     351                                        /**
     352                                         * On affiche les options du filtre sélectionné
     353                                         */
     354                                        jQuery('input[name=filtre]:checked').parent().find('.cache').addClass('visible').show();
     355                                        jQuery('form input[type=radio][name=filtre]').unbind().click(function(){
     356                                                if(jQuery(this).parents('li').find('.cache').is(':hidden')){
     357                                                        jQuery(".visible").slideUp().removeClass('visible');
     358                                                        jQuery(this).parent().find('.cache').slideDown('fast',function(){
     359                                                                jQuery(this).find('input[type=number],input.nombre').spinner().parents('li').addClass('has_spinner');
     360                                                                jQuery(this).addClass('visible');
     361                                                        });
     362                                                        if(jQuery(this).attr('id') == 'image_recadre'){
     363                                                                image_crop();
     364                                                        }
     365                                                        else{   
     366                                                                image_crop_close();
     367                                                        }
     368                                                }
     369                                        });
     370                                        <BOUCLE_si_image_recadre(CONDITION){si #CONFIG{photospip/image_recadre,on}|oui}>
     371                                                x1 = jQuery('#recadre_x1');
     372                                                y1 = jQuery('#recadre_y1');
     373                                                x2 = jQuery('#recadre_x2');
     374                                                y2 = jQuery('#recadre_y2');
     375                                                w = jQuery('#recadre_width');
     376                                                h = jQuery('#recadre_height');
     377                                               
     378                                                if(jQuery('#image_recadre').is(':checked')){
     379                                                        image_crop();
     380                                                }
     381                                               
     382                                                jQuery('#recadre_x1,#recadre_y1,#recadre_width,#recadre_height,#recadre_x2,#recadre_y2').change(function(){
     383                                                        if(typeof(ias) == 'object'){
     384                                                                var ias_selection = ias.getSelection();
     385                                                                var ratio_selected = $('input[name=ratio]:checked').val();
     386                                                                if($(this).is('#recadre_width')){
     387                                                                        if($(this).val() <= largeur){
     388                                                                                var width_ratio = parseInt(parseInt($(this).val())/ratio);
     389                                                                                ias_selection.x2 = parseInt(ias_selection.x1)+width_ratio;
     390                                                                                var height_new = $('#resize_height').val();
     391                                                                                /**
     392                                                                                 * Faire attention aux ratios
     393                                                                                 */
     394                                                                                if(ratio_selected == '1:1'){
     395                                                                                        /**
     396                                                                                         * Ratio 1:1
     397                                                                                         * largeur = hauteur
     398                                                                                         */
     399                                                                                        height_new = parseInt($(this).val());
     400                                                                                        $('#recadre_height').val(height_new);
     401                                                                                        ias_selection.y2 = parseInt(ias_selection.y1)+width_ratio;
     402                                                                                }else if(ratio_selected == '4:3'){
     403                                                                                        /**
     404                                                                                         * Ratio 4:3
     405                                                                                         * largeur = hauteur
     406                                                                                         */
     407                                                                                        height_new = parseInt((parseInt($(this).val())*3)/4);
     408                                                                                        $('#recadre_height').val(height_new);
     409                                                                                        var height_ratio = parseInt((width_ratio*3)/4);
     410                                                                                        ias_selection.y2 = parseInt(ias_selection.y1)+height_ratio;
     411                                                                                }else if(ratio_selected == '16:9'){
     412                                                                                        /**
     413                                                                                         * Ratio 16:9
     414                                                                                         * largeur = hauteur
     415                                                                                         */
     416                                                                                        height_new = parseInt(($(this).val()*9)/16);
     417                                                                                        $('#recadre_height').val(height_new);
     418                                                                                        var height_ratio = parseInt((width_ratio*9)/16);
     419                                                                                        ias_selection.y2 = parseInt(ias_selection.y1)+height_ratio;
     420                                                                                }
     421                                                                                if(height_new <= hauteur){
     422                                                                                        /**
     423                                                                                         * La nouvelle hauteur en prenant compte du ratio est inférieur
     424                                                                                         * à la hauteur maximale
     425                                                                                         * Sinon on ne fait rien car on ne peut augmenter la taille
     426                                                                                         */
     427                                                                                        if((parseInt($('#recadre_x1').val())+parseInt($(this).val())) > parseInt(largeur)){
     428                                                                                                /**
     429                                                                                                 * Là on doit déplacer x2 à fond et x1 un petit peu
     430                                                                                                 * sinon x2 se retrouverait hors zone
     431                                                                                                 */
     432                                                                                                $('#recadre_x2').val(largeur);
     433                                                                                                ias_selection.x2 = parseInt(largeur/ratio);
     434                                                                                                $('#recadre_x1').val(largeur-parseInt($(this).val()));
     435                                                                                                ias_selection.x1 = (parseInt(largeur)-parseInt($(this).val()))/ratio;
     436                                                                                        }else{
     437                                                                                                /**
     438                                                                                                 * Là on doit déplacer seulement x2
     439                                                                                                 */
     440                                                                                                var width = (parseInt($('#recadre_x1').val())+parseInt($(this).val()));
     441                                                                                                $('#recadre_x2').val(width);
     442                                                                                        }
     443                                                                                        if(ratio_selected != ''){
     444                                                                                                if((parseInt($('#recadre_y1').val())+height_new) > parseInt(hauteur)){
     445                                                                                                        /**
     446                                                                                                         * Là on doit déplacer y2 à fond et y1 un petit peu
     447                                                                                                         * sinon y2 se retrouverait hors zone
     448                                                                                                         */
     449                                                                                                        $('#recadre_y2').val(hauteur);
     450                                                                                                        ias_selection.y2 = parseInt(hauteur/ratio);
     451                                                                                                        $('#recadre_y1').val(hauteur-height_new);
     452                                                                                                        ias_selection.y1 = (parseInt(hauteur)-parseInt(height_new))/ratio;
     453                                                                                                }else{
     454                                                                                                        /**
     455                                                                                                         * Là on doit déplacer seulement y2
     456                                                                                                         */
     457                                                                                                        var height = (parseInt($('#recadre_y1').val())+parseInt(height_new));
     458                                                                                                        $('#recadre_y2').val(height);
     459                                                                                                }
     460                                                                                        }
     461                                                                                }
     462                                                                        }else{
     463                                                                                /**
     464                                                                                 * On occuper toute la largeur
     465                                                                                 */
     466                                                                                $(this).val(largeur);
     467                                                                                ias_selection.x1 = 0;
     468                                                                                $('#recadre_x1').val(0);
     469                                                                                ias_selection.x2 = parseInt(largeur/ratio);
     470                                                                                $('#recadre_x2').val(largeur);
     471                                                                        }
     472                                                                }
     473                                                                else if($(this).is('#recadre_height')){
     474                                                                        if($(this).val() < hauteur){
     475                                                                                var height_ratio = parseInt(parseInt($(this).val())/ratio);
     476                                                                                ias_selection.y2 = parseInt(ias_selection.y1)+height_ratio;
     477                                                                                var width_new = $('#resize_width').val();
     478                                                                                /**
     479                                                                                 * Faire attention aux ratios
     480                                                                                 */
     481                                                                                if(ratio_selected == '1:1'){
     482                                                                                        /**
     483                                                                                         * Ratio 1:1
     484                                                                                         * largeur = hauteur
     485                                                                                         */
     486                                                                                        width_new = parseInt($(this).val());
     487                                                                                        $('#recadre_width').val(width_new);
     488                                                                                        ias_selection.x2 = parseInt(ias_selection.x1)+height_ratio;
     489                                                                                }else if(ratio_selected == '4:3'){
     490                                                                                        /**
     491                                                                                         * Ratio 4:3
     492                                                                                         * largeur = hauteur
     493                                                                                         */
     494                                                                                        width_new = parseInt((parseInt($(this).val())*4)/3);
     495                                                                                        $('#recadre_width').val(width_new);
     496                                                                                        var width_ratio = parseInt((height_ratio*4)/3);
     497                                                                                        ias_selection.x2 = parseInt(ias_selection.x1)+width_ratio;
     498                                                                                }else if(ratio_selected == '16:9'){
     499                                                                                        /**
     500                                                                                         * Ratio 16:9
     501                                                                                         * largeur = hauteur
     502                                                                                         */
     503                                                                                        width_new = parseInt(($(this).val()*16)/9);
     504                                                                                        $('#recadre_width').val(width_new);
     505                                                                                        var width_ratio = parseInt((height_ratio*16)/9);
     506                                                                                        ias_selection.x2 = parseInt(ias_selection.x1)+width_ratio;
     507                                                                                }
     508                                                                                if(width_new <= largeur){
     509                                                                                        if(parseInt($('#recadre_y2').val()) >= parseInt(hauteur)){
     510                                                                                                /**
     511                                                                                                 * Là on doit déplacer y2 à fond et y1 un petit peu
     512                                                                                                 * sinon y2 se retrouverait hors zone
     513                                                                                                 */
     514                                                                                                $('#recadre_y2').val(hauteur);
     515                                                                                                ias_selection.y2 = parseInt(hauteur/ratio);
     516                                                                                                $('#recadre_y1').val(hauteur-parseInt($(this).val()));
     517                                                                                                ias_selection.y1 = (parseInt(hauteur)-parseInt($(this).val()))/ratio;
     518                                                                                        }else{
     519                                                                                                /**
     520                                                                                                 * Là on doit déplacer seulement y2
     521                                                                                                 */
     522                                                                                                var height = (parseInt($('#recadre_y1').val())+parseInt($(this).val()));
     523                                                                                                $('#recadre_y2').val(height);
     524                                                                                        }
     525                                                                                        if(ratio_selected != ''){
     526                                                                                                if((parseInt($('#recadre_x1').val())+width_new) > parseInt(largeur)){
     527                                                                                                        /**
     528                                                                                                         * Là on doit déplacer x2 à fond et x1 un petit peu
     529                                                                                                         * sinon x2 se retrouverait hors zone
     530                                                                                                         */
     531                                                                                                        $('#recadre_x2').val(largeur);
     532                                                                                                        ias_selection.x2 = parseInt(largeur/ratio);
     533                                                                                                        $('#recadre_x1').val(largeur-width_new);
     534                                                                                                        ias_selection.x1 = (parseInt(largeur)-parseInt(width_new))/ratio;
     535                                                                                                }else{
     536                                                                                                        /**
     537                                                                                                         * Là on doit déplacer seulement x2
     538                                                                                                         */
     539                                                                                                        var width = (parseInt($('#recadre_x1').val())+parseInt(width_new));
     540                                                                                                        $('#recadre_x2').val(width);
     541                                                                                                }
     542                                                                                        }
     543                                                                                }
     544                                                                        }else{
     545                                                                                /**
     546                                                                                 * On occuper toute la hauteur
     547                                                                                 */
     548                                                                                $(this).val(hauteur);
     549                                                                                ias_selection.y1 = 0;
     550                                                                                $('#recadre_y1').val(0);
     551                                                                                ias_selection.y2 = parseInt(hauteur/ratio);
     552                                                                                $('#recadre_y2').val(hauteur);
     553                                                                        }
     554                                                                }
     555                                                                else{
     556                                                                        var largeur_image = parseFloat($('#image-container img').width());
     557                                                                        var width = parseInt($('#recadre_width').val());
     558                                                                        var height = parseInt($('#recadre_height').val());
     559                                                                        if($(this).is('#recadre_x1')){
     560                                                                                var width_left = parseInt($(this).val()) + parseInt(width);
     561                                                                                if(width_left >= largeur){
     562                                                                                        $('#recadre_x2').val(largeur);
     563                                                                                        ias_selection.x2 = parseInt(largeur)/ratio;
     564                                                                                        $('#recadre_x1').val(largeur-width);
     565                                                                                        ias_selection.x1 = parseInt(ias_selection.x2)-parseInt(width/ratio);
     566                                                                                }else{
     567                                                                                        var x1_ratio = (parseInt($(this).val())/ratio);
     568                                                                                        ias_selection.x1 = x1_ratio;
     569                                                                                        ias_selection.x2 = parseInt(x1_ratio)+parseInt(width/ratio);
     570                                                                                        $('#recadre_x2').val(parseInt($(this).val())+width);
     571                                                                                }
     572                                                                        }
     573                                                                        else if($(this).is('#recadre_y1')){
     574                                                                                var height_top = parseInt($(this).val()) + parseInt(height);
     575                                                                                if(height_top >= hauteur){
     576                                                                                        $('#recadre_y2').val(hauteur);
     577                                                                                        ias_selection.y2 = parseInt(hauteur)/ratio;
     578                                                                                        $('#recadre_y1').val(hauteur-width);
     579                                                                                        ias_selection.y1 = parseInt(ias_selection.y2)-parseInt(height/ratio);
     580                                                                                }else{
     581                                                                                        var y1_ratio = (parseInt($(this).val())/ratio);
     582                                                                                        ias_selection.y1 = y1_ratio;
     583                                                                                        ias_selection.y2 = y1_ratio+parseInt(height/ratio);
     584                                                                                        $('#recadre_y2').val(parseInt($(this).val())+height);
     585                                                                                }
     586                                                                        }
     587                                                                        else if($(this).is('#recadre_x2')){
     588                                                                                var x2_ratio = (parseFloat($(this).val())/ratio).toFixed(0);
     589                                                                                ias_selection.x2 = parseInt(x2_ratio);
     590                                                                        }
     591                                                                        else if($(this).is('#recadre_y2')){
     592                                                                                var y2_ratio = (parseFloat($(this).val())/ratio).toFixed(0);
     593                                                                                ias_selection.y2 = parseInt(y2_ratio);
     594                                                                        }
     595                                                                }
     596                                                                /**
     597                                                                 * On met à jour la sélection visuelle
     598                                                                 */
     599                                                                ias.setSelection(ias_selection.x1,ias_selection.y1,ias_selection.x2,ias_selection.y2);
     600                                                                ias.update();
     601                                                        }
     602                                                });
     603                                                jQuery('.image_recadre input[type=radio]').click(function(){
     604                                                        if(typeof(ias) == "object"){
     605                                                                if (jQuery(this).val() != ''){
     606                                                                        /**
     607                                                                         * On met l'option correct à l'objet
     608                                                                         */
     609                                                                        ias.setOptions({aspectRatio: jQuery(this).val()});
     610                                                                        var ias_selection = ias.getSelection();
     611                                                                       
     612                                                                        /**
     613                                                                         * On redimentionne la sélection en fonction du nouveau ratio
     614                                                                         */
     615                                                                        var largeur_image = #LARGEUR;
     616                                                                        var hauteur_image = #HAUTEUR;
     617                                                                        var largeur_actuelle = (parseInt($('#recadre_x2').val()) - parseInt($('#recadre_x1').val()));
     618                                                                        var hauteur_actuelle = (parseInt($('#recadre_y2').val()) - parseInt($('#recadre_y1').val()));
     619                                                                        var largeur_cadre = (ias_selection.x2 - ias_selection.x1);
     620                                                                        var hauteur_cadre = (ias_selection.y2 - ias_selection.y1);
     621                                                                       
     622                                                                        if(jQuery(this).val() == '1:1'){
     623                                                                                if(hauteur_image >= largeur_actuelle){
     624                                                                                        /**
     625                                                                                         * On transforme la hauteur en largeur
     626                                                                                         */
     627                                                                                        if((parseInt($('#recadre_y1').val()) + largeur_actuelle) > hauteur_image){
     628                                                                                                /**
     629                                                                                                 * On va devoir remonter l'image pour qu'elle rentre dans le cadre
     630                                                                                                 */
     631                                                                                                var y1 = hauteur_image - largeur_actuelle;
     632                                                                                                var y2 = hauteur_image;
     633                                                                                                $('#recadre_y1').val(y1)
     634                                                                                                $('#recadre_y2').val(y2);
     635                                                                                                ias_selection.y2 = $('#image_modifier img').height();
     636                                                                                                ias_selection.y1 = ias_selection.y2-largeur_cadre;
     637                                                                                        }else{
     638                                                                                                /**
     639                                                                                                 * L'image reste en place, on change les dimensions seulement
     640                                                                                                 */
     641                                                                                                var y2 = parseInt($('#recadre_y1').val()) + largeur_actuelle;
     642                                                                                                $('#recadre_y2').val(y2);
     643                                                                                                ias_selection.y2 = parseInt(ias_selection.y1)+largeur_cadre;
     644                                                                                        }
     645                                                                                        $('#recadre_height').val($('#recadre_width').val());
     646                                                                                }else{
     647                                                                                        /**
     648                                                                                         * On transforme la largeur en hauteur
     649                                                                                         */
     650                                                                                        if((parseInt($('#recadre_x1').val()) + hauteur_actuelle) > largeur_image){
     651                                                                                                /**
     652                                                                                                 * On va devoir déplacer l'image
     653                                                                                                 * pour qu'elle rentre dans le cadre
     654                                                                                                 */
     655                                                                                                var x1 = largeur_image - hauteur_actuelle;
     656                                                                                                var x2 = largeur_image;
     657                                                                                                $('#recadre_x1').val(x1)
     658                                                                                                $('#recadre_x2').val(x2);
     659                                                                                                ias_selection.x2 = $('#image_modifier img').width();
     660                                                                                                ias_selection.x1 = ias_selection.x2-hauteur_cadre;
     661                                                                                        }else{
     662                                                                                                /**
     663                                                                                                 * L'image reste en place, on change les dimensions seulement
     664                                                                                                 */
     665                                                                                                var x2 = parseInt($('#recadre_x1').val()) + hauteur_actuelle;
     666                                                                                                $('#recadre_x2').val(x2);
     667                                                                                                ias_selection.x2 = parseInt(ias_selection.x1)+hauteur_cadre;
     668                                                                                        }
     669                                                                                        $('#recadre_width').val($('#recadre_height').val());
     670                                                                                }
     671                                                                        }
     672                                                                        else if((jQuery(this).val() == '4:3') || (jQuery(this).val() == '16:9')){
     673                                                                                if(jQuery(this).val() == '4:3'){
     674                                                                                        var ratio_l = 4;
     675                                                                                        var ratio_h = 3;
     676                                                                                }else if(jQuery(this).val() == '16:9'){
     677                                                                                        var ratio_l = 16;
     678                                                                                        var ratio_h = 9;
     679                                                                                }
     680                                                                                //var largeur_ratio = ((largeur_actuelle*ratio_l)/ratio_h);
     681                                                                                var largeur_ratio = largeur_actuelle;
     682                                                                                var hauteur_ratio = ((largeur_actuelle*ratio_h)/ratio_l);
     683                                                                                //var largeur_cadre_ratio = (((ias_selection.x2 - ias_selection.x1)*ratio_l)/ratio_h);
     684                                                                                var largeur_cadre_ratio = (ias_selection.x2 - ias_selection.x1);
     685                                                                                var hauteur_cadre_ratio = (((ias_selection.x2 - ias_selection.x1)*ratio_h)/ratio_l);
     686                                                                                if(hauteur_ratio <= hauteur_image){
     687                                                                                        /**
     688                                                                                         * On redimentionne la hauteur
     689                                                                                         */
     690                                                                                        if((parseInt($('#recadre_y1').val()) + hauteur_ratio) > hauteur_actuelle){
     691                                                                                                /**
     692                                                                                                 * On va devoir remonter l'image pour qu'elle rentre dans le cadre
     693                                                                                                 */
     694                                                                                                var y1 = hauteur_image - hauteur_ratio.toFixed(0);
     695                                                                                                var y2 = hauteur_image.toFixed(0);
     696                                                                                                $('#recadre_y1').val(y1)
     697                                                                                                $('#recadre_y2').val(y2);
     698                                                                                                ias_selection.y2 = $('#image_modifier img').height();
     699                                                                                                ias_selection.y1 = (ias_selection.y2-hauteur_cadre_ratio).toFixed(0);
     700                                                                                        }else{
     701                                                                                                /**
     702                                                                                                 * L'image reste en place, on change les dimensions seulement
     703                                                                                                 */
     704                                                                                                var y2 = (parseInt($('#recadre_y1').val()) + hauteur_ratio).toFixed(0);
     705                                                                                                $('#recadre_y2').val(y2);
     706                                                                                                ias_selection.y2 = (parseInt(ias_selection.y1)+hauteur_cadre_ratio).toFixed(0);
     707                                                                                        }
     708                                                                                        $('#recadre_height').val(((parseInt($('#recadre_width').val())*ratio_h)/ratio_l).toFixed(0));
     709                                                                                }else{
     710                                                                                        /**
     711                                                                                         * On transforme la largeur car la hauteur sera trop grande
     712                                                                                         */
     713                                                                                        if((parseInt($('#recadre_x1').val()) + hauteur_ratio) > largeur_image){
     714                                                                                                /**
     715                                                                                                 * On va devoir déplacer l'image
     716                                                                                                 * pour qu'elle rentre dans le cadre
     717                                                                                                 */
     718                                                                                                var x1 = largeur_image - hauteur_ratio;
     719                                                                                                var x2 = largeur_image;
     720                                                                                                $('#recadre_x1').val(x1)
     721                                                                                                $('#recadre_x2').val(x2);
     722                                                                                                ias_selection.x2 = $('#image_modifier img').width();
     723                                                                                                ias_selection.x1 = (ias_selection.x2-hauteur_cadre_ratio).toFixed(0);
     724                                                                                        }else{
     725                                                                                                /**
     726                                                                                                 * L'image reste en place, on change les dimensions seulement
     727                                                                                                 */
     728                                                                                                var x2 = parseInt($('#recadre_x1').val()) + hauteur_ratio;
     729                                                                                                $('#recadre_x2').val(x2);
     730                                                                                                ias_selection.x2 = (parseInt(ias_selection.x1)+hauteur_cadre_ratio).toFixed(0);
     731                                                                                        }
     732                                                                                        $('#recadre_width').val(((parseInt($('#recadre_width').val())*ratio_l)/ratio_h).toFixed(0));
     733                                                                                }
     734                                                                        }
     735                                                                        ias.setSelection(ias_selection.x1,ias_selection.y1,ias_selection.x2,ias_selection.y2);
     736                                                                        ias.update();
     737                                                                }
     738                                                                else{
     739                                                                        ias.setOptions({aspectRatio: ''});
     740                                                                }
     741                                                        }
     742                                                });
     743                                        </BOUCLE_si_image_recadre>
     744                                });
     745                        }
     746        // --></script>
     747        </BOUCLE_modifiable>
     748        </div></form>
     749        </BOUCLE_document>
     750        </BOUCLE_editable>
     751</div>
  • _plugins_/photospip/branches/v1/javascript/jQuery_ui_spinner/ui.spinner.css

    r62156 r62160  
    22.ui-spinner-buttons {position: absolute}
    33.ui-spinner-button {overflow: hidden}
     4
     5.has_spinner input::-webkit-outer-spin-button,
     6.has_spinner input::-webkit-inner-spin-button{
     7    -webkit-appearance: none;
     8    margin: 0; /* <-- Apparently some margin are still there even though it's hidden */
     9}
  • _plugins_/photospip/branches/v1/plugin.xml

    r62156 r62160  
    44_ © 2008-2012 - Distribué sous licence GNU/GPL
    55        </auteur>
    6         <version>0.4.6</version>
     6        <version>0.4.7</version>
    77        <version_base>0.5</version_base>
    88        <prefix>photospip</prefix>
  • _plugins_/photospip/trunk/formulaires/editer_image.html

    r62156 r62160  
    278278                                                var boxoffset, boxmargins,container_offset;
    279279                                                var init_box = function(){
    280                                                         $('input[type=number],input.nombre').spinner();
     280                                                        $('input[type=number],input.nombre').spinner().parents('li').addClass('has_spinner');
    281281                                                        if($('#modifier_image img').width() > $('#modifier_image').width()){
    282282                                                                $('#image-container img').attr('width','').attr('height','').width('100%').height('auto');
     
    335335                                                }
    336336                                                ratio = largeur/parseFloat($('#image-container img').width());
    337                                                 $('input[type=number],input.nombre').spinner();
     337                                                $('input[type=number],input.nombre').spinner().parents('li').addClass('has_spinner');
    338338                                                jQuery('.cache').hide();
    339339                                        }
     
    353353                                         */
    354354                                        jQuery('input[name=filtre]:checked').parent().find('.cache').addClass('visible').show();
    355                                         jQuery('form input[type=radio]').unbind().click(function(){
     355                                        jQuery('form input[type=radio][name=filtre]').unbind().click(function(){
    356356                                                if(jQuery(this).parents('li').find('.cache').is(':hidden')){
    357357                                                        jQuery(".visible").slideUp().removeClass('visible');
    358358                                                        jQuery(this).parent().find('.cache').slideDown('fast',function(){
    359                                                                 jQuery(this).find('input[type=number],input.nombre').spinner();
     359                                                                jQuery(this).find('input[type=number],input.nombre').spinner().parents('li').addClass('has_spinner');
    360360                                                                jQuery(this).addClass('visible');
    361361                                                        });
  • _plugins_/photospip/trunk/javascript/jQuery_ui_spinner/ui.spinner.css

    r62156 r62160  
    22.ui-spinner-buttons {position: absolute}
    33.ui-spinner-button {overflow: hidden}
     4
     5.has_spinner input::-webkit-outer-spin-button,
     6.has_spinner input::-webkit-inner-spin-button{
     7    -webkit-appearance: none;
     8    margin: 0; /* <-- Apparently some margin are still there even though it's hidden */
     9}
  • _plugins_/photospip/trunk/photospip_pipelines.php

    r62086 r62160  
    120120                        if(_request('exec') != 'documents_edit')
    121121                                $flux['data'] .= icone_horizontale(_T('photospip:bouton_modifier_document'), parametre_url(generer_url_ecrire('documents_edit','id_document='.$document['id_document']),'redirect',self()), find_in_path('images/photospip-24.png'), 'edit.gif',false);
    122                         if(_request('exec') != 'image_edit')
     122                        if((_request('exec') != 'image_edit') && in_array($document['extension'], array('jpg', 'png', 'gif')))
    123123                                $flux['data'] .= icone_horizontale(_T('photospip:bouton_editer_image'), parametre_url(generer_url_ecrire('image_edit','id_document='.$document['id_document']),'redirect',self()), find_in_path('images/photospip-24.png'), 'edit.gif',false);
    124124                        if($document['id_vignette'] && $document['id_vignette'] > 0){
     
    131131                }elseif((_request('mode') == 'vignette') && ($document = sql_fetsel('*','spip_documents','id_document='.intval($id_document)))){
    132132                        $flux['data'] .= icone_horizontale(_T('photospip:bouton_modifier_document'), generer_url_ecrire('documents_edit','id_document='.$document['id_document']), find_in_path('images/photospip-24.png'), 'edit.gif',false);
    133                         $flux['data'] .= icone_horizontale(_T('photospip:bouton_editer_image'), generer_url_ecrire('image_edit','id_document='.$document['id_document']), find_in_path('images/photospip-24.png'), 'edit.gif',false);
     133                        if(in_array($document['extension'], array('jpg', 'png', 'gif')))
     134                                $flux['data'] .= icone_horizontale(_T('photospip:bouton_editer_image'), generer_url_ecrire('image_edit','id_document='.$document['id_document']), find_in_path('images/photospip-24.png'), 'edit.gif',false);
    134135                }
    135136        }
  • _plugins_/photospip/trunk/plugin.xml

    r62156 r62160  
    44_ © 2008-2012 - Distribué sous licence GNU/GPL
    55        </auteur>
    6         <version>0.4.4</version>
     6        <version>0.4.7</version>
    77        <version_base>0.4</version_base>
    88        <prefix>photospip</prefix>
Note: See TracChangeset for help on using the changeset viewer.