+ // Misc checks
+ $res = XDB::query("SELECT user_id
+ FROM auth_user_md5
+ 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");
+ }
+
+ $page->setTitle('Mon Profil');
+ }
+
+ function handler_applis_js(&$page)
+ {
+ header('Content-Type: text/javascript; charset=utf-8');
+ header('Expires: Mon, 26 Jul 1997 05:00:00 GMT');
+ header('Last-Modified:' . gmdate('D, d M Y H:i:s') . ' GMT');
+ header('Cache-Control: no-cache, must-revalidate');
+ header('Pragma: no-cache');
+ $page->changeTpl('profile/applis.js.tpl', NO_SKIN);
+ require_once "applis.func.inc.php";
+ }
+
+ function handler_grades_js(&$page)
+ {
+ header('Content-Type: text/javascript; charset=utf-8');
+ header('Expires: Mon, 26 Jul 1997 05:00:00 GMT');
+ header('Last-Modified:' . gmdate('D, d M Y H:i:s') . ' GMT');
+ header('Cache-Control: no-cache, must-revalidate');
+ header('Pragma: no-cache');
+ $page->changeTpl('profile/grades.js.tpl', NO_SKIN);
+ $res = XDB::iterator("SELECT *
+ FROM profile_medals_grades
+ ORDER BY mid, pos");
+ $grades = array();
+ while ($tmp = $res->next()) {
+ $grades[$tmp['mid']][] = $tmp;
+ }
+ $page->assign('grades', $grades);
+
+ $res = XDB::iterator("SELECT *, FIND_IN_SET('validation', flags) AS validate
+ FROM profile_medals
+ ORDER BY type, text");
+ $mlist = array();
+ while ($tmp = $res->next()) {
+ $mlist[$tmp['type']][] = $tmp;
+ }
+ $page->assign('medal_list', $mlist);
+ }
+
+ function handler_ajax_address(&$page, $adid)
+ {
+ header('Content-Type: text/html; charset=utf-8');
+ $page->changeTpl('profile/adresses.address.tpl', NO_SKIN);
+ $page->assign('i', $adid);
+ $page->assign('adr', array());
+ }
+
+ function handler_ajax_tel(&$page, $adid, $telid)
+ {
+ header('Content-Type: text/html; charset=utf-8');
+ $page->changeTpl('profile/adresses.tel.tpl', NO_SKIN);
+ $page->assign('i', $adid);
+ $page->assign('adid', "addresses_$adid");
+ $page->assign('adpref', "addresses[$adid]");
+ $page->assign('t', $telid);
+ $page->assign('tel', array());
+ }
+
+ function handler_ajax_medal(&$page, $id)
+ {
+ header('Content-Type: text/html; charset=utf-8');
+ $page->changeTpl('profile/deco.medal.tpl', NO_SKIN);
+ $page->assign('id', $id);
+ $page->assign('medal', array('valid' => 0, 'grade' => 0));
+ }
+
+ function handler_ajax_job(&$page, $id)
+ {
+ header('Content-Type: text/html; charset=utf-8');
+ $page->changeTpl('profile/jobs.job.tpl', NO_SKIN);
+ $page->assign('i', $id);
+ $page->assign('job', array());
+ $page->assign('new', true);
+ $page->assign('secteurs', XDB::iterator("SELECT id, label
+ FROM emploi_secteur"));
+ $page->assign('fonctions', XDB::iterator("SELECT id, fonction_fr, FIND_IN_SET('titre', flags) AS title
+ FROM fonctions_def
+ ORDER BY id"));
+ }
+
+ function handler_ajax_secteur(&$page, $id, $sect, $ssect = -1)
+ {
+ header('Content-Type: text/html; charset=utf-8');
+ $res = XDB::iterator("SELECT id, label
+ FROM emploi_ss_secteur
+ WHERE secteur = {?}", $sect);
+ $page->changeTpl('profile/jobs.secteur.tpl', NO_SKIN);
+ $page->assign('id', $id);
+ $page->assign('ssecteurs', $res);
+ $page->assign('sel', $ssect);
+ }
+
+ function handler_ajax_skill(&$page, $cat, $id)
+ {
+ header('Content-Type: text/html; charset=utf-8');
+ $page->changeTpl('profile/skill.skill.tpl', NO_SKIN);
+ $page->assign('cat', $cat);
+ $page->assign('id', $id);
+ if ($cat == 'competences') {
+ $page->assign('levels', array('initié' => 'initié',
+ 'bonne connaissance' => 'bonne connaissance',
+ 'expert' => 'expert'));
+ } else {
+ $page->assign('levels', array(1 => 'connaissance basique',
+ 2 => 'maîtrise des bases',
+ 3 => 'maîtrise limitée',
+ 4 => 'maîtrise générale',
+ 5 => 'bonne maîtrise',
+ 6 => 'maîtrise complète'));
+ }