From f3bfd6c9a14b70736b9416a1892d7548e160880b Mon Sep 17 00:00:00 2001 From: =?utf8?q?Rapha=C3=ABl=20Barrois?= Date: Tue, 15 Mar 2011 00:20:25 +0100 Subject: [PATCH] Fix 'job description' criteria for advanced search (Closes #1410) MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Signed-off-by: Raphaël Barrois --- classes/userfilter/conditions.inc.php | 14 +++++++------- templates/search/adv.form.tpl | 2 +- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/classes/userfilter/conditions.inc.php b/classes/userfilter/conditions.inc.php index b8cc437..0ca90fd 100644 --- a/classes/userfilter/conditions.inc.php +++ b/classes/userfilter/conditions.inc.php @@ -924,7 +924,7 @@ class UFC_Binet extends UserFilterCondition { // Binets are private. if ($uf->getVisibilityLevel() != ProfileVisibility::VIS_PRIVATE) { - return self::CONF_TRUE; + return self::COND_TRUE; } $sub = $uf->addBinetsFilter(); return XDB::format($sub . '.binet_id IN {?}', $this->val); @@ -948,7 +948,7 @@ class UFC_Section extends UserFilterCondition { // Sections are private. if ($uf->getVisibilityLevel() != ProfileVisibility::VIS_PRIVATE) { - return self::CONF_TRUE; + return self::COND_TRUE; } $uf->requireProfiles(); return XDB::format('p.section IN {?}', $this->section); @@ -1341,12 +1341,9 @@ class UFC_Job_Description extends UserFilterCondition // don't do anything. Otherwise restrict to standard job visibility. if ($this->fields == UserFilter::JOB_CV) { if ($uf->getVisibilityLevel() != ProfileVisibility::VIS_PRIVATE) { - return self::CONF_TRUE; + return self::COND_TRUE; } - } else { - $conds[] = $uf->getVisibilityCondition($jsub . '.pub'); } - if ($this->fields & UserFilter::JOB_USERDEFINED) { $conds[] = $jsub . '.description ' . XDB::formatWildcards(XDB::WILDCARD_CONTAINS, $this->description); } @@ -1354,7 +1351,10 @@ class UFC_Job_Description extends UserFilterCondition $uf->requireProfiles(); $conds[] = 'p.cv ' . XDB::formatWildcards(XDB::WILDCARD_CONTAINS, $this->description); } - return implode(' OR ', $conds); + if (count($conds) == 0) { + return self::COND_TRUE; + } + return $uf->getVisibilityCondition($jsub . '.pub') . ' AND ( ' . implode(' OR ', $conds) . ' )'; } } // }}} diff --git a/templates/search/adv.form.tpl b/templates/search/adv.form.tpl index 1ea13ac..48ac0b0 100644 --- a/templates/search/adv.form.tpl +++ b/templates/search/adv.form.tpl @@ -413,7 +413,7 @@ function cleanForm(f) { Description - + Mots-clefs -- 2.1.4