From 253950332d6b29f3788f9d8b8c95ceaaaedf333b Mon Sep 17 00:00:00 2001 From: sstamer Date: Fri, 9 Sep 2016 10:37:30 +0200 Subject: [PATCH] 0012200: check application run right when adding advanced filter MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit check for Access Denied in Advanced search https://forge.tine20.org/view.php?id=12200 Change-Id: I53e501a2d4502041241b9765560eb77266cfa2be Reviewed-on: http://gerrit.tine20.com/customers/3561 Reviewed-by: Philipp Schüle Tested-by: Philipp Schüle --- tine20/Tinebase/Model/Filter/Abstract.php | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/tine20/Tinebase/Model/Filter/Abstract.php b/tine20/Tinebase/Model/Filter/Abstract.php index 55cabdf..2e3bb87 100644 --- a/tine20/Tinebase/Model/Filter/Abstract.php +++ b/tine20/Tinebase/Model/Filter/Abstract.php @@ -443,7 +443,12 @@ abstract class Tinebase_Model_Filter_Abstract $relatedFilter = new $filterModel(array( array('field' => 'query', 'operator' => $operator, 'value' => $this->_value), )); - $relatedIds = Tinebase_Core::getApplicationInstance($relatedModel)->search($relatedFilter, NULL, FALSE, TRUE); + + try { + $relatedIds = Tinebase_Core::getApplicationInstance($relatedModel)->search($relatedFilter, NULL, FALSE, TRUE); + } catch (Tinebase_Exception_AccessDenied $tead) { + continue; + } Tinebase_Core::set('ADVANCED_SEARCHING', false); if (Tinebase_Core::isLogLevel(Zend_Log::DEBUG)) Tinebase_Core::getLogger()->debug(__METHOD__ . '::' . __LINE__ @@ -456,7 +461,7 @@ abstract class Tinebase_Model_Filter_Abstract )); $ownIds = array_merge($ownIds, Tinebase_Relations::getInstance()->search($relationFilter, NULL)->own_id); } - + return new Tinebase_Model_Filter_Id('id', $not?'notin':'in', $ownIds); } } -- 2.7.4