<?php
/***************************************************************************
- * Copyright (C) 2003-2009 Polytechnique.org *
+ * Copyright (C) 2003-2010 Polytechnique.org *
* http://opensource.polytechnique.org/ *
* *
* This program is free software; you can redistribute it and/or modify *
if (S::logged()) {
if (Env::has('read')) {
- XDB::query('DELETE #groupex#.r.*
- FROM #groupex#.announces_read AS r
- INNER JOIN #groupex#.announces AS a ON a.id = r.announce_id
+ XDB::query('DELETE group_r.*
+ FROM group_announces_read AS r
+ INNER JOIN group_announces AS a ON a.id = r.announce_id
WHERE peremption < CURRENT_DATE()');
- XDB::query('INSERT INTO #groupex#.announces_read
+ XDB::query('INSERT INTO group_announces_read
VALUES ({?}, {?})',
Env::i('read'), S::i('uid'));
pl_redirect("");
}
if (Env::has('unread')) {
- XDB::query('DELETE FROM #groupex#.announces_read
+ XDB::query('DELETE FROM group_announces_read
WHERE announce_id={?} AND user_id={?}',
Env::i('unread'), S::i('uid'));
pl_redirect("#art" . Env::i('unread'));
}
// XXX: Fix promo_min; promo_max
$arts = XDB::iterator("SELECT a.*, FIND_IN_SET('photo', a.flags) AS photo
- FROM #groupex#.announces AS a
- LEFT JOIN #groupex#.announces_read AS r ON (r.user_id = {?} AND r.announce_id = a.id)
+ FROM group_announces AS a
+ LEFT JOIN group_announces_read AS r ON (r.user_id = {?} AND r.announce_id = a.id)
WHERE asso_id = {?} AND peremption >= CURRENT_DATE()
AND (promo_min = 0 OR promo_min <= {?})
AND (promo_max = 0 OR promo_max >= {?})
ORDER BY a.peremption",
S::i('uid'), $globals->asso('id'), S::i('promo'), S::i('promo'));
$index = XDB::iterator("SELECT a.id, a.titre, r.user_id IS NULL AS nonlu
- FROM #groupex#.announces AS a
- LEFT JOIN #groupex#.announces_read AS r ON (a.id = r.announce_id AND r.user_id = {?})
+ FROM group_announces AS a
+ LEFT JOIN group_announces_read AS r ON (a.id = r.announce_id AND r.user_id = {?})
WHERE asso_id = {?} AND peremption >= CURRENT_DATE()
AND (promo_min = 0 OR promo_min <= {?})
AND (promo_max = 0 OR promo_max >= {?})
$page->assign('article_index', $index);
} else {
$arts = XDB::iterator("SELECT a.*, FIND_IN_SET('photo', a.flags) AS photo
- FROM #groupex#.announces AS a
+ FROM group_announces AS a
WHERE asso_id = {?} AND peremption >= CURRENT_DATE()
AND FIND_IN_SET('public', a.flags)",
$globals->asso('id'));
}
if (may_update()) {
$subs_valid = XDB::query("SELECT uid
- FROM #groupex#.membres_sub_requests
+ FROM group_member_sub_requests
WHERE asso_id = {?}",
$globals->asso('id'));
$page->assign('requests', $subs_valid->numRows());
function handler_logo(&$page)
{
global $globals;
-
- $res = XDB::query("SELECT logo, logo_mime
- FROM #groupex#.asso
- WHERE id = {?}",
- $globals->asso('id'));
- list($logo, $logo_mime) = $res->fetchOneRow();
-
- pl_cached_dynamic_content_headers(empty($logo) ? "image/jpeg" : $logo_mime);
- exit;
+ $globals->asso()->getLogo()->send();
}
function handler_site(&$page)
return;
}
XDB::execute(
- "UPDATE #groupex#.asso
+ "UPDATE groups
SET nom={?}, diminutif={?}, cat={?}, dom={?},
descr={?}, site={?}, mail={?}, resp={?},
forum={?}, mail_domain={?}, ax={?}, pub={?},
}
} else {
XDB::execute(
- "UPDATE #groupex#.asso
+ "UPDATE groups
SET descr={?}, site={?}, mail={?}, resp={?},
forum={?}, pub= {?}, sub_url={?},
unsub_url={?},flags={?}
if (!$upload) {
$page->trigError("Impossible de télécharger le logo.");
} else {
- XDB::execute('UPDATE #groupex#.asso
+ XDB::execute('UPDATE groups
SET logo = {?}, logo_mime = {?}
WHERE id = {?}', $upload->getContents(), $upload->contentType(),
$globals->asso('id'));
}
if (S::admin()) {
- $dom = XDB::iterator('SELECT * FROM #groupex#.dom ORDER BY nom');
+ $dom = XDB::iterator('SELECT * FROM group_dom ORDER BY nom');
$page->assign('dom', $dom);
$page->assign('super', true);
}
} else if ($action == 'geoloc' || $action == 'trombi') {
$view = new UserSet();
$view->addMod('trombi', 'Trombinoscope');
- $view->addMod('geoloc', 'Planisphère', false, array('with_annu' => 'annuaire/search'));
+ // TODO: Reactivate when the new map is completed.
+ // $view->addMod('geoloc', 'Planisphère', false, array('with_annu' => 'annuaire/search'));
$view->apply('annuaire', $page, $action, $subaction);
if ($action == 'geoloc' && $subaction) {
return;
} else {
$uf = $globals->asso()->getMembers(null, $se);
}
- $users = $uf->getUsers(NB_PER_PAGE, $ofs * NB_PER_PAGE);
+ $users = $uf->getUsers(new PlLimit(NB_PER_PAGE, $ofs * NB_PER_PAGE));
$count = $uf->getTotalCount();
$page->assign('pages', floor(($count + NB_PER_PAGE - 1) / NB_PER_PAGE));
private function removeSubscriptionRequest($uid)
{
global $globals;
- XDB::execute("DELETE FROM #groupex#.membres_sub_requests
+ XDB::execute("DELETE FROM group_member_sub_requests
WHERE asso_id = {?} AND uid = {?}",
$globals->asso('id'), $uid);
}
{
global $globals;
$this->removeSubscriptionRequest($user->id());
- XDB::execute("INSERT IGNORE INTO #groupex#.membres (asso_id, uid)
+ XDB::execute("INSERT IGNORE INTO group_members (asso_id, uid)
VALUES ({?}, {?})",
$globals->asso('id'), $user->id());
if (XDB::affectedRows() == 1) {
// Retrieves the subscription status, and the reason.
$res = XDB::query("SELECT reason
- FROM #groupex#.membres_sub_requests
+ FROM group_member_sub_requests
WHERE asso_id = {?} AND uid = {?}",
$globals->asso('id'), $user->id());
$reason = ($res->numRows() ? $res->fetchOneCell() : null);
$res = XDB::query("SELECT COUNT(*)
- FROM #groupex#.membres
+ FROM group_members
WHERE asso_id = {?} AND uid = {?}",
$globals->asso('id'), $user->id());
$already_member = ($res->fetchOneCell() > 0);
}
$res = XDB::query("SELECT uid
- FROM #groupex#.membres_sub_requests
+ FROM group_member_sub_requests
WHERE uid = {?} AND asso_id = {?}",
S::i('uid'), $globals->asso('id'));
if ($res->numRows() != 0) {
if (Post::has('inscrire')) {
S::assert_xsrf_token();
- XDB::execute("INSERT INTO #groupex#.membres_sub_requests (asso_id, uid, ts, reason)
+ XDB::execute("INSERT INTO group_member_sub_requests (asso_id, uid, ts, reason)
VALUES ({?}, {?}, NOW(), {?})",
$globals->asso('id'), S::i('uid'), Post::v('message'));
$res = XDB::query('SELECT IF(m.email IS NULL,
CONCAT(al.alias,"@polytechnique.org"),
m.email)
- FROM #groupex#.membres AS m
+ FROM group_members AS m
INNER JOIN #x4dat#.aliases AS al ON (al.type = "a_vie"
AND al.id = m.uid)
WHERE perms="admin" AND m.asso_id = {?}',
}
$it = XDB::iterator('SELECT s.uid, a.hruid, s.ts AS date
- FROM #groupex#.membres_sub_requests AS s
+ FROM group_member_sub_requests AS s
INNER JOIN #x4dat#.accounts AS a ON(s.uid = a.uid)
WHERE s.asso_id = {?}
ORDER BY s.ts', $globals->asso('id'));
if (!User::isForeignEmailAddress($email)) {
$user = User::get($email);
if ($user) {
- XDB::execute("REPLACE INTO #groupex#.membres (uid, asso_id, origine)
+ XDB::execute("REPLACE INTO group_members (uid, asso_id, origine)
VALUES ({?}, {?}, 'X')",
$user->id(), $globals->asso('id'));
pl_redirect("member/" . $user->login());
$market->add();
}
}
- XDB::execute('REPLACE INTO #groupex#.membres (uid, asso_id, origine, email)
+ XDB::execute('REPLACE INTO group_members (uid, asso_id, origine, email)
VALUES ({?}, {?}, "X", {?})',
$uid, $globals->asso('id'), $email);
$this->removeSubscriptionRequest($uid);
}
$page->trigError("Utilisateur invalide");
} else {
- $res = XDB::query('SELECT MAX(uid) + 1 FROM #groupex#.membres');
+ $res = XDB::query('SELECT MAX(uid) + 1 FROM group_members');
$uid = max(intval($res->fetchOneCell()), 50001);
- XDB::execute('REPLACE INTO #groupex#.membres (uid, asso_id, origine, email)
+ XDB::execute('REPLACE INTO group_members (uid, asso_id, origine, email)
VALUES ({?}, {?}, "ext", {?})',
$uid, $globals->asso('id'), $email);
pl_redirect("member/$email");
$cond->addChild(new UFC_Promo('=', UserFilter::GRADE_ING, Env::i('promo')));
}
$uf = new UserFilter($cond);
- $users = $uf->getUsers(30);
+ $users = $uf->getUsers(new PlLimit(30));
if ($uf->getTotalCount() > 30) {
$page->assign('too_many', true);
$users = array();
function unsubscribe(PlUser &$user)
{
global $globals;
- XDB::execute("DELETE FROM #groupex#.membres
+ XDB::execute("DELETE FROM group_members
WHERE uid = {?} AND asso_id = {?}",
$user->id(), $globals->asso('id'));
// Check if the user is already in the group
global $globals;
$res = XDB::query("SELECT uid, email
- FROM #groupex#.membres
+ FROM group_members
WHERE uid = {?} AND asso_id = {?}",
$uid, $globals->asso('id'));
if ($res->numRows()) {
list($uid, $email) = $res->fetchOneRow();
- XDB::execute("DELETE FROM #groupex#.membres
+ XDB::execute("DELETE FROM group_members
WHERE uid = {?}",
$user['uid']);
} else {
$email = $user['email'];
- XDB::execute("UPDATE #groupex#.membres
+ XDB::execute("UPDATE group_members
SET uid = {?}, origine = 'X'
WHERE uid = {?} AND asso_id = {?}",
$uid, $user['uid'], $globals->asso('id'));
$user['prenom'] = (Post::v('origine') == 'ext') ? Post::v('prenom') : '';
$user['sexe'] = (Post::v('origine') == 'ext') ? Post::v('sexe') : 0;
$user['origine'] = Post::v('origine');
- XDB::query('UPDATE #groupex#.membres
+ XDB::query('UPDATE group_members
SET prenom = {?}, nom = {?}, email = {?}, sexe = {?}, origine = {?}
WHERE uid = {?} AND asso_id = {?}',
$user['prenom'], $user['nom'], Post::v('email'),
$perms = Post::i('is_admin');
$comm = Post::t('comm');
if ($user['perms'] != $perms || $user['comm'] != $comm) {
- XDB::query('UPDATE #groupex#.membres
+ XDB::query('UPDATE group_members
SET perms = {?}, comm = {?}
WHERE uid = {?} AND asso_id = {?}',
$perms ? 'admin' : 'membre', $comm,
function handler_photo_announce(&$page, $eid = null) {
if ($eid) {
- $res = XDB::query("SELECT * FROM #groupex#.announces_photo WHERE eid = {?}", $eid);
+ $res = XDB::query("SELECT * FROM group_announces_photo WHERE eid = {?}", $eid);
if ($res->numRows()) {
$photo = $res->fetchOneAssoc();
pl_cached_dynamic_content_headers("image/" . $photo['attachmime']);
}
$art['photo'] = $upload->exists() || Post::i('photo');
if (Post::v('valid') == 'Pas d\'image' && !is_null($aid)) {
- XDB::query("DELETE FROM #groupex#.announces_photo WHERE eid = {?}", $aid);
+ XDB::query("DELETE FROM group_announces_photo WHERE eid = {?}", $aid);
$upload->rm();
Post::kill('valid');
$art['photo'] = false;
$post = $banana->post($globals->asso('forum'), null,
$art['titre'], MiniWiki::wikiToText($fulltext, false, 0, 80));
}*/
- XDB::query("INSERT INTO #groupex#.announces
+ XDB::query("INSERT INTO group_announces
(user_id, asso_id, create_date, titre, texte, contacts,
peremption, promo_min, promo_max, flags, post_id)
VALUES ({?}, {?}, NOW(), {?}, {?}, {?}, {?}, {?}, {?}, {?}, {?})",
$aid = XDB::insertId();
if ($art['photo']) {
list($imgx, $imgy, $imgtype) = $upload->imageInfo();
- XDB::execute("INSERT INTO #groupex#.announces_photo
+ XDB::execute("INSERT INTO group_announces_photo
SET eid = {?}, attachmime = {?}, x = {?}, y = {?}, attach = {?}",
$aid, $imgtype, $imgx, $imgy, $upload->getContents());
}
$page->trigWarning("La parution dans la Lettre Mensuelle est en attente de validation.");
}
} else {
- XDB::query("UPDATE #groupex#.announces
+ XDB::query("UPDATE group_announces
SET titre={?}, texte={?}, contacts={?}, peremption={?},
promo_min={?}, promo_max={?}, flags={?}
WHERE id={?} AND asso_id={?}",
$art['id'], $globals->asso('id'));
if ($art['photo'] && $upload->exists()) {
list($imgx, $imgy, $imgtype) = $upload->imageInfo();
- XDB::execute("REPLACE INTO #groupex#.announces_photo
+ XDB::execute("REPLACE INTO group_announces_photo
SET eid = {?}, attachmime = {?}, x = {?}, y = {?}, attach = {?}",
$aid, $imgtype, $imgx, $imgy, $upload->getContents());
$upload->rm();
if (empty($art) && !is_null($aid)) {
$res = XDB::query("SELECT a.*, FIND_IN_SET('public', a.flags) AS public,
FIND_IN_SET('photo', a.flags) AS photo
- FROM #groupex#.announces AS a
+ FROM group_announces AS a
WHERE asso_id = {?} AND a.id = {?}",
$globals->asso('id'), $aid);
if ($res->numRows()) {
if (is_null($aid)) {
$events = XDB::iterator("SELECT *
- FROM #groupex#.evenements
+ FROM group_events
WHERE asso_id = {?} AND archive = 0",
$globals->asso('id'));
if ($events->total()) {
if (Env::has('del')) {
S::assert_xsrf_token();
- XDB::execute("DELETE FROM #groupex#.announces
+ XDB::execute("DELETE FROM group_announces
WHERE id = {?} AND asso_id = {?}",
Env::i('del'), $globals->asso('id'));
}
$res = XDB::iterator("SELECT a.id, a.titre, a.peremption, a.peremption < CURRENT_DATE() AS perime
- FROM #groupex#.announces AS a
+ FROM group_announces AS a
WHERE a.asso_id = {?}
ORDER BY a.peremption DESC",
$globals->asso('id'));