Connectix Boards

Bienvenue, vous n'êtes pas connecté. ( Se connecter - S'enregistrer )

Dernière version sortie: 0.8.4!
Venez tester la version 1.0 beta :)

 >  Sondage : Votre avis sur le MOD
Très intéressant ---
Plus ou moins intéressant ---
Pas intéressant ---
Nombre de votes blancs : 0 Nombre total de votes (non-blancs) : 4
RSS >  [MOD] Birthdays_on_index v1.0, Anniversaires du jour
Ishimaru Chiaki #1 28/12/2008 - 22h09

Groupe : Doc-rédacteur
Messages : 800
Enregistré le : 12/03/2008

Hors ligne Site Web

Nom du mod : Birthdays_on_index v1.0
Auteur : Ishimaru Chiaki, avec un coup de main de dixy
Date de création : 28/12/2008
Version de CB : Testé sur un 0.8.4

Lien de téléchargement de l'archive : Télécharger l'archive
Taille de l'archive : Environ 15.7 Kio

Description générale : Ce MOD permet d'afficher les anniversaires du jour sur l'index du forum, avec l'âge entre parenthèses à côté de chaque membre fêté.  Lorsqu'il n'y a aucun anniversaire à fêter, la ligne n'apparaît pas.
Modifications apportées :
  • [*]include/parts/part.general.php, ligne 118
    avant /* Affichage des requètes effectuées */
    ajouter /* Anniversaires du jour */
    if ($_SESSION['cb_user']->connected_position=='index')
    {
       $bday = $GLOBALS['cb_db']->query('
           SELECT usr_id, usr_name, usr_class, usr_birthdate
           FROM '.$GLOBALS['cb_db']->prefix.'users
           WHERE DAY(usr_birthdate) = '.(int)date('d').' AND MONTH(usr_birthdate) = '.(int)date('m').'
           ORDER BY usr_name');
       require_once(CB_CACHE_CLASSES);

       require_once(CB_PATH.'include/lib/lib.users.php');
      $contents_bday = '';
      while ($fetch = $GLOBALS['cb_db']->fetch_assoc($bday))
      {
              $contents_bday .= ((!empty($contents_bday))?' - ':'').'<a href="'.manage_url('index.php?act=user&amp;showprofile='.$fetch['usr_id'],'forum-m'.$fetch['usr_id'].','.rewrite_words($fetch['usr_name']).'.html').'" title="'.$GLOBALS['cb_classes'][$fetch['usr_class']]['gr_name'].'" '.((!empty($GLOBALS['cb_classes'][$fetch['usr_class']]['gr_color'])) ? 'style="color:'.$GLOBALS['cb_classes'][$fetch['usr_class']]['gr_color'].';"' : '').'>'.$fetch['usr_name'].'</a> (' .getAge($fetch['usr_birthdate']). ')';
          }
       
       $GLOBALS['cb_tpl']->assign(array(
           'g_displaybday' => true,
           'g_membersbday' => $contents_bday
       ));
    } else $GLOBALS['cb_tpl']->assign('g_displaybday',false);

  • [*]include/lib/lib.users.php, ligne 104 (Ignorez cette modification si vous utilisez déjà le MOD Poster_age_in_messages)
    avant /* Fonction qui retourne un tableau avec tous les avatars de la galerie. */
    ajouter /* Age d'un utilisateur, à partir de sa date de naissance */
    function getAge ($date) {
      $now = date('d-m-Y',time());
      list($day_n,$month_n,$year_n) = explode('-',$now);
      list($year,$month,$day) = explode('-',$date);
     
      $age = (int)$year_n - (int)$year;
      if ((int)$month_n < (int)$month) $age--;
      elseif ((int)$month==(int)$month_n && (int)$day_n < (int)$day) $age--;
      elseif ((int)$year==0 && (int)$month==0 && (int)$day==0) $age=NULL;
     
      return $age;
    }

  • [*]lang/fr/general.lang, ligne 96
    après    'pages_shown' => 'Il y a eu {n} pages affichées.',
    ajouter    'members_birthday' => 'Membres fêtant leur anniversaire aujourd\'hui',
  • [*]lang/en/general.lang, ligne 96
    après    'pages_shown' => '{n} pages shown.',
    ajouter    'members_birthday' => 'Members having their birthday today',
  • [*]templates/Official/gen_contents.php ligne 175
    après    <p class="inforow" id="stats_stats">
           <?php echo lang(array('item' => 'members_registered','n' => $g_membersregistered)); ?><br />
           <?php echo lang(array('item' => 'total_messages','m' => $g_totalmessages,'s' => $g_totaltopics)); ?>
       </p>
       <?php endif; ?>

    remplacer </div>
    <?php endif; ?>
    par    <?php if ( $g_displaybday && !empty($g_membersbday) ): ?>
       <p class="inforow" id="stats_bday">
           <?php echo lang('members_birthday'); ?> : <?php echo $g_membersbday; ?>
       </p>
       <?php endif; ?>
    </div>
    <?php endif; ?>




Notes :
- Si votre forum n'a pas du tout été modifié, vous n'avez qu'à envoyer le contenu de l'archive pour écraser les fichiers existants (je vous recommande de faire une sauvegarde d'abord), et la modification manuelle ne sera donc pas nécessaire.
- Si vous utilisez déjà le MOD "Poster age in message" disponibe sur ce lien, ignorez le fichier lib/lib.users.php puisque les deux MODs utilisent la même fonction pour le calcul de l'âge.
- Si au moins un des fichiers mentionnés a été modifié par un autre MOD, vous devrez effectuer la modification manuellement pour le ou les fichiers concernés.
- Aucune modification dans la base de données, puisque le mod utilise un champ déjà existant dans la table cb_users.
- Ce mod est multilingue.
- Vous pouvez voir une démo du mod sur mon forum.
Ce message a été édité par Ishimaru Chiaki le 27/07/2009 à 07h37.
Besoin de volontaires pour les tests du support IPv6 dans la future version 0.8.5 !
Plus d'informations ici

Mon fil Twitter
Martin #2 29/12/2008 - 09h42

Groupe : Administrateur
Messages : 3657
Enregistré le : 01/02/2005

Hors ligne Site Web

Merci beaucoup, ce sera certainement utile pour certains!
Posted Image
« Entre une mauvaise cuisinière et une empoisonneuse il n'y a qu'une différence d'intention. » - P. Desproges
Ishimaru Chiaki #3 29/12/2008 - 10h10

Groupe : Doc-rédacteur
Messages : 800
Enregistré le : 12/03/2008

Hors ligne Site Web

Je viens de voir que j'ai même droit à un cadeau d'anniversaire à l'avance XD
(j'aurai 25 ans le 1er janvier)
Besoin de volontaires pour les tests du support IPv6 dans la future version 0.8.5 !
Plus d'informations ici

Mon fil Twitter
Ishimaru Chiaki #4 27/07/2009 - 07h38

Groupe : Doc-rédacteur
Messages : 800
Enregistré le : 12/03/2008

Hors ligne Site Web

Le lien qui était devenu mort suite à la mise à jour du site vient d'être corrigé !
Besoin de volontaires pour les tests du support IPv6 dans la future version 0.8.5 !
Plus d'informations ici

Mon fil Twitter

 >  Réponse rapide

Composez votre message

 >  Informations du forum

1 personne(s) présente(s) durant une période de 15 minutes (0 membre(s) et 1 invité(s)).