- // default search
- $unique = '`user_id`';
- $db = '`auth_user_md5`';
- $realid = false;
- $beginwith = true;
- $field2 = false;
- $qsearch = str_replace(array('%', '_'), '', $q);
- $distinct = true;
-
- switch ($type) {
- case 'binetTxt':
- $db = '`binets_def` INNER JOIN
- `binets_ins` ON(`binets_def`.`id` = `binets_ins`.`binet_id`)';
- $field = '`binets_def`.`text`';
- if (strlen($q) > 2)
- $beginwith = false;
- $realid = '`binets_def`.`id`';
- break;
- case 'networking_typeTxt':
- $db = '`profile_networking_enum` INNER JOIN
- `profile_networking` ON(`profile_networking`.`network_type` = `profile_networking_enum`.`network_type`)';
- $field = '`profile_networking_enum`.`name`';
- $unique = 'uid';
- $realid = '`profile_networking_enum`.`network_type`';
- break;
- case 'city':
- $db = '`geoloc_city` INNER JOIN
- `adresses` ON(`geoloc_city`.`id` = `adresses`.`cityid`)';
- $unique='`uid`';
- $field='`geoloc_city`.`name`';
- break;
- case 'countryTxt':
- $db = '`geoloc_pays` INNER JOIN
- `adresses` ON(`geoloc_pays`.`a2` = `adresses`.`country`)';
- $unique = '`uid`';
- $field = '`geoloc_pays`.`pays`';
- $field2 = '`geoloc_pays`.`country`';
- $realid = '`geoloc_pays`.`a2`';
- break;
- case 'entreprise':
- $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';
- break;
- case 'firstname':
- $field = '`prenom`';
- $beginwith = false;
- break;
- case 'fonctionTxt':
- $db = 'fonctions_def INNER JOIN
- profile_job ON (profile_job.fonctionid = fonctions_def.id)';
- $field = 'fonction_fr';
- $unique = 'uid';
- $realid = 'fonctions_def.id';
- $beginwith = false;
- break;
- case 'groupexTxt':
- $db = "groupex.asso AS a INNER JOIN
- groupex.membres AS m ON(a.id = m.asso_id
- AND (a.cat = 'GroupesX' OR a.cat = 'Institutions')
- AND a.pub = 'public')";
- $field='a.nom';
- $field2 = 'a.diminutif';
- if (strlen($q) > 2)
- $beginwith = false;
- $realid = 'a.id';
- $unique = 'm.uid';
- break;
- case 'name':
- $field = '`nom`';
- $field2 = '`nom_usage`';
- $beginwith = false;
- break;
- case 'nationaliteTxt':
- $db = '`geoloc_pays` INNER JOIN
- `auth_user_md5` ON (`geoloc_pays`.`a2` = `auth_user_md5`.`nationalite` OR
- `geoloc_pays`.`a2` = `auth_user_md5`.`nationalite2` OR
- `geoloc_pays`.`a2` = `auth_user_md5`.`nationalite3`)';
- $field = 'IF(`geoloc_pays`.`nat`=\'\',
- `geoloc_pays`.`pays`,
- `geoloc_pays`.`nat`)';
- $realid = '`geoloc_pays`.`a2`';
- break;
- case 'nickname':
- $field = '`profile_nick`';
- $db = '`auth_user_quick`';
- $beginwith = false;
- break;
- case 'description':
- $db = 'profile_job';
- $field = 'description';
- $unique = 'uid';
- break;
- case 'schoolTxt':
- $db = 'profile_education_enum INNER JOIN
- profile_education ON (profile_education_enum.id = profile_education.eduid)';
- $field = 'profile_education_enum.name';
- $unique = 'uid';
- $realid = 'profile_education_enum.id';
- if (strlen($q) > 2)
- $beginwith = false;
- break;
- case 'secteurTxt':
- $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';
- $beginwith = false;
- $unique = 'name';
- $distinct = false;
- break;
- case 'sectionTxt':
- $db = '`sections` INNER JOIN
- `auth_user_md5` ON(`auth_user_md5`.`section` = `sections`.`id`)';
- $field = '`sections`.`text`';
- $realid = '`sections`.`id`';
- $beginwith = false;
- break;
- default: exit();
+ $enums = array(
+ 'binetTxt' => DirEnum::BINETS,
+ 'groupexTxt' => DirEnum::GROUPESX,
+ 'sectionTxt' => DirEnum::SECTIONS,
+ 'networking_typeTxt' => DirEnum::NETWORKS,
+ 'city' => DirEnum::LOCALITIES,
+ 'countryTxt' => DirEnum::COUNTRIES,
+ 'entreprise' => DirEnum::COMPANIES,
+ 'secteurTxt' => DirEnum::SECTORS,
+ 'description' => DirEnum::JOBDESCRIPTION,
+ 'nationaliteTxt' => DirEnum::NATIONALITIES,
+ 'schoolTxt' => DirEnum::EDUSCHOOLS,
+ );
+ if (!array_key_exists($type, $enums)) {
+ exit();