Subversion Repositories Applications.projet

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
2 ddelon 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 = $_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 ".$set." est non valide !");
65
	header("Location: ".$this->href());
66
}
67
?>