<?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),
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_search_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");
$page->assign('id', $id);
$page->assign('ssecteurs', $res);
$page->assign('sel', $ssect);
- $page->assign('jobid', $jobid);
- $page->assign('jobpref', $jobpref);
+ if ($id != -1) {
+ $page->assign('change', 1);
+ $page->assign('jobid', $jobid);
+ $page->assign('jobpref', $jobpref);
+ }
}
function handler_ajax_ssecteur(&$page, $id, $ssect, $sssect = -1)
}
}
- 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_search_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_names_display($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'));
///// recuperations infos referent
//expertise
- $res = XDB::query("SELECT expertise FROM mentor WHERE uid = {?}", $user->id());
+ $res = XDB::query("SELECT expertise FROM profile_mentor WHERE uid = {?}", $user->id());
$page->assign('expertise', $res->fetchOneCell());
//secteurs
$secteurs = $ss_secteurs = Array();
$res = XDB::iterRow(
- "SELECT s.label, ss.label
- FROM mentor_secteurs AS m
- LEFT JOIN emploi_secteur AS s ON(m.secteur = s.id)
- LEFT JOIN emploi_ss_secteur AS ss ON(m.secteur = ss.secteur AND m.ss_secteur = ss.id)
+ "SELECT s.name AS label, ss.name AS label
+ FROM profile_mentor_sector AS m
+ LEFT JOIN profile_job_sector_enum AS s ON(m.sectorid = s.id)
+ LEFT JOIN profile_job_subsector_enum AS ss ON(m.sectorid = ss.sectorid AND m.subsectorid = ss.id)
WHERE uid = {?}", $user->id());
while (list($sec, $ssec) = $res->next()) {
$secteurs[] = $sec;
//pays
$res = XDB::query(
"SELECT gp.pays
- FROM mentor_pays AS m
- LEFT JOIN geoloc_pays AS gp ON(m.pid = gp.a2)
+ FROM profile_mentor_country AS m
+ LEFT JOIN geoloc_pays AS gp ON (m.country = gp.a2)
WHERE uid = {?}", $user->id());
$page->assign('pays', $res->fetchColumn());
$page->setTitle('Conseil Pro');
//recuperation des noms de secteurs
- $res = XDB::iterRow("SELECT id, label FROM emploi_secteur");
+ $res = XDB::iterRow("SELECT id, name AS label FROM profile_job_sector_enum");
$secteurs[''] = '';
while (list($tmp_id, $tmp_label) = $res->next()) {
$secteurs[$tmp_id] = $tmp_label;
$page->assign_by_ref('secteurs', $secteurs);
// nb de mentors
- $res = XDB::query("SELECT count(*) FROM mentor");
+ $res = XDB::query("SELECT count(*) FROM profile_mentor");
$page->assign('mentors_number', $res->fetchOneCell());
// On vient d'un formulaire
$expertise_champ = XDB::escape(Env::v('expertise'));
if ($pays_sel != "''") {
- $where[] = "mp.pid = $pays_sel";
+ $where[] = "mp.country = $pays_sel";
}
if ($secteur_sel != "''") {
- $where[] = "ms.secteur = $secteur_sel";
+ $where[] = "ms.sectorid = $secteur_sel";
if ($ss_secteur_sel != "''") {
- $where[] = "ms.ss_secteur = $ss_secteur_sel";
+ $where[] = "ms.subsectorid = $ss_secteur_sel";
}
}
if ($expertise_champ != "''") {
if ($where) {
$where = join(' AND ', $where);
- $set = new UserSet("INNER JOIN mentor AS m ON (m.uid = u.user_id)
- LEFT JOIN mentor_pays AS mp ON (mp.uid = m.uid)
- LEFT JOIN mentor_secteurs AS ms ON (ms.uid = m.uid)",
+ $set = new UserSet("INNER JOIN profile_mentor AS m ON (m.uid = u.user_id)
+ LEFT JOIN profile_mentor_country AS mp ON (mp.uid = m.uid)
+ LEFT JOIN profile_mentor_sector AS ms ON (ms.uid = m.uid)",
$where);
$set->addMod('mentor', 'Référents');
$set->apply('referent/search', $page, $action, $subaction);
$page->assign('onchange', 'setSSecteurs()');
$page->assign('id', 'ssect_field');
$page->assign('name', 'ss_secteur');
- $it = XDB::iterator("SELECT id,label AS field
- FROM emploi_ss_secteur
- WHERE secteur = {?}", $sect);
+ $it = XDB::iterator("SELECT id, name AS field
+ FROM profile_job_subsector_enum
+ WHERE sectorid = {?}", $sect);
$page->assign('list', $it);
}
header('Content-Type: text/html; charset=utf-8');
$page->changeTpl('include/field.select.tpl', NO_SKIN);
$page->assign('name', 'pays_sel');
- $where = ($ssect ? ' AND ms.ss_secteur = {?}' : '');
+ $where = ($ssect ? ' AND ms.subsectorid = {?}' : '');
$it = XDB::iterator("SELECT a2 AS id, pays AS field
- FROM geoloc_pays AS g
- INNER JOIN mentor_pays AS mp ON (mp.pid = g.a2)
- INNER JOIN mentor_secteurs AS ms ON (ms.uid = mp.uid)
- WHERE ms.secteur = {?} $where
- GROUP BY a2
- ORDER BY pays", $sect, $ssect);
+ FROM geoloc_pays AS g
+ INNER JOIN profile_mentor_country AS mp ON (mp.country = g.a2)
+ INNER JOIN profile_mentor_sector AS ms ON (ms.uid = mp.uid)
+ WHERE ms.sectorid = {?} $where
+ GROUP BY a2
+ ORDER BY pays", $sect, $ssect);
$page->assign('list', $it);
}