Thème aléatoire même pour les visiteurs

PHP-Nuke France - CE -> Thèmes

Auteur: eurodamsLocalisation: Montpellier MessagePosté le: 02.11.2004, 08:45:51    Sujet du message: Thème aléatoire même pour les visiteurs

Bonjour,

Je cherche mais en vain, le moyen de ne pas mettre un thème par défaut sur mon site, j'aimerai que le thème change aléatoiremet à chaque connexion .. pour les visiteurs seulement ... est-ce que quelqu'un a déjà testé ?

Auteur: ckforumLocalisation: FRANCE MessagePosté le: 02.11.2004, 12:40:43    Sujet du message:

Bonjour eurodams,

Tiens je te livre une petite fonction qui devrait te permettre de faire ce que tu souhaites, en revanche il va falloir que tu modifies un peu la fonction get_theme() du fichier mainfile.php situé à la racine de ton site soit :

tu edites le mainfile.php et tu cherches :

Code:
function get_theme() {


Un peu plus bas dans cette fonction tu as 2 lignes
Qui ressemble à celle ci-dessous :
Code:
$ThemeSel = $Default_Theme;


C'est la DEUXIEME qui nous intérésse au dessus il devrait y avoir :
Code:
 } else {

Donc tu remplaces cette ligne par le code suivant :

Code:
     // old $ThemeSel = $Default_Theme;
      $ThemeSel = themealea_visiteur();


Ensuite tout en bas du fichier mainfile.php avant :

Code:
?>


Tu ajoutes le code suivant :

Code:

// ---------------------------
// fonction themealea_visiteur
// permet d'afficher un theme
// aléatoire pour les visiteurs
// 02/11/2004 11:21
// ---------------------------
function themealea_visiteur() {
   global $Default_Theme;   
      
   // on liste les themes existant dans themes !
   $handletheme=opendir('themes');
      while ($file = readdir($handletheme)) {
         if ( (!ereg("[.]",$file) AND file_exists("themes/$file/theme.php")) ) {
         $lesthemeexistant[] .= "$file"; // array contenant le nom des themes
         }
      }
   closedir($handletheme);
   
   // pour les version inf. a 4.2.0
   if ( version_compare( phpversion(), "4.2.0", ">=")) {
      }else {
      // si inf à 4.2 on initialise le générateur de nombres aléatoires
      srand ((double) microtime() * 10000000);
   }
   
   $rand_keys = array_rand ($lesthemeexistant,2);
   $numaltheme  = $rand_keys[0];
   $the_themealea_is  = $lesthemeexistant[$numaltheme]; 
   $the_themealea_is ? $ret_thealeatheme =  $the_themealea_is : $ret_thealeatheme = $Default_Theme ;

return $ret_thealeatheme;
} // fin de fonction


Voilà normalement cela devrait fonctionner !
(bien sûr il faut que tu es plus d'un theme Smile sinon les visiteurs auront toujours le meme... )

@Bon courage @++

Auteur: eurodamsLocalisation: Montpellier MessagePosté le: 02.11.2004, 14:10:34    Sujet du message:

Merci beaucoup c'est génial Cheesy Grin Cheesy Grin Cheesy Grin



PHP-Nuke France - CE -> Thèmes

Toutes les heures sont au format GMT + 2 Heures

Page 1 sur 1


>> Fermer cette Page <<