Bonjour à tous,
Suite aux nombreuses discussions que j'ai amenées sur le sujet de la modularité de PWG, je me suis lancé dans la création d'un mod qui permet d'ajouter des modules. A mon sens, un module est un bout de code totalement indépendant de PWG qui permet d'ajouter une fonctionnalité ou des nouveaux éléments à PWG sans toucher aux sources.
Dans le MOD que je vous propose ici, vous trouverez tous les fichiers utiles pour vous permettre d'ajouter vos proopres modules.
A l'heure qu'il est il contien les fichiers suivants:
- admin.php : fichier source modifié pour ajouter un nouveau menu "Module" pour l'administration des modules installé
- include/template.php : fichier source modifié pour prendre en compte l'appel à un module depuis le template {module:mod_name}
- modules/mod_random : module qui permet d'afficher une liste de N images prises aléatoirement dans les catégories
- modules/mod_model : module qui n'est qu'un exemple épuré pour vous permettre de comprendre comment créer un module
- template/yoga-MBt : template prenant en compte l'appel à mod_random dont vous pouvez voir un exemple sur http://mbt.free.fr/webgallery/.
J'espère que vous aurez un peu de temps pour regarder tout ça entre deux bouts de foie gras. Je ne lirais vos commentaires qu'en Janvier, je pars skier ;-)
J'ai encore du boulot mais avec vos commentaire je saurais si je pars dans la bonne direction ou si il vaut mieux ne pas insister.
A+ et Bonnes fêtes.
MBt
Hors ligne
ce serait bien d'adopter ce genre de configuration dans les versions d'origines, pour faciliter l'intégration des futurs MOD sous forme de modules.
Charge aux créateurs des MOD, de les faire conformes pour être mis en place en tant que "modules".
il me semble avoir lu déjà quelque chose là dessus...
c'est une évolution intéressante pour PWG.
eric.
Dernière modification par vimages (2005-12-23 14:47:16)
Hors ligne
c'est bien de donner des modules et mods mais ça serait mieux d'expliquer comment les installer.
je commence et c'est pas facile de tout comprendre (même avec des liens vers des FAQ etc).
Hors ligne
En fait ce qu'à fait MBt est plus facile à installer car il suffit de copier les fichiers de l'archive au bon endroit dans ton répertoire PhpWebGallery. Mias d'un autre côté, pour les gens comme moi qui ont installé d'autres MOD et donc fait d'autres modifications du code de PhpWebGallery, ce serait plus intéressant de rédiger un fichier INSTALL pour ne pas que l'on ait à réinstaller tous les autres MOD déja présents! ;-)
Hors ligne
Ben dans le dossier MOD_MODULES de l'archive, tu as des dossiers (admin, include, modules, templates) et dans chaque dossier tu as des fichiers. Si l'on prend les fichiers du dossier admin par exemple, il faut les dézipper (avec WinZip ou WinRar) et grâce à ton logiciel FTP (le logiciel que tu utilises pour transférer tes photos sur ton site) tu copies les fichiers que tu viens d'extraire dans les dossiers admin, include et templates de ton site. Pour le dossier modules (qui n'existe pas encore sur ton site), tu dois le copier à la racine de ta gallerie (là où tu trouves les autres fichiers en rapport avec PhpWebGallery).
Voila j'espère que ce sera clair pour toi!
Bonne année à tous!!!!!!
Hors ligne
XEUL je voudrais juste te signaler que tu as un bug au niveau de ta table MySQL pour les commentaires. Pour voir ta base de données MySQL, vas sur http://sql.free.fr, tapes tes identifiants et ensuite, à gauche tu as les tables qui apparaissent. Sélectionne la table phpwebgallery_comments car c'est celle-ci qui est indiquée comme disfonctionnante.
Si quelqu'un connait l'erreur suivante :
INSERT INTO phpwebgallery_comments
(author,date,image_id,content,validated,validation_date)
VALUES
('Mael','2005-12-27 11:17:24','375','Cette photo est magnifique!','false',NULL)
;
[mysql error 1054] Unknown column 'validation_date' in 'field list'
Hors ligne
Il faut que tu vérifies que dans ta table MySQL (http://sql.free.fr) phpwebgallery_comments tu ais author,date,image_id,content,validated,validation_date
Hors ligne
XEUL a écrit:
rhaaaaaaaaaaaaaaaaaaaaaaaaaaaa.
comment palier a ça?
Avais-tu migré d'une version précédente? Si oui laquelle?
-- -- Table structure for table `phpwebgallery_comments` -- CREATE TABLE `phpwebgallery_comments` ( `id` int(11) unsigned NOT NULL auto_increment, `image_id` mediumint(8) unsigned NOT NULL default '0', `date` datetime NOT NULL default '0000-00-00 00:00:00', `author` varchar(255) default NULL, `content` longtext, `validated` enum('true','false') NOT NULL default 'false', `validation_date` datetime default NULL, PRIMARY KEY (`id`), KEY `comments_i2` (`validation_date`), KEY `comments_i1` (`image_id`) ) TYPE=MyISAM;
Via phpMyAdmin tu peux ajouter tout simplement la colonne. (`validation_date` datetime default NULL)
Mais là n'est pas le problème...
Qu'est que tu as raté d'autre...? C'est le problème.
Dans le répertoire install que tu as du supprimer du serveur mais que tu peux toujours récupérer dans la section Downloads, tu as le fichier:
phpwebgallery_structure.sql
Tu peux donc contrôler déjà la structure des autres tables et des index (KEY).
A ce propos, il doit aussi te manquer l'index `comments_i2` puisqu'il pointe sur la colonne `validation_date`...
Après je ne parle pas des changements dans les données des tables...
Courage, je ne sais plus qui dit : "c'est en forgeant que l'on devient forgeron!"
Hors ligne
Moralité: On a "disgressé" salement sur le sujet de MBt.
Ouvre un nouveau sujet pour continuer de résoudre ton problème.
Hors ligne
MBt a écrit:
Bonjour à tous,
Suite aux nombreuses discussions que j'ai amenées sur le sujet de la modularité de PWG, je me suis lancé dans la création d'un mod qui permet d'ajouter des modules. A mon sens, un module est un bout de code totalement indépendant de PWG qui permet d'ajouter une fonctionnalité ou des nouveaux éléments à PWG sans toucher aux sources.
Dans le MOD que je vous propose ici, vous trouverez tous les fichiers utiles pour vous permettre d'ajouter vos proopres modules.
A l'heure qu'il est il contien les fichiers suivants:
- admin.php : fichier source modifié pour ajouter un nouveau menu "Module" pour l'administration des modules installé
- include/template.php : fichier source modifié pour prendre en compte l'appel à un module depuis le template {module:mod_name}
- modules/mod_random : module qui permet d'afficher une liste de N images prises aléatoirement dans les catégories
- modules/mod_model : module qui n'est qu'un exemple épuré pour vous permettre de comprendre comment créer un module
- template/yoga-MBt : template prenant en compte l'appel à mod_random dont vous pouvez voir un exemple sur http://mbt.free.fr/webgallery/.
J'espère que vous aurez un peu de temps pour regarder tout ça entre deux bouts de foie gras. Je ne lirais vos commentaires qu'en Janvier, je pars skier ;-)
J'ai encore du boulot mais avec vos commentaire je saurais si je pars dans la bonne direction ou si il vaut mieux ne pas insister.
A+ et Bonnes fêtes.
MBt
Je te cite pour bien recadrer le sujet...
Hors ligne
J'ai bien compris le principe.
La pratique est un peu plus complexe.
J'ai par exemple dans Video Integrator du code de picture.php à désactiver...
J'explique, dans picture.php, j'ai en standard un appel à assign_vars()
$template->assign_vars(array( 'CATEGORY' => $title_img, 'PHOTO' => $title_nb, 'TITLE' => $picture['current']['name'], 'SRC_IMG' => $picture['current']['src'], 'ALT_IMG' => $picture['current']['file'], 'WIDTH_IMG' => $picture_size[0], 'HEIGHT_IMG' => $picture_size[1], 'LEVEL_SEPARATOR' => $conf['level_separator'], etc.
et Video Integrator doit le remplacer par des appels à assign_block_vars()
$template->assign_block_vars( 'picture', array( 'SRC_IMG' => $picture['current']['src'], 'ALT_IMG' => $picture['current']['file'], 'WIDTH_IMG' => $picture_size[0], 'HEIGHT_IMG' => $picture_size[1], ...
Tout simplement pour pouvoir mettre un 'block" différent:
<!-- BEGIN picture -->
<!-- BEGIN movie -->
<!-- BEGIN qtime -->
ou même
<!-- BEGIN flash -->
J'ai donc besoin d'un "unassign_vars()" déjà je n'ai pas réfléchi à comment le faire.
Mais de toute façon, il faudra le faire, voire même un "unassign_block_vars()" aussi.
(Je n'ai pas regardé si tu l'as prévu).
C'est indispensable, et donc il faut le remonter dans MOD_Modules de façon à ce que l'on ne code pas chacun nos UNassign...
J'espère être resté clair.
Hors ligne