if (S::logged()) {
if (Env::has('read')) {
- XDB::query('DELETE r.*
+ XDB::query('DELETE groupex.r.*
FROM groupex.announces_read AS r
INNER JOIN groupex.announces AS a ON a.id = r.announce_id
WHERE peremption < CURRENT_DATE()');
if (Post::has('submit')) {
S::assert_xsrf_token();
- $flags = new FlagSet('wiki_desc');
+ $flags = new PlFlagSet('wiki_desc');
if (Post::has('notif_unsub') && Post::i('notif_unsub') == 1) {
$flags->addFlag('notif_unsub');
}
$page->addJsLink('ajax.js');
if (Post::has('send')) {
+ S::assert_xsrf_token();
$from = Post::v('from');
$sujet = Post::v('sujet');
$body = Post::v('body');
$mls = array_keys(Env::v('ml', array()));
$mbr = array_keys(Env::v('membres', array()));
- require_once dirname(__FILE__) . '/xnetgrp/mail.inc.php';
+ $this->load('mail.inc.php');
set_time_limit(120);
$tos = get_all_redirects($mbr, $mls, $mmlist);
$upload = PlUpload::get($_FILES['uploaded'], S::v('forlife'), 'xnet.emails', true);
if ($upload) {
$upload->rm();
}
- $page->kill("Mail envoyé !");
+ $page->kill("Email envoyé !");
$page->assign('sent', true);
}
}
$res = XDB::query('SELECT uid
FROM groupex.membres
WHERE asso_id = {?}', $globals->asso('id'));
- $vcard = new VCard($res->fetchColumn(), $photos == 'photos', 'Membre du groupe ' . $globals->asso('nom'));
- $vcard->do_page($page);
+ $vcard = new VCard($photos == 'photos', 'Membre du groupe ' . $globals->asso('nom'));
+ $vcard->addUsers($res->fetchColumn());
+ $vcard->show();
}
function handler_csv(&$page, $filename = null)
$this->removeSubscriptionRequest($uid);
$page->kill("$prenom $nom est déjà membre du groupe !");
return;
- }
- elseif (Env::has('accept'))
- {
+ } elseif (Env::has('accept')) {
+ S::assert_xsrf_token();
+
$this->validSubscription($nom, $prenom, $sexe, $uid, $u);
pl_redirect("member/$u");
- }
- elseif (Env::has('refuse'))
- {
+ } elseif (Env::has('refuse')) {
+ S::assert_xsrf_token();
+
$this->removeSubscriptionRequest($uid);
$mailer = new PlMailer();
$mailer->addTo("$u@polytechnique.org");
}
if (Post::has('inscrire')) {
+ S::assert_xsrf_token();
+
XDB::execute("INSERT INTO groupex.membres_sub_requests (asso_id, uid, ts, reason)
VALUES ({?}, {?}, NOW(), {?})",
$globals->asso('id'), S::i('uid'), Post::v('message'));
if (Env::has('right') && (may_update() || S::has('suid'))) {
switch (Env::v('right')) {
case 'admin':
- XnetSession::killSuid();
+ Platal::session()->stopSUID();
break;
case 'anim':
- XnetSession::doSelfSuid();
+ Platal::session()->doSelfSuid();
may_update(true);
is_member(true);
break;
case 'member':
- XnetSession::doSelfSuid();
+ Platal::session()->doSelfSuid();
may_update(false, true);
is_member(true);
break;
case 'logged':
- XnetSession::doSelfSuid();
+ Platal::session()->doSelfSuid();
may_update(false, true);
is_member(false, true);
break;
}
}
+// var_dump($_SESSION);
http_redirect($_SERVER['HTTP_REFERER']);
}
{
global $globals;
- require_once dirname(__FILE__) . '/xnetgrp/mail.inc.php';
+ $this->load('mail.inc.php');
$page->changeTpl('xnetgrp/annuaire-admin.tpl');
$mmlist = new MMList(S::v('uid'), S::v('password'),
$globals->asso('mail_domain'));
if (is_null($email)) {
return;
+ } else {
+ S::assert_xsrf_token();
}
if (strpos($email, '@') === false) {
$page->trigError($email." n'est pas un alias polytechnique.org valide.");
}
} else {
- require_once 'xorg.misc.inc.php';
if (isvalid_email($email)) {
if (Env::v('x') && Env::has('userid') && Env::i('userid')) {
$uid = Env::i('userid');
pl_redirect("member/$email");
}
} else {
- $page->trigError("« <strong>$email</strong> » n'est pas une adresse mail valide.");
+ $page->trigError("« <strong>$email</strong> » n'est pas une adresse email valide.");
}
}
}
function unsubscribe(&$user)
{
- global $globals, $page;
+ global $globals;
XDB::execute(
"DELETE FROM groupex.membres WHERE uid={?} AND asso_id={?}",
$user['uid'], $globals->asso('id'));
$mmlist->unsubscribe($liste['list']);
}
} elseif ($liste['sub']) {
- $page->trigWarning("{$user['prenom']} {$user['nom']} a une"
- ." demande d'inscription en cours sur la"
- ." liste {$liste['list']}@ !");
+ Platal::page()->trigWarning("{$user['prenom']} {$user['nom']} a une"
+ ." demande d'inscription en cours sur la"
+ ." liste {$liste['list']}@ !");
$warning = true;
}
}
if (!Post::has('confirm')) {
return;
+ } else {
+ S::assert_xsrf_token();
}
if ($this->unsubscribe($user)) {
$page->trigSuccess('Vous avez été désinscrit du groupe avec succès.');
} else {
- $page->trigWarning('Vous avez été désinscrit du groupe, mais des erreurs se sont produites lors des désinscriptions des alias et des mailing-lists.');
+ $page->trigWarning('Vous avez été désinscrit du groupe, mais des erreurs se sont produites lors des désinscriptions des alias et des listes de diffusion.');
}
$page->assign('is_member', is_member(true));
}
if (!Post::has('confirm')) {
return;
+ } else {
+ S::assert_xsrf_token();
}
if ($this->unsubscribe($user)) {
}
}
- private function changeLogin(PlatalPage &$page, array &$user, MMList &$mmlist, $login)
+ private function changeLogin(PlPage &$page, array &$user, MMList &$mmlist, $login)
{
require_once 'user.func.inc.php';
// Search the uid of the user...
$globals->asso('mail_domain'));
if (Post::has('change')) {
+ S::assert_xsrf_token();
+
// Convert user status to X
if ($user['origine'] == 'ext' && trim(Post::v('login_X'))) {
$forlife = $this->changeLogin($page, $user, $mmlist, trim(Post::v('login_X')));
function handler_rss(&$page, $user = null, $hash = null)
{
global $globals;
- require_once('rss.inc.php');
- $uid = init_rss('xnetgrp/announce-rss.tpl', $user, $hash, false);
-
- if ($uid) {
- $rss = XDB::iterator("SELECT a.id, a.titre, a.texte, a.contacts, a.create_date,
- IF(u2.nom_usage != '', u2.nom_usage, u2.nom) AS nom, u2.prenom, u2.promo,
- FIND_IN_SET('photo', a.flags) AS photo
- FROM auth_user_md5 AS u
- INNER JOIN groupex.announces AS a ON ( (a.promo_min = 0 OR a.promo_min <= u.promo)
- AND (a.promo_max = 0 OR a.promo_max <= u.promo))
- INNER JOIN auth_user_md5 AS u2 ON (u2.user_id = a.user_id)
- WHERE u.user_id = {?} AND peremption >= NOW() AND a.asso_id = {?}",
- $uid, $globals->asso('id'));
- } else {
- $rss = XDB::iterator("SELECT a.id, a.titre, a.texte, a.create_date,
- IF(u.nom_usage != '', u.nom_usage, u.nom) AS nom, u.prenom, u.promo
- FROM groupex.announces AS a
- INNER JOIN auth_user_md5 AS u USING(user_id)
- WHERE FIND_IN_SET('public', a.flags) AND peremption >= NOW() AND a.asso_id = {?}",
- $globals->asso('id'));
- }
$page->assign('asso', $globals->asso());
- $page->assign('rss', $rss);
+
+ $this->load('feed.inc.php');
+ $feed = new XnetGrpEventFeed();
+ return $feed->run($page, $user, $hash, false);
}
- private function upload_image(PlatalPage &$page, PlUpload &$upload)
+ private function upload_image(PlPage &$page, PlUpload &$upload)
{
if (@!$_FILES['image']['tmp_name'] && !Env::v('image_url')) {
return true;
if (Post::v('valid') == 'Visualiser' || Post::v('valid') == 'Enregistrer'
|| Post::v('valid') == 'Supprimer l\'image' || Post::v('valid') == 'Pas d\'image') {
+ S::assert_xsrf_token();
+
if (!is_null($aid)) {
$art['id'] = $aid;
}
if (Post::v('valid') == 'Enregistrer') {
$promo_min = ($art['public'] ? 0 : $art['promo_min']);
$promo_max = ($art['public'] ? 0 : $art['promo_max']);
- $flags = new FlagSet();
+ $flags = new PlFlagSet();
if ($art['public']) {
$flags->addFlag('public');
}
$page->changeTpl('xnetgrp/announce-admin.tpl');
if (Env::has('del')) {
+ S::assert_xsrf_token();
XDB::execute("DELETE FROM groupex.announces
WHERE id = {?} AND asso_id = {?}",
Env::i('del'), $globals->asso('id'));