[ Index ]
 

Code source de WikiNi 0.4.4

Accédez au Source d'autres logiciels libres

Classes | Fonctions | Variables | Constantes | Tables

title

Body

[fermer]

/actions/ -> changestyle.php (source)

   1  <?php
   2  
   3  // Action changesstyle.php version 0.2 du 16/03/2004
   4  // pour WikiNi 0.4.1rc (=> à la version du 200403xx) et supérieurs
   5  // Par Charles Népote (c) 2004
   6  // Licence GPL
   7  
   8  
   9  // Fonctionnement
  10  //
  11  // Cette action regroupe la fonction de changement de style ainsi que l'interface
  12  // de modification du style.
  13  // Une fois le style sélectionné via l'interface, la requête est envoyée sous la forme :
  14  // http://example.org/PageTest&set="NomDeFeuilleDeStyle"
  15  // . si ce nom n'est pas constitué uniquement de caractères alphanumériques,
  16  //   une erreur est retournée
  17  // . si ce nom est valide et que la feuille de style existe :
  18  //   . on change le cookie utilisateur
  19  //   . on redirrige l'utilisateur vers http://example.org/PageTest où
  20  //     l'utilisateur peut alors constater le changement de style
  21  
  22  
  23  // Usage :
  24  //
  25  // -- {{changestyle link="xxx.css"}}
  26  //    donne le lien suivant :
  27  //    Feuille de style xxx.css
  28  //
  29  // -- {{changestyle link="xxx.css" title="Ouragan"}}
  30  //    donne le lien suivant :
  31  //    Ouragan
  32  
  33  
  34  // A compléter (peut-être un jour) :
  35  //
  36  // -- {{changestyle}}
  37  //    donne un formulaire :
  38  //    Entrer l'adresse de la feuille de style désirée : [     ]
  39  //
  40  // -- {{changestyle choice="zzz.css;ttt.css"}}
  41  //    [] Feuille de style zzz
  42  //    [] Feuille de style ttt
  43  
  44  
  45  $set = isset($_GET["set"]) ? $_GET["set"] : '';
  46  
  47  
  48  if ($this->GetParameter("link"))
  49  {
  50      echo    "<a href=\"".$this->href()."&set=".$this->GetParameter("link")."\">";
  51      echo    (!$this->GetParameter("title")) ? "Feuille de style ".$this->GetParameter("link") : $this->GetParameter("title");
  52      echo    "</a>";
  53  }
  54  
  55  
  56  // Do it.
  57  if (preg_match("/^[A-Za-z0-9][A-Za-z0-9]+$/", $set))
  58  {
  59      $this->SetPersistentCookie('sitestyle',$set,1);
  60      header("Location: ".$this->href());
  61  }
  62  else if ($set)
  63  {
  64      $this->SetMessage("La feuille de style ".htmlentities($set)." est non valide !");
  65      header("Location: ".$this->href());
  66  }
  67  ?>


Généré le : Mon Nov 26 12:05:46 2007 par Balluche grâce à PHPXref 0.7
  Clicky Web Analytics