<?php
/***************************************************************************
- * Copyright (C) 2003-2007 Polytechnique.org *
+ * Copyright (C) 2003-2008 Polytechnique.org *
* http://opensource.polytechnique.org/ *
* *
* This program is free software; you can redistribute it and/or modify *
{
if (S::logged()) {
pl_redirect('events');
+ } else if (!@$GLOBALS['IS_XNET_SITE']) {
+ pl_redirect('review');
}
}
$page->changeTpl('platal/changeLog.tpl');
$clog = pl_entities(file_get_contents(dirname(__FILE__).'/../ChangeLog'));
+ $clog = preg_replace('/=+\s*/', '</pre><hr /><pre>', $clog);
// url catch only (not all wiki syntax)
$clog = preg_replace(array(
'/((?:https?|ftp):\/\/(?:\.*,*[\w@~%$£µ&i#\-+=_\/\?;])*)/ui',
$clog);
$clog = preg_replace('!(#[0-9]+(,[0-9]+)*)!e', 'bugize("\1")', $clog);
$clog = preg_replace('!vim:.*$!', '', $clog);
+ $clog = preg_replace("!(<hr />(\\s|\n)*)?<pre>(\s|\n)*</pre>((\\s|\n)*<hr />)?!m", "", "<pre>$clog</pre>");
$page->assign('ChangeLog', $clog);
}
SET redirecturl = {?} WHERE user_id = {?}',
$url, S::v('uid'));
$log->log('carva_add', 'http://'.Env::v('url'));
- $page->trig("Redirection activée vers <a href='http://$url'>$url</a>");
+ $page->trigSuccess("Redirection activée vers <a href='http://$url'>$url</a>");
} elseif (Env::v('submit') == "Supprimer") {
XDB::execute("UPDATE auth_user_quick
SET redirecturl = ''
S::v('uid'));
$log->log("carva_del", $url);
Post::kill('url');
- $page->trig('Redirection supprimée');
+ $page->trigSuccess('Redirection supprimée');
}
$res = XDB::query('SELECT redirecturl
if (Env::v('act_rss') == 'Activer') {
$this->__set_rss_state(true);
- $page->trig("Ton Fil RSS est activé.");
+ $page->trigSuccess("Ton Fil RSS est activé.");
}
}
function handler_password(&$page)
{
+ global $globals;
+
if (Post::has('response2')) {
require_once 'secure_hash.inc.php';
+ S::assert_xsrf_token();
$_SESSION['password'] = $password = Post::v('response2');
WHERE user_id={?}', $password,
S::v('uid'));
+ // If GoogleApps is enabled, and the user did choose to use synchronized passwords,
+ // updates the Google Apps password as well.
+ if ($globals->mailstorage->googleapps_domain) {
+ require_once 'googleapps.inc.php';
+ $account = new GoogleAppsAccount(S::v('uid'), S::v('forlife'));
+ if ($account->active() && $account->sync_password) {
+ $account->set_password($password);
+ }
+ }
+
$log =& S::v('log');
$log->log('passwd', '');
{
XDB::execute('UPDATE auth_user_md5 SET smtppass = {?}
WHERE user_id = {?}', $pass, $uid);
- $page->trig('Mot de passe enregistré');
+ $page->trigSuccess('Mot de passe enregistré');
$log->log("passwd_ssl");
} elseif (Env::v('op') == "Supprimer") {
XDB::execute('UPDATE auth_user_md5 SET smtppass = ""
WHERE user_id = {?}', $uid);
- $page->trig('Compte SMTP et NNTP supprimé');
+ $page->trigSuccess('Compte SMTP et NNTP supprimé');
$log->log("passwd_del");
}
}
if (!ereg('[0-3][0-9][0-1][0-9][1][9]([0-9]{2})', Env::v('birth'))) {
- $page->trig('Date de naissance incorrecte ou incohérente');
+ $page->trigError('Date de naissance incorrecte ou incohérente');
return;
}
$logger = $_SESSION['log'] = new CoreLogger($uid);
$logger->log('recovery', $mails);
} else {
- $page->trig('Les informations que tu as rentrées ne permettent pas de récupérer ton mot de passe.<br />'.
+ $page->trigError('Les informations que tu as rentrées ne permettent pas de récupérer ton mot de passe.<br />'.
'Si tu as un homonyme, utilise prenom.nom.promo comme login');
}
}
function handler_tmpPWD(&$page, $certif = null)
{
+ global $globals;
XDB::execute('DELETE FROM perte_pass
WHERE DATE_SUB(NOW(), INTERVAL 380 MINUTE) > created');
$uid = $ligne["uid"];
if (Post::has('response2')) {
$password = Post::v('response2');
- $logger = new CoreLogger($uid);
XDB::query('UPDATE auth_user_md5 SET password={?}
WHERE user_id={?} AND perms IN("admin","user")',
$password, $uid);
XDB::query('DELETE FROM perte_pass WHERE certificat={?}', $certif);
+
+ // If GoogleApps is enabled, and the user did choose to use synchronized passwords,
+ // updates the Google Apps password as well.
+ if ($globals->mailstorage->googleapps_domain) {
+ require_once 'googleapps.inc.php';
+ $account = new GoogleAppsAccount($uid);
+ if ($account->active() && $account->sync_password) {
+ $account->set_password($password);
+ }
+ }
+
+ $logger = new CoreLogger($uid);
$logger->log("passwd","");
$page->changeTpl('platal/tmpPWD.success.tpl');
} else {
}
}
- function handler_review(&$page, $action = null)
+ function handler_review(&$page, $action = null, $mode = null)
{
require_once 'wiki.inc.php';
+ require_once dirname(__FILE__) . '/platal/review.inc.php';
$dir = wiki_work_dir();
$dom = 'Review';
if (@$GLOBALS['IS_XNET_SITE']) {
$list = preg_split('/\s*[*|]\s*/', $line, -1, PREG_SPLIT_NO_EMPTY);
$wiz->addPage('ReviewPage', $list[0], $list[1]);
}
- $wiz->apply($page, 'review', $action);
+ $wiz->apply($page, 'review', $action, $mode);
}
}
-__autoload('PlWizard');
-class ReviewPage implements PlWizardPage
-{
- public function __construct(PlWizard &$wiz) { }
- public function template() { return 'platal/index.tpl'; }
- public function prepare(PlatalPage &$page) { }
- public function process() { }
-}
-
// vim:set et sw=4 sts=4 sws=4 foldmethod=marker enc=utf-8:
?>