<?php
/***************************************************************************
- * Copyright (C) 2003-2007 Polytechnique.org *
+ * Copyright (C) 2003-2008 Polytechnique.org *
* http://opensource.polytechnique.org/ *
* *
* This program is free software; you can redistribute it and/or modify *
function form_prepare()
{
- global $page;
-
- $page->assign('formulaire',1);
+ Platal::page()->assign('formulaire',1);
}
function get_diplomas($school = null)
$types = explode('(',$row[1]);
$types = str_replace("'","",substr($types[1],0,-1));
}
- global $page;
- $page->assign('choix_diplomas', explode(',',$types));
+ Platal::page()->assign('choix_diplomas', explode(',',$types));
}
function handler_quick(&$page, $action = null, $subaction = null)
if (Env::has('quick') || $action == 'geoloc') {
$quick = trim(Env::v('quick'));
+ if (S::logged() && !Env::has('page')) {
+ S::logger()->log('search', 'quick=' . $quick);
+ }
$list = 'profile|prf|fiche|fic|referent|ref|mentor';
if (S::has_perms()) {
$list .= '|admin|adm|ax';
require_once 'userset.inc.php';
$view = new SearchSet(true, $action == 'geoloc' && substr($subaction, -3) == 'swf');
- $view->addMod('minifiche', 'Minifiches', true, array('with_score' => true));
+ $view->addMod('minifiche', 'Mini-fiches', true, array('with_score' => true));
if (S::logged() && !Env::i('nonins')) {
$view->addMod('trombi', 'Trombinoscope', false, array('with_promo' => true, 'with_score' => true));
$view->addMod('geoloc', 'Planisphère', false, array('with_annu' => 'search/adv'));
if (!S::logged() && $nb_tot > $globals->search->public_max) {
new ThrowError('Votre recherche a généré trop de résultats pour un affichage public.');
} elseif ($nb_tot > $globals->search->private_max) {
- new ThrowError('Recherche trop générale');
+ new ThrowError('Recherche trop générale. Une <a href="search/adv">recherche avancée</a> permet de préciser la recherche.');
} elseif (empty($nb_tot)) {
- new ThrowError('il n\'existe personne correspondant à ces critères dans la base !');
+ new ThrowError('Il n\'existe personne correspondant à ces critères dans la base !');
}
} else {
$page->assign('formulaire',1);
require_once dirname(__FILE__) . '/search/search.inc.php';
$page->changeTpl('search/index.tpl');
- $page->assign('xorg_title','Polytechnique.org - Annuaire');
+ $page->setTitle('Polytechnique.org - Annuaire');
}
function handler_advanced(&$page, $action = null, $subaction = null)
require_once 'geoloc.inc.php';
require_once dirname(__FILE__) . '/search/search.inc.php';
$page->assign('advanced',1);
+ $page->addJsLink('jquery.autocomplete.js');
if (!Env::has('rechercher') && $action != 'geoloc') {
$this->form_prepare();
'secteur' => array('field' => 'id', 'table' => 'emploi_secteur', 'text' => 'label', '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',
'text' => "(a.cat = 'GroupesX' OR a.cat = 'Institutions') AND pub = 'public' AND nom",
'exact' => false),
'school' => array('field' => 'id', 'table' => 'applis_def', 'text' => 'text', 'exact' => false),
'city' => array('table' => 'geoloc_city', 'text' => 'name', 'exact' => false)
);
+ if (!Env::has('page')) {
+ S::logger()->log('search', 'adv=' . var_export($_GET, true));
+ }
foreach ($textFields as $field=>&$query) {
if (!Env::v($field) && Env::v($field . 'Txt')) {
$res = XDB::query("SELECT {$query['field']}
require_once 'userset.inc.php';
$view = new SearchSet(false, $action == 'geoloc' && substr($subaction, -3) == 'swf');
- $view->addMod('minifiche', 'Minifiches', true);
+ $view->addMod('minifiche', 'Mini-fiches', true);
$view->addMod('trombi', 'Trombinoscope', false, array('with_promo' => true));
- $view->addMod('geoloc', 'Planisphère', false, array('with_annu' => 'search/adv'));
+ //$view->addMod('geoloc', 'Planisphère', false, array('with_annu' => 'search/adv'));
$view->apply('search/adv', $page, $action, $subaction);
if ($subaction) {
$nb_tot = $view->count();
if ($nb_tot > $globals->search->private_max) {
$this->form_prepare();
- new ThrowError('Recherche trop générale');
+ new ThrowError('Recherche trop générale.');
}
}
$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`)';
ORDER BY nb DESC
LIMIT 11',
$qsearch, $qsearch, $qsearch, $qsearch, $qsearch, $qsearch, $qsearch, $qsearch,
- $qsearch, $qsearch, $qsearch);
+ $qsearch, $qsearch, $qsearch, $qsearch, $qsearch, $qsearch, $qsearch, $qsearch);
$nbResults = 0;
$res = "";
while ($result = $list->next()) {
$nbResults++;
if ($nbResults == 11) {
- $res .= '...|1'."\n";
+ $res .= $q."|-1\n";
} else {
$res .= $result['field'].'|';
$res .= $result['nb'];
case 'binet':
$db = '`binets_def`';
break;
+ case 'networking_type':
+ $db = '`profile_networking_enum`';
+ $field = '`name`';
+ $id = '`network_type`';
+ break;
case 'country':
$db = '`geoloc_pays`';
$field = '`pays`';