Chargement en cours ecrire/inc/plugin.php +52 −17 Numéro de ligne d'origine Numéro de ligne de diff Ligne de diff Chargement en cours @@ -353,8 +353,8 @@ function plugins_erreurs($liste_non_classee, $liste, $infos, $msg=array()) $k = $infos[$dir_type][$plug]; $plug = constant($dir_type) . $plug; if (!isset($msg[$p])) { if (!$msg[$p] = plugin_necessite($k['necessite'], $liste)) $msg[$p] = plugin_necessite($k['utilise'], $liste); if (!$msg[$p] = plugin_necessite($k['necessite'], $liste, 'necessite')) $msg[$p] = plugin_necessite($k['utilise'], $liste, 'utilise'); } else { foreach($msg[$p] as $c => $l) $msg[$p][$c] = plugin_controler_lib($l['nom'], $l['lien']); Chargement en cours Chargement en cours @@ -394,11 +394,11 @@ function plugin_donne_erreurs($raw=false, $raz=true) { * Tableau des messages d'erreurs recus. Il sera vide si tout va bien. * **/ function plugin_necessite($n, $liste) { function plugin_necessite($n, $liste, $balise='necessite') { $msg = array(); foreach($n as $need){ $id = strtoupper($need['nom']); if ($r = plugin_controler_necessite($liste, $id, isset($need['compatibilite']) ? $need['compatibilite'] : '')) { if ($r = plugin_controler_necessite($liste, $id, isset($need['compatibilite']) ? $need['compatibilite'] : '', $balise)) { $msg[] = $r; } } Chargement en cours @@ -412,29 +412,64 @@ function plugin_necessite($n, $liste) { * Liste de description des plugins * @param $nom * Le plugin donc on cherche la presence * @param $version * @param $intervalle * L'éventuelle intervalle de compatibilité de la dependance. ex: [1.1.0;] * @param $balise * Permet de définir si on teste un utilise ou un necessite * @return string. * Vide si ok, * Message d'erreur lorsque la dependance est absente. **/ function plugin_controler_necessite($liste, $nom, $version) function plugin_controler_necessite($liste, $nom, $intervalle, $balise) { if (isset($liste[$nom]) AND plugin_version_compatible($version,$liste[$nom]['version'])) { if (isset($liste[$nom]) AND plugin_version_compatible($intervalle,$liste[$nom]['version'])) { return ''; } // retrouver le minimum if (preg_match(_EXTRAIRE_INTERVALLE, $version, $regs)) { return plugin_message_incompatibilite($intervalle, $liste[$nom]['version'], $nom, $balise); } function plugin_message_incompatibilite($intervalle, $version, $nom, $balise) { if (preg_match(_EXTRAIRE_INTERVALLE,$intervalle,$regs)) { $minimum = $regs[1]; if ($minimum) { return _T('plugin_necessite_plugin', array( $maximum = $regs[2]; $minimum_inclus = $intervalle{0}=="["; $maximum_inclus = substr($intervalle,-1)=="]"; if (strlen($minimum)) { if ($minimum_inclus AND spip_version_compare($version,$minimum,'<')) { return _T("plugin_${balise}_plugin", array( 'plugin' => $nom, 'version' => $minimum)); 'version' => ' ≥ ' . $minimum)); } if (!$minimum_inclus AND spip_version_compare($version,$minimum,'<=')) { return _T("plugin_${balise}_plugin", array( 'plugin' => $nom, 'version' => ' > ' . $minimum)); } return _T('plugin_necessite_plugin_sans_version', array('plugin' => $nom)); } if (strlen($maximum)) { if ($maximum_inclus AND spip_version_compare($version,$maximum,'>')) { return _T("plugin_${balise}_plugin", array( 'plugin' => $nom, 'version' => ' ≤ ' . $maximum)); } if (!$maximum_inclus AND spip_version_compare($version,$maximum,'>=')) { return _T("plugin_${balise}_plugin", array( 'plugin' => $nom, 'version' => ' < ' . $maximum)); } } } return _T("plugin_necessite_plugin_sans_version", array('plugin' => $nom)); } function plugin_controler_lib($lib, $url) { /* Feature sortie du core, voir STP Chargement en cours ecrire/lang/ecrire_fr.php +3 −2 Numéro de ligne d'origine Numéro de ligne de diff Ligne de diff Chargement en cours @@ -670,7 +670,8 @@ dans une couleur qui indique leur état :', 'plugin_info_upgrade_ok' => 'Mise à jour réussie', 'plugin_librairies_installees' => 'Librairies installées', 'plugin_necessite_lib' => 'Ce plugin nécessite la librairie @lib@', 'plugin_necessite_plugin' => 'Nécessite le plugin @plugin@ en version @version@ minimum.', 'plugin_necessite_plugin' => 'Nécessite le plugin @plugin@ en version @version@.', 'plugin_utilise_plugin' => 'Utilise le plugin @plugin@ en version @version@.', 'plugin_necessite_plugin_sans_version' => 'Nécessite le plugin @plugin@', 'plugin_necessite_spip' => 'Nécessite SPIP en version @version@ minimum.', 'plugin_source' => 'source : ', Chargement en cours Chargement en cours
ecrire/inc/plugin.php +52 −17 Numéro de ligne d'origine Numéro de ligne de diff Ligne de diff Chargement en cours @@ -353,8 +353,8 @@ function plugins_erreurs($liste_non_classee, $liste, $infos, $msg=array()) $k = $infos[$dir_type][$plug]; $plug = constant($dir_type) . $plug; if (!isset($msg[$p])) { if (!$msg[$p] = plugin_necessite($k['necessite'], $liste)) $msg[$p] = plugin_necessite($k['utilise'], $liste); if (!$msg[$p] = plugin_necessite($k['necessite'], $liste, 'necessite')) $msg[$p] = plugin_necessite($k['utilise'], $liste, 'utilise'); } else { foreach($msg[$p] as $c => $l) $msg[$p][$c] = plugin_controler_lib($l['nom'], $l['lien']); Chargement en cours Chargement en cours @@ -394,11 +394,11 @@ function plugin_donne_erreurs($raw=false, $raz=true) { * Tableau des messages d'erreurs recus. Il sera vide si tout va bien. * **/ function plugin_necessite($n, $liste) { function plugin_necessite($n, $liste, $balise='necessite') { $msg = array(); foreach($n as $need){ $id = strtoupper($need['nom']); if ($r = plugin_controler_necessite($liste, $id, isset($need['compatibilite']) ? $need['compatibilite'] : '')) { if ($r = plugin_controler_necessite($liste, $id, isset($need['compatibilite']) ? $need['compatibilite'] : '', $balise)) { $msg[] = $r; } } Chargement en cours @@ -412,29 +412,64 @@ function plugin_necessite($n, $liste) { * Liste de description des plugins * @param $nom * Le plugin donc on cherche la presence * @param $version * @param $intervalle * L'éventuelle intervalle de compatibilité de la dependance. ex: [1.1.0;] * @param $balise * Permet de définir si on teste un utilise ou un necessite * @return string. * Vide si ok, * Message d'erreur lorsque la dependance est absente. **/ function plugin_controler_necessite($liste, $nom, $version) function plugin_controler_necessite($liste, $nom, $intervalle, $balise) { if (isset($liste[$nom]) AND plugin_version_compatible($version,$liste[$nom]['version'])) { if (isset($liste[$nom]) AND plugin_version_compatible($intervalle,$liste[$nom]['version'])) { return ''; } // retrouver le minimum if (preg_match(_EXTRAIRE_INTERVALLE, $version, $regs)) { return plugin_message_incompatibilite($intervalle, $liste[$nom]['version'], $nom, $balise); } function plugin_message_incompatibilite($intervalle, $version, $nom, $balise) { if (preg_match(_EXTRAIRE_INTERVALLE,$intervalle,$regs)) { $minimum = $regs[1]; if ($minimum) { return _T('plugin_necessite_plugin', array( $maximum = $regs[2]; $minimum_inclus = $intervalle{0}=="["; $maximum_inclus = substr($intervalle,-1)=="]"; if (strlen($minimum)) { if ($minimum_inclus AND spip_version_compare($version,$minimum,'<')) { return _T("plugin_${balise}_plugin", array( 'plugin' => $nom, 'version' => $minimum)); 'version' => ' ≥ ' . $minimum)); } if (!$minimum_inclus AND spip_version_compare($version,$minimum,'<=')) { return _T("plugin_${balise}_plugin", array( 'plugin' => $nom, 'version' => ' > ' . $minimum)); } return _T('plugin_necessite_plugin_sans_version', array('plugin' => $nom)); } if (strlen($maximum)) { if ($maximum_inclus AND spip_version_compare($version,$maximum,'>')) { return _T("plugin_${balise}_plugin", array( 'plugin' => $nom, 'version' => ' ≤ ' . $maximum)); } if (!$maximum_inclus AND spip_version_compare($version,$maximum,'>=')) { return _T("plugin_${balise}_plugin", array( 'plugin' => $nom, 'version' => ' < ' . $maximum)); } } } return _T("plugin_necessite_plugin_sans_version", array('plugin' => $nom)); } function plugin_controler_lib($lib, $url) { /* Feature sortie du core, voir STP Chargement en cours
ecrire/lang/ecrire_fr.php +3 −2 Numéro de ligne d'origine Numéro de ligne de diff Ligne de diff Chargement en cours @@ -670,7 +670,8 @@ dans une couleur qui indique leur état :', 'plugin_info_upgrade_ok' => 'Mise à jour réussie', 'plugin_librairies_installees' => 'Librairies installées', 'plugin_necessite_lib' => 'Ce plugin nécessite la librairie @lib@', 'plugin_necessite_plugin' => 'Nécessite le plugin @plugin@ en version @version@ minimum.', 'plugin_necessite_plugin' => 'Nécessite le plugin @plugin@ en version @version@.', 'plugin_utilise_plugin' => 'Utilise le plugin @plugin@ en version @version@.', 'plugin_necessite_plugin_sans_version' => 'Nécessite le plugin @plugin@', 'plugin_necessite_spip' => 'Nécessite SPIP en version @version@ minimum.', 'plugin_source' => 'source : ', Chargement en cours