Overview
Comment: | En cas d'appel d'un signal pour un plugin qui n'est pas ici, ne pas déclencher d'erreur, sauf si le plugin est système.
Ce cas est pour quand on installe sur une autre installation une sauvegarde d'une autre instance |
---|---|
Downloads: | Tarball | ZIP archive | SQL archive |
Timelines: | family | ancestors | descendants | both | dev |
Files: | files | file ages | folders |
SHA1: |
72d2e5e89b1c252f1be66cdab5381a77 |
User & Date: | bohwaz on 2018-10-21 19:47:23 |
Other Links: | branch diff | manifest | tags |
Context
2018-10-21
| ||
19:49 | Utiliser la première ligne du tableau comme entête du tableau, évite les soucis quand un champ personnalisé s'appelle aussi "categorie" ! check-in: 55272812de user: bohwaz tags: dev | |
19:47 |
En cas d'appel d'un signal pour un plugin qui n'est pas ici, ne pas déclencher d'erreur, sauf si le plugin est système.
Ce cas est pour quand on installe sur une autre installation une sauvegarde d'une autre instance check-in: 72d2e5e89b user: bohwaz tags: dev | |
19:31 | Effacer le menu stocké en session lors d'installation / désinstallation check-in: a00fcdfade user: bohwaz tags: dev | |
Changes
Modified src/include/lib/Garradin/Plugin.php from [5cc2a1ae85] to [45828504b6].
︙ | ︙ | |||
743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 | * @param string $signal Nom du signal * @param array $params Paramètres du callback (array ou null) * @return NULL NULL si aucun plugin n'a été appelé, true sinon */ static public function fireSignal($signal, $params = null, &$callback_return = null) { $list = DB::getInstance()->get('SELECT * FROM plugins_signaux WHERE signal = ?;', $signal); foreach ($list as $row) { $return = call_user_func_array('Garradin\\Plugin\\' . $row->callback, [&$params, &$callback_return]); if ($return) { return $return; } } return !empty($list) ? false : null; } } | > > > > > > > > | 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 | * @param string $signal Nom du signal * @param array $params Paramètres du callback (array ou null) * @return NULL NULL si aucun plugin n'a été appelé, true sinon */ static public function fireSignal($signal, $params = null, &$callback_return = null) { $list = DB::getInstance()->get('SELECT * FROM plugins_signaux WHERE signal = ?;', $signal); $system = explode(',', PLUGINS_SYSTEM); foreach ($list as $row) { // Ne pas appeler les plugins dont le code n'existe pas/plus, // SAUF si c'est un plugin système (auquel cas ça fera une erreur) if (!self::getPath($row->plugin, in_array($row->plugin, $system))) { continue; } $return = call_user_func_array('Garradin\\Plugin\\' . $row->callback, [&$params, &$callback_return]); if ($return) { return $return; } } return !empty($list) ? false : null; } } |