Overview
Comment: | Corrections pour les mises à jour sur les signaux des plugins |
---|---|
Downloads: | Tarball | ZIP archive | SQL archive |
Timelines: | family | ancestors | descendants | both | dev |
Files: | files | file ages | folders |
SHA1: |
95c410ec5834d1c35dc50b490a2a8cc3 |
User & Date: | bohwaz on 2018-09-03 10:38:36 |
Other Links: | branch diff | manifest | tags |
Context
2018-09-03
| ||
14:13 | Reconnecter si la session est sur un utilisateur différent de celui spécifié dans LOCAL_LOGIN (cas où on change LOCAL_LOGIN alors qu'on a déjà une session) check-in: 1881215f05 user: bohwaz tags: dev | |
10:38 | Corrections pour les mises à jour sur les signaux des plugins check-in: 95c410ec58 user: bohwaz tags: dev | |
2018-08-26
| ||
01:09 | Table pour stocker les recherches sauvegardées check-in: ed1a26374a user: bohwaz tags: dev | |
Changes
Modified src/include/data/0.9.0.sql from [a0ab45f13a] to [9f23495ff4].
︙ | ︙ | |||
28 29 30 31 32 33 34 | -- Cette variable n'est plus utilisée DELETE FROM config WHERE cle = 'email_envoi_automatique'; ALTER TABLE plugins ADD COLUMN menu_condition TEXT NULL; -- Supprimer le début dans le nom des plugins | | | 28 29 30 31 32 33 34 35 | -- Cette variable n'est plus utilisée DELETE FROM config WHERE cle = 'email_envoi_automatique'; ALTER TABLE plugins ADD COLUMN menu_condition TEXT NULL; -- Supprimer le début dans le nom des plugins UPDATE plugins_signaux SET callback = replace(callback, 'Garradin\Plugin\', ''); |
Modified src/include/lib/Garradin/Membres/Session.php from [4c8faabf48] to [528fd3af98].
︙ | ︙ | |||
107 108 109 110 111 112 113 | protected function deleteAllRememberMeSelectors($user_id) { return $this->db->delete('membres_sessions', $this->db->where('id_membre', $user_id)); } // Ajout de la gestion de LOCAL_LOGIN | | | | 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 | protected function deleteAllRememberMeSelectors($user_id) { return $this->db->delete('membres_sessions', $this->db->where('id_membre', $user_id)); } // Ajout de la gestion de LOCAL_LOGIN public function isLogged($disable_local_login = false) { $logged = parent::isLogged(); if (!$disable_local_login && !$logged && defined('\Garradin\LOCAL_LOGIN') && is_int(\Garradin\LOCAL_LOGIN) && \Garradin\LOCAL_LOGIN > 0) { $logged = $this->create(\Garradin\LOCAL_LOGIN); } return $logged; } |
︙ | ︙ |
Modified src/include/lib/Garradin/Plugin.php from [0592a14b2f] to [d0c4560c12].
︙ | ︙ | |||
299 300 301 302 303 304 305 | * Associer un signal à un callback du plugin * @param string $signal Nom du signal (par exemple boucle.agenda pour la boucle de type AGENDA) * @param mixed $callback Callback, sous forme d'un nom de fonction ou de méthode statique * @return boolean TRUE */ public function registerSignal($signal, $callback) { | < < < < < < > > > > > > | 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 | * Associer un signal à un callback du plugin * @param string $signal Nom du signal (par exemple boucle.agenda pour la boucle de type AGENDA) * @param mixed $callback Callback, sous forme d'un nom de fonction ou de méthode statique * @return boolean TRUE */ public function registerSignal($signal, $callback) { $callable_name = ''; if (!is_callable($callback, true, $callable_name) || !is_string($callable_name)) { throw new \LogicException('Le callback donné n\'est pas valide.'); } // pour empêcher d'appeler des méthodes de Garradin après un import de base de données "hackée" if (strpos($callable_name, 'Garradin\\Plugin\\') !== 0) { throw new \LogicException('Le callback donné n\'utilise pas le namespace Garradin\\Plugin'); } $db = DB::getInstance(); // Signaux exclusifs, qui ne peuvent être attribués qu'à un seul plugin if (strpos($signal, 'boucle.') === 0) { $registered = $db->firstColumn('SELECT plugin FROM plugins_signaux WHERE signal = ? AND plugin != ?;', $signal, $this->id); |
︙ | ︙ |
Modified src/www/admin/upgrade.php from [7c8e5df27b] to [6bfe8df0b5].
︙ | ︙ | |||
28 29 30 31 32 33 34 35 36 37 38 39 40 41 | if (Static_Cache::exists('upgrade')) { $path = Static_Cache::getPath('upgrade'); throw new UserException('Une mise à jour est déjà en cours.' . PHP_EOL . 'Si celle-ci a échouée et que vous voulez ré-essayer, supprimez le fichier suivant:' . PHP_EOL . $path); } Static_Cache::store('upgrade', 'Mise à jour en cours.'); $db = DB::getInstance(); $redirect = true; // Créer une sauvegarde automatique | > > > > > | 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 | if (Static_Cache::exists('upgrade')) { $path = Static_Cache::getPath('upgrade'); throw new UserException('Une mise à jour est déjà en cours.' . PHP_EOL . 'Si celle-ci a échouée et que vous voulez ré-essayer, supprimez le fichier suivant:' . PHP_EOL . $path); } // Voir si l'utilisateur est loggé, on le fait ici pour le cas où // il y aurait déjà eu des entêtes envoyés au navigateur plus bas $session = new Session; $user_is_logged = $session->isLogged(true); Static_Cache::store('upgrade', 'Mise à jour en cours.'); $db = DB::getInstance(); $redirect = true; // Créer une sauvegarde automatique |
︙ | ︙ | |||
207 208 209 210 211 212 213 | $plugin->upgrade(); } unset($plugin); } // Forcer à rafraîchir les données de la session si elle existe | < | < | 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 | $plugin->upgrade(); } unset($plugin); } // Forcer à rafraîchir les données de la session si elle existe if ($user_is_logged) { $session->refresh(); } echo '<h2>Mise à jour terminée.</h2> <p><a href="'.ADMIN_URL.'">Retour</a></p>'; |
︙ | ︙ |