'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),
- 'groupex' => array('field' => 'id', 'table' => 'groupesx_def', 'text' => 'text', 'exact' => false),
+ 'groupex' => array('field' => 'id', 'table' => 'groupex.asso',
+ 'text' => "(a.cat = 'GroupesX' OR a.cat = 'Institutions') AND pub = 'public' AND nom",
+ 'exact' => false),
'section' => array('field' => 'id', 'table' => 'sections', 'text' => 'text', 'exact' => false),
'school' => array('field' => 'id', 'table' => 'applis_def', 'text' => 'text', 'exact' => false)
);
if (!Env::v($field) && Env::v($field . 'Txt')) {
$res = XDB::query("SELECT {$query['field']}
FROM {$query['table']}
- WHERE {$query['text']} " . ($query['exact'] ? " = {?}" : " LIKE CONCAT({?}, '%')"),
+ WHERE {$query['text']} " . ($query['exact'] ? " = {?}" :
+ " LIKE CONCAT('%', {?}, '%')"),
Env::v($field . 'Txt'));
$_REQUEST[$field] = $res->fetchOneCell();
}
$beginwith = false;
break;
case 'groupexTxt':
- $db = '`groupesx_def` INNER JOIN
- `groupesx_ins` ON(`groupesx_def`.`id` = `groupesx_ins`.`gid`)';
- $field='`groupesx_def`.`text`';
+ $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 = '`groupesx_def`.`id`';
- $unique = '`guid`';
+ $realid = 'a.id';
+ $unique = 'm.uid';
break;
case 'name':
$field = '`nom`';
$page->changeTpl('search/adv.grade.form.tpl', NO_SKIN);
return;
case 'groupex':
- $db = '`groupesx_def`';
+ $db = 'groupex.asso';
+ $where = " WHERE (cat = 'GroupesX' OR cat = 'Institutions') AND pub = 'public'";
+ $field = 'nom';
break;
case 'nationalite':
$db = '`geoloc_pays` INNER JOIN
$natField = new RefSField('nationalite',array('u.nationalite'),'','','');
$binetField = new RefSField('binet',array('b.binet_id'),'binets_ins','b','u.user_id=b.user_id');
- $groupexField = new RefSField('groupex',array('g.gid'),'groupesx_ins','g','u.user_id=g.guid');
+ $groupexField = new RefSField('groupex',array('g.id'),array('groupex.asso', 'groupex.membres'),array('g', 'gm'),
+ array("(g.cat = 'GroupesX' OR g.cat = 'Institutions') AND g.pub = 'public'",
+ 'gm.asso_id = g.id AND u.user_id=gm.uid'));
$sectionField = new RefSField('section',array('u.section'),'','','');
$schoolField = new RefSField('school',array('as.aid'),'applis_ins','`as`','u.user_id=as.uid');
$diplomaField = new RefSField('diploma',array('ad.type'),'applis_ins','ad','u.user_id=ad.uid');