function force_login(&$page)
{
- redirect(S::v('loginX'));
+ http_redirect(S::v('loginX'));
}
}
if(Get::has('new')) {
insert_new_nl();
- redirect("newsletter.php");
+ http_redirect("newsletter.php");
}
$page->assign_by_ref('nl_list', get_nl_slist());
if(Get::has('del_aid')) {
$nl->delArticle(Get::get('del_aid'));
- redirect("{$_SERVER['PHP_SELF']}?nid=$nid");
+ http_redirect("{$_SERVER['PHP_SELF']}?nid=$nid");
}
if(Post::get('update')) {
$art = new NLArticle(Post::get('title'), Post::get('body'), Post::get('append'),
Get::get('edit_aid'), Post::get('cid'), Post::get('pos'));
$nl->saveArticle($art);
- redirect("{$_SERVER['PHP_SELF']}?nid=$nid");
+ http_redirect("{$_SERVER['PHP_SELF']}?nid=$nid");
}
if(Get::has('edit_aid')) {
}
if(Env::has('logs_button') && $login) {
- redirect("logger.php?loguser=$login&year=".date('Y')."&month=".date('m'));
+ http_redirect("logger.php?loguser=$login&year=".date('Y')."&month=".date('m'));
}
if (Env::has('ax_button') && $login) {
- redirect("synchro_ax.php?user=$login");
+ http_redirect("synchro_ax.php?user=$login");
}
if(Env::has('suid_button') && $login) {
$r = XDB::query("SELECT id FROM aliases WHERE alias={?}", $login);
if($uid = $r->fetchOneCell()) {
start_connexion($uid,true);
- redirect("../");
+ http_redirect("../");
}
}
if (Env::get('action') || !$tmpfile_exists) {
if ($tmpfile_exists) {
@unlink($wiki_template);
- $page->clear_compiled_tpl($wiki_template);
}
// we leave pmwiki do whatever it wants and store everything
* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA *
***************************************************************************/
-function microtime_float()
-{
- list($usec, $sec) = explode(" ", microtime());
- return ((float)$usec + (float)$sec);
-}
+function microtime_float()
+{
+ list($usec, $sec) = explode(' ', microtime());
+ return ((float)$usec + (float)$sec);
+}
$TIME_BEGIN = microtime_float();
-// {{{ defines
+define('AUTH_PUBLIC', 0);
+define('AUTH_COOKIE', 1);
+define('AUTH_MDP', 2);
-$i=0;
-define("AUTH_PUBLIC", $i++);
-define("AUTH_COOKIE", $i++);
-define("AUTH_MDP", $i++);
-
-define("PERMS_EXT", "ext");
-define("PERMS_USER", "user");
-define("PERMS_ADMIN", "admin");
+define('PERMS_EXT', 'ext');
+define('PERMS_USER', 'user');
+define('PERMS_ADMIN', 'admin');
define('SKINNED', 0);
define('NO_SKIN', 1);
require_once('platal/env.inc.php');
-// }}}
-// {{{ function redirect
+function pl_url($path, $query = null, $fragment = null)
+{
+ global $platal;
+
+ $base = $platal->ns . $path . ($query ? '?'.$query : '');
+ return $fragment ? $base.'#'.$fragment : $base;
+}
-function redirect($page)
+function http_redirect($fullurl)
{
if (count($_SESSION)) {
session_write_close();
}
- header("Location: $page");
+ header('Location: '.$fullurl);
exit;
}
-// }}}
+function pl_redirect($path, $query = null, $fragment = null)
+{
+ global $globals;
+ http_redirect($globals->baseurl . '/' . pl_url($path, $query, $fragment));
+}
// vim:set et sw=4 sts=4 sws=4 foldmethod=marker:
?>
***************************************************************************/
function wiki_pagename() {
- if (!Env::get('n')) {
+ if (!Get::get('n')) {
return null;
}
- $words = explode('/', trim(Env::get('n'), '/'));
+ $words = explode('/', trim(Get::get('n'), '/'));
if (count($words) == 2) {
return join('.', $words);
}
$b = array_pop($words);
$a = array_pop($words);
- global $globals;
- redirect($globals->baseurl.'/'.$a.'/'.$b);
+ pl_redirect($a.'/'.$b);
}
function wiki_work_dir() {
$args[] = urlencode($key).'='.urlencode($val);
}
- redirect($globals->baseurl . '/' . $path
- . rtrim('?' . join('&', $args), '?'));
+ pl_redirect($path, join('&', $args));
}
// }}}
function handler_redirect(&$page)
{
- redirect(Env::get('dest', '/'));
+ http_redirect(Env::get('dest', '/'));
}
function handler_groupex(&$page)
while (list($privkey,$name,$datafields) = $res->next()) {
if (md5($gpex_challenge.$privkey) == $gpex_pass) {
$returl = $gpex_url.gpex_make_params($gpex_challenge,$privkey,$datafields);
- redirect($returl);
+ http_redirect($returl);
}
}
/* si on n'a pas trouvé, on renvoit sur x.org */
- redirect('https://www.polytechnique.org/');
+ http_redirect('https://www.polytechnique.org/');
}
}
$page->changeTpl('carnet/panel.tpl');
if (Get::has('read')) {
- global $globals;
-
$_SESSION['watch_last'] = Get::get('read');
- redirect($globals->baseurl.'/carnet/panel');
+ pl_redirect('carnet/panel');
}
require_once 'notifs.inc.php';
$page->clear_compiled_tpl();
wiki_clear_all_cache();
- redirect(empty($_SERVER['HTTP_REFERER']) ? './' : $_SERVER['HTTP_REFERER']);
+ http_redirect(empty($_SERVER['HTTP_REFERER']) ? './' : $_SERVER['HTTP_REFERER']);
}
}
if (Get::has('del')) {
$this->client->unsubscribe(Get::get('del'));
- redirect('lists');
+ pl_redirect('lists');
}
if (Get::has('add')) {
$this->client->subscribe(Get::get('add'));
- redirect('lists');
+ pl_redirect('lists');
}
if (Post::has('promo_add')) {
$promo = Post::getInt('promo_add');
if (Get::has('del')) {
$this->client->unsubscribe($liste);
- redirect($liste);
+ pl_redirect('lists/members/'.$liste);
}
if (Get::has('add')) {
$this->client->subscribe($liste);
- redirect($liste);
+ pl_redirect('lists/members/'.$liste);
}
$members = $this->client->get_members($liste);
if (Get::has('del')) {
$this->client->unsubscribe($liste);
- redirect($liste);
+ pl_redirect('lists/tromi/'.$liste);
}
if (Get::has('add')) {
$this->client->subscribe($liste);
- redirect($liste);
+ pl_redirect('lists/tromi/'.$liste);
}
$owners = $this->client->get_owners($liste);
if (Env::has('sadd')) { /* 4 = SUBSCRIBE */
$this->client->handle_request($liste,Env::get('sadd'),4,'');
- redirect($liste);
+ pl_redirect('lists/moderate/'.$liste);
}
if (Post::has('sdel')) { /* 2 = REJECT */
} else {
$this->client->mass_unsubscribe($liste, array(Env::get('del_member')));
}
- redirect($liste);
+ pl_redirect('lists/admin/'.$liste);
}
if (Env::has('add_owner')) {
} else {
$this->client->del_owner($liste, Env::get('del_owner'));
}
- redirect($liste);
+ pl_redirect('lists/admin/'.$liste);
}
if (list($det,$mem,$own) = $this->client->get_members($liste)) {
$this->client->add_to_wl($liste, Post::get('atn_add'));
} elseif (Get::has('atn_del')) {
$this->client->del_from_wl($liste, Get::get('atn_del'));
- redirect("{$_SERVER['PHP_SELF']}?liste=$liste");
+ pl_redirect('lists/options/'.$liste);
}
if (list($details,$options) = $this->client->get_owner_options($liste)) {
function handler_index(&$page)
{
if (S::logged()) {
- redirect("events");
+ pl_redirect('events');
}
}
$log->log("suid_stop", S::v('forlife') . " by " . $suid['forlife']);
$_SESSION = $suid;
S::kill('suid');
- redirect($globals->baseurl.'/admin/utilisateurs.php?login='.$a4l);
+ pl_redirect('admin/utilisateurs.php', 'login='.$a4l);
} else {
- redirect("events");
+ pl_redirect('events');
}
}
XorgSession::destroy();
if (Get::has('redirect')) {
- redirect(rawurldecode(Get::get('redirect')));
+ http_redirect(rawurldecode(Get::get('redirect')));
} else {
$page->changeTpl('exit.tpl');
}
}
if (Env::has('suivant')) {
- redirect($globals->baseurl . '/profile/edit/' .
- get_next_tab($opened_tab));
+ pl_redirect('profile/edit/' . get_next_tab($opened_tab));
}
require_once "profil/get_{$opened_tab}.inc.php";
XDB::execute("DELETE FROM register_marketing WHERE uid = {?}", $uid);
- redirect($globals->baseurl.'/register/success');
+ pl_redirect('register/success');
$page->assign('uid', $uid);
}
if (Post::has('diminutif')) {
XDB::query('INSERT INTO groupex.asso (id,diminutif)
VALUES(NULL,{?})', Post::get('diminutif'));
- redirect(Post::get('diminutif').'/edit');
+ pl_redirect('../'.Post::get('diminutif').'/edit');
}
$res = XDB::query('SELECT nom,diminutif FROM groupex.asso ORDER by NOM');
if (is_null($evt['eid'])) {
global $platal;
- redirect($globals->baseurl.'/'.$platal->path.'/'.$eid);
+ pl_redirect($platal->path.'/'.$eid);
}
}
$globals->asso('id'));
}
- redirect('../'.Post::get('diminutif', $globals->asso('diminutif')).'/edit');
+ pl_redirect('../'.Post::get('diminutif', $globals->asso('diminutif')).'/edit');
}
if (S::has_perms()) {
INNER JOIN aliases AS a ON (u.user_id = a.id)
WHERE a.alias={?}', $globals->asso('id'), $forlife);
global $platal;
- redirect("{$globals->baseurl}/{$platal->ns}member/$email");
+ pl_redirect("member/$email");
} else {
$page->trig($email." n'est pas un alias polytechnique.org valide");
}
VALUES({?},{?},"ext",{?})', $uid,
$globals->asso('id'), $email);
global $platal;
- redirect("{$globals->baseurl}/{$platal->ns}member/$email");
+ pl_redirect("member/$email");
} else {
$page->trig("« <strong>$email</strong> » n'est pas une adresse mail valide");
}
if (Get::has('del')) {
$this->client->unsubscribe(Get::get('del'));
- redirect('lists');
+ pl_redirect('lists');
}
if (Get::has('add')) {
$this->client->subscribe(Get::get('add'));
- redirect('lists');
+ pl_redirect('lists');
}
if (Post::has('del_alias') && may_update()) {
VALUES ({?}, {?})', mysql_insert_id(),
"$red+bounces@listes.polytechnique.org");
- global $platal;
- redirect($globals->baseurl.'/'.$platal->ns.'lists/admin/'.$liste);
+ pl_redirect('lists/admin/'.$liste);
}
function handler_sync(&$page, $liste = null)
USING x4dat.virtual_redirect
INNER JOIN x4dat.virtual USING(vid)
WHERE redirect={?} AND alias={?}", Env::get('del_member'), $lfull);
- redirect("?liste=$lfull");
+ pl_redirect('alias/admin/'.$lfull);
}
$res = XDB::iterator(
XDB::query('INSERT INTO x4dat.virtual (alias,type) VALUES({?}, "user")', $new);
- global $platal;
- redirect("{$globals->baseurl}/{$platal->ns}alias/admin/$new");
+ pl_redirect("alias/admin/$new");
}
function handler_profile(&$page, $user = null)
{
- redirect('https://www.polytechnique.org/profile/'.$user);
+ http_redirect('https://www.polytechnique.org/profile/'.$user);
}
}
$id = Cookie::getInt('ORGuid', -1);
$id = S::v($_SESSION['uid'], $id);
-
+
if ($id<0) {
return "";
}
}
return $login;
-
}
+
?>
if ($url = $res->fetchOneCell()) {
$url = preg_replace('@/+$@', '', $url);
if($path) {
- redirect("http://$url/$path");
+ http_redirect("http://$url/$path");
} else {
- redirect("http://$url");
+ http_redirect("http://$url");
}
exit();
}