Script pour modifier automatiquement une install [Réglé]
soupaloignon Membre non connecté
-
Modérateur
- Voir le profil du membre soupaloignon
- Inscrit le : 27/03/2009
- Site internet
- Groupes :
-
Equipe Rédaction
-
Equipe Modération
C'est juste une demande de renseignement que je poste, pour voir si ce à quoi je pense est réalisable.
Quand j'installe un phpboost que je dois ensuite administrer cela me gave assez rapidement de cliquer 2 ou 3 fois pour accéder à la partie de l'admin qui m'intéresse. Attention je ne remet pas en cause le principe actuel d'accès à l'administration, juste que si je peux arriver à la même chose en 1 clic, je préfère
.Donc à cet effet je me suis créé un menu de lien, uniquement visible en admin, et qui pointe direct vers les parties qui m'intéressent.
Actuellement j'ai 8 liens dedans. Vers les admin forum, article, wiki, pages, galerie, liens, fichier, et enfin vers une page sur laquelle j'ai quelques bouts de codes particuliers.
C'est très pratique, quel que soit l'endroit où je me trouve sur le site, hop, en 1 clic j'arrive direct.
Ce que je voudrais maintenant c'est savoir s'il est possible d'automatiser la création de ce menu pour pouvoir le faire automatiquement juste après une install d'un phpboost.
Je pensais à un script php, que j'envoi sur le serveur via ftp et que j'exécute. C'est une bonne piste à votre avis ? Où il vaut mieux autre chose ? Ou bien c'est carrément pas possible ?
Merci pour vos réponses
1/ Avant de poster votre question, faite une recherche sur le forum et/ou le site
2/ Plus votre question sera détaillée, plus les éventuelles réponses seront pertinentes
3/ Plus votre français sera correct, plus vous donnerez envie que l'on vous réponde
2/ Plus votre question sera détaillée, plus les éventuelles réponses seront pertinentes
3/ Plus votre français sera correct, plus vous donnerez envie que l'on vous réponde
4/ ==> Libérez les Huitres du bassin d'Arcachon <== 
Visiteur
Boosteur Inactif
un controle en php (donc dans le fichier php
) peut permettre de bloquer le module directement au admin.
Édité par Visiteur Le 20/05/2010 à 22h12
soupaloignon Membre non connecté
-
Modérateur
- Voir le profil du membre soupaloignon
- Inscrit le : 27/03/2009
- Site internet
- Groupes :
-
Equipe Rédaction
-
Equipe Modération
. Tu peux être plus précis ?
1/ Avant de poster votre question, faite une recherche sur le forum et/ou le site
2/ Plus votre question sera détaillée, plus les éventuelles réponses seront pertinentes
3/ Plus votre français sera correct, plus vous donnerez envie que l'on vous réponde
2/ Plus votre question sera détaillée, plus les éventuelles réponses seront pertinentes
3/ Plus votre français sera correct, plus vous donnerez envie que l'on vous réponde
4/ ==> Libérez les Huitres du bassin d'Arcachon <== 
ReidLos Membre non connecté
-
Modérateur
- Voir le profil du membre ReidLos
- Inscrit le : 27/02/2009
- Site internet
- Groupes :
-
Equipe Développement
Visiteur
Boosteur Inactif
pbt a un systeme de menu en "type mini-module"
comme le change theme, change lang, ou encore d'autre non officiel top 10, date,heure et fete du jour...
il suffit de les placer dans le dossier menu, et de les mettre en place dans l'administration/gestion des menu. a faire a la suite de l'install, et hop c'est fini.
par la suite tu peut modifier un des pacages de pbt pour l'inclure pour l'avoir d'office.
mais je pence pas que tu réinstalle ton site tous les jour non ?¿
sinon il faut modifier l'installeur pour que le menu que tu a mis depuis la gestion des menu soit installé d'office.
vu que c'est en sql, cela dois etre faisable. (je sais pas comment par contre j'ai pas regarder)
dans le cas ou c'est pour une install de site a la chaine, je pencherais plutôt pour le menu en dur "type mini-module", il a l'avantage de ne pas etre modifiable via l'admin, et évite donc d'etre modifier par un admin.
soupaloignon Membre non connecté
-
Modérateur
- Voir le profil du membre soupaloignon
- Inscrit le : 27/03/2009
- Site internet
- Groupes :
-
Equipe Rédaction
-
Equipe Modération
Je vais regarder de plus prêt comment est structuré "themeswitcher" qui est inclu nativement dans phpboost.
1/ Avant de poster votre question, faite une recherche sur le forum et/ou le site
2/ Plus votre question sera détaillée, plus les éventuelles réponses seront pertinentes
3/ Plus votre français sera correct, plus vous donnerez envie que l'on vous réponde
2/ Plus votre question sera détaillée, plus les éventuelles réponses seront pertinentes
3/ Plus votre français sera correct, plus vous donnerez envie que l'on vous réponde
4/ ==> Libérez les Huitres du bassin d'Arcachon <== 
soupaloignon Membre non connecté
-
Modérateur
- Voir le profil du membre soupaloignon
- Inscrit le : 27/03/2009
- Site internet
- Groupes :
-
Equipe Rédaction
-
Equipe Modération
Edit : je viens de regarder dans la base de données, et effectivement il y a une entrée par mini modules dans la table menus
Au pire ce n'est pas très gênant, je peux garder "themeswitcher" et l'adapter, ce n'est pas un module que j'utilise, donc je peux le détourner.
Dans les test que j'ai fait, j'ai rentré un lien directement dans le .tpl. Je ne pense pas que cela soit très académique, mais bon, ça fonctionne

Je clos ce post, j'ai toutes les infos que je voulais pour poursuivre la manipulation. Merci encore pour vos réponses
Édité par soupaloignon Le 21/05/2010 à 15h39
1/ Avant de poster votre question, faite une recherche sur le forum et/ou le site
2/ Plus votre question sera détaillée, plus les éventuelles réponses seront pertinentes
3/ Plus votre français sera correct, plus vous donnerez envie que l'on vous réponde
2/ Plus votre question sera détaillée, plus les éventuelles réponses seront pertinentes
3/ Plus votre français sera correct, plus vous donnerez envie que l'on vous réponde
4/ ==> Libérez les Huitres du bassin d'Arcachon <== 
KONA Membre non connecté
Booster Fusée
-
Booster Fusée
- Voir le profil du membre KONA
- Inscrit le : 21/05/2006
- Site internet
../pbt/menus/
Tu crée ton dossier soupaloignon puis deadns tu crée un soupaloignon.php
Ensuite pour l'avoir dans l'admin/menu/gestion :
Tu modifie la fonction comme ceci :
Code PHP :
function menu_soupaloignon _soupaloignon $position, $block)
ben.popeye Membre non connecté
-
Modérateur
- Voir le profil du membre ben.popeye
- Inscrit le : 04/08/2005
- Site internet
- Groupes :
-
Equipe Historique
Un problème, une question ? Cherchez dans la FAQ ou la documentation. Si vous ne trouvez pas la réponse, demandez du support sur le forum.
Bjarne Stroustrup, inventeur du C++ :"There are two ways to write error-free programs; only the third works."
soupaloignon Membre non connecté
-
Modérateur
- Voir le profil du membre soupaloignon
- Inscrit le : 27/03/2009
- Site internet
- Groupes :
-
Equipe Rédaction
-
Equipe Modération
Je voudrais quand même faire valider les modifs, histoire d'être certain de ne pas diffuser quelque chose qui ne tiendrait pas la route.
J'ai dupliqué le dossier themeswitcher et l'ai renommé en rapidadmin
A l'intérieur de ce dossier j'ai renommé themeswitcher.php en rapidadmin.php. Toutes les occurrences de "switchtheme" changées en "rapidadmin". Plus le changement de
Code PHP :
en function menu_themeswitcher_themeswitcher($position, $block)
Code PHP :
.function menu_rapidadmin_rapidadmin($position, $block)
J'ai enlevé également une portion de code qui ne servait plus, ce qui fait que le code final du fichier rapidadmin.php est maintenant :
Code PHP :
<?php /*################################################## * un menu de liens rapide vers les admins des modules * rapidadmin.php * 25/05/2010 * www.soupaloignon.net * * * fichiers originaux : * * * themeswitcher.php * ------------------- * begin : November 16, 2008 * copyright : (C) 2008 Viarre Régis * email : crowkait@phpboost.com * * ################################################### * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. * ###################################################*/ function menu_rapidadmin_rapidadmin($position, $block) { global $CONFIG, $THEME_CONFIG, $User, $LANG, $Session; $rapidadmin = !empty($_GET['rapidadmin']) ? urldecode($_GET['rapidadmin']) : ''; if (!empty($rapidadmin)) { if ($User->check_level(MEMBER_LEVEL)) { $Session->csrf_get_protect(); } if (preg_match('`[ a-z0-9_-]{3,20}`i', $rapidadmin) && strpos($rapidadmin, ''') === false) { $User->update_user_theme($rapidadmin); //Mise à jour du thème du membre. if (QUERY_STRING != '') redirect(trim(HOST . SCRIPT . '?' . preg_replace('`rapidadmin=[^&]+`', '', QUERY_STRING), '?')); else redirect(HOST . SCRIPT); } } $tpl = new Template('menus/rapidadmin/rapidadmin.tpl'); import('core/menu_service'); MenuService::assign_positions_conditions($tpl, $block); return $tpl->parse(TEMPLATE_STRING_MODE); } ?>
le fichier /templates/themeswitcher.tpl est devenu /templates/rapidadmin.tpl et contient :
Code TPL :
Tout cela vous parrait correct, ou bien il est encore possible de l'améliorer ?
1/ Avant de poster votre question, faite une recherche sur le forum et/ou le site
2/ Plus votre question sera détaillée, plus les éventuelles réponses seront pertinentes
3/ Plus votre français sera correct, plus vous donnerez envie que l'on vous réponde
2/ Plus votre question sera détaillée, plus les éventuelles réponses seront pertinentes
3/ Plus votre français sera correct, plus vous donnerez envie que l'on vous réponde
4/ ==> Libérez les Huitres du bassin d'Arcachon <== 
ReidLos Membre non connecté
-
Modérateur
- Voir le profil du membre ReidLos
- Inscrit le : 27/02/2009
- Site internet
- Groupes :
-
Equipe Développement
Par contre comme ça c'est tout a fait suffisant non ?
Code PHP :
<?php function menu_rapidadmin_rapidadmin($position, $block) { $tpl = new Template('menus/rapidadmin/rapidadmin.tpl'); import('core/menu_service'); MenuService::assign_positions_conditions($tpl, $block); return $tpl->parse(TEMPLATE_STRING_MODE); } ?>
Tu as dit que c'est que pour les admins ? Tu peux rajouter une condition tpl si tu le souhaite...
soupaloignon Membre non connecté
-
Modérateur
- Voir le profil du membre soupaloignon
- Inscrit le : 27/03/2009
- Site internet
- Groupes :
-
Equipe Rédaction
-
Equipe Modération
ReidLos :
C'est l'idée oui, que cela puisse être facilement adaptable aux besoins. Donc si le fait de coder des liens en dur dans le template ne pose pas d'autres problèmes, je préfère faire ainsiAlors là tu as tout fait en HTML... Tu peux aussi faire une boucle PHP.... Mais bon là c'est mieux modifiable pour vous...
ReidLos :
Par contre comme ça c'est tout a fait suffisant non ?
Ca fonctionne impeccale, merci Par contre comme ça c'est tout a fait suffisant non ?
Code PHP :
<?php function menu_rapidadmin_rapidadmin($position, $block) { $tpl = new Template('menus/rapidadmin/rapidadmin.tpl'); import('core/menu_service'); MenuService::assign_positions_conditions($tpl, $block); return $tpl->parse(TEMPLATE_STRING_MODE); } ?>

ReidLos :
En tout cas je m'en sers en tant qu'admin. Qu'est ce que tu entends par "condition tpl" ?
Tu as dit que c'est que pour les admins ? Tu peux rajouter une condition tpl si tu le souhaite...
1/ Avant de poster votre question, faite une recherche sur le forum et/ou le site
2/ Plus votre question sera détaillée, plus les éventuelles réponses seront pertinentes
3/ Plus votre français sera correct, plus vous donnerez envie que l'on vous réponde
2/ Plus votre question sera détaillée, plus les éventuelles réponses seront pertinentes
3/ Plus votre français sera correct, plus vous donnerez envie que l'on vous réponde
4/ ==> Libérez les Huitres du bassin d'Arcachon <== 
KONA Membre non connecté
Booster Fusée
-
Booster Fusée
- Voir le profil du membre KONA
- Inscrit le : 21/05/2006
- Site internet
Code PHP :
<?php function menu_rapidadmin_rapidadmin($position, $block) { $tpl = new Template('menus/rapidadmin/rapidadmin.tpl'); import('core/menu_service'); MenuService::assign_positions_conditions($tpl, $block); $tpl->assign_vars(array( 'ADMIN' => $User->check_level(ADMIN_LEVEL), )); return $tpl->parse(TEMPLATE_STRING_MODE); }
et dans ton tpl :
soupaloignon Membre non connecté
-
Modérateur
- Voir le profil du membre soupaloignon
- Inscrit le : 27/03/2009
- Site internet
- Groupes :
-
Equipe Rédaction
-
Equipe Modération
Je vois l'idée. Par contre le résultat n'est il pas le même si dans l'admin de ce menu il est déclaré comme étant visible aux admins seuls ?
1/ Avant de poster votre question, faite une recherche sur le forum et/ou le site
2/ Plus votre question sera détaillée, plus les éventuelles réponses seront pertinentes
3/ Plus votre français sera correct, plus vous donnerez envie que l'on vous réponde
2/ Plus votre question sera détaillée, plus les éventuelles réponses seront pertinentes
3/ Plus votre français sera correct, plus vous donnerez envie que l'on vous réponde
4/ ==> Libérez les Huitres du bassin d'Arcachon <== 
ReidLos Membre non connecté
-
Modérateur
- Voir le profil du membre ReidLos
- Inscrit le : 27/02/2009
- Site internet
- Groupes :
-
Equipe Développement
Code PHP :
<?php function menu_rapidadmin_rapidadmin($position, $block) { $tpl = new Template('menus/rapidadmin/rapidadmin.tpl'); import('core/menu_service'); MenuService::assign_positions_conditions($tpl, $block); if($User->check_level(ADMIN_LEVEL)) { return $tpl->parse(TEMPLATE_STRING_MODE); } } ?>
La ton menu ne sera afficher seulement pour les admins..
soupaloignon :
Merci pour ta réponse,
Je vois l'idée. Par contre le résultat n'est il pas le même si dans l'admin de ce menu il est déclaré comme étant visible aux admins seuls ?
Je vois l'idée. Par contre le résultat n'est il pas le même si dans l'admin de ce menu il est déclaré comme étant visible aux admins seuls ?
Si bien sûr...mais si tu veux vraiment qu'il soit opérationnel directement après son installation, procède comme cela..
Édité par ReidLos Le 25/05/2010 à 17h51
Répondre
Vous n'êtes pas autorisé à écrire dans cette catégorie
