Changeset 90038 in spip-zone


Ignore:
Timestamp:
Jun 9, 2015, 11:44:59 AM (6 years ago)
Author:
marcimat@…
Message:

Quelques menues corrections de notices PHP
+ un peu de phpdoc
+ un lien temporaire de documentation
+ suppression des lignes vides et quelques tabulations avec des espaces

Location:
_plugins_/centre_image
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/centre_image/action/centre_image_forcer.php

    r88755 r90038  
    77                $md5 = md5($_GET["url"]);
    88                $forcer = sous_repertoire(_DIR_IMG, "cache-centre-image");
    9                
     9
    1010                $fichier_json = "$forcer$md5.json";
    1111                $res = array("x" => $_GET["x"], "y" => $_GET["y"]);
    12                
     12
    1313                file_put_contents($fichier_json, json_encode($res,TRUE));
    1414}
  • _plugins_/centre_image/centre_image_fonctions.php

    r88922 r90038  
    22
    33
     4/**
     5 * Retourne les coordonnées du point d'intérêt de l'image transmise
     6 *
     7 * Retourne les coordonnées `[0.5, 0.5]` par défaut (si le calcul échoue par exemple).
     8 *
     9 * @param string $fichier
     10 *     Chemin du fichier ou balise `<img>`
     11 * @return float[]
     12 *     Tableau (x, y) des coordonnées du point d'intéret ;
     13 *     - x entre 0 (à gauche) et 1 (à droite)
     14 *     - y entre 0 (en haut) et 1 (en bas)
     15**/
    416function centre_image($fichier) {
    517        static $spip_centre_image = array();
    6        
     18
    719        // nettoyer le fichier (qui peut être dans un <img> ou qui peut être daté)
    820        if (preg_match("/src\=/", $fichier)) $fichier = extraire_attribut($fichier, "src");
     
    1022
    1123        // on mémorise le résultat -> don
    12         if ($spip_centre_image["$fichier"]) return $spip_centre_image["$fichier"];
     24        if (isset($spip_centre_image[$fichier])) {
     25                return $spip_centre_image[$fichier];
     26        }
    1327
    1428        if (file_exists($fichier)) {
    15                        
     29
    1630                $md5 = $fichier;
    17                 if (_DIR_RACINE == "../") {
     31                if (test_espace_prive()) {
    1832                        $md5 = preg_replace(",^\.\.\/,", "", $md5);
    1933                }
     
    2539                $cache = sous_repertoire($cache, $l1);
    2640                $cache = sous_repertoire($cache, $l2);
    27                
     41
    2842                $forcer = sous_repertoire(_DIR_IMG, "cache-centre-image");
    29                
     43
    3044                $fichier_json = "$cache$md5.json";
    3145                $fichier_forcer = "$forcer$md5.json";
    32                
     46
    3347                if (file_exists($fichier_forcer) and filemtime($fichier_forcer) > filemtime($fichier)) {
    3448                        $res = json_decode(file_get_contents($fichier_forcer),TRUE);
     
    3751                        $res = json_decode(file_get_contents($fichier_json),TRUE);
    3852                } else {
    39                         if(function_exists("imagefilter")) {
     53                        if (function_exists("imagefilter")) {
    4054                                if (preg_match(",\.(gif|jpe?g|png)($|[?]),i", $fichier, $regs)) {
    4155                                        include_spip('inc/centre_image_lib');
     
    4458                                        $terminaison = str_replace("jpg", "jpeg", $terminaison);
    4559                                        $fonction_imagecreatefrom = "_imagecreatefrom".$terminaison;
    46                                
     60
    4761                                        $img     = $fonction_imagecreatefrom($fichier);
    4862                                        $cropper = new _centre_image($img);
     
    5367                                $res = array("x" => 0.5, "y" => 0.5);
    5468                        }
    55                        
     69
    5670                        file_put_contents($fichier_json, json_encode($res,TRUE));
    5771                }
    58     } else {
    59         $res = array("x" => 0.5, "y" => 0.5);
    60     }
    61    
    62     $spip_centre_image["$fichier"] = $res;
     72        } else {
     73                $res = array("x" => 0.5, "y" => 0.5);
     74        }
     75
     76        $spip_centre_image["$fichier"] = $res;
    6377        return $res;   
    6478}
    6579
     80/**
     81 * Retourne la coordonnée x du point d'intérêt de l'image transmise
     82 *
     83 * @uses centre_image()
     84 * @param string $fichier
     85 *     Chemin du fichier ou balise `<img>`
     86 * @return float
     87 *     Coordonnée x du point d'intéret, entre 0 (à gauche) et 1 (à droite)
     88**/
    6689function centre_image_x($fichier) {
    6790        $res = centre_image($fichier);
    6891        return $res["x"];
    6992}
     93
     94/**
     95 * Retourne la coordonnée y du point d'intérêt de l'image transmise
     96 *
     97 * @uses centre_image()
     98 * @param string $fichier
     99 *     Chemin du fichier ou balise `<img>`
     100 * @return float
     101 *     Coordonnée y du point d'intéret, entre 0 (en haut) et 1 (en bas)
     102**/
    70103function centre_image_y($fichier) {
    71104        $res = centre_image($fichier);
     
    75108
    76109
     110/**
     111 * Ajoute les scripts nécessaires dans l'espace privé
     112 *
     113 * @pipeline header_prive
     114 * @param string $flux Texte dans le head HTML
     115 * @return string
     116**/
    77117function centre_image_header_prive($flux) {
    78118        $flux .= "\n<script type='text/javascript' src='".find_in_path("centre_image_gestion.js")."'></script>\n";
    79        
    80119        $flux .= "\n<script>var croix = '".find_in_path("imgs/croix.png")."'</script>";
    81 
    82120        return $flux;
    83121}
    84122
     123/**
     124 * Ajoute les plugins jquery ui nécessaires dans l'espace privé
     125 *
     126 * @pipeline jqueryui_plugins
     127 * @param string[] $plugins
     128 * @return string[]
     129**/
    85130function centre_image_jqueryui_plugins($plugins) {
    86         if (_DIR_RACINE == "../") {
     131        if (test_espace_prive()) {
    87132                $plugins[] = "jquery.ui.core";
    88133                $plugins[] = "jquery.ui.draggable";
  • _plugins_/centre_image/centre_image_gestion.js

    r88757 r90038  
    11function centre_image_croix(el, x, y) {
    2 
    32        if (el.find("img.croix_centre_image").length == 0) {
    43                el.css("display", "inline-block").css("position", "relative")
     
    76                        .prepend("<img src='"+croix+"' class='croix_centre_image' style='cursor: move; position: absolute; margin-left: -7px; margin-top: -7px; margin-right: -7px; margin-bottom: -7px;'>");
    87        }
    9        
     8
    109        el.find("img.croix_centre_image").css("left", x+"px").css("top", y+"px")
    1110                .draggable({
     
    1413                                var lien = el.attr("href");
    1514                                var url = lien.replace(/^\.\.\//, '')
    16                                
     15
    1716                                var x = ui.position.left / el.find("img.img_source").width();
    1817                                var y = ui.position.top / el.find("img.img_source").height();
    19                                
     18
    2019                                x = Math.max(0, x);
    2120                                x = Math.min(1, x);
    2221                                y = Math.max(0, y);
    2322                                y = Math.min(1, y);
    24                                
    25                                
     23
    2624                                $.ajax("index.php?action=centre_image_forcer&x="+x+"&y="+y+"&url="+url);
    2725                        }
    2826                });
     27}
    2928
     29function centre_image_afficher() {
    3030
    31 }
    32 function centre_image_afficher() {
    3331        $("a[href$=jpg].hasbox, a[href$=png].hasbox, a[href$=gif].hasbox").each(function(){
    34                
     32
    3533                // recuperer l'URL sans les ../
    3634                var lien = $(this).attr("href");
    3735                var url = lien.replace(/^\.\.\//, '')
    3836
    39                 if ($(this).parents(".spip_documents").length == 0) $(this).attr("data-href", url);
    40 
     37                if ($(this).parents(".spip_documents").length == 0) {
     38                        $(this).attr("data-href", url);
     39                }
    4140
    4241                $.getJSON( "../index.php?page=centre_image_json&url="+url,
     
    4746                                var y = data.y * el.find("img:not(.croix_centre_image)").height();
    4847                                console.log(url + " / " + x + " / " + y);
    49                                
    5048                                centre_image_croix(el, x, y);
    51                         }                       
     49                        }
    5250                );
    53                
     51
    5452        });
    5553}
    5654
    5755
    58 
    59 
     56(function($){
    6057$(document).ready(centre_image_afficher);
     58})(jQuery);
  • _plugins_/centre_image/paquet.xml

    r89979 r90038  
    22        prefix="centre_image"
    33        categorie="multimedia"
    4         version="0.5.0"
     4        version="0.5.1"
    55        etat="dev"
    66        compatibilite="[3.0.18;3.1.*]"
    7 >       
     7        documentation="http://seenthis.net/messages/362099"
     8>
    89
    910        <nom>Centre image</nom>
Note: See TracChangeset for help on using the changeset viewer.