From: x2000habouzit Date: Mon, 26 Jan 2004 16:14:51 +0000 (+0000) Subject: bug avec les skins X-Git-Tag: xorg/old~1945 X-Git-Url: http://git.polytechnique.org/?a=commitdiff_plain;h=f2e3b7160f037107c96255507a33667bd34b67b8;p=platal.git bug avec les skins gestion du cookie permanent preferences.php --- diff --git a/htdocs/clear_all_cache.php b/htdocs/clear_all_cache.php new file mode 100644 index 0000000..db70302 --- /dev/null +++ b/htdocs/clear_all_cache.php @@ -0,0 +1,6 @@ +clear_all_cache(); +header("Location: index.php"); +?> diff --git a/htdocs/cookie_off.php b/htdocs/cookie_off.php new file mode 100644 index 0000000..3ebbc72 --- /dev/null +++ b/htdocs/cookie_off.php @@ -0,0 +1,16 @@ +log("cookie_off"); + +// si on a le cookie, et qu'on est pas identifié, +// s'enlever le cookie revient à se déconnecter +if(!identified()) { + session_destroy(); + $_SESSION = array(); +} + +$page->display(); +?> diff --git a/htdocs/cookie_on.php b/htdocs/cookie_on.php new file mode 100644 index 0000000..2f356b4 --- /dev/null +++ b/htdocs/cookie_on.php @@ -0,0 +1,14 @@ +log("cookie_on"); + +$page->display(); +?> diff --git a/htdocs/deconnexion.php b/htdocs/deconnexion.php index 97ef8f3..145a31f 100644 --- a/htdocs/deconnexion.php +++ b/htdocs/deconnexion.php @@ -13,7 +13,7 @@ session_destroy(); $has_cookie = (isset($_COOKIE['ORGaccess']) && isset($_COOKIE['ORGlogin'])); $_SESSION = array(); if($has_cookie) - header("Location: ".url("login.php")); + header("Location: login.php"); new_skinned_page('deconnexion.tpl', AUTH_PUBLIC); diff --git a/htdocs/preferences.php b/htdocs/preferences.php new file mode 100644 index 0000000..9706a5f --- /dev/null +++ b/htdocs/preferences.php @@ -0,0 +1,9 @@ +assign('has_cookie', $has_cookie); + +$page->display($has_cookie); +?> diff --git a/include/auto.prepend.inc.php b/include/auto.prepend.inc.php index 6db6136..4f06703 100644 --- a/include/auto.prepend.inc.php +++ b/include/auto.prepend.inc.php @@ -34,7 +34,6 @@ function new_popup_page($tpl_name, $min_auth, $tpl_head="") { } function new_admin_page($tpl_name, $tpl_head="") { - require("xorg.page.inc.php"); _new_page(SKINNED, $tpl_name, $tpl_head, AUTH_MDP, true); } diff --git a/include/menu.inc.php b/include/menu.inc.php index a39d0a9..26256c2 100644 --- a/include/menu.inc.php +++ b/include/menu.inc.php @@ -8,7 +8,7 @@ if(logged()) { 'Mon profil' => '###url###' , 'Mes contacts' => '###url###' , 'Mon mot de passe' => '###url###' , - 'Mes préférences' => '###url###' + 'Mes préférences' => 'preferences.php' ), 'Services' => Array ( 'Envoyer un mail' => '###url###' , @@ -41,12 +41,10 @@ if(logged()) { 'Marketing' => '###url###', 'Administration' => '###url###', 'Trackers' => '###url###', - 'Documentations' => '###url###' - ); - } elseif(has_perms($marketing_admin)) { - $menu['***'] = Array ( - 'Marketing' => '###url###' + 'Documentations' => '###url###', + 'Clear cache' => 'clear_all_cache.php' ); + if(empty($site_dev)) pop($menu['***']); } } else { $menu = Array( diff --git a/include/xorg.page.inc.php b/include/xorg.page.inc.php index 8be25fe..d3dd9b8 100644 --- a/include/xorg.page.inc.php +++ b/include/xorg.page.inc.php @@ -30,7 +30,6 @@ class XorgPage extends DiogenesCorePage { // si necessaire, c'est *ici* que se fait l'authentification $_no_legacy = true; $this->doAuth(); - $this->set_skin(); } function display($append_to_id="") { @@ -48,34 +47,6 @@ class XorgPage extends DiogenesCorePage { } function doAuth() { } - - function set_skin() { - if(logged()) { - $result = mysql_query("SELECT skin FROM auth_user_md5 WHERE username = '{$_SESSION['uid']}'"); - if(list($skin) = mysql_fetch_row($result)) { - $sql = "SELECT normal,popup FROM skins WHERE "; - if ($_SESSION['skin'] == SKIN_STOCHASKIN_ID) { - $sql .= " !FIND_IN_SET('cachee',type) order by rand() limit 1"; - } else { - $sql .= "id='$skin'"; - } - $res = mysql_query($sql); - list($_SESSION['skin'], $_SESSION['skin_popup']) = mysql_fetch_row($res); - mysql_free_result($res); - } else { - $_SESSION['skin'] = SKIN_COMPATIBLE; - $_SESSION['skin_popup'] = SKIN_COMPATIBLE; - } - mysql_free_result($result); - } - - if( !logged() || !isset($_SERVER['HTTP_USER_AGENT']) - || ereg("Mozilla/4\.[0-9]{1,2} \[",$_SERVER['HTTP_USER_AGENT']) ) - { - $_SESSION['skin'] = SKIN_COMPATIBLE; - $_SESSION['skin_popup'] = SKIN_COMPATIBLE; - } - } } diff --git a/include/xorg.session.inc.php b/include/xorg.session.inc.php index feb8525..f76e50a 100644 --- a/include/xorg.session.inc.php +++ b/include/xorg.session.inc.php @@ -7,6 +7,7 @@ class XorgSession extends DiogenesCoreSession { { $this->DiogenesCoreSession(); $_SESSION['challenge']=rand_token(); + set_skin(); } @@ -111,17 +112,16 @@ class XorgSession extends DiogenesCoreSession { global $failed_ORGaccess,$site_dev; if(isset($_COOKIE['ORGaccess']) and isset($_COOKIE['ORGlogin']) and !isset($failed_ORGaccess)) { - $page->_tpl = "password_prompt_logged.tpl"; + $page->_tpl = 'password_prompt_logged.tpl'; $page->assign("xorg_head", "password_prompt_logged.head.tpl"); $page->assign("xorg_tpl", "password_prompt_logged.tpl"); $page->display(); } else { - $page->_tpl = "password_prompt.tpl"; + $page->_tpl = 'password_prompt.tpl'; $page->assign("xorg_head", "password_prompt.head.tpl"); $page->assign("xorg_tpl", "password_prompt.tpl"); $page->display(); } - // $page->assign('challenge',$this->challenge); exit; } @@ -221,6 +221,35 @@ function start_connexion ($username, $uid, $identified) { $_SESSION['log']->log("connexion",$_SERVER['PHP_SELF']); // le login est stocké pour un an setcookie('ORGlogin',$username,(time()+25920000),'/','',0); + set_skin(); +} + +function set_skin() { + if(logged()) { + $result = mysql_query("SELECT skin FROM auth_user_md5 WHERE username = '{$_SESSION['uid']}'"); + if(list($skin) = mysql_fetch_row($result)) { + $sql = "SELECT normal,popup FROM skins WHERE "; + if ($_SESSION['skin'] == SKIN_STOCHASKIN_ID) { + $sql .= " !FIND_IN_SET('cachee',type) order by rand() limit 1"; + } else { + $sql .= "id='$skin'"; + } + $res = mysql_query($sql); + list($_SESSION['skin'], $_SESSION['skin_popup']) = mysql_fetch_row($res); + mysql_free_result($res); + } else { + $_SESSION['skin'] = SKIN_COMPATIBLE; + $_SESSION['skin_popup'] = SKIN_COMPATIBLE; + } + mysql_free_result($result); + } + + if( !logged() || !isset($_SERVER['HTTP_USER_AGENT']) + || ereg("Mozilla/4\.[0-9]{1,2} \[",$_SERVER['HTTP_USER_AGENT']) ) + { + $_SESSION['skin'] = SKIN_COMPATIBLE; + $_SESSION['skin_popup'] = SKIN_COMPATIBLE; + } } ?> diff --git a/templates/cookie_off.tpl b/templates/cookie_off.tpl new file mode 100644 index 0000000..b8d780b --- /dev/null +++ b/templates/cookie_off.tpl @@ -0,0 +1,13 @@ +{* $Id: cookie_off.tpl,v 1.1 2004-01-26 16:14:51 x2000habouzit Exp $ *} + +
+ Contrôle d'accès au site +
+

+ L'accès sans mot de passe au site vient d'être supprimé pour l'ordinateur sur lequel tu + es connecté en ce moment. Depuis ce poste de travail, tu devras donc entrer ton mot de + passe à nouveau pour te connecter sur le site comme sur un poste normal quelconque où + tout le monde peut accéder. +

+ +{* vim:set et sw=2 sts=2 sws=2: *} diff --git a/templates/cookie_on.tpl b/templates/cookie_on.tpl new file mode 100644 index 0000000..1dddb23 --- /dev/null +++ b/templates/cookie_on.tpl @@ -0,0 +1,26 @@ +{* $Id: cookie_on.tpl,v 1.1 2004-01-26 16:14:51 x2000habouzit Exp $ *} + +
+ Contrôle d'accès au site +
+

+ L'accès permanent sans mot de passe vient d'être attribué à cet ordinateur. + Toute personne accédant au web par ce poste de travail peut donc consulter l'annuaire + on-line et accéder à la partie privée du site. +

+

+ Nous te recommandons donc la plus grande prudence avec cette fonctionnalité si tu n'es + pas sûr de comprendre de quoi il s'agit. Il est notamment souhaitable de n'utiliser + cette + option que pour un ordinateur à la maison. +

+

+ En tout état de cause, si tu ne sais pas donner une définition simple du mot + "cookie", tu ne devrais pas utiliser cette option. +

+

+ Si tu te dis que ceci n'est pas pour toi, alors + clique ici pour annuler. +

+ +{* vim:set et sw=2 sts=2 sws=2: *} diff --git a/templates/preferences.head.tpl b/templates/preferences.head.tpl new file mode 100644 index 0000000..2885373 --- /dev/null +++ b/templates/preferences.head.tpl @@ -0,0 +1,12 @@ +{* $Id: preferences.head.tpl,v 1.1 2004-01-26 16:14:51 x2000habouzit Exp $ *} + +{literal} + +{/literal} + +{* vim:set et sw=2 sts=2 sws=2: *} diff --git a/templates/preferences.tpl b/templates/preferences.tpl new file mode 100644 index 0000000..54056fb --- /dev/null +++ b/templates/preferences.tpl @@ -0,0 +1,98 @@ +{* $Id: preferences.tpl,v 1.1 2004-01-26 16:14:51 x2000habouzit Exp $ *} +
+ Préférences +
+ +
+ + + + + + + + + + + + +
Configuration des différents services du site +
+
+ Tu peux configurer tes différentes redirections de mails ici. +
+
+
+ Pour choisir un alias @melix.net et @melix.org (en choisir un nouveau annule l'ancien). +
+
+
+ Tu peux configurer ta redirection WEB http://www.carva.org/{dyn s=$smarty.session.username} +
+
+
+ Tu peux changer les couleurs et les images du site. +
+
+ +
+ + + + + + + + + + + + + + +
Mots de passe et accès au site
+
+ permet de changer ton mot de passe pour accéder au site Polytechnique.org +
+
+
+ Pour activer ton compte sur le serveur SMTP et NNTP de Polytechnique.org. + Cela te permet d'envoyer tes mails plus souplement (SMTP), et de consulter + les forums directement depuis ton logiciel habituel de courrier électronique. +
+
+{if $has_cookie} + +
+ Clique sur le lien ci-dessus pour retirer l'accès sans mot de passe au site. Après avoir + cliqué, tu devras à nouveau entrer ton mot de passe pour accéder aux différentes pages + comme initialement. +
+{else} + +
+ Cette option te permet de ne plus avoir à entrer ton mot de passe pour la majorité des pages + du site. Ce dernier reste cependant nécessaire pour le profil ou le changement de mot de + passe. Il s'agit d'une option destinée aux utilisateurs fréquents du site, plutôt à l'aise + avec l'informatique, et pour un ordinateur non partagé. +
+{/if} +
+ +{* vim:set et sw=2 sts=2 sws=2: *}