From 19be891efcb710b3c19c1fe1fc937c7f3c69de47 Mon Sep 17 00:00:00 2001
From: Florent Bruneau
Date: Mon, 27 Sep 2010 17:21:19 +0200
Subject: [PATCH] Reorganize the preference page in two panels in order to have
something usable by user without an email redirection.
The two panels are:
* site settings containing settings available to all users:
- skins
- password
- mail format
- rss
* service settings: link to pages with settings for:
- email
- web redirect
- nntp/smtp password
I hope the new page to be clearer than the previous version.
Signed-off-by: Florent Bruneau
---
modules/platal.php | 24 +++--
templates/platal/preferences.tpl | 184 ++++++++++++++++++---------------------
2 files changed, 98 insertions(+), 110 deletions(-)
diff --git a/modules/platal.php b/modules/platal.php
index c558b49..aacc560 100644
--- a/modules/platal.php
+++ b/modules/platal.php
@@ -113,12 +113,16 @@ class PlatalModule extends PLModule
function __set_rss_state($state)
{
if ($state) {
- S::user()->token = rand_url_id(16);
- XDB::execute('UPDATE accounts
- SET token = {?}
- WHERE uid = {?}', S::user()->token, S::i('uid'));
+ if (!S::user()->token) {
+ S::user()->token = rand_url_id(16);
+ S::set('token', S::user()->token);
+ XDB::execute('UPDATE accounts
+ SET token = {?}
+ WHERE uid = {?}', S::user()->token, S::i('uid'));
+ }
} else {
S::kill('token');
+ S::user()->token = null;
XDB::execute('UPDATE accounts
SET token = NULL
WHERE uid = {?}', S::i('uid'));
@@ -131,21 +135,15 @@ class PlatalModule extends PLModule
$page->setTitle('Mes préférences');
if (Post::has('email_format')) {
+ S::assert_xsrf_token();
$fmt = Post::s('email_format');
S::user()->setEmailFormat($fmt);
}
if (Post::has('rss')) {
- $this->__set_rss_state(Post::b('rss'));
+ S::assert_xsrf_token();
+ $this->__set_rss_state(Post::s('rss') == 'on');
}
-
- # FIXME: this code is not multi-domain compatible. We should decide how
- # carva will extend to users not in the main domain.
- $res = XDB::query("SELECT alias
- FROM aliases
- WHERE uid = {?} AND FIND_IN_SET('bestalias', flags)",
- S::user()->id());
- $page->assign('bestalias', $res->fetchOneCell());
}
function handler_webredir(&$page)
diff --git a/templates/platal/preferences.tpl b/templates/platal/preferences.tpl
index 590cf80..de70400 100644
--- a/templates/platal/preferences.tpl
+++ b/templates/platal/preferences.tpl
@@ -24,104 +24,94 @@
Préférences
-
-
-
- Configuration des différents services du site
- |
-
-
-
-
-
- Tu peux configurer tes différentes redirections d'emails ici.
-
- |
-
-
-
- Pour choisir un alias @{#globals.mail.alias_dom#}/{#globals.mail.alias_dom2#} (en choisir un nouveau annule l'ancien).
-
- |
-
-
-
-
-
- Tu peux configurer tes redirections WEB
- http://www.carva.org/{$bestalias}.
-
- |
-
-
-
- Tu peux changer les couleurs et les images du site.
-
- |
-
-
-
- {if $smarty.session.user->email_format eq 'html'}
-
-
- Tu recois tous les emails envoyés par le site
- (lettre mensuelle, carnet…) de préférence
- sous forme de html
-
- {else}
-
-
- Tu recois tous les emails envoyés par le site
- (lettre mensuelle, carnet…) de préférence
- sous forme de texte
-
- {/if}
- |
-
-
-
- Ceci te permet d'utiliser les fils rss du site.
- Attention, désactiver puis réactiver les fils en change les URL !
-
- |
-
-
+
-
+
+
+
Format des emails envoyés par le site
+
+ Lorsque le site t'envoie des emails (lettre mensuelle, carnet, ...) ceux-ci peuvent
+ être soit sous forme de texte brut, soit formattés à l'aide de html.
+ texte brut email_format neq 'html'}checked="checked"{/if} />
+ email_format eq 'html'}checked="checked"{/if} /> HTML
+
+
+
+
Fils RSS
+
+ Le site de propose plusieurs fils RSS qui te permettent d'être averti lors, par exemple, de la publication
+ de nouvelles annonces, de l'anniversaires de tes contacts ou dès qu'il y a de l'activité sur le forum
+ de ta promotion.
+ Attention, désactiver puis réactiver les fils RSS en change les URL !
+ désactivés token}checked="checked"{/if} />
+ token}checked="checked"{/if} /> activés
+
+
+
+
Mot de passe
+
+ Tu peux changer ton mot de passe d'accès au site quand tu le souhaites.
+ Changer de mot de passe
+
+
+
+
+
+{if $smarty.session.user->checkPerms('mail')}
+
+{/if}
{* vim:set et sw=2 sts=2 sws=2 enc=utf-8: *}
--
2.1.4