Changeset 102745 in spip-zone


Ignore:
Timestamp:
Feb 7, 2017, 10:11:02 PM (4 years ago)
Author:
marcimat@…
Message:

Ticket #3819 : On affiche les erreurs à des dépendances d'extension PHP.
On en profite pour améliorer l'affichage les textes d'erreurs de dépendances en évitant de montrer directement l'intervalle "[1.0.0;2.3.0]", mais
en écrivant un peu plus joliment avec des ≥ ≤ > ou <

Des chaînes de langue en plus pour gérer ces nouveautés.

Location:
_core_/plugins/svp
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • _core_/plugins/svp/inc/svp_decider.php

    r100310 r102745  
    11241124                                                                        // on ne trouve pas la dependance !
    11251125                                                                        $this->invalider($info);
    1126                                                                         $this->erreur($id, $v ? _T('svp:message_dependance_plugin_version', array(
    1127                                                                                 'plugin' => $info['n'],
    1128                                                                                 'dependance' => $p,
    1129                                                                                 'version' => $v
    1130                                                                         )) : _T('svp:message_dependance_plugin', array('plugin' => $info['n'], 'dependance' => $p)));
     1126                                                                        $this->erreur($id, $this->presenter_erreur_dependance($info, $p, $v));
    11311127                                                                }
    11321128                                                                unset($new, $vieux);
     
    11561152                                                                        // on ne trouve pas la dependance !
    11571153                                                                        $this->invalider($info);
    1158                                                                         $this->erreur($id, $v ? _T('svp:message_dependance_plugin_version', array(
    1159                                                                                 'plugin' => $info['n'],
    1160                                                                                 'dependance' => $p,
    1161                                                                                 'version' => $v
    1162                                                                         )) : _T('svp:message_dependance_plugin', array('plugin' => $info['n'], 'dependance' => $p)));
     1154                                                                        $this->erreur($id, $this->presenter_erreur_dependance($info, $p, $v));
    11631155                                                                }
    11641156                                                                break;
     
    11871179
    11881180                return true;
     1181        }
     1182
     1183        /**
     1184         * Retourne le texte d'erreur adapté à une dépendance donnée
     1185         */
     1186        public function presenter_erreur_dependance($info, $dependance, $intervalle) {
     1187                // prendre en compte les erreurs de dépendances à PHP
     1188                // ou à une extension PHP avec des messages d'erreurs dédiés.
     1189                $type = 'plugin';
     1190                if ($dependance === 'PHP') {
     1191                        $type = 'php';
     1192                } elseif (strncmp($dependance, 'PHP:', 4) === 0) {
     1193                        $type = 'extension_php';
     1194                        list(,$dependance) = explode(':', $dependance, 2);
     1195                }
     1196
     1197                $version_min = $version_max = '';
     1198
     1199                if (preg_match(_EXTRAIRE_INTERVALLE, $intervalle, $regs)) {
     1200                        $minimum = $regs[1];
     1201                        $maximum = $regs[2];
     1202
     1203                        $minimum_inclus = $intervalle{0} == "[";
     1204                        $maximum_inclus = substr($intervalle, -1) == "]";
     1205
     1206                        if (strlen($minimum)) {
     1207                                $version_min = ($minimum_inclus ? ' &ge; ' : '&gt') . $minimum;
     1208                        }
     1209                        if (strlen($maximum)) {
     1210                                $version_max = ($maximum_inclus ? ' &le; ' : '&lt') . $maximum;
     1211                        }
     1212                }
     1213
     1214                if ($version_min xor $version_max) {
     1215                        $err = _T('svp:message_dependance_' . $type . '_version', array(
     1216                                'plugin' => $info['n'],
     1217                                'dependance' => $dependance,
     1218                                'version' => ($version_min ? $version_min : $version_max)
     1219                        ));
     1220                } elseif ($version_min and $version_max) {
     1221                        $err = _T('svp:message_dependance_' . $type . '_versions_min_max', array(
     1222                                'plugin' => $info['n'],
     1223                                'dependance' => $dependance,
     1224                                'version_min' => $version_min,
     1225                                'version_max' => $version_max,
     1226                        ));
     1227                } else {
     1228                        $err = _T('svp:message_dependance_' . $type, array(
     1229                                'plugin' => $info['n'],
     1230                                'dependance' => $dependance,
     1231                        ));
     1232                }
     1233
     1234                return $err;
    11891235        }
    11901236
  • _core_/plugins/svp/lang/svp_fr.php

    r100466 r102745  
    212212        'message_action_up' => 'Mise à jour du plugin « @plugin@ » (de la version @version@ à @version_maj@)',
    213213        'message_action_upon' => 'Mise à jour et activation du plugin « @plugin@ » (version : @version@)',
     214        'message_dependance_extension_php' => 'Le plugin @plugin@ nécessite l’extension PHP @dependance@.',
     215        'message_dependance_extension_php_version' => 'Le plugin @plugin@ nécessite l’extension PHP @dependance@ @version@',
     216        'message_dependance_extension_php_versions_min_max' => 'Le plugin @plugin@ nécessite l’extension PHP @dependance@ @version_min@ et @version_max@',
     217        'message_dependance_php_version' => 'Le plugin @plugin@ nécessite @dependance@ @version@',
     218        'message_dependance_php_versions_min_max' => 'Le plugin @plugin@ nécessite @dependance@  @version_min@ et @version_max@',
    214219        'message_dependance_plugin' => 'Le plugin @plugin@ dépend de @dependance@.',
    215220        'message_dependance_plugin_version' => 'Le plugin @plugin@ dépend de @dependance@ @version@',
     221        'message_dependance_plugin_versions_min_max' => 'Le plugin @plugin@ dépend de @dependance@  @version_min@ et @version_max@',
    216222        'message_erreur_aucun_plugin_selectionne' => 'Aucun plugin sélectionné.',
    217223        'message_erreur_ecriture_lib' => '@plugin@ a besoin de la bibliothèque <a href="@lib_url@">@lib@</a> placée dans le répertoire <var>lib/</var> à la racine de votre site. Cependant, ce répertoire n’existe pas ou n’est pas accessible en écriture. Vous devez installer manuellement cette bibliothèque ou créer ce répertoire en lui donnant des permissions d’écriture.',
  • _core_/plugins/svp/paquet.xml

    r100674 r102745  
    22        prefix="svp"
    33        categorie="maintenance"
    4         version="1.1.9"
     4        version="1.2.0"
    55        etat="stable"
    66        compatibilite="[3.2.0-dev;]"
Note: See TracChangeset for help on using the changeset viewer.