Cool Forum

 
 
Cool Forum » Hacks et modifications » Mods & Hacks - Contributions » [0.6] > Fond perso et logo forum perso
Connexions
1 connecté(s) sur le forum actuellement: 0 membre(s) | 1 invité(s)
 
 
 
<<Sujet précédent     Sujet suivant>>


 
 
Auteur Imprimer le topic Message

 
 
xldrh

Visiteur

Enregistré le 04/03/2004
Messages: 89
Non connecté

Sujet : [0.6] > Fond perso et logo forum perso
Ajouté le : 07/04/2004 19:33
Message :

Tout d'abord, en ayant regardé rapidement, je ne pense pas qu'il y est forcément bcp de modifications à faire pour passer ce hack sur la version 0.7, alors si il y a un courageux pour adapter les deux/trois tites choses qui coincerait pour ce passage, je le remercie d'avance, car je n'ai pas le temps d'installer une 0.7 quelque part pour tester ça ^^

Bon alors ce hack, pour l'instant pour 0.6.x, vous permet de créer une catégorie dans la rubrique profil qui permet à vos membres de chosir une image perso pour mettre en fond du forum, ainsi qu'un logo parmis une sélection de plusieurs pour votre forums.

C'est assez long et fastidieux, alors accrochez-vous ...



Tout d'abord, plusieurs requêtes a effectuer sur votre base de données :

La première, c'est une 'copie' de la table Cf_avatars, adapter pour les futurs logos de votre forums qui seront sélectionnables de la même manière que pour un avatar


CREATE TABLE `CF_logos` (
  `idlogo` int(5) NOT NULL default '1',
  `ext` varchar(5) NOT NULL default '',
  PRIMARY KEY  (`idlogo`),
  KEY `idlogo` (`idlogo`),
  FULLTEXT KEY `ext` (`ext`)
) TYPE=MyISAM;

#
# Contenu de la table `CF_logos`
#

INSERT INTO `CF_logos` VALUES (1, '.gif');
INSERT INTO `CF_logos` VALUES (2, '.gif');
INSERT INTO `CF_logos` VALUES (3, '.gif');
INSERT INTO `CF_logos` VALUES (4, '.gif');
INSERT INTO `CF_logos` VALUES (5, '.gif');
INSERT INTO `CF_logos` VALUES (6, '.gif');
INSERT INTO `CF_logos` VALUES (7, '.gif');
INSERT INTO `CF_logos` VALUES (8, '.gif');
INSERT INTO `CF_logos` VALUES (9, '.gif');
INSERT INTO `CF_logos` VALUES (10, '.gif');
INSERT INTO `CF_logos` VALUES (11, '.gif');
INSERT INTO `CF_logos` VALUES (12, '.gif');



Ensuite,


ALTER TABLE CF_user ADD userlogoforum varchar(100) DEFAULT 'logoforum-1.gif ' NOT NULL;


Cette entrée contiendra le nom du logo choisit par le membre. Par défaut il s'appellera 'logoforum-1.gif'


ALTER TABLE CF_user ADD userfond varchar(200) DEFAULT 'CHEMIN D ACCES A VOTRE IMAGE PAR DEFAUT !' NOT NULL;


Cette clé contiendra l'image qui sera le fond du forum. Changez tout de suite la valeur par défaut en un lien qui mêne vers une image qui sera par défaut pour votre forum du style DEFAULT 'http://monsite/forums/images/fond.jpg'


La partie SQL est terminé, on va passer aux modifications des templates dans le prochain post

Recharger l'url avec lien direct vers ce message Imprimer le message Aller en bas de page Aller en haut de page Editez ce post (réservé aux modérateurs) Avertissez l'administrateur si le post est non conventionnel Envoyer un Message Privé à xldrh Citer ce post dans votre réponse

 
 
xldrh

Visiteur

Enregistré le 04/03/2004
Messages: 89
Non connecté

Ajouté le : 07/04/2004 19:34
Message :

Alors, première étape, modification du fichier profil.php :

Vous incrustez les parties de code en orange :


switch ($_REQUEST[p])
	{
		case "profile":
			include("profile_options.php");
			break;
		case "pm":
			include("profile_pm.php");
			break;
                                case "perso":
			include("profile_perso.php");
			break;
		case "personalisation":
			include ("profile_personalisation.php");
			break;
		default:
			include("profile_accueil.php");
			break;

{

[/color]


L'étape suivante consiste à créer un fichier php vide dans le répertoire de votre forums que vous appellerez profile_personalisation.php et où il faut y copier/coller le code suivant :

<?
//*********************************************************************************
//*																		          *
//*		   							 CoolForum v.0.6 Beta						  *
//*					Copyright ©2001-2002 SORIANO Denis alias Cool Coyote		  *
//*		  																		  *
//*									MOD PERSONNALISATION :			 			  *
//*						Copyright © Simon Guillaume alias Impala  			  *
//*																				  *
//*										  										  *
//*********************************************************************************

	if(!isset($_POST[action]))
		$_POST[action]="personalisation";

	if ($_POST[action]=="savepersonalisation")
	{
		$userlogoforum=getformatmsg($_POST[userlogoforum],false);
		$userfond=getformatmsg($_POST[userfond],false);
		
		$query = mysql_query("UPDATE CF_user SET userlogoforum='$_POST[userlogoforum]',userfond='$_POST[userfond]' WHERE userid=".$_USER[userid]);
		if(!$query)
			echo(mysql_error());
		$_POST[action]="personalisation";
	}
	
	if($_POST[action]=="personalisation")
	{
		$sql=mysql_query("SELECT userfond,userlogoforum FROM CF_user WHERE userid=".$_USER[userid]);
		$Result=mysql_fetch_array($sql);
		
		
		$Result[userfond]=getformatrecup($Result[userfond]);
		$Result[userlogoforum]=getformatrecup($Result[userlogoforum]);
			
		if(isset($tpl->box[error2]))
			echo($error2);
			
		$tpl->box[profilcontent].=$tpl->gettemplate("profil",34);

	}
?>


Prochaine étape : modifier les templates !

Recharger l'url avec lien direct vers ce message Imprimer le message Aller en bas de page Aller en haut de page Editez ce post (réservé aux modérateurs) Avertissez l'administrateur si le post est non conventionnel Envoyer un Message Privé à xldrh Citer ce post dans votre réponse

 
 
xldrh

Visiteur

Enregistré le 04/03/2004
Messages: 89
Non connecté

Ajouté le : 07/04/2004 19:35
Message :


Direction la template tpl_profil.html !

Au tout début, rajouté le code en en orange :


<TR bgcolor="{%::_SKIN[color1]%}"><TD align=center class=jaune><font size=1><a href="profile.php" class=men>Accueil</A> | <a href="profile.php?p=profile" class=men>Profil</A> | <a href="profile.php?p=pm" class=men>Messages Privés</A> | <a href="profile.php?p=perso" class=men>Personnalisation</A> | <a href="profile.php?p=personalisation" class=men>Personalisation forum</A> </font></TD></TR>




Puis ajouter à la fin du fichier le code suivant :

<!---------- separate ---------->
/**********************************************
* ID=33 - Affichage Personnalisation*
***********************************************/

<SCRIPT LANGUAGE="JavaScript">
<!--
function Compter(Target)
{
	StrLen = Target.value.length
	if (StrLen > {%::_FORUMCFG[limitusersignlength]%} )
	{
		Target.value = Target.value.substring(0,{%::_FORUMCFG[limitusersignlength]%});
	}
}
//-->
</SCRIPT>

<form action="profile.php" method="post" name="formulaire" enctype="multipart/form-data">

<table border=1 bordercolorlight={%::_SKIN[colorborder1]%} bordercolordark={%::_SKIN[colorborder2]%} width=80% cellpadding=4 cellspacing=0>

	
	<TR><TD class=jaune bgcolor={%::_SKIN[color2]%}>
		<font size=1><B>URL Arrière-plan du forum :</B><br>&nbsp;- Exemple : "C:/Mes documents/fond.jpg" ou "http://www.site.com/image.jpg"<br>&nbsp;- Attention ! Pas de barre inverse, seulement celle-ci dans les adresses : "/"<br>&nbsp;- Double-cliquer dans la case pour remettre par défaut !</font></TD><TD align="center"><input type=text name="userfond" value="{%::Result[userfond]%}" ondblclick="this.value=LE LIEN QUE VOUS AVEZ ENTRE PLUS HAUT VERS VOTRE FOND PAR DEFAUT ICI !'" size=61 class=form>
	</TD></TR>
	<TR><TD class=jaune bgcolor={%::_SKIN[color2]%}>
		<font size=1><B>Icône du forum :</B></TD><TD align="center"><input type="text" name="userlogoforum" class=form value="{%::Result[userlogoforum]%}" style="text-align:center" size=47><input type="hidden" name="monlogo" value="">&nbsp;<input type="button" value="Choisir >" onclick="window.open('showsmileys.php?action=logo','NewFenetre','toolbar=no, location=no, menubar=no, scrollbars=yes, resizable=yes, width=767, height=577')" class=form>
	</TD></TR>
	<TR><TD colspan=2 align=center bgcolor={%::_SKIN[color2]%}><input type=submit value="Valider" class=form>
		<input type=reset Value="Recommencer" class=form>
	</TD></TR>
</table>

<input type=hidden name="action" value="savepersonalisation">
<input type=hidden name="p" value="personalisation">
</form>
<br>
{%box[error2]%}



Prochaine étape : Modification de tpl_header.html pour afficher le fond quand on navigue ^^

Recharger l'url avec lien direct vers ce message Imprimer le message Aller en bas de page Aller en haut de page Editez ce post (réservé aux modérateurs) Avertissez l'administrateur si le post est non conventionnel Envoyer un Message Privé à xldrh Citer ce post dans votre réponse

 
 
xldrh

Visiteur

Enregistré le 04/03/2004
Messages: 89
Non connecté

Ajouté le : 07/04/2004 19:35
Message :

Donc dans le fichier tpl_header.html, ajouter le code en orange


<!---------- separate ---------->

/*******************************************
* ID=1 - box[cssform] Si Internet Explorer *
********************************************/

.form{background:{%::_SKIN[bground]%}; color:{%::_SKIN[colortext]%}; font: 8pt {%::_SKIN[police]%}; border-style:solid; border-color:{%::_SKIN[colorborder1]%}; border-width:1;}
.form2{background:{%::_SKIN[color1]%}; color:{%::_SKIN[colortext]%}; font: 8pt {%::_SKIN[police]%}; border-style:solid; border-color:{%::_SKIN[colorborder1]%}; border-width:1;}
BODY {background-image:url("{%::InfosMB[userfond]%}")}
<!---------- separate ---------->

/******************************************
* ID=2 - box[cssform] Si Autre Navigateur *
*******************************************/

.form{font: 8pt {%::_SKIN[police]%};}
.form2{font: 8pt {%::_SKIN[police]%};}
BODY {background-image:url("{%::InfosMB[userfond]%}")}





Ensuite un tit retour dans nos php :




Fichier entete.php, remplacer :


if(ereg("MSIE", $_SERVER[HTTP_USER_AGENT]))
	$tpl->box[cssform]=$tpl->gettemplate("header",1);
else
	$tpl->box[cssform]=$tpl->gettemplate("header",2);




Par :


if(ereg("MSIE", $_SERVER[HTTP_USER_AGENT]))

{
	global $InfosMB;
	if($_USER[userstatus]>1)
	{
	$query = mysql_query("SELECT userfond,userlogoforum FROM CF_user WHERE userid='$_USER[userid]'");
	$InfosMB=mysql_fetch_array($query);
	$tpl->box[cssform]=$tpl->gettemplate("header",1);
	}
	else
		{
	$InfosMB[userfond]="http://lyceessens.free.fr/forums/images_topic/topic_photos/Fond_std.jpg";
	$InfosMB[userlogoforum]="logoforum-1.gif";
	$tpl->box[cssform]=$tpl->gettemplate("header",1);

	}
}
	
else
	
$tpl->box[cssform]=$tpl->gettemplate("header",2);



On continue ^^ ...



*** Message édité par xldrh le 07/04/2004 20:36 ***

Recharger l'url avec lien direct vers ce message Imprimer le message Aller en bas de page Aller en haut de page Editez ce post (réservé aux modérateurs) Avertissez l'administrateur si le post est non conventionnel Envoyer un Message Privé à xldrh Citer ce post dans votre réponse

 
 
xldrh

Visiteur

Enregistré le 04/03/2004
Messages: 89
Non connecté

Ajouté le : 07/04/2004 19:37
Message :

Fichiers showsmiley.php, rajouter à la fin :


	$cache.=$tpl->gettemplate("popup",2);
	$cache.=$tpl->gettemplate("baspage");
	$tpl->output($cache);
}




function numberpageslogosforum($nblogos)
{
	global $_GET,$page,$nbpages;
	
	$chaine="";
	if (empty($_GET[page]))
		$page=1;
	else
		$page=$_GET[page];
	
	$nbpages=Ceil($nblogos/9);
	if($nbpages>1)
	{
		if($page>1)	$chaine.="<a href=\"showsmileys.php?action=logo&page=1\" class=men>&lt;&lt;</A> <a href=\"showsmileys.php?action=logo&page=".($page-1)."\" class=men>&lt;</A> ";
		else	$chaine.="&lt;&lt; &lt; ";

		if($page<6)	$debut=1;
		else	$debut=$page-4;
			
		if($nbpages-$page<5)	$fin=$nbpages;
		else	$fin=$page+5;
			
		for($i=$debut; $i<($fin+1); $i++)
		{
			if ($i==$page)
				$chaine.="<B>$i</B>";
			else
				$chaine.="<a href=\"showsmileys.php?action=logo&page=$i\" class=men>$i</A>";
			if ($i<$fin)
				$chaine.=" | ";
		}
		if($page<$nbpages)
			$chaine.=" <a href=\"showsmileys.php?action=logo&page=".($page+1)."\" class=men>&gt;</A> <a href=\"showsmileys.php?action=logo&page=$nbpages\" class=men>&gt;&gt;</A>";
		else
			$chaine.=" &gt; &gt;&gt;";
	}
	return($chaine);
}



if($_REQUEST[action]=="logo")
{
	$query=mysql_query("SELECT COUNT(*) as nblg FROM CF_logos");
	list($nblogos)=mysql_fetch_array($query);

	$tpl->box[navigpage]= numberpageslogosforum($nblogos);
		
	$debut=($page*9)-9;
	
	if(($debut+9)>$nblogos)
		$fin=$nblogos;
	else
		$fin=$debut+9;
	
	$avatar=array();
	
	for($i=1;$i<16;$i++)
		$logo[$i]="&nbsp;";
	
	$sql=mysql_query("SELECT * FROM CF_logos ORDER BY idlogo LIMIT $debut,$fin");
	
	$i=1;
	while(list($idlogo,$extlogo)=mysql_fetch_array($sql))
	{
		$logo[$i]=$tpl->gettemplate("popup",4);
		$i++;
	}
	
	$cache.=$tpl->gettemplate("popup",5);
	$tpl->output($cache);
} ?>




Ensuite quelques modifications au niveau de votre dossier forums/logos !

Créer dans ce dossier un dossier appelé "avatars" et un autre "logos". Copier les avatars existant dans le dossier 'avatars' et mettez les nouveaux logos de votre forum dans le dossier logo (a vous de les faire ^^)


Ensuite ( c bientôt fini ! :p) :

Recharger l'url avec lien direct vers ce message Imprimer le message Aller en bas de page Aller en haut de page Editez ce post (réservé aux modérateurs) Avertissez l'administrateur si le post est non conventionnel Envoyer un Message Privé à xldrh Citer ce post dans votre réponse

 
 
xldrh

Visiteur

Enregistré le 04/03/2004
Messages: 89
Non connecté

Ajouté le : 07/04/2004 19:38
Message :

Fichier tpl_popup.htm, vous devez remplacer à la fin:


<a href="javascript:;" onclick="window.opener.formulaire.infologo.value = 'default{%::idavatar%}{%::extavatar%}';window.close()"><img src="logos/default{%::idavatar%}{%::extavatar%}" border=0></a>



par :


[code<a href="javascript:;" onclick="window.opener.formulaire.infologo.value = 'default{%::idavatar%}{%::extavatar%}';window.close()"><img src="logos/avatars/default{%::idavatar%}{%::extavatar%}" border=0></a>
[/code]

Et ...




Et à la fin de ce même fichier, ajoutez tout ce code :

<!---------- separate ---------->
<center>
<TABLE border=1 bordercolorlight={%::_SKIN[colorborder1]%} bordercolordark={%::_SKIN[colorborder2]%} width=95% cellpadding=2 cellspacing=0>
  <TR bgcolor={%::_SKIN[color2]%}>
    <TD class=jaune colspan=3 align=center>
      <b><font size=2>:: LOGOS ::</font><br>
      <font size=1>Cliquez sur le logo qui vous plait, il remplacera automatiquement le préexistant ;-)</font></b>
    </TD>
  </TR>
  <TR bgcolor={%::_SKIN[color3]%}>
    <TD class=jaune colspan=3 align=right>
      <font size=1>{%box[navigpage]%}</font>
    </TD>
  </TR>
  <TR bgcolor=white>
    <TD class=jaune align=center>
      {%::logo[1]%}
    </TD>
    <TD class=jaune align=center>
      {%::logo[2]%}
    </TD>
    <TD class=jaune align=center>
      {%::logo[3]%}
    </TD>
  </TR>
  <TR bgcolor={%::_SKIN[color3]%}> 
    <TD class=jaune align=center>
	{%::logo[4]%} 
    </TD>
    <TD class=jaune align=center>
      {%::logo[5]%}
    </TD>
    <TD class=jaune align=center>
      {%::logo[6]%}
    </TD>
   </TR>
  <TR bgcolor=white> 
    <TD class=jaune align=center>
      {%::logo[7]%}
    </TD>
    <TD class=jaune align=center>
      {%::logo[8]%}
    </TD>
    <TD class=jaune align=center>
       {%::logo[9]%}
    </TD>
  <TR bgcolor={%::_SKIN[color3]%}>
    <TD class=jaune colspan=3 align=center>
      <font size=1><b><a href="javascript:;" onclick="window.close()" class=men>Fermer cette fenêtre</a></b></font>
    </TD>
  </TR>
</table>
<!---------- separate ---------->

<a href="javascript:;" onclick="window.opener.formulaire.userlogoforum.value = 'logoforum-{%::idlogo%}{%::extlogo%}';window.close()"><img src="logos/logos/logoforum-{%::idlogo%}{%::extlogo%}" border=0></a>




Et le résultat en image ^^ :


La page de personnalisation, avec un autre logo que celui par défaut :



et la page de logos ^^ :




Voila ! En espérant que je me suis pas gouré en retrouvant totu ça ^^


Ip

Recharger l'url avec lien direct vers ce message Imprimer le message Aller en bas de page Aller en haut de page Editez ce post (réservé aux modérateurs) Avertissez l'administrateur si le post est non conventionnel Envoyer un Message Privé à xldrh Citer ce post dans votre réponse

 
 
xldrh

Visiteur

Enregistré le 04/03/2004
Messages: 89
Non connecté

Ajouté le : 07/04/2004 19:41
Message :

Retour au fichier entete.php ^^

Bon ici y'a un prob ^^ :

if(ereg("MSIE", $_SERVER[HTTP_USER_AGENT]))

{
	global $InfosMB;
	if($_USER[userstatus]>1)
	{
	$query = mysql_query("SELECT userfond,userlogoforum FROM CF_user WHERE userid='$_USER[userid]'");
	$InfosMB=mysql_fetch_array($query);
	$tpl->box[cssform]=$tpl->gettemplate("header",1);
	}
	else
		{
	$InfosMB[userfond]="REMPLACEZ PAR LE CHEMIN VERS VOTRE IMAGE PAR DEFAUT ! ";//laissez pas le mien  
	$InfosMB[userlogoforum]="logoforum-1.gif";
	$tpl->box[cssform]=$tpl->gettemplate("header",1);

	}





*** Message édité par xldrh le 07/04/2004 20:46 ***

Recharger l'url avec lien direct vers ce message Imprimer le message Aller en bas de page Aller en haut de page Editez ce post (réservé aux modérateurs) Avertissez l'administrateur si le post est non conventionnel Envoyer un Message Privé à xldrh Citer ce post dans votre réponse

 
 
TiGeR

Pilier

Roarr!!!

Enregistré le 16/01/2003
Messages: 3794
Non connecté

Ajouté le : 07/04/2004 19:49
Message :

Wahou, désolé si je ne teste pas, mais merci pour le hack!!


CFP : Portail Web basé sur CF
CF Last Posts 0.8 : Derniers messages de votre CF sur votre site
Mods : Générateur de fichiers hackés pour CF

Recharger l'url avec lien direct vers ce message Imprimer le message Aller en bas de page Aller en haut de page Editez ce post (réservé aux modérateurs) Avertissez l'administrateur si le post est non conventionnel Visitez le site de TiGeR!! Envoyer un Message Privé à TiGeR Citer ce post dans votre réponse

 
 
lemistral

Pilier

Enregistré le 30/04/2002
Messages: 1977
Non connecté

Ajouté le : 08/04/2004 10:23
Message :

beau travail, merci

Recharger l'url avec lien direct vers ce message Imprimer le message Aller en bas de page Aller en haut de page Editez ce post (réservé aux modérateurs) Avertissez l'administrateur si le post est non conventionnel Envoyer un Message Privé à lemistral Citer ce post dans votre réponse

 
 


<<Sujet précédent     Sujet suivant>>

 
[Contacter l'administrateur] | [Aller sur CoolForum.net]

 
[12 requêtes] - [Page générée en 0.0312 secondes]
 

Powered by CoolForum v.0.8.5 beta
Copyright ©2001-2014 CoolForum.net