<?php
/***************************************************************************
- * Copyright (C) 2003-2008 Polytechnique.org *
+ * Copyright (C) 2003-2009 Polytechnique.org *
* http://opensource.polytechnique.org/ *
* *
* This program is free software; you can redistribute it and/or modify *
'profile/ajax/ssecteur' => $this->make_hook('ajax_ssecteur', AUTH_COOKIE, 'user', NO_AUTH),
'profile/ajax/skill' => $this->make_hook('ajax_skill', AUTH_COOKIE, 'user', NO_AUTH),
'profile/ajax/searchname' => $this->make_hook('ajax_searchname', AUTH_COOKIE, 'user', NO_AUTH),
+ 'profile/ajax/buildnames' => $this->make_hook('ajax_buildnames', AUTH_COOKIE, 'user', NO_AUTH),
'javascript/education.js' => $this->make_hook('education_js', AUTH_COOKIE),
'javascript/grades.js' => $this->make_hook('grades_js', AUTH_COOKIE),
'profile/medal' => $this->make_hook('medal', AUTH_PUBLIC),
+ 'profile/name_info' => $this->make_hook('name_info', AUTH_PUBLIC),
'profile/orange' => $this->make_hook('p_orange', AUTH_MDP),
- 'profile/usage' => $this->make_hook('p_usage', AUTH_MDP),
'referent' => $this->make_hook('referent', AUTH_COOKIE),
'emploi' => $this->make_hook('ref_search', AUTH_COOKIE),
exit;
}
+ function handler_name_info(&$page)
+ {
+ header('Content-Type: text/html; charset=utf-8');
+ $page->changeTpl('profile/name_info.tpl', SIMPLE);
+ $res = XDB::iterator("SELECT name, explanations,
+ FIND_IN_SET('public', flags) AS public,
+ FIND_IN_SET('has_particle', flags) AS has_particle
+ FROM profile_name_enum
+ WHERE NOT FIND_IN_SET('not_displayed', flags)
+ ORDER BY NOT FIND_IN_SET('public', flags)");
+ $page->assign('types', $res);
+ }
+
function handler_networking(&$page, $mid)
{
$res = XDB::query("SELECT icon
WHERE user_id = {?} AND naissance = '0000-00-00'", S::i('uid'));
if ($res->numRows()) {
$page->trigWarning("Ta date de naissance n'est pas renseignée, ce qui t'empêcheras de réaliser"
- . " la procédure de récupération de mot de passe si un jour tu le perdais");
+ . " la procédure de récupération de mot de passe si un jour tu le perdais.");
}
$page->setTitle('Mon Profil');
function handler_ajax_edu(&$page, $eduid, $class)
{
header('Content-Type: text/html; charset=utf-8');
- $page->changeTpl('profile/edu.tpl', NO_SKIN);
+ $page->changeTpl('profile/general.edu.tpl', NO_SKIN);
$res = XDB::iterator("SELECT id, field
FROM profile_education_field_enum
ORDER BY field");
}
}
- function handler_ajax_searchname(&$page, $snid)
+ function handler_ajax_searchname(&$page, $id)
{
header('Content-Type: text/html; charset=utf-8');
$page->changeTpl('profile/general.searchname.tpl', NO_SKIN);
- $page->assign('i', $snid);
- $page->assign('sn', array());
- $page->assign('newsn', true);
+ $res = XDB::query("SELECT id, name, FIND_IN_SET('public', flags) AS pub
+ FROM profile_name_enum
+ WHERE NOT FIND_IN_SET('not_displayed', flags)
+ AND NOT FIND_IN_SET('always_displayed', flags)");
+ $page->assign('sn_type_list', $res->fetchAllAssoc());
+ $page->assign('i', $id);
}
-
+
+ function handler_ajax_buildnames(&$page, $data)
+ {
+ header('Content-Type: text/html; charset=utf-8');
+ $page->changeTpl('profile/general.buildnames.tpl', NO_SKIN);
+ require_once 'name.func.inc.php';
+ $page->assign('names', build_javascript_names($data));
+ }
+
function handler_p_orange(&$page)
{
$page->changeTpl('profile/orange.tpl');
require_once 'validations.inc.php';
- $res = XDB::query("SELECT e.entry_year, e.grad_year, d.promo_display, FIND_IN_SET('femme', u.flags) AS sexe
+ $res = XDB::query("SELECT e.entry_year, e.grad_year, d.promo, FIND_IN_SET('femme', u.flags) AS sexe
FROM auth_user_md5 AS u
- INNER JOIN profile_display AS d ON (d.uid = u.user_id)
+ INNER JOIN profile_display AS d ON (d.pid = u.user_id)
INNER JOIN profile_education AS e ON (e.uid = u.user_id AND FIND_IN_SET('primary', e.flags))
WHERE u.user_id = {?}", S::v('uid'));
$page->assign('list', $it);
}
- function handler_p_usage(&$page)
- {
- $page->changeTpl('profile/nomusage.tpl');
-
- require_once 'validations.inc.php';
-
- $res = XDB::query(
- "SELECT u.nom, u.nom_usage, u.flags, e.alias
- FROM auth_user_md5 AS u
- LEFT JOIN aliases AS e ON(u.user_id = e.id
- AND FIND_IN_SET('usage', e.flags))
- WHERE user_id={?}", S::v('uid'));
-
- list($nom, $usage_old, $flags, $alias_old) = $res->fetchOneRow();
- $flags = new PlFlagSet($flags);
- $page->assign('usage_old', $usage_old);
- $page->assign('alias_old', $alias_old);
-
- $nom_usage = replace_accent(trim(Env::v('nom_usage')));
- $nom_usage = strtoupper($nom_usage);
- $page->assign('usage_req', $nom_usage);
-
- if (Env::has('submit') && ($nom_usage != $usage_old)) {
- S::assert_xsrf_token();
-
- // on vient de recevoir une requete, differente de l'ancien nom d'usage
- if ($nom_usage == $nom) {
- $page->trigWarning('Le nom d\'usage que tu demandes est identique à ton nom à l\'X, '
- . 'aucune modification n\'a donc été effectuée.');
- $page->assign('same', true);
- } else { // le nom de mariage est distinct du nom à l'X
- // on calcule l'alias pour l'afficher
- $reason = Env::v('reason');
- if ($reason == 'other') {
- $reason = Env::v('other_reason');
- }
- $myusage = new UsageReq(S::user(), $nom_usage, $reason);
- $myusage->submit();
- $page->assign('myusage', $myusage);
- }
- }
- }
-
function handler_xnet(&$page)
{
$page->changeTpl('profile/groupesx.tpl');