当前位置: 首页>>代码示例>>PHP>>正文


PHP Tinebase_Model_Filter_FilterGroup::addFiltergroup方法代码示例

本文整理汇总了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);
 }
开发者ID:ingoratsdorf,项目名称:Tine-2.0-Open-Source-Groupware-and-CRM,代码行数:40,代码来源:Line.php


注:本文中的Tinebase_Model_Filter_FilterGroup::addFiltergroup方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。