Affichage :
Le laboratoire de Darathor Index du Forum

Le laboratoire de Darathor

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

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 : 21 Déc 2005 15:49
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 :
- [Sous-MOD] Get table fields (DEV - B)
- (faultatif) [MOD] Extended profile (DEV - K)

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


SQL (mise à jour depuis TEST - C uniquement) :
Code :
INSERT INTO `phpbb_config` ( `config_name` , `config_value` ) VALUES ( 'FlDe_flocons_taille_field', '' );
INSERT INTO `phpbb_config` ( `config_name` , `config_value` ) VALUES ( 'FlDe_flocons_nombre_field', '' );
INSERT INTO `phpbb_config` ( `config_name` , `config_value` ) VALUES ( 'FlDe_flocons_vitesse_field', '' );
INSERT INTO `phpbb_config` ( `config_name` , `config_value` ) VALUES ( 'FlDe_flocons_angle_field', '' );
INSERT INTO `phpbb_config` ( `config_name` , `config_value` ) VALUES ( 'FlDe_flocon_img_taille', '' );
INSERT INTO `phpbb_config` ( `config_name` , `config_value` ) VALUES ( 'FlDe_flocon_vitesse', '' );
INSERT INTO `phpbb_config` ( `config_name` , `config_value` ) VALUES ( 'FlDe_flocon_angle', '' );
INSERT INTO `phpbb_config` ( `config_name` , `config_value` ) VALUES ( 'FlDe_flocon_nombre', '' );


SQL (nouvelle installation uniquement) :
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_flocons_taille_field', '' );
INSERT INTO `phpbb_config` ( `config_name` , `config_value` ) VALUES ( 'FlDe_flocons_nombre_field', '' );
INSERT INTO `phpbb_config` ( `config_name` , `config_value` ) VALUES ( 'FlDe_flocons_vitesse_field', '' );
INSERT INTO `phpbb_config` ( `config_name` , `config_value` ) VALUES ( 'FlDe_flocons_angle_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', '' );
INSERT INTO `phpbb_config` ( `config_name` , `config_value` ) VALUES ( 'FlDe_flocon_img_taille', '' );
INSERT INTO `phpbb_config` ( `config_name` , `config_value` ) VALUES ( 'FlDe_flocon_vitesse', '' );
INSERT INTO `phpbb_config` ( `config_name` , `config_value` ) VALUES ( 'FlDe_flocon_angle', '' );
INSERT INTO `phpbb_config` ( `config_name` , `config_value` ) VALUES ( 'FlDe_flocon_nombre', '' );


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

#
# Ajouter après
#
   // FIN MOD Flocons défilants
   "L_RUBRIQUE_FLOCONS" => $lang['FlDe_rubrique_flocons'],
   "L_DESACTIVE_FLOCONS_VISITEURS" => $lang['FlDe_desactive_flocons_visiteurs'],
   "L_DESACTIVE_FLOCONS_VISITEURS_EXPLAIN" => $lang['FlDe_desactive_flocons_visiteurs_explain'],
   "L_DESACTIVE_FLOCONS_FIELD" => $lang['FlDe_choose_field'],
   "L_DESACTIVE_FLOCONS_FIELD_EXPLAIN" => $lang['FlDe_choose_field_explain'],
   "L_FLOCONS_IMG_ADDRESS" => $lang['FlDe_flocon_img_address'],
   "L_FLOCONS_IMG_ADDRESS_EXPLAIN" => $lang['FlDe_flocon_img_address_explain'],
   "L_FLOCONS_IMG_FIELD" => $lang['FlDe_choose_field_img'],
   "L_FLOCONS_IMG_FIELD_EXPLAIN" => $lang['FlDe_choose_field_img_explain'],
   "L_FLOCONS_IMG_TAILLE" => $lang['FlDe_flocon_img_taille'],
   "L_FLOCONS_IMG_TAILLE_EXPLAIN" => $lang['FlDe_flocon_img_taille_explain'],
   "L_FLOCONS_IMG_TAILLE_FIELD" => $lang['FlDe_choose_field_taille'],
   "L_FLOCONS_IMG_TAILLE_FIELD_EXPLAIN" => $lang['FlDe_choose_field_taille_explain'],
   "L_FLOCONS_NOMBRE" => $lang['FlDe_flocon_nombre'],
   "L_FLOCONS_NOMBRE_EXPLAIN" => $lang['FlDe_flocon_nombre_explain'],
   "L_FLOCONS_NOMBRE_FIELD" => $lang['FlDe_choose_field_nombre'],
   "L_FLOCONS_NOMBRE_FIELD_EXPLAIN" => $lang['FlDe_choose_field_nombre_explain'],
   "L_FLOCONS_VITESSE" => $lang['FlDe_flocon_vitesse'],
   "L_FLOCONS_VITESSE_EXPLAIN" => $lang['FlDe_flocon_vitesse_explain'],
   "L_FLOCONS_VITESSE_FIELD" => $lang['FlDe_choose_field_vitesse'],
   "L_FLOCONS_VITESSE_FIELD_EXPLAIN" => $lang['FlDe_choose_field_vitesse_explain'],
   "L_FLOCONS_ANGLE" => $lang['FlDe_flocon_angle'],
   "L_FLOCONS_ANGLE_EXPLAIN" => $lang['FlDe_flocon_angle_explain'],
   "L_FLOCONS_ANGLE_FIELD" => $lang['FlDe_choose_field_angle'],
   "L_FLOCONS_ANGLE_FIELD_EXPLAIN" => $lang['FlDe_choose_field_angle_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),
   "FLOCONS_IMG_TAILLE_FIELD" => get_table_fields(USERS_TABLE, 'FlDe_flocons_taille_field', $new['FlDe_flocons_taille_field'], TRUE),
   "FLOCONS_NOMBRE_FIELD" => get_table_fields(USERS_TABLE, 'FlDe_flocons_nombre_field', $new['FlDe_flocons_nombre_field'], TRUE),
   "FLOCONS_VITESSE_FIELD" => get_table_fields(USERS_TABLE, 'FlDe_flocons_vitesse_field', $new['FlDe_flocons_vitesse_field'], TRUE),
   "FLOCONS_ANGLE_FIELD" => get_table_fields(USERS_TABLE, 'FlDe_flocons_angle_field', $new['FlDe_flocons_angle_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'],
   "FLOCONS_IMG_TAILLE" => $new['FlDe_flocon_img_taille'],
   "FLOCONS_NOMBRE" => $new['FlDe_flocon_nombre'],
   "FLOCONS_VITESSE" => $new['FlDe_flocon_vitesse'],
   "FLOCONS_ANGLE" => $new['FlDe_flocon_angle'],
   // FIN MOD Flocons défilants


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

#
# Ajouter avant
#
// DEBUT MOD Flocons défilants
$active_flocons = true;
$image_flocons = trim($board_config['FlDe_flocon_img_address']);
$taille_flocons = (intval($board_config['FlDe_flocon_img_taille']) > 0) ? intval($board_config['FlDe_flocon_img_taille']) : '45';
$nombre_flocons = (intval($board_config['FlDe_flocon_nombre']) > 0) ? intval($board_config['FlDe_flocon_nombre']) : '10';
$vitesse_flocons = (intval($board_config['FlDe_flocon_vitesse']) > 0) ? intval($board_config['FlDe_flocon_vitesse']) : '3';
$angle_flocons = (intval($board_config['FlDe_flocon_angle']) >= 0) ? intval($board_config['FlDe_flocon_angle']) : '5';
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; }
      else
      {
         $image_flocons = (trim($userdata[$board_config['FlDe_flocons_img_field']]) != '') ? trim($userdata[$board_config['FlDe_flocons_img_field']]) : $image_flocons;
         $taille_flocons = (intval($userdata[$board_config['FlDe_flocon_taille_field']]) > 0) ? intval($userdata[$board_config['FlDe_flocon_taille_field']]) : $taille_flocons;
         $nombre_flocons = (intval($userdata[$board_config['FlDe_flocon_nombre_field']]) > 0) ? intval($userdata[$board_config['FlDe_flocon_nombre_field']]) : $nombre_flocons;
         $vitesse_flocons = (intval($userdata[$board_config['FlDe_flocon_vitesse_field']]) > 0) ? intval($userdata[$board_config['FlDe_flocon_vitesse_field']]) : $vitesse_flocons;
         $angle_flocons = (intval($userdata[$board_config['FlDe_flocon_angle_field']]) > 0) ? intval($userdata[$board_config['FlDe_flocon_angle_field']]) : $angle_flocons;
      }
   }
   elseif($board_config['FlDe_desactive_flocons_visiteurs'] == 0) { $active_flocons = false; }
}
else { $active_flocons = false; }

if($active_flocons)
{
   $template->assign_block_vars('switch_flocons', array(
      'U_FLOCON_IMG' => $image_flocons,
      'TAILLE_FLOCONS' => $taille_flocons,
      'NOMBRE_FLOCONS' => $nombre_flocons,
      'VITESSE_FLOCONS' => $vitesse_flocons,
      'ANGLE_FLOCONS' => $angle_flocons)
   );
}
// FIN MOD Flocons défilants


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

#
# Ajouter avant
#
   <!-- DEBUT MOD Flocons défilants -->
   <tr>
      <th class="thHead" colspan="2">{L_RUBRIQUE_FLOCONS}</th>
   </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_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_FLOCONS_IMG_FIELD}<br /><span class="gensmall">{L_FLOCONS_IMG_FIELD_EXPLAIN}</span></td>
      <td class="row2">{FLOCONS_IMG_FIELD}</td>
   </tr>
   <tr>
      <td class="row1">{L_FLOCONS_IMG_TAILLE}<br /><span class="gensmall">{L_FLOCONS_IMG_TAILLE_EXPLAIN}</span></td>
      <td class="row2"><input class="post" type="text" size="40" maxlength="250" name="FlDe_flocon_img_taille" value="{FLOCONS_IMG_TAILLE}" /></td>
   </tr>
   <tr>
      <td class="row1">{L_FLOCONS_IMG_TAILLE_FIELD}<br /><span class="gensmall">{L_FLOCONS_IMG_TAILLE_FIELD_EXPLAIN}</span></td>
      <td class="row2">{FLOCONS_IMG_TAILLE_FIELD}</td>
   </tr>
      <tr>
      <td class="row1">{L_FLOCONS_NOMBRE}<br /><span class="gensmall">{L_FLOCONS_NOMBRE_EXPLAIN}</span></td>
      <td class="row2"><input class="post" type="text" size="40" maxlength="250" name="FlDe_flocon_nombre" value="{FLOCONS_NOMBRE}" /></td>
   </tr>
   <tr>
      <td class="row1">{L_FLOCONS_NOMBRE_FIELD}<br /><span class="gensmall">{L_FLOCONS_NOMBRE_FIELD_EXPLAIN}</span></td>
      <td class="row2">{FLOCONS_NOMBRE_FIELD}</td>
   </tr>
   </tr>
      <tr>
      <td class="row1">{L_FLOCONS_VITESSE}<br /><span class="gensmall">{L_FLOCONS_VITESSE_EXPLAIN}</span></td>
      <td class="row2"><input class="post" type="text" size="40" maxlength="250" name="FlDe_flocon_vitesse" value="{FLOCONS_VITESSE}" /></td>
   </tr>
   <tr>
      <td class="row1">{L_FLOCONS_VITESSE_FIELD}<br /><span class="gensmall">{L_FLOCONS_VITESSE_FIELD_EXPLAIN}</span></td>
      <td class="row2">{FLOCONS_VITESSE_FIELD}</td>
   </tr>
   </tr>
      <tr>
      <td class="row1">{L_FLOCONS_ANGLE}<br /><span class="gensmall">{L_FLOCONS_ANGLE_EXPLAIN}</span></td>
      <td class="row2"><input class="post" type="text" size="40" maxlength="250" name="FlDe_flocon_angle" value="{FLOCONS_ANGLE}" /></td>
   </tr>
   <tr>
      <td class="row1">{L_FLOCONS_ANGLE_FIELD}<br /><span class="gensmall">{L_FLOCONS_ANGLE_FIELD_EXPLAIN}</span></td>
      <td class="row2">{FLOCONS_ANGLE_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">
<!--
var sym = "{switch_flocons.U_FLOCON_IMG}"; // Adresse du flocon.
var intensite = {switch_flocons.NOMBRE_FLOCONS}; // Nombre de flocons.
var imgTaille = {switch_flocons.TAILLE_FLOCONS}; // Taille d'un flocon.
var speed = {switch_flocons.VITESSE_FLOCONS}; // Vitesse des flocons.
var angle = ({switch_flocons.ANGLE_FLOCONS}*Math.PI)/180; // Angle de chute en radians.

var drops = intensite;
var movex = Math.sin(angle)*speed;
var movey = Math.cos(angle)*speed;
var count = 0;

var drop = new Array();
var xx = new Array();
var yy = new Array();
var mvx = new Array();
var mvy = new Array();

var zoneflocons;
//-->
</script>
<script language="Javascript" type="text/javascript" src="templates/flocons.js"></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_rubrique_flocons'] = 'Configuration des 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 et la valeur par défaut sera imposée.';
$lang['FlDe_choose_field_taille'] = 'Champ utilisateur déterminant l\'a taille de l\'image des flocons';
$lang['FlDe_choose_field_taille_explain'] = 'Choisissez ici le champ de la table des utilisateur qui détermine pour chaque membre l\'a taille de l\'image du flocon. Ce champ doit avoir été ajouté préalablement par un autre MOD (champ entier). Si vous ne selectionnez pas de champ, les utilisateurs ne pourront pas choisir la taille de l\'image du flocon et la valeur par défaut sera imposée.';
$lang['FlDe_choose_field_nombre'] = 'Champ utilisateur déterminant le nombre de flocons';
$lang['FlDe_choose_field_nombre_explain'] = 'Choisissez ici le champ de la table des utilisateur qui détermine pour chaque membre le nombre de flocons. Ce champ doit avoir été ajouté préalablement par un autre MOD (champ entier, idéalement borné entre 0 et 50). Si vous ne selectionnez pas de champ, les utilisateurs ne pourront pas choisir le nombre de flocons et la valeur par défaut sera imposée.';
$lang['FlDe_choose_field_vitesse'] = 'Champ utilisateur déterminant la vitesse des flocons';
$lang['FlDe_choose_field_vitesse_explain'] = 'Choisissez ici le champ de la table des utilisateur qui détermine pour chaque membre l\'adresse de la vitesse des flocons. Ce champ doit avoir été ajouté préalablement par un autre MOD (champ entier, idéalement borné entre 0 et 10). Si vous ne selectionnez pas de champ, les utilisateurs ne pourront pas choisir la vitesse des flocons et la valeur par défaut sera imposée.';
$lang['FlDe_choose_field_angle'] = 'Champ utilisateur déterminant l\'angle de chute des flocons';
$lang['FlDe_choose_field_angle_explain'] = 'Choisissez ici le champ de la table des utilisateur qui détermine pour chaque membre l\'angle de chute des flocons. Ce champ doit avoir été ajouté préalablement par un autre MOD (champ entier). Si vous ne selectionnez pas de champ, les utilisateurs ne pourront pas choisir l\'angle de chute des flocons et la valeur par défaut sera imposée.';
$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.';
$lang['FlDe_flocon_img_taille'] = 'Taille de l\'image des flocons';
$lang['FlDe_flocon_img_taille_explain'] = 'Maximun entre la largeur et la hauteur des flocons. Si vous définissez un valeur inférieure à la taille réèle de l\'image, les visiteurs auront des bugs d\'affichage.';
$lang['FlDe_flocon_nombre'] = 'Nombre de flocons défilant à l\'écran';
$lang['FlDe_flocon_nombre_explain'] = 'Il est conseillé de ne pas trop dépasser une dizaine car cela pourrait entrainer de trop gros ralentissement chez certains visiteurs.';
$lang['FlDe_flocon_vitesse'] = 'Vitesse de défilement des flocons';
$lang['FlDe_flocon_vitesse_explain'] = 'Idéalement, cette vitesse se titue entre 1 (très lent) et 10 (très rapide).';
$lang['FlDe_flocon_angle'] = 'Angle de chute des flocons';
$lang['FlDe_flocon_angle_explain'] = 'Angle en degré par rapport à une chute verticale vers le bas.';
// FIN MOD Flocons défilants


Uploader à l'emplacement suivant le fichier contenus dans ce zip :
- templates/flocons.js
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