$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 <= {?})
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));
{if $fiche_incitation}
<li>
La dernière mise à jour de ta
- <a href="profile/{$smarty.session.forlife}" class="popup2">fiche</a>
+ <a href="profile/{$smarty.session.hruid}" class="popup2">fiche</a>
date du {$fiche_incitation|date_format}.
Il est possible qu'elle ne soit pas à jour.
Si tu souhaites la modifier, <a href="profile/edit">clique ici !</a>
<td class="half titre" style="height: 18px; padding-top: 1px; padding-bottom: 1px;">
{if $smarty.foreach.events.first}
{if $smarty.session.core_rss_hash}
- <a href="rss/{$smarty.session.forlife}/{$smarty.session.core_rss_hash}/rss.xml" style="display:block;float:right" title="Annonces">
+ <a href="rss/{$smarty.session.hruid}/{$smarty.session.core_rss_hash}/rss.xml" style="display:block;float:right" title="Annonces">
{icon name=feed title='fil rss'}
</a>
{else}
<tr>
<td class="half">
{if $smarty.session.core_rss_hash}
- <a href="rss/{$smarty.session.forlife}/{$smarty.session.core_rss_hash}/rss.xml" style="display:block;float:right" title="Annonces">
+ <a href="rss/{$smarty.session.hruid}/{$smarty.session.core_rss_hash}/rss.xml" style="display:block;float:right" title="Annonces">
{icon name=feed title='fil rss'}
</a>
{else}
</a>
</div>
Annonce proposée par
- <a href="profile/{$ev.forlife}" class="popup2">
+ <a href="profile/{$ev.hruid}" class="popup2">
{$ev.prenom} {$ev.nom} X{$ev.promo}
</a>
</td>