source: spip-zone/_plugins_/grappes/trunk/formulaires/editer_grappe.php @ 66660

Last change on this file since 66660 was 22722, checked in by marcimat@…, 11 years ago

Le plugin Grappe permet de lier ensemble des objets disparates dans un objet appelé 'Grappe'.
Une grappe est donc l'équivalent d'un groupe, mais n'est pas spécifique aux mots clés, ni spécifique à un type d'objet particulier.

On peut actuellement lier à une grappe des auteurs, rubriques et articles.
Il y a encore quelques restrictions :
-* les liaisons ne se font encore que depuis l'objet grappe
-* il semble que firefox n'apprécie pas le sélecteur générique ?

A faire :
-* pouvoir lier un objet à une grappe depuis l'interface de l'objet
-* améliorer le sélecteur
-* amériorer la présentation des listes

Remarques :
-* il est assez facile d'étendre à d'autres objets que ceux actuellement pris en compte.
-* une petite API permet de réaliser des associations de différents objets :
lier($objetA,$id_objetA,$objetB,$id_objetB); idem avec la fonction 'delier'. Les fonctions s'occupent de retrouver le nom de la table de liaison pour réaliser l'insertion.

Utilisation en squelette :
<BOUCLE(GRAPPES){id_grappe}>
<BOUCLE(ARTICLES){id_grappe}> ...

File size: 1.9 KB
Line 
1<?php
2
3/**
4 * Plugin Groupes pour Spip 2.0
5 * Licence GPL (c) 2008 Matthieu Marcillaud
6 */
7
8if (!defined("_ECRIRE_INC_VERSION")) return;
9
10include_spip('inc/actions');
11include_spip('inc/editer');
12
13function formulaires_editer_grappe_charger_dist($id_grappe='new',$retour='', $config_fonc='grappes_edit_config', $row=array(), $hidden=''){
14        $valeurs = formulaires_editer_objet_charger('grappe',$id_grappe,0,'',$retour,$config_fonc,$row,$hidden);
15
16        $valeurs['liaisons'] = explode(',',$valeurs['liaisons']);
17        $valeurs['options'] = @unserialize($valeurs['options']);
18        $valeurs['acces'] = is_array($a = $valeurs['options']['acces']) ? $a : array();
19
20        // par defaut a la creation de groupe
21        if (!intval($id_grappe)) {
22                $valeurs['liaisons'] = array(); //array('auteurs');
23        }
24
25        return $valeurs;
26}
27
28// Choix par defaut des options de presentation
29// http://doc.spip.org/@articles_edit_config
30function grappes_edit_config($row)
31{
32        global $spip_ecran, $spip_lang, $spip_display;
33
34        $config = $GLOBALS['meta'];
35        $config['lignes'] = ($spip_ecran == "large")? 8 : 5;
36        $config['afficher_barre'] = true;
37        $config['langue'] = $spip_lang;
38        return $config;
39}
40
41function formulaires_editer_grappe_verifier_dist($id_grappes='new',$retour='', $config_fonc='grappes_edit_config', $row=array(), $hidden=''){
42
43        $erreurs = formulaires_editer_objet_verifier('grappes',0,array('titre'));
44        return $erreurs;
45}
46
47// http://doc.spip.org/@inc_editer_groupe_mot_dist
48function formulaires_editer_grappe_traiter_dist($id_grappes='new',$retour='', $config_fonc='grappes_edit_config', $row=array(), $hidden=''){
49        $message = '';
50        set_request('redirect','');
51        $action_editer = charger_fonction("editer_grappe",'action');
52        list($id_grappe,$err) = $action_editer();
53        if ($err){
54                $message .= $err;
55        }
56        else {
57                if ($retour) {
58                        include_spip('inc/headers');
59                        $message .= redirige_formulaire(parametre_url($retour,'id_grappe',$id_grappe));
60                }
61        }
62        return $message;
63}
64
65
66?>
Note: See TracBrowser for help on using the repository browser.