Last change
on this file since 63401 was
63401,
checked in by marcimat@…, 9 years ago
|
Plugin «Groupes de mots arborescents» de préfixe «gma» qui permet de faire des hiérarchies de groupes de mots.
Il ne fonctionne pour l'instant qu'avec la version trunk du plugin mots.
On peut donc créer une arborescence de groupes de mots, et mettre des mots dans chaque groupe.
- Les propriétés d'un sous groupe de mots héritent automatiquement du groupe racine (et ne sont pas modifiable hors du groupe racine)
- Le squelettes de liaison des mots clés sont sur surchargés pour ne lister que les groupes racines, et afficher dans les sélecteurs l'arborescence complète des groupes et mots.
- On ne peut supprimer un groupe que si le groupe n'a pas de sous groupe
Par ailleurs, on utilise une implémentation de QueryPath? (http://querypath.org/) (non sans mal) pour modifier le code HTML du formulaire de groupes de mots.
Cette librairie quoi que très bien s'appuie sur la classe domDocument elle même s'appuyant sur libxml2 qui a un léger bug lors de l'import d'un texte HTML qui possède des CDATA dans des scripts : la librairie double alors ces échappements par des nouveaux ! Du coup, on les enlève avant d'utiliser la librairie (qui de toutes façons les remets).
Cette librairie pourrait être mise dans un plugin spécifique car très pratique une fois les soucis réglés (CDATA et passer le texte en unicode avant importation).
|
File size:
1.1 KB
|
Line | |
---|
1 | <?php |
---|
2 | /** |
---|
3 | * Plugin Groupes arborescents de mots clés |
---|
4 | * (c) 2012 Marcillaud Matthieu |
---|
5 | * Licence GNU/GPL |
---|
6 | */ |
---|
7 | |
---|
8 | if (!defined('_ECRIRE_INC_VERSION')) return; |
---|
9 | |
---|
10 | /** declaration vide pour ce pipeline. **/ |
---|
11 | function gma_autoriser(){} |
---|
12 | |
---|
13 | |
---|
14 | /** |
---|
15 | * Autorisation de supprimer un groupe de mots |
---|
16 | * |
---|
17 | * Surcharge l'autorisation du plugin mots |
---|
18 | * pour tenir compte des sous groupes. |
---|
19 | * |
---|
20 | * On ne peut pas supprimer un groupe de mots s'il possède des sous groupes. |
---|
21 | * |
---|
22 | * @param string $faire Action demandée |
---|
23 | * @param string $type Type d'objet sur lequel appliquer l'action |
---|
24 | * @param int $id Identifiant de l'objet |
---|
25 | * @param array $qui Description de l'auteur demandant l'autorisation |
---|
26 | * @param array $opt Options de cette autorisation |
---|
27 | * @return bool true s'il a le droit, false sinon |
---|
28 | **/ |
---|
29 | function autoriser_groupemots_supprimer($faire, $type, $id, $qui, $opt) { |
---|
30 | // si l'autorisation normale ne passe déjà pas, partir ! |
---|
31 | if (!autoriser_groupemots_supprimer_dist($faire, $type, $id, $qui, $opt)) { |
---|
32 | return false; |
---|
33 | } |
---|
34 | return sql_countsel('spip_groupes_mots','id_parent='.intval($id))?false:true; |
---|
35 | } |
---|
36 | |
---|
37 | |
---|
38 | ?> |
---|
Note: See
TracBrowser
for help on using the repository browser.