Affichage :
Le laboratoire de Darathor Index du Forum

Le laboratoire de Darathor

Ressources diverses, principalement sur les fourms phpBB
[MOD] Flocons défilants (DEV - C)

Ce forum est verrouillé, vous ne pouvez pas poster, ni répondre, ni éditer les sujets. Ce sujet est verrouillé, vous ne pouvez pas éditer les messages ou faire de réponses.

Rechercher dans ce sujet :
Messages
Darathor Sexe : Masculin
Site Admin
Membre

Inscrit le : 02 Nov 2003
Messages : 1101
Localisation : Strasbourg
MessagePosté le : 10 Déc 2005 19:45
Masquer ce messageAfficher ce message
Répondre en citantAjouter à liste des messages à citerRetirer de la liste des messages à citer
Citation :
But : Ajoute des flocons défilant sur le forum. Ces flocons sont activables pour tout le monde ou seulement les membres. De plus, un champ du profil peut être selectionné pour permettre aux membres de changer leur image ou de les désactiver.

Inspiration : Le javascript présenté .

Prérequis :
- [MOD] Extended profile (DEV - K)
- [Sous-MOD] Get table fields (DEV - B)

Auteur : Darathor (darathor@free.fr)
Version : 1.0 TEST - C (10/12/2005)
Compatibilité phpBB : 2.0.18


SQL :
Code :
INSERT INTO `phpbb_config` ( `config_name` , `config_value` ) VALUES ( 'FlDe_desactive_flocons_field', '' );
INSERT INTO `phpbb_config` ( `config_name` , `config_value` ) VALUES ( 'FlDe_flocons_img_field', '' );
INSERT INTO `phpbb_config` ( `config_name` , `config_value` ) VALUES ( 'FlDe_desactive_flocons_visiteurs', '1' );
INSERT INTO `phpbb_config` ( `config_name` , `config_value` ) VALUES ( 'FlDe_flocon_img_address', '' );


Dans "admin/admin_board.php" :
Code :
#
# Trouver
#
   "L_RESET" => $lang['Reset'],

#
# Ajouter après
#
   // FIN MOD Flocons défilants
   "L_DESACTIVE_FLOCONS_FIELD" => $lang['FlDe_choose_field'],
   "L_DESACTIVE_FLOCONS_FIELD_EXPLAIN" => $lang['FlDe_choose_field_explain'],
   "L_FLOCONS_IMG_FIELD" => $lang['FlDe_choose_field_img'],
   "L_FLOCONS_IMG_FIELD_EXPLAIN" => $lang['FlDe_choose_field_img_explain'],
   "L_DESACTIVE_FLOCONS_VISITEURS" => $lang['FlDe_desactive_flocons_visiteurs'],
   "L_DESACTIVE_FLOCONS_VISITEURS_EXPLAIN" => $lang['FlDe_desactive_flocons_visiteurs_explain'],
   "L_FLOCONS_IMG_ADDRESS" => $lang['FlDe_flocon_img_address'],
   "L_FLOCONS_IMG_ADDRESS_EXPLAIN" => $lang['FlDe_flocon_img_address_explain'],
   // FIN MOD Flocons défilants

#
# Trouver
#
   "COPPA_MAIL" => $new['coppa_mail'],

#
# Ajouter après
#
   // FIN MOD Flocons défilants
   "DESACTIVE_FLOCONS_FIELD" => get_table_fields(USERS_TABLE, 'FlDe_desactive_flocons_field', $new['FlDe_desactive_flocons_field'], TRUE),
   "FLOCONS_IMG_FIELD" => get_table_fields(USERS_TABLE, 'FlDe_flocons_img_field', $new['FlDe_flocons_img_field'], TRUE),
   "DESACTIVE_FLOCONS_VISITEURS_YES" => ($new['FlDe_desactive_flocons_visiteurs']) ? "checked=\"checked\"" : "",
   "DESACTIVE_FLOCONS_VISITEURS_NO" => (!$new['FlDe_desactive_flocons_visiteurs']) ? "checked=\"checked\"" : "",
   "FLOCONS_IMG_ADDRESS" => $new['FlDe_flocon_img_address'],
   // FIN MOD Flocons défilants


Dans "include/page_header.php" :
Code :
#
# Trouver
#
//
// Login box?

#
# Ajouter avant
#
// DEBUT MOD Flocons défilants
$active_flocons = true;
if($board_config['FlDe_flocon_img_address'] != '')
{
   if($userdata['session_logged_in'] && ($board_config['FlDe_desactive_flocons_field'] != ''))
   {
      if($userdata[$board_config['FlDe_desactive_flocons_field']] == 1)
      {
         $active_flocons = false;
      }
   }
   elseif($board_config['FlDe_desactive_flocons_visiteurs'] == 0) { $active_flocons = false; }
}
else { $active_flocons = false; }

if(($board_config['FlDe_flocons_img_field'] != '') && ($userdata[$board_config['FlDe_flocons_img_field']] != ''))
{
   $flocon_img = $userdata[$board_config['FlDe_flocons_img_field']];
}
else
{
   $flocon_img = $board_config['FlDe_flocon_img_address'];
}

if($active_flocons)
{
   $template->assign_block_vars('switch_flocons', array(
      'U_FLOCON_IMG' => $flocon_img)
   );
}
// FIN MOD Flocons défilants


Dans "templates/subSilver/admin/board_config_body.tpl" :
Code :
#
# Trouver
#
   <tr>
      <th class="thHead" colspan="2">{L_COOKIE_SETTINGS}</th>
   </tr>

#
# Ajouter avant
#
   <!-- DEBUT MOD Flocons défilants -->
   <tr>
      <td class="row1">{L_FLOCONS_IMG_ADDRESS}<br /><span class="gensmall">{L_FLOCONS_IMG_ADDRESS_EXPLAIN}</span></td>
      <td class="row2"><input class="post" type="text" size="40" maxlength="250" name="FlDe_flocon_img_address" value="{FLOCONS_IMG_ADDRESS}" /></td>
   </tr>
   <tr>
      <td class="row1">{L_DESACTIVE_FLOCONS_VISITEURS}<br /><span class="gensmall">{L_DESACTIVE_FLOCONS_VISITEURS_EXPLAIN}</span></td>
      <td class="row2"><input type="radio" name="FlDe_desactive_flocons_visiteurs" value="1" {DESACTIVE_FLOCONS_VISITEURS_YES} /> {L_YES}&nbsp;&nbsp;<input type="radio" name="FlDe_desactive_flocons_visiteurs" value="0" {DESACTIVE_FLOCONS_VISITEURS_NO} /> {L_NO}</td>
   </tr>
   <tr>
      <td class="row1">{L_DESACTIVE_FLOCONS_FIELD}<br /><span class="gensmall">{L_DESACTIVE_FLOCONS_FIELD_EXPLAIN}</span></td>
      <td class="row2">{DESACTIVE_FLOCONS_FIELD}</td>
   </tr>   
   <tr>
      <td class="row1">{L_FLOCONS_IMG_FIELD}<br /><span class="gensmall">{L_FLOCONS_IMG_FIELD_EXPLAIN}</span></td>
      <td class="row2">{FLOCONS_IMG_FIELD}</td>
   </tr>
   <!-- FIN MOD Flocons défilants -->


Dans "templates/subSilver/overall_header.tpl" :
Code :
#
# Trouver
#
</head>

#
# Ajouter avant
#
<!-- BEGIN switch_flocons -->
<script language="Javascript" type="text/javascript">
sym = "{switch_flocons.U_FLOCON_IMG}";
intensite = 10 ; // Intensité de la pluie ou neige !
imgTaille = 45; // Max de la largeur et de la hauteur de l'image.
drops = intensite;
speed = 3;
angle = 5;
movex = -speed/angle;
movey = speed;
count = 0;

drop = new Array();
xx = new Array();
yy = new Array();
mv = new Array();

var zoneflocons;

function precipitation()
{   
   maxx = zoneflocons.offsetWidth-imgTaille;
   //maxy = (document.documentElement.clientHeight != 0) ? document.documentElement.clientHeight-imgTaille : document.body.clientHeight-imgTaille-15;
   //scrollTop = (document.body.scrollTop != 0) ? document.body.scrollTop : document.documentElement.scrollTop;
   maxy = (document.body.scrollTop != 0) ? document.body.clientHeight-imgTaille : document.documentElement.clientHeight-imgTaille;
   scrollTop = (document.body.scrollTop != 0) ? document.body.scrollTop : document.documentElement.scrollTop;
   
   for(move = 0; move < drops; move++)
   {
      xx[move]+=movex; 
      yy[move]+=mv[move];
      if(xx[move] < 0 || xx[move] > maxx) { xx[move] = maxx; mv[make] = ((Math.random()*10)+speed)/2; }
      if(yy[move] > maxy) { yy[move] = -imgTaille; xx[move] = maxx*Math.random(); }
      drop[move].style.left = xx[move]+'px';
      drop[move].style.top = yy[move]+scrollTop+'px';
   }
   setTimeout('precipitation()','30');
}

function initPrecipitation()
{   
   zoneflocons = document.getElementById('zoneflocons');
   
   maxx = zoneflocons.offsetWidth-imgTaille;
   maxy = (document.body.scrollTop != 0) ? document.body.clientHeight-imgTaille : document.documentElement.clientHeight-imgTaille;
   scrollTop = (document.body.scrollTop != 0) ? document.body.scrollTop : document.documentElement.scrollTop;

   for(make = 0; make < drops; make++)
   {
      xx[make] = maxx*Math.random();
      yy[make] = Math.random()*maxy;
      document.write('<div id="drop'+make+'" style="position:absolute; top:'+yy[make]+'px; left:'+yy[make]+'px;"><img src="'+sym+'" /></div>');
      drop[make] = document.getElementById('drop'+make);
      mv[make] = ((Math.random()*10)+speed)/2;
   }
   window.onload = precipitation();
}
</script>
<!-- END switch_flocons -->

#
# Trouver
#
      <td class="bodyline"><table width="100%" cellspacing="0" cellpadding="0" border="0">

#
# Remplacer par
#
      <td class="bodyline" id="zoneflocons">
         <!-- BEGIN switch_flocons -->
         <script language="Javascript" type="text/javascript">initPrecipitation();</script>
         <!-- END switch_flocons -->      
         <table width="100%" cellspacing="0" cellpadding="0" border="0">


Dans "language/lang_french/lang_admin.php" :
Code :
#
# Trouver
#
?>

#
# Ajouter avant
#
// DEBUT MOD Flocons défilants
$lang['FlDe_choose_field'] = 'Champ utilisateur déterminant l\'affichage des flocons';
$lang['FlDe_choose_field_explain'] = 'Choisissez ici le champ de la table des utilisateur qui détermine pour chaque membre si l\'on doit ou non afficher les flocons. Ce champ doit avoir été ajouté préalablement par un autre MOD (ses valeurs doivent être 0 ou 1). Si vous ne selectionnez pas de champ, les utilisateurs ne pourront pas choisir s\'il veulent voir ou non les flocons.';
$lang['FlDe_choose_field_img'] = 'Champ utilisateur déterminant l\'image des flocons';
$lang['FlDe_choose_field_img_explain'] = 'Choisissez ici le champ de la table des utilisateur qui détermine pour chaque membre l\'adresse de l\'image du flocon. Ce champ doit avoir été ajouté préalablement par un autre MOD (champ texte). Si vous ne selectionnez pas de champ, les utilisateurs ne pourront pas choisir l\'image du flocon qu\'ils voudrons afficher.';
$lang['FlDe_desactive_flocons_visiteurs'] = 'Afficher les flocons aux visiteurs ?';
$lang['FlDe_desactive_flocons_visiteurs_explain'] = 'Choisissez ici si les visiteurs non-enregistrés voient ou non les flosons. Si aucun champ n\'a été sélectionné ci-dessus, ceci concernera tous les visiteurs, y compris les membres inscrits.';
$lang['FlDe_flocon_img_address'] = 'Adresse de l\'image des flocons';
$lang['FlDe_flocon_img_address_explain'] = 'L\'adresse peut être absolue (Ex : <em>www.monsite.com/images/flocon.jpg</em>) ou relative au à la racine du forum (Ex : <em>templates/subSilver/images/flocon.jpg</em>). Si aucune image n\'est définie, le module n\'a pas d\'effet.';
// FIN MOD Flocons défilants

Revenir en haut Aller en bas
Hors ligne | Profil | MP | E-mail | Site web
  Vous ne pouvez pas poster de nouveaux sujets dans ce forum
Vous ne pouvez pas répondre aux sujets dans ce forum
Vous ne pouvez pas éditer vos messages dans ce forum
Vous ne pouvez pas supprimer vos messages dans ce forum
Vous ne pouvez pas voter dans les sondages de ce forum