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 {
$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'));
+ if (S::user()->checkPerms(User::PERM_EDIT_DIRECTORY) || S::admin()) {
+ $view->addMod('addresses', 'Addresses postales', false);
+ }
$view->apply('search/adv', $page, $model);
$nb_tot = $view->count();
if ($nb_tot > $globals->search->private_max) {
$this->form_prepare();
+ if ($model != 'addresses' && (S::user()->checkPerms(User::PERM_EDIT_DIRECTORY) || S::admin())) {
+ $page->assign('suggestAddresses', true);
+ }
$page->trigError('Recherche trop générale.');
} else if ($nb_tot == 0) {
$this->form_prepare();
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();
}