pnWikka : InitiationCreationModule
HomePage :: Categories :: Page Index :: RecentChanges :: Search :: Help :: Login/Register
Most recent edit on 2006-09-29 13:11:19 by Chestnut Un peu d'oxygène dans l'écriture svp...
Additions:
function statsage_init() $sql = "pn_uid I AUTO PRIMARY,
La fonction smarty pnmodurl permet la transformation en url (cet exemple renvoi index.php?module=statsage&type=user&func=validateage )
Deletions:
la fonction smarty pnmodurl permet la transformation en url (cet exemple renvoi index.php?module=statsage&type=user&func=validateage )
Edited on 2006-09-29 13:06:33 by Chestnut Corrections - Tidy - Catégorie
Additions:
index.php?module=<module>&type=<type>&func=<func>
Vous pouvez accéder au panneau d'administration de ce module via le lien index.php?module=statsage&type=admin (func est par défaut "main") et accéder à la page utilisateur via le lien index.php?module=statsage (func est par défaut "main" et type est par défaut "user")
la fonction smarty pnmodurl permet la transformation en url (cet exemple renvoi index.php?module=statsage&type=user&func=validateage )
A faire: vérifier le module, tester le code...
Développement?
Deletions:
index.php?module=<module>&type=<type>&func=<func>
Vous pouvez accéder au panneau d'administration de ce module via le lien index.php?module=statsage&type=admin (func est par défaut "main") et accéder à la page utilisateur via le lien index.php?module=statsage (func est par défaut "main" et type est par défaut "user")
la fonction smarty pnmodurl permet la transformation en url (cet exemple renvoi index.php?module=statsage&type=user&func=validateage )
A faire: vérifier le module, tester le code...
Edited on 2006-09-26 15:40:47 by Gilles
Additions:
Cette page à pour but de vous donner les bases concernant la création de modules. Il est nécessaire d'avoir quelques bases d'informatique concernant l'utilisation des tables mysql, des notions de php, des notions générales de programation (fonctions, classes) et d'algorithmie.
1. pndocs : Ca pourrais parraître la partie la plus facile à remplir de votre module, mais non. La documentation est vitale dans un module. mettez des pages html, des exemples des permissions nécessaires, une procédure d'installation et tout ce qui pourra aider les utilisateurs. Une documentation bien faite soulage les forums.
6. Dossier contenant tout les fichiers de styles du module.
On peut voir que l'on a deux types prédéfinis : 'user' et 'admin' mais rien ne vous empêche d'en créer d'autres. ex : clients, revendeur, ... Ces types se retrouvent dans les fichiers pn---.php, pn---api.php, /pnlang/XXX/---.php et dans tous les templates.
Nous allons maintenant procéder au renommage du module. Il faut tout d'abord dupliquer le module "Blank" et le renommer en "statsage" (statistiques age) puis ouvrir tous les fichiers à l'aide d'un éditeur favoris (voir ici). <?php
Deletions:
Cette page à pour but de vous donner les bases concernant la création de module. Il est nécessaire d'avoir quelques bases d'informatique concernant l'utilisation des tables mysql, des notions de php, des notions générales de programation (fonctions, classes) et d'algorithmie.
1. pndocs bein, ca pourrais parraître la partie la plus facile à remplir de votre module, mais non. La documentation est vitale dans un module. mettez des pages html, des exemples des permissions nécessaires, une procédure d'installation et ainsi de suite!
6. Dossier contenant tout les fichiers de style du module.
On peut voir que l'on a deux types prédéfinis : 'user' et 'admin' mais rien ne vous empêche d'en créer d'autres. ex : clients, revendeur, ...
Nous allons maintenant procéder au renommage du module. Il faut tout d'abord dupliquer le module "Blank" en "statsage" (statistiques age) puis ouvrir tous les fichiers à l'aide d'un éditeur favoris (voir ici).
<?php
Edited on 2006-09-26 01:27:37 by YokaV correction orthographe
Additions:
On peut voir que l'on a deux types prédéfinis : 'user' et 'admin' mais rien ne vous empêche d'en créer d'autres. ex : clients, revendeur, ...
Vous pouvez accéder au panneau d'administration de ce module via le lien index.php?module=statsage&type=admin (func est par défaut "main") et accéder à la page utilisateur via le lien index.php?module=statsage (func est par défaut "main" et type est par défaut "user")
Il faut créer un fichier pntables.php à la racine du module. Nous l'écrirons de cette manière:
Deletions:
On peut voir que l'on a deux types prédéfinis: 'user' et 'admin' mais rien ne vous enmpêche d'en créer d'autre: clients, revendeur, ...
Vous pouvez accéder au magnifique panneau d'administration de ce module en allant à index.php?module=statsage&type=admin (func est par défaut "main"), aller à la page utilisateur en allant à index.php?module=statsage (func est par défaut "main" et type est par défaut "user")
Il faut créer un fichier un fichier pntables.php à la racine du module. Nous l'écrirons de cette manière:
Edited on 2006-09-26 00:35:45 by YokaV correction orthographe
Additions:
9. Fichier gérant les données. Ce fichier est appelé exclusivement par pnadmin.php
Deletions:
9. Fichier gerant les données. Ce fichier est appelé exclusivement par pnadmin.php
Edited on 2006-09-26 00:32:31 by YokaV
Additions:
2. Le dossier pnlang contient lui même des dossiers nommé aux noms des langages
Deletions:
2. le dossier pnlang contient lui même des dossiers nommé aux nom des langages
Edited on 2006-09-25 23:38:59 by Gilles
Additions:
Nous allons maintenant procéder au renommage du module. Il faut tout d'abord dupliquer le module "Blank" en "statsage" (statistiques age) puis ouvrir tous les fichiers à l'aide d'un éditeur favoris (voir ici).
Deletions:
Nous allons maintenant procéder au renommage du module. Il faut tout d'abord dupliquer le module "Blank" en "statsage" (statistiques age) puis ouvrir tous les fichiers à l'aide d'un éditeur favoris (voir ici?).
Edited on 2006-09-25 23:19:44 by Gilles
Additions:
Edited on 2006-09-25 23:16:27 by Gilles backup fin !
Additions:
Il faut modifier le fichier pnuserapi.php afin de gérer l'appel à pnModAPIFunc('statsage', 'user', 'moyenne')
et enfin gérer la réception du formulaire par le fichier pnuser.php et pnuserapi.php
function statsage_userapi_setage($args)
A faire: vérifier le module, tester le code...
Deletions:
Il faut modifier le fichier pnuserapi.php afin de gérer l'appel à pnModAPIFunc?('statsage', 'user', 'moyenne')
et enfin gérer la réception du formulaire par le fichier pnuser.php
a faire
%%
Edited on 2006-09-25 22:47:49 by Gilles
Additions:
<p style="text-align:center;"><!--[pnml name='_STATSAGEMOD_MOYENNEACTUELLE']--> <!--[$moyenne]--></p>
<form action="<!--[pnmodurl modname=statsage type=user func=validateage]-->" method="post" enctype="application/x-www-form-urlencoded">
<p style="text-align:center;"><!--[pnml name='_STATSAGEMOD_ENTREZAGE']--> <input type="text" id="age" /></p>
</form>
la fonction smarty pnmodurl permet la transformation en url (cet exemple renvoi index.php?module=statsage&type=user&func=validateage )
Il faut modifier le fichier pnuserapi.php afin de gérer l'appel à pnModAPIFunc?('statsage', 'user', 'moyenne')
function statsage_userapi_moyenne()
utilisation de la classe DBUtil (/includes/pnobjlib/DBUtil.class.php ) $tableau_age = DBUtil::selectFieldArray∞ ('statsage_listepersonnes','age'); $nb_elems = array_count_values($tableau_age); $somme_age = array_sum($tableau_age);
function statsage_user_validateage() $object = array( 'age' => FormUtil::getPassedValue('age∞'), 'uid' => pnUserGetVar?('uid') );
a faire
Deletions:
<p style="text-align:center;"><!--[pnml name='_STATSAGEMOD_CONTENT']--></p>
Edited on 2006-09-25 22:08:07 by Gilles bakup 4
Additions:
Nous allons maintenant modifier le template statsage_user_main.tpl
Deletions:
Edited on 2006-09-25 21:30:46 by Gilles bakup 3
Additions:
Vous pouvez accéder au magnifique panneau d'administration de ce module en allant à index.php?module=statsage&type=admin (func est par défaut "main"), aller à la page utilisateur en allant à index.php?module=statsage (func est par défaut "main" et type est par défaut "user")
Deletions:
Vous pouvez accéder au magnifique panneau d'administration de ce module en allant à index.php?module=statsage&type=admin (func est par défaut "main"), aller à la page utilisateur en allant à index.php?module=statsage (func est par défaut "main" et type est par défaut "user")
Edited on 2006-09-25 20:35:44 by Gilles sauvegarde de mon w !
Additions:
On peut voir que l'on a deux types prédéfinis: 'user' et 'admin' mais rien ne vous enmpêche d'en créer d'autre: clients, revendeur, ...
L'opération à faire est un "chercher et remplacer" en respectant la casse.
Vous pouvez accéder au magnifique panneau d'administration de ce module en allant à index.php?module=statsage&type=admin (func est par défaut "main"), aller à la page utilisateur en allant à index.php?module=statsage (func est par défaut "main" et type est par défaut "user")
Deletions:
Oldest known version of this page was edited on 2006-09-25 17:26:20 by Gilles [ 1ere partie... ]
Cette documentation concerne principalement la future version 0.8 de PostNuke
Cette page à pour but de vous donner les bases concernant la création de module. Il est nécessaire d'avoir quelques bases d'informatique concernant l'utilisation des tables mysql, des notions de php, des notions générales de programation (fonctions, classes) et d'algorithmie.
Afin d'avoir un exemple concret, le module que nous allons faire va demander à l'utilisateur son année de naissance, va la sauvegarder puis en tirer des statistiques.
Un module blank existe dans votre dossier /modules. C'est à partir de celui-ci que vous aller créer votre premier module. Voyons tout d'abord comment est constitué ce module:
|-modules
...|-pndocs (1)
......|-changelog.txt
......|-credits.txt
......|-help.txt
......|-licence.txt
...|-pnlang (2)
......|-eng
.........|-admin.php (3)
.........|-user.php (4)
.........|-version.php (5)
...|-pnstyle (6)
.........|-blank.css
...|-pntemplates (7)
......|-blank_admin_main.tpl
......|-blank_admin_menu.tpl
......|-blank_user_main.tpl
...|-pnadmin.php (8)
...|-pnadminapi.php (9)
...|-pnuser.php
...|-pnuserapi.php
...|-pninit.php (10)
...|-pnversion.php (11)
1. pndocs bein, ca pourrais parraître la partie la plus facile à remplir de votre module, mais non. La documentation est vitale dans un module. mettez des pages html, des exemples des permissions nécessaires, une procédure d'installation et ainsi de suite!
2. le dossier pnlang contient lui même des dossiers nommé aux nom des langages
3. Fichier contenant toutes les constantes de langue pour la partie administration
4. Fichier contenant toutes les constantes de langue pour la partie utilisateur
5. Fichier contenant toutes les constantes de langue concernant les paramètres du module (son nom courant et "technique", sa description)
6. Dossier contenant tout les fichiers de style du module.
7. Les templates sont des fichiers contenant du code HTML exclusivement. Ils permettent l'interfacage avec le code php.
8. Fichier appelé lors de la génération d'une page. Il fait l'interface entre les templates et l'accès à la base de donnée ou plus généralement, il fait l'interfacage entre l'affichage et la gestion des données. Il fonctionne de manière symétrique avec le pnuser.php
9. Fichier gerant les données. Ce fichier est appelé exclusivement par pnadmin.php
10. Fichier appelé lors de l'initialisation du module. Il va mettre les variables dans leur premier état. Ce fichier est aussi appelé lors de la suppression du module
11. Fichier contenant la version, le nom de l'auteur et toutes les information concernant la création du module.
Additions:
Personnalisation du module en fonction des besoins
Création et suppression de la base de donnée
<?phpfunction statsage_init() $sql = "pn_uid I AUTO PRIMARY,
- age I NOTNULL DEFAULT '0'";
<!--[pnmodurl modname=statsage type=user func=validateage]-->
La fonction smarty pnmodurl permet la transformation en url (cet exemple renvoi index.php?module=statsage&type=user&func=validateage )
Deletions:
Personnalisation du module en fonction des besoins
Création et suppression de la base de donnée
<?php function statsage_init()
$sql = "pn_uid I AUTO PRIMARY,
pn_age I NOTNULL DEFAULT '0'";
}
$sql = "pn_uid I AUTO PRIMARY,
pn_age I NOTNULL DEFAULT '0'";
}
<!--[pnmodurl modname=statsage type=user func=validateage]-->
Edited on 2006-09-29 13:06:33 by Chestnut Corrections - Tidy - Catégorie
Additions:
index.php?module=<module>&type=<type>&func=<func>
Vous pouvez accéder au panneau d'administration de ce module via le lien index.php?module=statsage&type=admin (func est par défaut "main") et accéder à la page utilisateur via le lien index.php?module=statsage (func est par défaut "main" et type est par défaut "user")
<!--[pnmodurl modname=statsage type=user func=validateage]-->
A faire: vérifier le module, tester le code...
Développement?
Deletions:
index.php?module=<module>&type=<type>&func=<func>
Vous pouvez accéder au panneau d'administration de ce module via le lien index.php?module=statsage&type=admin (func est par défaut "main") et accéder à la page utilisateur via le lien index.php?module=statsage (func est par défaut "main" et type est par défaut "user")
<!--[pnmodurl modname=statsage type=user func=validateage]-->
A faire: vérifier le module, tester le code...
Edited on 2006-09-26 15:40:47 by Gilles
Additions:
Cette page à pour but de vous donner les bases concernant la création de modules. Il est nécessaire d'avoir quelques bases d'informatique concernant l'utilisation des tables mysql, des notions de php, des notions générales de programation (fonctions, classes) et d'algorithmie.
1. pndocs : Ca pourrais parraître la partie la plus facile à remplir de votre module, mais non. La documentation est vitale dans un module. mettez des pages html, des exemples des permissions nécessaires, une procédure d'installation et tout ce qui pourra aider les utilisateurs. Une documentation bien faite soulage les forums.
6. Dossier contenant tout les fichiers de styles du module.
On peut voir que l'on a deux types prédéfinis : 'user' et 'admin' mais rien ne vous empêche d'en créer d'autres. ex : clients, revendeur, ... Ces types se retrouvent dans les fichiers pn---.php, pn---api.php, /pnlang/XXX/---.php et dans tous les templates.
Nous allons maintenant procéder au renommage du module. Il faut tout d'abord dupliquer le module "Blank" et le renommer en "statsage" (statistiques age) puis ouvrir tous les fichiers à l'aide d'un éditeur favoris (voir ici). <?php
Conclusion
Cette initiation à l'écriture de modules vous a permis de vous lancer. Tous les autres modules disponibles dans la version 0.800 de PostNuke peuvent servir d'exemple. Ils sont tous écris de la même manière, fonctionnent avec des templates. La sécurité est un point primordial dans votre site. vérifier les droits utilisateurs à chaque appel de fonction est nécessaire. Si vous avez des questions, des commentaires, n'hésitez pas à les faire dans le forum.Deletions:
Cette page à pour but de vous donner les bases concernant la création de module. Il est nécessaire d'avoir quelques bases d'informatique concernant l'utilisation des tables mysql, des notions de php, des notions générales de programation (fonctions, classes) et d'algorithmie.
1. pndocs bein, ca pourrais parraître la partie la plus facile à remplir de votre module, mais non. La documentation est vitale dans un module. mettez des pages html, des exemples des permissions nécessaires, une procédure d'installation et ainsi de suite!
6. Dossier contenant tout les fichiers de style du module.
On peut voir que l'on a deux types prédéfinis : 'user' et 'admin' mais rien ne vous empêche d'en créer d'autres. ex : clients, revendeur, ...
Nous allons maintenant procéder au renommage du module. Il faut tout d'abord dupliquer le module "Blank" en "statsage" (statistiques age) puis ouvrir tous les fichiers à l'aide d'un éditeur favoris (voir ici).
<?php
Edited on 2006-09-26 01:27:37 by YokaV correction orthographe
Additions:
On peut voir que l'on a deux types prédéfinis : 'user' et 'admin' mais rien ne vous empêche d'en créer d'autres. ex : clients, revendeur, ...
- type représente le type d'appel : user ou admin (défaut: user)
- Chercher "blank" et remplacer par "statsage" avec "respect de la casse" coché
- Chercher "Blank" et remplacer par "statsage" avec "respect de la casse" coché ("b" majuscule)
- Chercher "BLANK" et remplacer par "STATSAGE" avec "respect de la casse" coché
- Renommer les fichiers
Vous pouvez accéder au panneau d'administration de ce module via le lien index.php?module=statsage&type=admin (func est par défaut "main") et accéder à la page utilisateur via le lien index.php?module=statsage (func est par défaut "main" et type est par défaut "user")
Il faut créer un fichier pntables.php à la racine du module. Nous l'écrirons de cette manière:
Ménage
Deletions:
On peut voir que l'on a deux types prédéfinis: 'user' et 'admin' mais rien ne vous enmpêche d'en créer d'autre: clients, revendeur, ...
- type représente le type d'appel: user ou admin le plus souvent (défaut: user)
- Chercher "blank" et remplacer par "statsage" avec "respect de la case" coché
- Chercher "Blank" et remplacer par "statsage" avec "respect de la case" coché ("b" majuscule)
- Chercher "BLANK" et remplacer par "STATSAGE" avec "respect de la case" coché
- renommer les fichiers
Vous pouvez accéder au magnifique panneau d'administration de ce module en allant à index.php?module=statsage&type=admin (func est par défaut "main"), aller à la page utilisateur en allant à index.php?module=statsage (func est par défaut "main" et type est par défaut "user")
Il faut créer un fichier un fichier pntables.php à la racine du module. Nous l'écrirons de cette manière:
Menage
Edited on 2006-09-26 00:35:45 by YokaV correction orthographe
Additions:
9. Fichier gérant les données. Ce fichier est appelé exclusivement par pnadmin.php
Deletions:
9. Fichier gerant les données. Ce fichier est appelé exclusivement par pnadmin.php
Edited on 2006-09-26 00:32:31 by YokaV
Additions:
2. Le dossier pnlang contient lui même des dossiers nommé aux noms des langages
Deletions:
2. le dossier pnlang contient lui même des dossiers nommé aux nom des langages
Edited on 2006-09-25 23:38:59 by Gilles
Additions:
Nous allons maintenant procéder au renommage du module. Il faut tout d'abord dupliquer le module "Blank" en "statsage" (statistiques age) puis ouvrir tous les fichiers à l'aide d'un éditeur favoris (voir ici).
Deletions:
Nous allons maintenant procéder au renommage du module. Il faut tout d'abord dupliquer le module "Blank" en "statsage" (statistiques age) puis ouvrir tous les fichiers à l'aide d'un éditeur favoris (voir ici?).
Edited on 2006-09-25 23:19:44 by Gilles
Additions:
Menage
Un petit peu de ménage ne peut faire que du bien maintenant à votre module. Comme il n'y a pas de partie administration à notre module, on peut supprimer le template blank_admin_main.tpl et blank_admin_menu.tpl les fichiers pnadmin.php, pnadminapi.phpEdited on 2006-09-25 23:16:27 by Gilles backup fin !
Additions:
Il faut modifier le fichier pnuserapi.php afin de gérer l'appel à pnModAPIFunc('statsage', 'user', 'moyenne')
et enfin gérer la réception du formulaire par le fichier pnuser.php et pnuserapi.php
- 'statsage', 'user', 'setage', $object);
- true;
function statsage_userapi_setage($args)
- DBUtil::selectField('statsage_listepersonnes','age','uid='.$args['uid∞']))
- :updateObject?($args, 'statsage_listepersonnes');
- DBUtil::insertObject($args∞, 'statsage_listepersonnes');
- DBUtil::selectField('statsage_listepersonnes','age','uid='.$args['uid∞']))
A faire: vérifier le module, tester le code...
Deletions:
Il faut modifier le fichier pnuserapi.php afin de gérer l'appel à pnModAPIFunc?('statsage', 'user', 'moyenne')
et enfin gérer la réception du formulaire par le fichier pnuser.php
a faire
%%
Edited on 2006-09-25 22:47:49 by Gilles
Additions:
<p style="text-align:center;"><!--[pnml name='_STATSAGEMOD_MOYENNEACTUELLE']--> <!--[$moyenne]--></p>
<form action="<!--[pnmodurl modname=statsage type=user func=validateage]-->" method="post" enctype="application/x-www-form-urlencoded">
<p style="text-align:center;"><!--[pnml name='_STATSAGEMOD_ENTREZAGE']--> <input type="text" id="age" /></p>
</form>
<!--[pnmodurl modname=statsage type=user func=validateage]-->
Il faut modifier le fichier pnuserapi.php afin de gérer l'appel à pnModAPIFunc?('statsage', 'user', 'moyenne')
function statsage_userapi_moyenne()
utilisation de la classe DBUtil (/includes/pnobjlib/DBUtil.class.php ) $tableau_age = DBUtil::selectFieldArray∞ ('statsage_listepersonnes','age'); $nb_elems = array_count_values($tableau_age); $somme_age = array_sum($tableau_age);
- $somme_age / $nb_elems;
function statsage_user_validateage() $object = array( 'age' => FormUtil::getPassedValue('age∞'), 'uid' => pnUserGetVar?('uid') );
a faire
- $somme_age / $nb_elems;
Deletions:
<p style="text-align:center;"><!--[pnml name='_STATSAGEMOD_CONTENT']--></p>
Edited on 2006-09-25 22:08:07 by Gilles bakup 4
Additions:
Création et suppression de la base de donnée
}===Appel du formulaire===
Nous voulons que ce formulaire soit appelé par défaut quand on appel le module. Nous allons donc appeler ce module dans la fonction main.
Dans le fichier pnuser.php, on va modifier la fonction statsage_user_main()
function statsage_user_main()
// Vérifie si l'utilisateur a le droit en lecture
if (!SecurityUtil::checkPermission('statsage::', '::', ACCESS_READ)) {
return pnVarPrepHTMLDisplay(_MODULENOAUTH);
}
$pnRender = new pnRender('statsage'); // crée une nouvelle instance de pnRender afin d'appeler le template
$pnRender->assign('moyenne',pnModAPIFunc('statsage', 'user', 'moyenne')); //assigne à la variable 'moyenne' la valeur de retour de la fonction de calcul de la moyenne.
return $pnRender->fetch('statsage_user_main.tpl'); //appel du templateNous allons maintenant modifier le template statsage_user_main.tpl
<!--[* commentaire *]--> <h2><!--[pnml name='_STATSAGEMOD_TITLE']--></h2> <p style="text-align:center;"><!--[pnml name='_STATSAGEMOD_CONTENT']--></p>
Deletions:
Création de la base de donnée
}%%Edited on 2006-09-25 21:30:46 by Gilles bakup 3
Additions:
Vous pouvez accéder au magnifique panneau d'administration de ce module en allant à index.php?module=statsage&type=admin (func est par défaut "main"), aller à la page utilisateur en allant à index.php?module=statsage (func est par défaut "main" et type est par défaut "user")
Personnalisation du module en fonction des besoins
Création de la base de donnée
Il faut créer un fichier un fichier pntables.php à la racine du module. Nous l'écrirons de cette manière:<?php
function statsage_pntables()
{
$pntable = array();
$pntable['statsage_listepersonnes'] =
pnDBGetTablePrefix('statsage') . '_statsage_listepersonnes';
// correspond au nom de la table dans la base de donnée (nomdumodule_table)
$pntable['statsage_listepersonnes_column'] = // (nomdumodule_table_column)
array ( 'uid' => 'pn_uid',
'age' => 'pn_age',
);
//autres tables pour le module au cas ou !
return $pntable;
}
?>
function statsage_pntables()
{
$pntable = array();
$pntable['statsage_listepersonnes'] =
pnDBGetTablePrefix('statsage') . '_statsage_listepersonnes';
// correspond au nom de la table dans la base de donnée (nomdumodule_table)
$pntable['statsage_listepersonnes_column'] = // (nomdumodule_table_column)
array ( 'uid' => 'pn_uid',
'age' => 'pn_age',
);
//autres tables pour le module au cas ou !
return $pntable;
}
?>
- uid correspond à l'identifiant de l'utilisateur (user id).
- age correspond à l'age enregistré par la personne dans la base de donnée.
function statsage_init()
{
$sql = "pn_uid I AUTO PRIMARY,
pn_age I NOTNULL DEFAULT '0'";
if (!DBUtil::createTable('statsage_listepersonnes', $sql)) {
pnSessionSetVar('errormsg', _CREATETABLEFAILED);
return false;
}
return true;
}
{
$sql = "pn_uid I AUTO PRIMARY,
pn_age I NOTNULL DEFAULT '0'";
if (!DBUtil::createTable('statsage_listepersonnes', $sql)) {
pnSessionSetVar('errormsg', _CREATETABLEFAILED);
return false;
}
return true;
}
function statsimage_delete()
{
$dbconn = pnDBGetConn(true);
$pntable = pnDBGetTables();
$listepersonnestable = $pntable['statsage_listepersonnes'];
$dict = NewDataDictionary($dbconn);
// crée le script SQL la table
$sqlarray = $dict->DropTableSQL($listepersonnestable);
// execute la requête SQL ou génère un message de session qui sera affiché juste après.
if ($dict->ExecuteSQLArray($sqlarray) != 2) {
pnSessionSetVar('errormsg', _EXAMPLEDBDROPTABLEFAILED);
// Renvoie false en cas d'erreur
return false;
}
return true;
}
{
$dbconn = pnDBGetConn(true);
$pntable = pnDBGetTables();
$listepersonnestable = $pntable['statsage_listepersonnes'];
$dict = NewDataDictionary($dbconn);
// crée le script SQL la table
$sqlarray = $dict->DropTableSQL($listepersonnestable);
// execute la requête SQL ou génère un message de session qui sera affiché juste après.
if ($dict->ExecuteSQLArray($sqlarray) != 2) {
pnSessionSetVar('errormsg', _EXAMPLEDBDROPTABLEFAILED);
// Renvoie false en cas d'erreur
return false;
}
return true;
}
Deletions:
Vous pouvez accéder au magnifique panneau d'administration de ce module en allant à index.php?module=statsage&type=admin (func est par défaut "main"), aller à la page utilisateur en allant à index.php?module=statsage (func est par défaut "main" et type est par défaut "user")
Edited on 2006-09-25 20:35:44 by Gilles sauvegarde de mon w !
Additions:
On peut voir que l'on a deux types prédéfinis: 'user' et 'admin' mais rien ne vous enmpêche d'en créer d'autre: clients, revendeur, ...
appel des fonctions d'un module
index.php?module=<module>&type=<type>&func=<func>- module représente le nom du module
- type représente le type d'appel: user ou admin le plus souvent (défaut: user)
- func représente le nom de la fonction appelée (défaut: main)
Renommage du module
Nous allons maintenant procéder au renommage du module. Il faut tout d'abord dupliquer le module "Blank" en "statsage" (statistiques age) puis ouvrir tous les fichiers à l'aide d'un éditeur favoris (voir ici?).L'opération à faire est un "chercher et remplacer" en respectant la casse.
- Chercher "blank" et remplacer par "statsage" avec "respect de la case" coché
- Chercher "Blank" et remplacer par "statsage" avec "respect de la case" coché ("b" majuscule)
- Chercher "BLANK" et remplacer par "STATSAGE" avec "respect de la case" coché
- renommer les fichiers
- /pnstyle/blank.css en /pnstyle/statsage.css
- blank_admin_main.tpl en statsage_admin_main.tpl
- blank_admin_menu.tpl en statsage_admin_menu.tpl
- blank_user_main.tpl en statsage_user_main.tpl
Activer le module
maintenant que le module est entièrement renommé, vous povez aller dans le panneau d'administration, modules, régénérer la liste, initialiser le module statsage et activer le module statsageVous pouvez accéder au magnifique panneau d'administration de ce module en allant à index.php?module=statsage&type=admin (func est par défaut "main"), aller à la page utilisateur en allant à index.php?module=statsage (func est par défaut "main" et type est par défaut "user")
Deletions:
Oldest known version of this page was edited on 2006-09-25 17:26:20 by Gilles [ 1ere partie... ]
Initiation à la création de modules
Cette documentation concerne principalement la future version 0.8 de PostNuke
Cette page à pour but de vous donner les bases concernant la création de module. Il est nécessaire d'avoir quelques bases d'informatique concernant l'utilisation des tables mysql, des notions de php, des notions générales de programation (fonctions, classes) et d'algorithmie.
Afin d'avoir un exemple concret, le module que nous allons faire va demander à l'utilisateur son année de naissance, va la sauvegarder puis en tirer des statistiques.
Un module blank existe dans votre dossier /modules. C'est à partir de celui-ci que vous aller créer votre premier module. Voyons tout d'abord comment est constitué ce module:
|-modules
...|-pndocs (1)
......|-changelog.txt
......|-credits.txt
......|-help.txt
......|-licence.txt
...|-pnlang (2)
......|-eng
.........|-admin.php (3)
.........|-user.php (4)
.........|-version.php (5)
...|-pnstyle (6)
.........|-blank.css
...|-pntemplates (7)
......|-blank_admin_main.tpl
......|-blank_admin_menu.tpl
......|-blank_user_main.tpl
...|-pnadmin.php (8)
...|-pnadminapi.php (9)
...|-pnuser.php
...|-pnuserapi.php
...|-pninit.php (10)
...|-pnversion.php (11)
1. pndocs bein, ca pourrais parraître la partie la plus facile à remplir de votre module, mais non. La documentation est vitale dans un module. mettez des pages html, des exemples des permissions nécessaires, une procédure d'installation et ainsi de suite!
2. le dossier pnlang contient lui même des dossiers nommé aux nom des langages
3. Fichier contenant toutes les constantes de langue pour la partie administration
4. Fichier contenant toutes les constantes de langue pour la partie utilisateur
5. Fichier contenant toutes les constantes de langue concernant les paramètres du module (son nom courant et "technique", sa description)
6. Dossier contenant tout les fichiers de style du module.
7. Les templates sont des fichiers contenant du code HTML exclusivement. Ils permettent l'interfacage avec le code php.
8. Fichier appelé lors de la génération d'une page. Il fait l'interface entre les templates et l'accès à la base de donnée ou plus généralement, il fait l'interfacage entre l'affichage et la gestion des données. Il fonctionne de manière symétrique avec le pnuser.php
9. Fichier gerant les données. Ce fichier est appelé exclusivement par pnadmin.php
10. Fichier appelé lors de l'initialisation du module. Il va mettre les variables dans leur premier état. Ce fichier est aussi appelé lors de la suppression du module
11. Fichier contenant la version, le nom de l'auteur et toutes les information concernant la création du module.








Last Editor :
Owner :