PDA

Voir la version complète : Créer une page perso "vBulletin"


Allan
12/01/2006, 20h41
http://www.phylosophia.com/images/tuto/page-perso-vbulletin.gif

Bonjour à tous :)
Ce petit tuto pour vous expliquer comment créer une page perso vBulletin


___________________________________

---== Création de la page .php ==----
___________________________________

Créez un nouveau fichier .php, ici, dans notre exemple, nous allons le nommer: "mdr.php"
(mettez le code qui suit à l'intérieur)Code:

<?php

// ######################## SET PHP ENVIRONMENT ###########################
error_reporting(E_ALL & ~E_NOTICE);

// ##################### DEFINE IMPORTANT CONSTANTS #######################
define('THIS_SCRIPT', 'mdr'); // changer mdr avec le nom du fichier actuel sans l'extension ".php"

// #################### PRE-CACHE TEMPLATES AND DATA ######################
// get special phrase groups
$phrasegroups = array();

// get special data templates from the datastore
$specialtemplates = array();

// pre-cache templates used by all actions
$globaltemplates = array(
'mdr', // changer ceci avec le nom du template que nous allons créer
'mdr2',
);

// pre-cache templates used by specific actions
$actiontemplates = array();

// ########################## REQUIRE BACK-END ############################
require_once('./global.php');

// ################################################## ######################
// ######################### START MAIN SCRIPT ############################
// ################################################## ######################

$navbits = array();
$navbits[$parent] = 'Page mdr';

$navbits = construct_navbits($navbits);
eval('$navbar = "' . fetch_template('navbar') . '";');
eval('print_output("' . fetch_template('mdr') . '");');

?>


___________________________________

---== Création du template ==----
___________________________________

Créez un template avec le code qui suit à l'intérieur et nommer le, pour notre exemple: "mdr"
(A appliquer sur chaque style bien sûr)Code:

$stylevar[htmldoctype]
<html dir="$stylevar[textdirection]" lang="$stylevar[languagecode]">
<head>
$headinclude
<title>$vboptions</title>
</head>
<body>

$header
$navbar

<table class="tborder" cellpadding="$stylevar[cellpadding]" cellspacing="$stylevar[cellspacing]" border="0" width="100%" align="center">
<tr>
<td class="tcat">Ma page personnalisée</td>
</tr>
<tr>
<td class="alt1">A vous de mettre le reste...</td>
</tr>
</table>

$footer
</body>
</html>

___________________________________

---== [B]Qui est en ligne ? ==----
___________________________________

Si vous souhaitez que votre nouvelle page soit reconnue dans "Qui est en ligne ?" (who is online), pour éviter d'avoir "Lieu inconnu", suivez les étapes suivantes:1 -Allez dans votre ACP "AdminCP"
2 -"Système de modules" => "ajouter un nouveau module"
3 -Remplissez avec ceci:
Produit: vBulletin
Emplacement du crochet: online_location_process
Intitulé: La page mdr (partie 1)
Code PHP du module:
if ($filename == 'mdr.php')
{
$userinfo['activity'] = 'mdr';
}
4 -Sauvegardez
5 -prochaine étape, ajout d'un deuxième module:
Produit: vBulletin
Emplacement du crochet: online_location_unknown
Intitulé: La page mdr (partie 2)
Code PHP du module:
if ($userinfo['activity'] == 'mdr')
{
$userinfo['action'] = 'Se détend sur ma page Mort de rire'; // Vous pouvez utiliser le système d'expression également $vbphrase ici...
$handled = true;
}

Le module est actif: Oui6 -Sauvegardez


___________________________________

---== Limiter les permissions ==----
___________________________________

Seulement pour les membresEn dessous de:

require_once('./global.php');

Ajouter:

if (!$vbulletin->userinfo['userid'])
{
print_no_permission();
}

Pour certains groupe utilisateur (Dans cet exemple, 6 et 7, admin et modo )En dessous de:

require_once('./global.php');

Ajouter:

if (!is_member_of($vbulletin->userinfo), 6) AND is_member_of($vbulletin->userinfo), 7))
{
print_no_permission();
}
Voila ce que ca donne:

http://www.vbulletin-ressources.com/forum/images/tutoriaux/1_1156013118.gif

___________________________________
http://www.phylosophia.com/forum/images/element/misc/base_smiley_tev2.png

cassis2k
21/02/2006, 17h38
Merci beaucoup pour ce tuto Allan. ;)

Je vais le suivre à la lettre.

Allan
21/02/2006, 18h42
De rien, il est assez simple :)

jean
26/02/2006, 09h53
Merci Allan pour ce tuto pratique :)

WrestleMania
26/03/2006, 20h00
He merci ca c'est super pratique

Lolo04
01/04/2006, 09h27
merci pour le tuto allan mais j'ai une question comment tu fait pour appeler ce que contien le fichier php :(

Allan
01/04/2006, 10h33
merci pour le tuto allan mais j'ai une question comment tu fait pour appeler ce que contien le fichier php :(
C'est le template qui appele le fichier php

Que veut tu faire ?

cassis2k
06/04/2006, 19h58
Ok c'est relativement simple quoique pour comprendre tout le code, c'est pas évident.

Et si on décide de créer des pages faisant partie intégrante du site sans pour autant mélanger les fichiers.

je crée donc mon fichier php dans le répertoire plop à la racine de mon forum, ce qui me donne /plop/mdr.php

Il faut tout de suite modifier le chemin du fichier global.php


require_once('./../global.php');


Mais d'autres même avec ce changement, je n'y arrive pas.

Faut il déclarer le nouveau répertoire quelque par ?

hitman94
01/05/2006, 11h01
Moi j'obtiens une page blanche, help !

PS: C'est bon, c'est réparer mais par contre, impossible de mettre du code php !!! Pas cool.

WrestleMania
04/05/2006, 19h28
J'ai une page blanche moi, pas très bien compri la, ou est ce que le fichier php est appelé dans le tempate etc... est ce que qqn pourrait me préciser c sujet svp

edit: je viens de réussir c'est bon :p

foxys
06/07/2006, 10h05
Merci pour le tuto ;)

psy4
23/07/2006, 14h20
le lien pour voir ce que sa donne ne va plus tu pourrait le mettre sur un autre lien stp allan que je voit merci

Allan
23/07/2006, 14h29
le lien pour voir ce que sa donne ne va plus tu pourrait le mettre sur un autre lien stp allan que je voit merci
Je n'en n'ai plus en modèle la, désolé :p

robotx
23/07/2006, 23h09
merci beaucoup pour le tuto :! ;)

footy
15/08/2006, 20h18
bonsoir


dans quel répertoire on doit mettre les deux fichiers créés cad mdr.php et le template mdr

merci

Allan
15/08/2006, 23h03
Pour le template, il te faut le créer (Style & Template => Gestionnaire de styles => tu choisi ton style => dans le menu de droite, tu le déroule et => Ajouter un nouveau template.

Pour le fichier .php, tu dois le placer à la racine de ton forum, c'est a dire au même endroit que les fichiers index.php, global.php par exemple.

footy
16/08/2006, 13h16
Pour le template, il te faut le créer (Style & Template => Gestionnaire de styles => tu choisi ton style => dans le menu de droite, tu le déroule et => Ajouter un nouveau template.

Pour le fichier .php, tu dois le placer à la racine de ton forum, c'est a dire au même endroit que les fichiers index.php, global.php par exemple.

Merci.
Mais ça marche pas peut être que la page créée en php est défaillante. les templates ont été créés sans problème

en plus plus je n'ai pas terminé le tuto cad j'ai réalisé juste ce qui est avant ---== Limiter les permissions ==----

oussama
17/09/2006, 18h04
Ca marcher tres bien pour moi pour insrer une radio (wimpy)

je me demande seulement si on peut poster sur cette page du style post (balises bbcode ..etc )

sinon le faire automatiquement (index de chansons et d'album sur cette radio)

merci

xman_79
25/09/2006, 20h36
Je n'ai pas observer aucune modification :(

A- Où je dois mettre le fichie .php ?

SI le fichie .php doit etre present en vb/ alors pourquoi c'est require_once('./global.php'); et pas tout simplement require_once('global.php'); ??

:( J'aimes l'idee mais c'a marche pas .

Merci .

The Fanopsis
04/03/2007, 23h04
merci j'avais vrement besoin de cette astuce, merci infiniment :)

LtD
27/05/2007, 21h32
ca me sert beaucoup merci encore allan :)

Allan
27/05/2007, 23h03
ca me sert beaucoup merci encore allan :)
Avec plaisir :)

anarchoi
05/06/2007, 07h02
moi j'ai un probleme ultra bizzare.....llol

j'ai un template avec du code php.... tout marche bien quand j'utilise le systeme de pages de VB (index.php?page=nomdutemplate)

j'ai copier/coller le code de ce topic, et renommer tout les "MDR" pour "lyrics"

le probleme c'est que l'INDEX.PHP de mon forum est automatiquement remplacer par LYRICS.PHP, et j'y comprends rien.... Au moment ou je met ce fichier sur mon FTP je ne peux plus afficher l'index de mon forum...


lyrics.php:

<?php

// ######################## SET PHP ENVIRONMENT ###########################
error_reporting(E_ALL & ~E_NOTICE);

// ##################### DEFINE IMPORTANT CONSTANTS #######################
define('THIS_SCRIPT', 'lyrics'); // changer lyrics avec le nom du fichier actuel sans l'extension ".php"

// #################### PRE-CACHE TEMPLATES AND DATA ######################
// get special phrase groups
$phrasegroups = array();

// get special data templates from the datastore
$specialtemplates = array();

// pre-cache templates used by all actions
$globaltemplates = array(
'lyrics', // changer ceci avec le nom du template que nous allons créer
'lyrics2',
);

// pre-cache templates used by specific actions
$actiontemplates = array();

// ########################## REQUIRE BACK-END ############################
require_once('./global.php');

// ################################################## ######################
// ######################### START MAIN SCRIPT ############################
// ################################################## ######################

$navbits = array();
$navbits[$parent] = 'Page lyrics';

$navbits = construct_navbits($navbits);
eval('$navbar = "' . fetch_template('navbar') . '";');
eval('print_output("' . fetch_template('lyrics') . '");');

?>



template LYRICS (bon ok le code est degeulasse et plein de trucs inutiles, je suis un newbie et il est a moitier fini, mais il est supposer avoir aucun bugs.... en tout cas quand j'utilise les templates ca marche):
<form method="POST" action="index.php?page=groupe">
<input type="text" name="name" size="20" maxLength="20" value><input
type="submit" value="Submit" name="B1">
</form>
<center><table width="825"><tr><td valign="top" background="uploadbg.png">
<?php
if(!empty($_GET['page2'])){
switch ($_GET['page2']) {
case 1:
echo '11111111111111';
break;
case 2:
echo '22222222222222';
break;
}
}
//check if the name field is not empty and set
if (isset($_POST['name']) and ($_POST['name']<>''))
//The variable $name is created, as if by magic by php
//That is, because the text field had the name "name"
//this is passed in the POST variable
$groupe=htmlspecialchars($_POST['name']);
else
$name="";


$string=preg_replace('/ - .*/', '', $groupe);
if(file_exists("albums/groupes/$string.gif")){


echo "<center><fieldset style=\"width: 50%; border: 1px #c0c0c0 dashed; background: #000000;\">";
echo "<a href=\"tags/index.php?tag=/$string/\"><img src=\"albums/groupes/$string.gif\" border=\"0\"></a><br></fieldset></center></fieldset>";

} else {
$string=preg_replace('/ - .*/', '', $groupe);
if(file_exists("albums/groupes/$string.jpg")){
echo "<center><fieldset style=\"width: 50%; border: 1px #c0c0c0 dashed; background: #000000;\">";
echo "<a href=\"tags/index.php?tag=/$string/\"><img src=\"albums/groupes/$string.jpg\" border=\"0\"></a><br></fieldset></center></fieldset>";
} else {
echo "";

}
}
?>

<center><fieldset style="border: 1px dashed #FFFFFF; width: 400px; height: 240px; background: #000000; padding: 0px; margin: 0px;">
<legend><img src="bio.gif"></legend>
<iframe name="biographie" src="lyrics_recherche.php?do=process&forumchoice[]=56&showposts=1&titleonly=1&query=&quot;$groupe&quot;" width="400px" height="200px" frameborder=0 marginwidth=0 marginheight=0 hspace=0 vspace=0 margin="0" padding="0" scrolling=style="overflow-x:hidden; overflow-y:scroll; margin: 0px; padding: 0px; spacing: 0px; border: 0px; background: #000000;"></iframe><br></fieldset></center>


</td><td valign="top" background="4.png">

<center>
<fieldset style="border: 1px dashed #FFFFFF; width: 400px; height: 240px; background: #000000; padding: 0px; margin: 0px;">
<legend><a href="search.php?do=process&forumchoice[]=57&showposts=1&titleonly=1&query=&quot;$groupe&quot;"><img src="interviews.gif" border="0"></a></legend>
<iframe name="interview" src="interviews_recherche.php?do=process&forumchoice[]=57&showposts=1&titleonly=1&query=&quot;$groupe&quot;" width="400px" height="200px" frameborder=0 marginwidth=0 marginheight=0 hspace=0 vspace=0 margin="0" padding="0" scrolling=style="overflow-x:hidden; overflow-y:scroll; margin: 0px; padding: 0px; spacing: 0px; border: 0px; background: #000000;"></iframe><br></fieldset></center>



</td></tr></table>










<?php
mysql_connect('localhost', 'anarchoi1', 'molotov77');
mysql_select_db(anarchoi1_vb);

if(isset($_POST['texte']))
{
$var = $_POST['texte'];
} else {
$var = "%%";
}
$query = "SELECT threadprefix, forumid FROM forum WHERE threadprefix LIKE '$var' AND forumid='46, 50' ORDER BY threadprefix ASC";
$result = mysql_query($query);
$num_rows = mysql_num_rows($result);
// echo "$num_rows ALBUMS dans la base de donnée<br>";

while($row = mysql_fetch_object($result))
{
$var = $row->threadprefix;


$prenoms = $row->threadprefix;
$prenoms = nl2br($prenoms);
$tableau = explode('<br />',$prenoms);

foreach ($tableau as $element)
{
if (isset($_POST['name']) and ($_POST['name']<>''))
//The variable $name is created, as if by magic by php
//That is, because the text field had the name "name"
//this is passed in the POST variable
$groupe=htmlspecialchars($_POST['name']);
else
$name="Dude";
if(preg_match('/'.$groupe.'/i', $element)) {
echo "<br><fieldset style=\"border: 1px dashed #FF0000; width: 600px; height: 260px; background: #000000; padding: 0px; margin: 0px;\">";

echo '<legend><font size=\"3\"><b><a href="forumdisplay.php?f=46&threadprefix='.$element.'">'.$element.'</a></font></b></legend>';
echo '<table width=\"75%\" align=\"center\" cellpadding=\"8\"><tr><td background=\"2.png\">';




// yo //

$string2=$element;
$pattern="/\ \(.+\)/";
$string3=preg_replace($pattern,'',$string2);
$string=trim($string3);
if(file_exists("albums/$string.gif")){
echo "<a href=\"forumdisplay.php?f=46&threadprefix=$element\"><img src=\"albums/$string.gif\" width=\"250px\" height=\"225px\" border=\"0\"></a>";

} else {
if(file_exists("albums/$string.jpg")){
echo "<a href=\"forumdisplay.php?f=46&threadprefix=$element\"><img src=\"albums/$string.jpg\" width=\"250px\" height=\"225px\" border=\"0\"></a>";
} else {
echo "<a href=\"forumdisplay.php?f=46&threadprefix=$element\"><img src=\"albums/error.gif\" width=\"250px\" height=\"225px\" border=\"0\"></a>";

}
}







// yo //





echo '</td><td width=\"70%\" background=\"4.png\">';

echo "<iframe name=\"album\" src=\"forumdisplay_album.php?f=46&threadprefix=$element\" width=\"450px\" height=\"225px\" frameborder=0 marginwidth=0 marginheight=0 hspace=0 vspace=0 margin=\"0\" padding=\"0\" valign=\"middle\" style=\"font-size: 1px; overflow-x:hidden; overflow-y:scroll; margin: 0px; padding: 0px; spacing: 0px; border: 0px; background: transparent;\"></iframe><br>";
echo '</td></tr></table></fieldset>';
}
}
}




















$var = "%%";
$query = "SELECT threadprefix, forumid FROM forum WHERE threadprefix LIKE '$var' AND forumid='50' ORDER BY threadprefix ASC";
$result = mysql_query($query);
$num_rows = mysql_num_rows($result);
// echo "$num_rows ALBUMS dans la base de donnée<br>";

while($row = mysql_fetch_object($result))
{
$var = $row->threadprefix;

// echo "<br>";
$prenoms = $row->threadprefix;
$prenoms = nl2br($prenoms);
$tableau = explode('<br />',$prenoms);
$groupe=htmlspecialchars($_POST['name']);

foreach ($tableau as $element)
{
if (isset($_POST['name']) and ($_POST['name']<>''))
//The variable $name is created, as if by magic by php
//That is, because the text field had the name "name"
//this is passed in the POST variable
$groupe=htmlspecialchars($_POST['name']);
else
$name="Dude";
if(preg_match('/'.$groupe.'/i', $element)) {
echo '<a href="forumdisplay.php?f=50&threadprefix='.$element.'">'.$element.'</a><br />';
}
}
}

?>
</td>
</tr></table>

djex
24/07/2007, 18h28
merci vraiment cool

THE_MAD2
10/11/2007, 15h54
Salut, comment on fait pour limiter cette page a plusieurs userid, plusieurs membres présélectioné

Ombre
11/11/2007, 13h59
Avec des conditions, regarde ma signature :)

Bacchus
23/03/2008, 03h37
Salut!

Désoler mais j'suis n00b total en VB, une chose que j'aimerais savoir.

- tu créer la page .php, pas de prob
- tu créer le template, pas de prob

maintenant comment je m'en sers?

j'ai tester en mettant $mdr dans un template pour qu'il soit intégré au site, marche pas. J'ai tester en allant sur l'url http://www.tld.com/index.php?do=mdr et ça ne marche pas plus.

J'ai manqué un bout ou quoi?

Merci

EDIT:

CE que je veux aire est une page externe qui prendra le thème en cours auquel j'y mettrai mon contenu avec du html, comme une page de règlement ou de media provenant de l'externe.

Allan
23/03/2008, 07h42
Regarde bien ce que je dis au début, il ne s'agit pas ici d'utiliser que les templates mais également de créer une page php, ce que tu a fais, l'url devrait donc être: http://www.tld.com/mdr.php (cela dépend du lieu du fichier php bien sur ^^)

Si tu souhaite utiliser que les template sans la contrainte du fichier php, regarde ce tutoriel (http://www.vbulletin-ressources.com/forum/showthread.php?t=956) :)

Bacchus
23/03/2008, 17h06
Bon merci, allez savoir pourquoi mais j'avais fais ça hier soir et ça marchait pas. Ça me renvoyais vers la page index ???

Mais bon, ça marche.

Merci

nardino
02/04/2008, 13h04
Merci Allan:)byby

leo68
09/04/2008, 10h36
Merci beaucoup :)

WMLogistic
01/05/2008, 23h20
Super ca fonctionne bien
Merci à toi l'ami :)

Allan
02/05/2008, 06h45
Super ca fonctionne bien
Merci à toi l'ami :)
Content pour toi :)

poséidon
03/07/2008, 19h10
merci trop cool ça

foudu1030
27/08/2008, 04h25
Merci Allan mais je bloke là à la premiere parti xD

Voilà suis aler sur le bureau g fais un doc.txt je l'ai renomer en .php et apres j'ai mis le code à l'interieur et apres je dosi mettre uo le document .php??:(

Ombre
27/08/2008, 05h52
Merci Allan mais je bloke là à la premiere parti xD

Voilà suis aler sur le bureau g fais un doc.txt je l'ai renomer en .php et apres j'ai mis le code à l'interieur et apres je dosi mettre uo le document .php??:(Bonjour,

je pense que ça ce met à la racine de ton forum.