Archives FluxBB.fr

Les archives de FluxBB.fr

Recherche rapide

Vous n'êtes pas identifié(e).

Version 1.4.13 : [.tar.gz][.zip] (maj 20/10/2014)
Pack langue française pour 1.4.x : [.zip] (maj 06/01/2012)

Branche 1.5.x : fluxbb.org

Version 1.2.24 fr (entièrement en français) : [.zip] (maj 26/08/2011)
Pack langue française pour 1.2.x : [.zip] [.rar] (maj 15/10/2006)

Vous avez un problème ?
Avant de poser votre question sur les forums d'entraide nous vous invitons à consulter :

#1 16-04-2007 16:16:47

Otomatic
Régisseur

Modification "URL de base" automatique en fonction de l'hébergeur

Bonjour,

Je valide mes modifications éventuelles tant du code que de l'habillage de PunBB en local sous Wamp et cela commençait à me gonfler de devoir modifier après (ou avant) chaque transfert en FTP sur le site réel l'information « URL de base » et éventuellement d'autres informations de configuration.

J'ai réfléchi à une automatisation du processus et je suis arrivé à un bon résultat avec la création d'un fichier include et une modification du fichier "punbb/include/cache.php" puisque c'est lui qui génère le fichier "punbb/cache/config_cache.php" après les modifications d'options dans l'administration du forum.
[---] Procédure
Ajout d'un fichier "config_cache_modif_oto.php" dans le dossier "punbb/cache" et avec pour contenu (À adapter en fonction des besoins) :

<?php
// Modification du tableau $pun_config[ ] du fichier cache_config
// Dans l'ordre des "case" :
// - Site réel numéro 1
// - Site local sous Wamp
// - Site local sur CD-ROM ou clé USB
// - Site réel numéro 2
switch ($_SERVER['SERVER_NAME']) {
  case "aviatechno.free.fr":
    $pun_config['o_base_url'] = 'http://aviatechno.free.fr/punbb';
  break;
  case "aviatechno":
    $pun_config['o_base_url'] = 'http://aviatechno/punbb';
  break;
  case "microweb":
    $pun_config['o_base_url'] = 'http://microweb/aviatechno/punbb';
  break;
  case "aviatechno.info":
    $pun_config['o_base_url'] = 'http://aviatechno.info/punbb';
  break;
  default:
    $pun_config ['o_base_url'] = NULL;
}
?>

Ensuite, il faut modifier le fichier "punbb/cache/cache_config.php" en y ajoutant, à la fin, juste avant la balise de fermeture php (?>) :

include('cache_config_modif_oto.php');

Puis, enfin, pour que tout soit automatique même après modifications des options dans l'administration, il faut modifier le fichier "punbb/include/cache.php"

Remplacer la ligne :

    fwrite($fh, '<?php'."\n\n".'define(\'PUN_CONFIG_LOADED\', 1);'."\n\n".'$pun_config = '.var_export($output, true).';'."\n\n".'?>');

Par

    fwrite($fh, '<?php'."\n\n".'define(\'PUN_CONFIG_LOADED\', 1);'."\n\n".'$pun_config = '.var_export($output, true).';'."\n\n".'include(\'cache_config_modif_oto.php\');'."\n\n".'?>');

Et voilà siffle


Ce n'est pas parce que l'erreur se propage qu'elle devient vérité. Gandhi

Hors ligne

#2 26-04-2008 10:20:31

oldie-1
Habitué actif

Re : Modification "URL de base" automatique en fonction de l'hébergeur

C'est super bien ça !

Merci !

Hors ligne

#3 26-04-2008 14:54:01

M@x
Habitué très actif

Re : Modification "URL de base" automatique en fonction de l'hébergeur

Bonne idée cette sélection "Otomatic" big_smile

M@x


...

Hors ligne

#4 27-04-2008 05:18:08

Spiky
Habitué

Re : Modification "URL de base" automatique en fonction de l'hébergeur

Des retours d'info du bon fonctionnement de cette astuce fort sympatique smile

Merci Otomatic pour cette astuce bien pratique.


I do not play against a team in particular. I play to fight against the idea to lose... Life is beautiful.

Hors ligne

#5 27-04-2008 09:37:00

Otomatic
Régisseur

Re : Modification "URL de base" automatique en fonction de l'hébergeur

Bonjour,

Merci de vos élogieux retours.
Ça fait un an que j'ai écrit cette contribution. roll
Elle faisait pendant à une autre du même genre :
Comment configurer Wamp - et Windows - pour plusieurs sites de manière à ce que les sites locaux soient vus de manière identique aux sites réels.


Ce n'est pas parce que l'erreur se propage qu'elle devient vérité. Gandhi

Hors ligne

#6 15-06-2008 12:18:02

dbzblog
Membre

Re : Modification "URL de base" automatique en fonction de l'hébergeur

merci c'est ce que je cherché vu que windowshelp.olympe-network.com/forum et windows-help.biz/forum.

Merci encore wink

Hors ligne

#7 21-06-2008 22:39:50

dbzblog
Membre

Re : Modification "URL de base" automatique en fonction de l'hébergeur

Bonsoir, sa ma marche pas pour moi pourtant j'ai inclut les codes dans les "cache_config.php" et "cache.php" ainsi que le script modifié pour moi :
<?php
// Modification du tableau $pun_config[ ] du fichier cache_config
// Dans l'ordre des "case" :
// - Site réel numéro 1
// - Nom de domaine 1
// - Nom de domaine 2
switch ($_SERVER['SERVER_NAME']) {
  case "windowshelp.olympe-network.com":
    $pun_config['o_base_url'] = 'http://windowshelp.olympe-network.com/forum';
  break;
  case "windows-help.biz":
    $pun_config['o_base_url'] = 'http://windows-help.biz/forum';
  break;
  case "www.windows-help.biz":
    $pun_config['o_base_url'] = 'http://www.windows-help.biz/forum';
  break;
  default:
    $pun_config ['o_base_url'] = NULL;
}
?>

Et sa ne veux pas modifier l'url de base ("o_base_url") que j'aille sur http://windowshelp.olympe-network.com/forum/ , http://windows-help.biz/ , http://www.windows-help.biz/
L'url de base reste toujours : http://windowshelp.olympe-network.com/forum/

Je voudrais aussi avoir le resultat pour modifier la "o_base_url" en fonction du nom de domaine de mes visiteurs.

Aidez, moi s'il vous plaît je suis perdu et mes membres aussi (dise qu'il y'a des erreurs "HTTP Refer" de partout et qu'il savent pu où aller à force. sad

Je crie à l'aide ! S.O.S ! yikes

Dernière modification par dbzblog (21-06-2008 22:43:38)

Hors ligne

#8 21-06-2008 23:00:56

oldie-2
Habitué très actif

Re : Modification "URL de base" automatique en fonction de l'hébergeur

Bonsoir dbzblog,

As-tu vérifié que le nom de ton script est le même partout (pas d'erreur de frappe dans l'include ou le fwrite) ?

Hors ligne

#9 22-06-2008 00:09:55

dbzblog
Membre

Re : Modification "URL de base" automatique en fonction de l'hébergeur

non j'ai pris exactement ce qu'il faut comme il faut comme ici. sauf que moi c'est /forum et pas /punbb comme tu peux le voir si dessus. merci.

Hors ligne

#10 22-06-2008 00:20:05

M@x
Habitué très actif

Re : Modification "URL de base" automatique en fonction de l'hébergeur

Tu as testé la valeur de "$_SERVER['SERVER_NAME']" et placé le switch au bon endroit ?

M@x.


...

Hors ligne

#11 22-06-2008 12:04:36

oldie-2
Habitué très actif

Re : Modification "URL de base" automatique en fonction de l'hébergeur

dbzblog a écrit :

non j'ai pris exactement ce qu'il faut comme il faut comme ici. sauf que moi c'est /forum et pas /punbb comme tu peux le voir si dessus. merci.

puisque tu n'a rien modifié, ton script s'appelle donc bien "config_cache_modif_oto.php" et il se trouve dans le dossier forum/cache ?

Comme dit M@x, ce serait bien de savoir la valeur de $_SERVER['SERVER_NAME']. Si tu accès aux logs du serveur, tu pourrais ajouter la ligne
error_log("DEBUG SERVER_NAME : " . $_SERVER['SERVER_NAME']);
juste avant le switch.

Hors ligne

#12 22-06-2008 18:20:04

Otomatic
Régisseur

Re : Modification "URL de base" automatique en fonction de l'hébergeur

oldie-2 a écrit :

Comme dit M@x, ce serait bien de savoir la valeur de $_SERVER['SERVER_NAME']

Temporairement, on peut très bien ajouter une ligne quelque part pour l'afficher. Par exemple, dans le fichier index.php, remplacer

$cur_category = 0;
$cat_count = 0;
while ($cur_forum = $db->fetch_assoc($result))
{
    $moderators = '';

par

$cur_category = 0;
$cat_count = 0;
echo " Serveur :".$_SERVER['SERVER_NAME'].":";
while ($cur_forum = $db->fetch_assoc($result))
{
    $moderators = '';

Je mets : devant et derrière pour bien montrer début et fin. Et, bien faire attention aux majuscules et minuscules.


Ce n'est pas parce que l'erreur se propage qu'elle devient vérité. Gandhi

Hors ligne

#13 23-06-2008 16:21:51

Otomatic
Régisseur

Re : Modification "URL de base" automatique en fonction de l'hébergeur

Bonjour,

On peut utiliser aussi phpinfo() qui, en plus de donner le contenu des variables, donnera moultes informations sur la configuration du serveur et les extensions PHP supportées.

Une bonne méthode est de créer un fichier, par exemple infos.php qui sera mis à la racine du site et qui pourrait contenir :

<?php
phpinfo();

$ref_docs = "http://www.php.net/manual/fr/function";
$tableau = get_defined_functions();
while (list($type,$list) = each($tableau)) {
  if ($type == "internal" && is_array($list)) {
    sort($list);
    foreach ($list as $func) {
      if ($func == "_") $func2 = "gettext";
      else $func2 = preg_replace("/_/", "-", $func);
      echo "<a href=\"$ref_docs.$func2.php\">$func</a><br>\n";
    }
  }
}
?>

Ceci donne la liste de toutes les fonctions php définies sur le serveur - Ce qui ne veut pas dire qu'elles sont supportées à 100% - avec, pour chacune d'elle, un lien sur sa documentation en français.


Ce n'est pas parce que l'erreur se propage qu'elle devient vérité. Gandhi

Hors ligne

#14 24-06-2008 16:50:43

dbzblog
Membre

Re : Modification "URL de base" automatique en fonction de l'hébergeur

Je comprend pas trop tout os truc je suis pas professionnel du php wink
Pour ceci : savoir la valeur de $_SERVER['SERVER_NAME']
Il faut que j'effectue une recherche dans la bdd pour trouvé la valeur ??

Hors ligne

#15 24-06-2008 18:29:58

Otomatic
Régisseur

Re : Modification "URL de base" automatique en fonction de l'hébergeur

dbzblog a écrit :

Je comprend pas trop tout os truc je suis pas professionnel du php wink
Pour ceci : savoir la valeur de $_SERVER['SERVER_NAME']
Il faut que j'effectue une recherche dans la bdd pour trouvé la valeur ??

Même si tu n'es pas un professionnel du PHP - moi non plus, d'ailleurs - je pense que tu sais lire.
Si la réponse est oui, il va falloir prendre des cours de perfectionnement à la lecture car je t'ai donné une réponse précédemment, comme modifier le fichier index.php comme ceci :

$cur_category = 0;
$cat_count = 0;
echo " Serveur :".$_SERVER['SERVER_NAME'].":"; //Ligne ajoutée
while ($cur_forum = $db->fetch_assoc($result))
{
    $moderators = '';

Avec ça, tu verras la valeur de $_SERVER['SERVER_NAME'] sur la page d'accueil du forum.
Cette valeur ne peut pas être en base de données puisqu'elle dépend du serveur sur lequel le forum fonctionne.
roll


Ce n'est pas parce que l'erreur se propage qu'elle devient vérité. Gandhi

Hors ligne

Pied de page des forums