$page->addJsLink('ajax.js');
$page->assign('tips', $this->get_tips());
- $res = XDB::query('SELECT date, naissance FROM auth_user_md5
- WHERE user_id={?}', S::v('uid'));
- list($date, $naissance) = $res->fetchOneRow();
-
- // incitation à mettre à jour la fiche
-
- $d2 = mktime(0, 0, 0, substr($date, 5, 2), substr($date, 8, 2),
- substr($date, 0, 4));
- if( (time() - $d2) > 60 * 60 * 24 * 400 ) {
- // si fiche date de + de 400j;
- $page->assign('fiche_incitation', $date);
+ // Profile update (appears when profile is > 400d old), and birthday
+ // oneboxes.
+ $res = XDB::query(
+ "SELECT date < DATE_SUB(NOW(), INTERVAL 400 DAY) AS is_profile_old,
+ MONTH(naissance) = MONTH(NOW()) AND DAYOFMONTH(naissance) = DAYOFMONTH(NOW()) AS is_birthday,
+ date AS profile_date, YEAR(NOW()) - YEAR(naissance) AS age
+ FROM auth_user_md5
+ WHERE user_id = {?}", S::user()->id());
+ list($is_profile_old, $is_birthday, $profile_date, $age) = $res->fetchOneRow();
+
+ if ($is_profile_old) {
+ $page->assign('fiche_incitation', $profile_date);
}
-
- // Souhaite bon anniversaire
-
- if (substr($naissance, 5) == date('m-d')) {
- $page->assign('birthday', date('Y') - substr($naissance, 0, 4));
+ if ($is_birthday) {
+ $page->assign('birthday', $age);
}
- // incitation à mettre une photo
-
- $res = XDB::query('SELECT COUNT(*) FROM photo
- WHERE uid={?}', S::v('uid'));
+ // No-photo onebox.
+ $res = XDB::query("SELECT COUNT(*) FROM photo WHERE uid = {?}", S::user()->id());
$page->assign('photo_incitation', $res->fetchOneCell() == 0);
- // Incitation à se géolocaliser
+ // Geo-location onebox.
require_once 'geoloc.inc.php';
- $res = localize_addresses(S::v('uid', -1));
+ $res = localize_addresses(S::user()->id());
$page->assign('geoloc_incitation', count($res));
- // ajout du lien RSS
+ // Direct link to the RSS feed, when available.
if (S::rssActivated()) {
$page->setRssLink('Polytechnique.org :: News',
- '/rss/'.S::v('forlife') .'/'.S::v('core_rss_hash').'/rss.xml');
+ '/rss/'.S::v('hruid') .'/'.S::v('core_rss_hash').'/rss.xml');
}
- // cache les evenements lus et raffiche les evenements a relire
+ // Hide the read event, and reload the page to get to the next event.
if ($action == 'read' && $eid) {
XDB::execute('DELETE ev.*
FROM evenements_vus AS ev
pl_redirect('events#'.$pound);
}
+ // Unhide the requested event, and reload the page to display it.
if ($action == 'unread' && $eid) {
XDB::execute('DELETE FROM evenements_vus
WHERE evt_id = {?} AND user_id = {?}',
pl_redirect('events#newsid'.$eid);
}
+ // Fetch the events to display, along with their metadata.
$array = array();
- $it = XDB::iterator("SELECT e.id,e.titre,e.texte,e.post_id,a.user_id,a.nom,a.prenom,a.promo,l.alias AS forlife,
+ $it = XDB::iterator("SELECT e.id,e.titre,e.texte,e.post_id,a.user_id,a.nom,a.prenom,a.promo,a.hruid,
p.x, p.y, p.attach IS NOT NULL AS img, FIND_IN_SET('wiki', e.flags) AS wiki,
FIND_IN_SET('important', e.flags) AS important,
e.creation_date > DATE_SUB(CURDATE(), INTERVAL 2 DAY) AS news,
FROM evenements AS e
LEFT JOIN evenements_photo AS p ON (e.id = p.eid)
INNER JOIN auth_user_md5 AS a ON e.user_id=a.user_id
- INNER JOIN aliases AS l ON ( a.user_id=l.id AND l.type='a_vie' )
LEFT JOIN evenements_vus AS ev ON (e.id = ev.evt_id AND ev.user_id = {?})
WHERE FIND_IN_SET('valide', e.flags) AND peremption >= NOW()
AND (e.promo_min = 0 || e.promo_min <= {?})
require_once 'validations.inc.php';
$evtreq = new EvtReq($titre, $texte, $promo_min, $promo_max,
- $peremption, $valid_mesg, S::v('uid'), $upload);
+ $peremption, $valid_mesg, S::user(), $upload);
$evtreq->submit();
$page->assign('ok', true);
} elseif (!Env::v('preview')) {
e.promo_min, e.promo_max,
FIND_IN_SET('valide', e.flags) AS fvalide,
FIND_IN_SET('archive', e.flags) AS farch,
- u.promo, u.nom, u.prenom, a.alias AS forlife,
+ u.promo, u.nom, u.prenom, u.hruid,
FIND_IN_SET('wiki', e.flags) AS wiki
FROM evenements AS e
INNER JOIN auth_user_md5 AS u ON(e.user_id = u.user_id)
- INNER JOIN aliases AS a ON (u.user_id = a.id AND a.type='a_vie')
WHERE ".($arch ? "" : "!")."FIND_IN_SET('archive',e.flags)
ORDER BY FIND_IN_SET('valide',e.flags), e.peremption DESC";
$page->assign('evs', XDB::iterator($sql));