Archives par étiquette : Tutoriel

!JoomlaComments en dofollow

!JoomlaComments est un composant assez bien connu qui sert, comme vous vous en doutez, à gérer des commentaires sur un site Joomla!. Par défaut, les liens des commentaires sont en nofollow et il n’est pas possible de paramétrer ce détail assez important.

Donc, si par hasard vous désirez mettre les liens des commentaires en dofollow, il vous faut effectuer un petit hack au coeur du script lui-même :

Ouvrez le fichier /components/com_comments/joscomment/comment.class.php et chercher « nofollow », ce qui devrait vous amener aux alentours de la ligne 2293 à ceci :

$website = «  « ;

Il vu suffit d’enlever l’attribut « nofollow » :

$website = «  « ;

C’est tout! C’est à parier que dans les versions futures de !Joomlacomments, on pourra peut-être bien paramétrer le do/nofollow.

 

Joomla, redirection personnalisée après connexion

Lorsque qu’un utilisateur se connecte à son compte dans Joomla, il est automatiquement redirigé à la page d’accueil.

Cet article explique comment effectuer un hack à Joomla 1.5, afin de rediriger l’utilisateur sur la page de votre choix après sa connexion. À partir de la configuration du module de connexion, vous pouvez spécifier une page dans le site, mais vous ne pouvez spécifier d’URL précise, ce qui est parfois nécessaire. Ça peut être très utile, surtout si vous attendez une action précise de votre visiteur (ex: poster un article, une image, inscrire son site dans votre annuaire, etc.).

Joomla 1.5.8 a servi pour cet exemple, mais c’est probablement exactement le même principe pour toutes les autres versions 1.5.x.

Ouvrez ce fichier :


[votre site]/components/com_user/controller.php

Il faut rechercher cette ligne de code qui se trouve normalement à la ligne 153, à l’intérieur de la fonction login() :

$mainframe->redirect( $return );

Il suffit simplement de remplacer $return par l’URL de votre choix. Par exemple :

$mainframe->redirect( « http://www.guylabbe.ca » );

Déterminer l’âge d’après la date de naissance

Si vous gérez une communauté en ligne, il est possible que vous ayez à afficher l’âge d’un utilisateur selon la date de naissance qu’il a fournie dans son profil. Il existe différentes solutions, mais parfois, c’est pratique d’accéder à cette information directement avec la requête MySQL :


SET @anniversaire = ‘1987-05-30’;
SELECT (SELECT EXTRACT(YEAR FROM CURRENT_DATE) – EXTRACT(YEAR FROM @anniversaire) – (CASE WHEN EXTRACT(MONTH FROM CURRENT_DATE) < EXTRACT(MONTH FROM @anniversaire) THEN 1 ELSE (CASE WHEN (EXTRACT(DAY FROM CURRENT_DATE) < EXTRACT(DAY FROM @anniversaire) AND EXTRACT(MONTH FROM CURRENT_DATE) = EXTRACT(MONTH FROM @anniversaire)) THEN 1 ELSE 0 END) END)) AS Age

Il vous faut fournir la date comme MySQL l’aime bien, c’est-à-dire sous le format YY-MM-DD.

L’exemple ci-dessus aura pour résultat l’âge qu’a aujourd’hui une personne ayant vu le jour le 30 mai 1987 (« aujourd’hui » = la date de rédaction de cet article). Nous avons utilisé SET dans l’exemple afin de simplifier les choses et ne pas avoir à aller quérir des données dans une table d’utilisateurs.

Si vous possédez, par exemple, une table appelée Utilisateurs, possédant une colonne contenant la date de naissance de chacun des utilisateurs du site (appelée Date_Anniversaire), il serait possible de formuler votre requête MySQL de cette façon :


SELECT Nom_Utilisateur, Date_Anniversaire, (SELECT EXTRACT(YEAR FROM CURRENT_DATE) – EXTRACT(YEAR FROM Date_Anniversaire) – (CASE WHEN EXTRACT(MONTH FROM CURRENT_DATE) < EXTRACT(MONTH FROM Date_Anniversaire) THEN 1 ELSE (CASE WHEN (EXTRACT(DAY FROM CURRENT_DATE) < EXTRACT(DAY FROM Date_Anniversaire) AND EXTRACT(MONTH FROM CURRENT_DATE) = EXTRACT(MONTH FROM Date_Anniversaire)) THEN 1 ELSE 0 END) END)) AS Age FROM Utilisateurs

Selon la « date d’aujourd’hui », le résultat devrait ressembler à ceci :

Nom_Utilisateur Date_Anniversaire Age
Phil14 1991-12-02 14:31:19 17
MaryJuicy03 1966-02-12 14:32:34 42
Richard23 1997-12-18 14:33:29 10

Supprimer les contrôles dans un fichier SWF

Si vous développez en Flash, voici un truc utile qu’il vous faut connaître : l’utilisateur peut toujours, par défaut, zoomer une animation Flash comme bon lui semble, contrôler la tête de lecture de l’animation, etc… heureusement, il existe un moyen de retirer ces contrôles.

C’est pas très compliqué, même si vos connaissances en Actionscript sont rudimentaires ou inexistantes.

  1. Cliquez sur l’image-clé (en anglais : keyframe) principale de votre animation Flash
  2. Ouvrez la fenêtre de script (F9 sur PC, CMD+F9 sur Mac)
  3. Tapez-s’y ceci :


Stage.showMenu = false;

Et puis voilà, les contrôles ne sont plus accessibles pour l’utilisateur.

Tronquer du texte en PHP

C’est simple, mais utile; par exemple, quand on liste de plusieurs articles sur une page mais qu’on ne veut que donner un petit aperçu du texte. Voici une petite fonction PHP pour tronquer du texte :

function tronquer($texte, $nbrChar, $append=’…’) {
rif(strlen($texte) > $nbrChar) {
$texte = substr($texte, 0, $nbrChar);
$texte .= $append;
}
return $texte;
}
// Maintenant, on applique la fonction à du texte echo tronquer(‘ceci est un texte que je désire couper à exactement cinquante caractères’, 50);
// ce qui donnera :
// ceci est un texte que je désire couper à exactemen…