* http://opensource.polytechnique.org/ *
* *
* This program is free software; you can redistribute it and/or modify *
* http://opensource.polytechnique.org/ *
* *
* This program is free software; you can redistribute it and/or modify *
- 'search' => $this->make_hook('quick', AUTH_PUBLIC),
- 'search/adv' => $this->make_hook('advanced', AUTH_COOKIE),
+ 'search' => $this->make_hook('quick', AUTH_PUBLIC),
+ 'search/adv' => $this->make_hook('advanced', AUTH_COOKIE),
- 'search/autocomplete' => $this->make_hook('autocomplete', AUTH_COOKIE, 'user', NO_AUTH),
- 'search/list' => $this->make_hook('list', AUTH_COOKIE, 'user', NO_AUTH),
+ 'search/autocomplete' => $this->make_hook('autocomplete', AUTH_COOKIE, 'user', NO_AUTH),
+ 'search/list' => $this->make_hook('list', AUTH_COOKIE, 'user', NO_AUTH),
$list .= '|admin|adm|ax';
}
if (preg_match('/^(' . $list . '):([-a-z]+(\.[-a-z]+(\.\d{2,4})?)?)$/', replace_accent($quick), $matches)) {
$list .= '|admin|adm|ax';
}
if (preg_match('/^(' . $list . '):([-a-z]+(\.[-a-z]+(\.\d{2,4})?)?)$/', replace_accent($quick), $matches)) {
- require_once 'user.func.inc.php';
- $login = get_user_forlife($forlife, '_silent_user_callback');
- if ($login) {
- pl_redirect($base . $login);
+ $user = User::getSilent($login);
+ if ($user) {
+ pl_redirect($base . $user->login());
} elseif (strpos($quick, 'doc:') === 0) {
$url = 'Docs/Recherche?';
$url .= 'action=search&q=' . urlencode(substr($quick, 4));
} elseif (strpos($quick, 'doc:') === 0) {
$url = 'Docs/Recherche?';
$url .= 'action=search&q=' . urlencode(substr($quick, 4));
$page->assign('advanced',1);
$page->addJsLink('jquery.autocomplete.js');
$page->assign('advanced',1);
$page->addJsLink('jquery.autocomplete.js');
$textFields = array(
'country' => array('field' => 'a2', 'table' => 'geoloc_pays', 'text' => 'pays', 'exact' => false),
'fonction' => array('field' => 'id', 'table' => 'fonctions_def', 'text' => 'fonction_fr', 'exact' => true),
$textFields = array(
'country' => array('field' => 'a2', 'table' => 'geoloc_pays', 'text' => 'pays', 'exact' => false),
'fonction' => array('field' => 'id', 'table' => 'fonctions_def', 'text' => 'fonction_fr', 'exact' => true),
- 'secteur' => array('field' => 'id', 'table' => 'emploi_secteur', 'text' => 'label', 'exact' => false),
+ 'secteur' => array('field' => 'id', 'table' => 'profile_job_sector_enum', 'text' => 'name', 'exact' => false),
'nationalite' => array('field' => 'a2', 'table' => 'geoloc_pays', 'text' => 'nat', 'exact' => 'false'),
'binet' => array('field' => 'id', 'table' => 'binets_def', 'text' => 'text', 'exact' => false),
'networking_type' => array('field' => 'network_type', 'table' => 'profile_networking_enum',
'text' => 'name', 'exact' => false),
'groupex' => array('field' => 'id', 'table' => 'groupex.asso',
'nationalite' => array('field' => 'a2', 'table' => 'geoloc_pays', 'text' => 'nat', 'exact' => 'false'),
'binet' => array('field' => 'id', 'table' => 'binets_def', 'text' => 'text', 'exact' => false),
'networking_type' => array('field' => 'network_type', 'table' => 'profile_networking_enum',
'text' => 'name', 'exact' => false),
'groupex' => array('field' => 'id', 'table' => 'groupex.asso',
'exact' => false),
'section' => array('field' => 'id', 'table' => 'sections', 'text' => 'text', 'exact' => false),
'school' => array('field' => 'id', 'table' => 'profile_education_enum', 'text' => 'name', 'exact' => false),
'exact' => false),
'section' => array('field' => 'id', 'table' => 'sections', 'text' => 'text', 'exact' => false),
'school' => array('field' => 'id', 'table' => 'profile_education_enum', 'text' => 'name', 'exact' => false),
$beginwith = true;
$field2 = false;
$qsearch = str_replace(array('%', '_'), '', $q);
$beginwith = true;
$field2 = false;
$qsearch = str_replace(array('%', '_'), '', $q);
- $db = '`entreprises`';
- $field = '`entreprise`';
- $unique = '`uid`';
- break;
- case 'firstname':
- $field = '`prenom`';
- $beginwith = false;
+ $db = 'profile_job_enum INNER JOIN
+ profile_job ON (profile_job.jobid = profile_job_enum.id)';
+ $field = 'profile_job_enum.name';
+ $unique = 'profile_job.uid';
- $db = '`fonctions_def` INNER JOIN
- `entreprises` ON(`entreprises`.`fonction` = `fonctions_def`.`id`)';
- $field = '`fonction_fr`';
- $unique = '`uid`';
- $realid = '`fonctions_def`.`id`';
+ $db = 'fonctions_def INNER JOIN
+ profile_job ON (profile_job.fonctionid = fonctions_def.id)';
+ $field = 'fonction_fr';
+ $unique = 'uid';
+ $realid = 'fonctions_def.id';
case 'nationaliteTxt':
$db = '`geoloc_pays` INNER JOIN
`auth_user_md5` ON (`geoloc_pays`.`a2` = `auth_user_md5`.`nationalite` OR
case 'nationaliteTxt':
$db = '`geoloc_pays` INNER JOIN
`auth_user_md5` ON (`geoloc_pays`.`a2` = `auth_user_md5`.`nationalite` OR
- $db = '`emploi_secteur` INNER JOIN
- `entreprises` ON(`entreprises`.`secteur` = `emploi_secteur`.`id`)';
- $field = '`emploi_secteur`.`label`';
- $realid = '`emploi_secteur`.`id`';
- $unique = '`uid`';
+ $db = 'profile_job_sector_enum INNER JOIN
+ profile_job ON (profile_job.sectorid = profile_job_sector_enum.id)';
+ $field = 'profile_job_sector_enum.name';
+ $realid = 'profile_job_sector_enum.id';
+ $unique = 'uid';
+ $beginwith = false;
+ break;
+ case 'sss_secteur':
+ $db = 'profile_job_subsubsector_enum';
+ $field = 'name';
$field2_t = make_field_test($field2, $beginwith);
$field_select = 'IF(' . $field_t . ', ' . $field . ', ' . $field2. ')';
}
$field2_t = make_field_test($field2, $beginwith);
$field_select = 'IF(' . $field_t . ', ' . $field . ', ' . $field2. ')';
}
- $list = XDB::iterator('SELECT ' . $field_select . ' AS field,
- COUNT(DISTINCT ' . $unique . ') AS nb
- ' . ($realid ? (', ' . $realid . ' AS id') : '') . '
+ $list = XDB::iterator('SELECT ' . $field_select . ' AS field'
+ . ($distinct ? (', COUNT(DISTINCT ' . $unique . ') AS nb') : '')
+ . ($realid ? (', ' . $realid . ' AS id') : '') . '
LIMIT 11',
$qsearch, $qsearch, $qsearch, $qsearch, $qsearch, $qsearch, $qsearch, $qsearch,
$qsearch, $qsearch, $qsearch, $qsearch, $qsearch, $qsearch, $qsearch, $qsearch);
LIMIT 11',
$qsearch, $qsearch, $qsearch, $qsearch, $qsearch, $qsearch, $qsearch, $qsearch,
$qsearch, $qsearch, $qsearch, $qsearch, $qsearch, $qsearch, $qsearch, $qsearch);
- $db = '`emploi_secteur`';
- $field = '`label`';
+ $db = 'profile_job_sector_enum INNER JOIN
+ profile_job ON (profile_job.sectorid = profile_job_sector_enum.id)';
+ $field = 'profile_job_sector_enum.name';
+ $id = 'profile_job_sector_enum.id';