本文整理匯總了PHP中Tinebase_Model_Filter_FilterGroup::addFiltergroup方法的典型用法代碼示例。如果您正苦於以下問題:PHP Tinebase_Model_Filter_FilterGroup::addFiltergroup方法的具體用法?PHP Tinebase_Model_Filter_FilterGroup::addFiltergroup怎麽用?PHP Tinebase_Model_Filter_FilterGroup::addFiltergroup使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類Tinebase_Model_Filter_FilterGroup
的用法示例。
在下文中一共展示了Tinebase_Model_Filter_FilterGroup::addFiltergroup方法的1個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的PHP代碼示例。
示例1: _addDefaultFilter
/**
* (non-PHPdoc)
* @see Tinebase_Controller_Record_Abstract::_addDefaultFilter()
*/
protected function _addDefaultFilter(Tinebase_Model_Filter_FilterGroup $_filter = NULL)
{
$manageShared = Tinebase_Core::getUser()->hasRight('Sipgate', Sipgate_Acl_Rights::MANAGE_SHARED_ACCOUNTS);
$managePrivate = Tinebase_Core::getUser()->hasRight('Sipgate', Sipgate_Acl_Rights::MANAGE_PRIVATE_ACCOUNTS);
$manage = Tinebase_Core::getUser()->hasRight('Sipgate', Sipgate_Acl_Rights::MANAGE_ACCOUNTS);
$fg = new Sipgate_Model_LineFilter(array(), 'OR');
// fetch all assignes lines
$my = new Tinebase_Model_Filter_Id(array('field' => 'user_id', 'operator' => 'equals', 'value' => Tinebase_Core::getUser()->getId()));
$my->setIsImplicit(true);
$fg->addFilter($my);
if ($manage) {
// fetch all private accounts of the user himself
if ($managePrivate) {
$accountFilter = new Sipgate_Model_AccountFilter(array(), 'AND');
$accountFilter->addFilter(new Tinebase_Model_Filter_Text(array('field' => 'type', 'operator' => 'equals', 'value' => 'private')));
$r = Sipgate_Controller_Account::getInstance()->search($accountFilter);
if ($r->count()) {
$f = new Tinebase_Model_Filter_Id(array('field' => 'account_id', 'operator' => 'in', 'value' => $r->id));
$f->setIsImplicit(true);
$fg->addFilter($f);
}
}
// fetch shared accounts
if ($manageShared) {
$accountFilter = new Sipgate_Model_AccountFilter(array(), 'AND');
$accountFilter->addFilter(new Tinebase_Model_Filter_Text(array('field' => 'type', 'operator' => 'equals', 'value' => 'shared')));
$r = Sipgate_Controller_Account::getInstance()->searchRightsLess($accountFilter);
if ($r->count()) {
$f = new Tinebase_Model_Filter_Id(array('field' => 'account_id', 'operator' => 'in', 'value' => $r->id));
$f->setIsImplicit(true);
$fg->addFilter($f);
}
}
}
$_filter->addFiltergroup($fg);
}