'CiviMember', 'translatedName' => ts('CiviMember'), 'title' => 'CiviCRM Membership Engine', 'search' => 1, 'showActivitiesInCore' => 1, ); } /** * @inheritDoc * Provides permissions that are used by component. * Needs to be implemented in component's information * class. * * NOTE: if using conditionally permission return, * implementation of $getAllUnconditionally is required. * * @param bool $getAllUnconditionally * * @return array|null * collection of permissions, null if none */ /** * @param bool $getAllUnconditionally * * @return array|null */ public function getPermissions($getAllUnconditionally = FALSE) { return array( 'access CiviMember', 'edit memberships', 'delete in CiviMember', ); } /** * @inheritDoc * Provides information about user dashboard element * offered by this component. * * @return array|null * collection of required dashboard settings, * null if no element offered */ /** * @return array|null */ public function getUserDashboardElement() { return array( 'name' => ts('Memberships'), 'title' => ts('Your Membership(s)'), // this is CiviContribute specific permission, since // there is no permission that could be checked for // CiviMember 'perm' => array('make online contributions'), 'weight' => 30, ); } /** * @inheritDoc * Provides information about user dashboard element * offered by this component. * * @return array|null * collection of required dashboard settings, * null if no element offered */ /** * @return array|null */ public function registerTab() { return array( 'title' => ts('Memberships'), 'url' => 'membership', 'weight' => 30, ); } /** * @inheritDoc * Provides information about advanced search pane * offered by this component. * * @return array|null * collection of required pane settings, * null if no element offered */ /** * @return array|null */ public function registerAdvancedSearchPane() { return array( 'title' => ts('Memberships'), 'weight' => 30, ); } /** * @inheritDoc * Provides potential activity types that this * component might want to register in activity history. * Needs to be implemented in component's information * class. * * @return array|null * collection of activity types */ /** * @return array|null */ public function getActivityTypes() { return NULL; } /** * add shortcut to Create New * @param $shortCuts * @param $newCredit */ public function creatNewShortcut(&$shortCuts, $newCredit) { if (CRM_Core_Permission::check('access CiviMember') && CRM_Core_Permission::check('edit memberships') ) { $shortCut[] = array( 'path' => 'civicrm/member/add', 'query' => "reset=1&action=add&context=standalone", 'ref' => 'new-membership', 'title' => ts('Membership'), ); if ($newCredit) { $title = ts('Membership') . '
  (' . ts('credit card') . ')'; $shortCut[0]['shortCuts'][] = array( 'path' => 'civicrm/member/add', 'query' => "reset=1&action=add&context=standalone&mode=live", 'ref' => 'new-membership-cc', 'title' => $title, ); } $shortCuts = array_merge($shortCuts, $shortCut); } } }