- // 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_localities INNER JOIN
- profile_addresses ON (geoloc_localities.id = profile_addresses.localityId)';
- $unique = 'uid';
- $field ='geoloc_localities.name';
- break;
- case 'countryTxt':
- $db = 'geoloc_countries INNER JOIN
- profile_addresses ON (geoloc_countries.iso_3166_1_a2 = profile_addresses.countryId)';
- $unique = 'pid';
- $field = 'geoloc_countries.countryFR';
- $realid = 'geoloc_countries.iso_3166_1_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 '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 'nationaliteTxt':
- $db = 'geoloc_countries INNER JOIN
- auth_user_md5 ON (geoloc_countries.a2 = auth_user_md5.nationalite
- OR geoloc_countries.a2 = auth_user_md5.nationalite2
- OR geoloc_countries.a2 = auth_user_md5.nationalite3)';
- $field = 'geoloc_countries.nationalityFR';
- $realid = 'geoloc_countries.iso_3166_1_a2';
- 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 'subSubSector':
- $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();