Obsolète.... n’est plus en fonction
Une démo en ligne, pour les curieux, elle permet de visualiser un exemple basique du résultat :
login : demo
pass : demo2003
Objectif
Le but est d’ouvrir spip à l’intégration de modules ou « MOD » (du type modules de phpNuke pour les initiés). Ces MODs sont des fonctionnalités nouvelles de la partie privée. A créer suivant un modèle particulier, ils permettent alors de gérer, via l’interface privée de SPIP, des applications diverses et variées (par exemple : gestion d’un jeu, gestion de bannières...).
Le principal avantage vous l’avez compris est de gérer une application particulière via une seule et unique interface.
Un autre intérêt est de disposer d’un modèle permettant de mettre à disposition de chacun un ensemble de MOD créer par des maitres du web émérites.
Comment-ça marche ?
- Télécharger le fichier modules.php3 dans votre repertoire /ecrire. Ce fichier permet de lire les différents modules présents (ceux que vos allez installés). Il affiche ainsi les liens vers les modules et leurs noms dans la partie privée de SPIP.
- Créer un sous-répertoire module dans le répertoire /ecrire. Ce sous-répertoire va contenir les différents modules et leurs fonctionalités.
- Chaque module doit être construit suivant le même modèle. Il faut donc, pour un module donné, créer un répertoire de la forme SPIP-nom_du_module (où ’nom_du_module’ correspond, bien entendu, au nom de votre module). Ce répertoire se situe dans /ecrire/module/.
- Ce sous-dossier SPIP-nom_du_module contient deux fichiers lus par le fichier modules.php3 :
1) case.nom_du_module.php3 est de la forme suivante, il contient les différents cas de votre module :
$module="SPIP-nom_du_module";
switch($op) {
case "cas1":
include ("modules/$module/MonModule.php3");
break;
case "cas2":
include ("modules/$module/MonModule.php3");
break;
}
2) un link.nom_du_module.php3 permet à modules.php3 de créer le lien vers la page principale de votre module :
$query = "SELECT * FROM spip_auteurs WHERE (id_auteur='$connect_id_auteur' AND statut='0minirezo')";
$result = spip_query($query);
if (mysql_num_rows($result))
{
adminmenu("modules.php3?op=cas1", "Mon Module", "MonModule.gif");
}
3) le ou les fichiers nécessaires à l’application propre (celle que vous ou d’autres ont développée), ils doivent commencer ainsi (voir aussi l’exemple à télécharger) :
if (!eregi("modules.php3", $PHP_SELF)) { die ("Access Interdit"); }
$nom_mod = "nom_du_module";
$query = "SELECT * FROM spip_auteurs WHERE (id_auteur='$connect_id_auteur' AND (statut='0minirezo' OR statut='1comite'))";
$result=spip_query($query);
if (mysql_num_rows($result))
{
//votre script
function num1() { votre script }
} else {
echo "Accès non autorisé";
}
Comment accèder aux modules
La solution la plus simple qui ne nécessite pas de modification du noyau de spip et d’ajouter une « Annonce générale » pointant vers modules.php3.
Normalement ça fonctionne, cela doit méritait une amélioration du code, car je ne suis qu’un petit bidouilleur.
On pourrait aussi intégrer directement un bouton « Spip-MOd » dans l’interface privée... mais ceci est une autre histoire.
Aucune discussion
Ajouter un commentaire
Avant de faire part d’un problème sur un plugin X, merci de lire ce qui suit :
Merci d’avance pour les personnes qui vous aideront !
Par ailleurs, n’oubliez pas que les contributeurs et contributrices ont une vie en dehors de SPIP.
Suivre les commentaires : |