Overview
Comment: | doc signaux plugins |
---|---|
Downloads: | Tarball | ZIP archive | SQL archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA1: |
44ec6720011385e6cd98c2db8c16a881 |
User & Date: | bohwaz on 2015-01-31 06:44:41 |
Other Links: | manifest | tags |
Context
2015-02-04
| ||
02:27 | Fix [16af9ccf92] : comptes de crédit et débit lors du report à nouveau automatique check-in: e5a990bf5a user: bohwaz tags: trunk | |
2015-01-31
| ||
06:44 | doc signaux plugins check-in: 44ec672001 user: bohwaz tags: trunk | |
02:56 | correction appel namespace check-in: 9aab6f827b user: bohwaz tags: trunk | |
Changes
Modified doc/dev/plugins.skriv from [b8ff24ef4e] to [3950e62c06].
︙ | ︙ | |||
81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 | === Scripts magiques === Chaque archive peut comporter certains ''scripts magiques'' qui seront appelés automatiquement par Garradin lors de certains événements. * **install.php** est appelé quand le plugin a été téléchargé et qu'il est déjà noté comme installé (post-installation), utile notamment pour créer une table dans la base de données * **upgrade.php** : quand la version de l'archive (notée dans garradin_plugin.ini) ne correspond pas à la version enregistrée en base de donnée * **uninstall.php** : juste avant que le plugin ne soit supprimé, utile par exemple pour supprimer une table créée dans la base de données Ces scripts ne peuvent pas être appelés par une requête HTTP via l'interface privée ou publique. === Objet Garradin\Plugin == * __construct(string $id) * setConfig(string $key, string $value) : enregistre la configuration du plugin, si $value est null alors tte clé est effacée de la configuration * getConfig(string $key) : récupère la valeur de la clé $key pour la configuration du plugin * getInfos() : renvoie les informations enregistrées sur le plugin * upgrade() : mise à jour du plugin * needsUpgrade() : le plugin doit-il être mis à jour ? * uninstall() : désinstaller le plugin * id() : renvoie l'identifiant du plugin * path() : renvoie le chemin vers l'archive du plugin | > | > > | 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 | === Scripts magiques === Chaque archive peut comporter certains ''scripts magiques'' qui seront appelés automatiquement par Garradin lors de certains événements. * **install.php** est appelé quand le plugin a été téléchargé et qu'il est déjà noté comme installé (post-installation), utile notamment pour créer une table dans la base de données * **upgrade.php** : quand la version de l'archive (notée dans garradin_plugin.ini) ne correspond pas à la version enregistrée en base de donnée * **uninstall.php** : juste avant que le plugin ne soit supprimé, utile par exemple pour supprimer une table créée dans la base de données * **signals.php** : inclus quand un signal enregistré est appelé Ces scripts ne peuvent pas être appelés par une requête HTTP via l'interface privée ou publique. === Objet Garradin\Plugin == * __construct(string $id) * setConfig(string $key, string $value) : enregistre la configuration du plugin, si $value est null alors tte clé est effacée de la configuration * getConfig(string $key) : récupère la valeur de la clé $key pour la configuration du plugin * getInfos() : renvoie les informations enregistrées sur le plugin * upgrade() : mise à jour du plugin * needsUpgrade() : le plugin doit-il être mis à jour ? * uninstall() : désinstaller le plugin * id() : renvoie l'identifiant du plugin * path() : renvoie le chemin vers l'archive du plugin * registerSignal(string $signal, string $callback) : enregistre un callback associé à un signal === Base de données === Tous les plugins ont un accès illimité à la base de données principale de Garradin. Cependant il est interdit d'ajouter, modifier ou supprimer des données directement dans les tables de cette BDD afin de ne pas compromettre l'intégrité des données. Pour modifier ces données il faut utiliser les méthodes de Garradin. Chaque plugin peut créer une ou plusieurs tables dans cette BDD, elles devront par contre être supprimées à la désinstallation. Dans ce cas un plugin peut modifier directement ses tables. === Fichiers === Les plugins ne doivent pas créer, modifier ou supprimer de fichiers dans l'arborescence de Garradin. Les seuls fichiers qu'un plugin devrait modifier sont : * du cache : utiliser de préférence l'objet Static_Cache de Garradin, ou faire attention aux collisions de noms ; * les squelettes dans le répertoire **www/squelettes/** Pour enregistrer et récupérer des documents il faut utiliser les méthodes de stockage de fichiers fournies par Garradin. === Signaux === Les plugins peuvent se « brancher » sur des signaux émis par Garradin lors de certaines actions. FIXME plus de doc. === Dans les templates === Garradin fournit la lib Template_Lite pour les pages privées (répertoire /admin/), où elle est déjà chargée par défaut. C'est une version allégée de Smarty 2. Afficher un template contenu dans le plugin : <pre> |
︙ | ︙ |