3 +--------------------------------------------------------------------+
4 | CiviCRM version 4.5 |
5 +--------------------------------------------------------------------+
6 | Copyright CiviCRM LLC (c) 2004-2014 |
7 +--------------------------------------------------------------------+
8 | This file is a part of CiviCRM. |
10 | CiviCRM is free software; you can copy, modify, and distribute it |
11 | under the terms of the GNU Affero General Public License |
12 | Version 3, 19 November 2007 and the CiviCRM Licensing Exception. |
14 | CiviCRM is distributed in the hope that it will be useful, but |
15 | WITHOUT ANY WARRANTY; without even the implied warranty of |
16 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. |
17 | See the GNU Affero General Public License for more details. |
19 | You should have received a copy of the GNU Affero General Public |
20 | License and the CiviCRM Licensing Exception along |
21 | with this program; if not, contact CiviCRM LLC |
22 | at info[AT]civicrm[DOT]org. If you have questions about the |
23 | GNU Affero General Public License or the licensing of CiviCRM, |
24 | see the CiviCRM license FAQ at http://civicrm.org/licensing |
25 +--------------------------------------------------------------------+
31 * @copyright CiviCRM LLC (c) 2004-2014
35 class CRM_Group_Page_Group
extends CRM_Core_Page_Basic
{
36 protected $_sortByCharacter;
41 function getBAOName() {
42 return 'CRM_Contact_BAO_Group';
46 * Function to define action links
48 * @return array self::$_links array of action links
54 * return class name of edit form
60 return 'CRM_Group_Form_Edit';
64 * return name of edit form
70 return ts('Edit Group');
74 * return name of delete form
79 function deleteName() {
80 return 'Delete Group';
84 * return user context uri to return to
91 function userContext($mode = NULL) {
92 return 'civicrm/group';
96 * return user context uri params
103 function userContextParams($mode = NULL) {
104 return 'reset=1&action=browse';
108 * make sure that the user has permission to access this group
110 * @param int $id the id of the object
113 * @internal param int $name the name or title of the object
115 * @return string the permission that the user has (or null)
118 function checkPermission($id, $title) {
119 return CRM_Contact_BAO_Group
::checkPermission($id, $title);
123 * We need to do slightly different things for groups vs saved search groups, hence we
124 * reimplement browse from Page_Basic
131 function browse($action = NULL) {
132 $groupPermission = CRM_Core_Permission
::check('edit groups') ? CRM_Core_Permission
::EDIT
: CRM_Core_Permission
::VIEW
;
133 $this->assign('groupPermission', $groupPermission);
135 $showOrgInfo = FALSE;
138 $reservedPermission = CRM_Core_Permission
::check('administer reserved groups') ? CRM_Core_Permission
::EDIT
: CRM_Core_Permission
::VIEW
;
139 $this->assign('reservedPermission', $reservedPermission);
141 if (CRM_Core_Permission
::check('administer Multiple Organizations') &&
142 CRM_Core_Permission
::isMultisiteEnabled()
146 $this->assign('showOrgInfo', $showOrgInfo);
148 // Refresh smart group cache
149 if (!empty($_GET['update_smart_groups'])) {
150 CRM_Contact_BAO_GroupContactCache
::loadAll();
158 (CRM_Core_Action
::ADD |
159 CRM_Core_Action
::UPDATE |
160 CRM_Core_Action
::DELETE
166 $form = new CRM_Core_Controller_Simple('CRM_Group_Form_Search', ts('Search Groups'), CRM_Core_Action
::ADD
);
167 $form->setEmbedded(TRUE);
168 $form->setParent($this);