Merge pull request #3876 from davecivicrm/CRM-15118
[civicrm-core.git] / CRM / Member / Info.php
index d1ba878ac79957e3312406d683ec73d74eeae9b8..2aba1062d5e3df3de7cc1b1613bdabc49f90e055 100644 (file)
@@ -1,9 +1,9 @@
 <?php
 /*
  +--------------------------------------------------------------------+
- | CiviCRM version 4.3                                                |
+ | CiviCRM version 4.5                                                |
  +--------------------------------------------------------------------+
- | Copyright CiviCRM LLC (c) 2004-2013                                |
+ | Copyright CiviCRM LLC (c) 2004-2014                                |
  +--------------------------------------------------------------------+
  | This file is a part of CiviCRM.                                    |
  |                                                                    |
@@ -31,7 +31,7 @@
  * abstract class.
  *
  * @package CRM
- * @copyright CiviCRM LLC (c) 2004-2013
+ * @copyright CiviCRM LLC (c) 2004-2014
  * $Id$
  *
  */
@@ -41,6 +41,18 @@ class CRM_Member_Info extends CRM_Core_Component_Info {
   protected $keyword = 'member';
 
   // docs inherited from interface
+  /**
+   * Provides base information about the component.
+   * Needs to be implemented in component's information
+   * class.
+   *
+   * @return array collection of required component settings
+   * @access public
+   *
+   */
+  /**
+   * @return array
+   */
   public function getInfo() {
     return array(
       'name' => 'CiviMember',
@@ -53,6 +65,24 @@ class CRM_Member_Info extends CRM_Core_Component_Info {
 
 
   // docs inherited from interface
+  /**
+   * 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
+   * @access public
+   */
+  /**
+   * @param bool $getAllUnconditionally
+   *
+   * @return array|null
+   */
   public function getPermissions($getAllUnconditionally = FALSE) {
     return array(
       'access CiviMember',
@@ -62,6 +92,18 @@ class CRM_Member_Info extends CRM_Core_Component_Info {
   }
 
   // docs inherited from interface
+  /**
+   * Provides information about user dashboard element
+   * offered by this component.
+   *
+   * @return array|null collection of required dashboard settings,
+   *                    null if no element offered
+   * @access public
+   *
+   */
+  /**
+   * @return array|null
+   */
   public function getUserDashboardElement() {
     return array('name' => ts('Memberships'),
       'title' => ts('Your Membership(s)'),
@@ -74,6 +116,18 @@ class CRM_Member_Info extends CRM_Core_Component_Info {
   }
 
   // docs inherited from interface
+  /**
+   * Provides information about user dashboard element
+   * offered by this component.
+   *
+   * @return array|null collection of required dashboard settings,
+   *                    null if no element offered
+   * @access public
+   *
+   */
+  /**
+   * @return array|null
+   */
   public function registerTab() {
     return array('title' => ts('Memberships'),
       'url' => 'membership',
@@ -82,6 +136,18 @@ class CRM_Member_Info extends CRM_Core_Component_Info {
   }
 
   // docs inherited from interface
+  /**
+   * Provides information about advanced search pane
+   * offered by this component.
+   *
+   * @return array|null collection of required pane settings,
+   *                    null if no element offered
+   * @access public
+   *
+   */
+  /**
+   * @return array|null
+   */
   public function registerAdvancedSearchPane() {
     return array('title' => ts('Memberships'),
       'weight' => 30,
@@ -89,30 +155,48 @@ class CRM_Member_Info extends CRM_Core_Component_Info {
   }
 
   // docs inherited from interface
+  /**
+   * 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
+   * @access public
+   *
+   */
+  /**
+   * @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')
     ) {
-      $shortCuts = array_merge($shortCuts, array(
-        array('path' => 'civicrm/member/add',
-            'query' => "reset=1&action=add&context=standalone",
-            'ref' => 'new-membership',
-            'title' => ts('Membership'),
-          )));
+      $shortCut[] = array(
+        'path' => 'civicrm/member/add',
+        'query' => "reset=1&action=add&context=standalone",
+        'ref' => 'new-membership',
+        'title' => ts('Membership'),
+      );
       if ($newCredit) {
         $title = ts('Membership') . '<br />&nbsp;&nbsp;(' . ts('credit card') . ')';
-        $shortCuts = array_merge($shortCuts, array(
-          array('path' => 'civicrm/member/add',
-              'query' => "reset=1&action=add&context=standalone&mode=live",
-              'ref' => 'new-membership-cc',
-              'title' => $title,
-            )));
+        $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);
     }
   }
 }