Overview
SHA1:72d2e5e89b1c252f1be66cdab5381a7787d0a3e7
Date: 2018-10-21 19:47:23
User: bohwaz
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

Timelines: family | ancestors | descendants | both | dev
Downloads: Tarball | ZIP archive
Other Links: files | file ages | folders | manifest
Tags And Properties
Context
2018-10-21
19:49
[55272812de] Utiliser la première ligne du tableau comme entête du tableau, évite les soucis quand un champ personnalisé s'appelle aussi "categorie" ! (user: bohwaz, tags: dev)
19:47
[72d2e5e89b] 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 (user: bohwaz, tags: dev)

19:31
[a00fcdfade] Effacer le menu stocké en session lors d'installation / désinstallation (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;
	}
}