if (S::admin()) {
$list .= '|admin|adm|ax';
}
- if (preg_match('/^(' . $list . '):([-a-z]+(\.[-a-z]+(\.\d{2,4})?)?)$/', replace_accent($quick), $matches)) {
+ $suffixes = array_keys(DirEnum::getOptions(DirEnum::ACCOUNTTYPES));
+ $suffixes = implode('|', $suffixes);
+ if (preg_match('/^(' . $list . '):([-a-z]+(\.[-a-z]+(\.(?:[md]?\d{2,4}|' . $suffixes . '))?)?)$/', replace_accent($quick), $matches)) {
$login = $matches[2];
switch($matches[1]) {
case 'admin': case 'adm':
$page->assign('advanced',1);
$page->addJsLink('jquery.autocomplete.js');
+ $networks = DirEnum::getOptions(DirEnum::NETWORKS);
+ $networks[-1] = 'Tous types';
+ $networks[0] = '-';
+ ksort($networks);
+ $page->assign('networking_types', $networks);
+
if (!Env::has('rechercher') && $model != 'geoloc') {
$this->form_prepare();
} else {
require_once 'userset.inc.php';
$view = new SearchSet(false);
- $view->addMod('minifiche', 'Mini-fiches', true, array('starts_with' => $byletter));
- $view->addMod('trombi', 'Trombinoscope', false, array('with_promo' => true));
- // TODO: Reactivate when the new map is completed.
- // $view->addMod('geoloc', 'Planisphère', false, array('with_annu' => 'search/adv'));
- $view->apply('search/adv', $page, $model);
-
- $nb_tot = $view->count();
- if ($nb_tot > $globals->search->private_max) {
- $this->form_prepare();
- $page->trigError('Recherche trop générale.');
- } else if ($nb_tot == 0) {
+ if (!$view->isValid()) {
$this->form_prepare();
- $page->trigError('Il n\'existe personne correspondant à ces critères dans la base !');
+ $page->trigError('Recherche invalide.');
+ } else {
+ $view->addMod('minifiche', 'Mini-fiches', true, array('starts_with' => $byletter));
+ $view->addMod('trombi', 'Trombinoscope', false, array('with_promo' => true));
+ // TODO: Reactivate when the new map is completed.
+ // $view->addMod('geoloc', 'Planisphère', false, array('with_annu' => 'search/adv'));
+ $view->apply('search/adv', $page, $model);
+
+ $nb_tot = $view->count();
+ if ($nb_tot > $globals->search->private_max) {
+ $this->form_prepare();
+ $page->trigError('Recherche trop générale.');
+ } else if ($nb_tot == 0) {
+ $this->form_prepare();
+ $page->trigError('Il n\'existe personne correspondant à ces critères dans la base !');
+ }
}
}
if ($nbResults == 0) {
$res = $q."|-2\n";
}
- XDB::query('REPLACE INTO search_autocomplete
- VALUES ({?}, {?}, {?}, NOW())',
- $type, $q, $res);
+ XDB::query('INSERT INTO search_autocomplete (name, query, result, generated)
+ VALUES ({?}, {?}, {?}, NOW())
+ ON DUPLICATE KEY UPDATE result = VALUES(result), generated = VALUES(generated)',
+ $type, $q, $res);
echo $res;
exit();
}