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: 72d2e5e89b1c252f1be66cdab5381a7787d0a3e7
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;
	}
}