INFRA-132 - Docblock @param and @return tag fixes
[civicrm-core.git] / CRM / Core / Component / Info.php
index c9433c5c34fe4f5b337f173d7e0181d8fd1bff03..a7548f46fcd3a37d8af95b6f3d9bc663c34fde65 100644 (file)
@@ -1,7 +1,7 @@
 <?php
 /*
  +--------------------------------------------------------------------+
- | CiviCRM version 4.5                                                |
+ | CiviCRM version 4.6                                                |
  +--------------------------------------------------------------------+
  | Copyright CiviCRM LLC (c) 2004-2014                                |
  +--------------------------------------------------------------------+
  * $Id$
  *
  */
-
 abstract class CRM_Core_Component_Info {
 
-  /*
-     * Name of the class (minus component namespace path)
-     * of the component invocation class'es name.
-     */
-  CONST COMPONENT_INVOKE_CLASS = 'Invoke';
+  /**
+   * Name of the class (minus component namespace path)
+   * of the component invocation class'es name.
+   */
+  const COMPONENT_INVOKE_CLASS = 'Invoke';
 
-  /*
-     * Name of the class (minus component namespace path)
-     * of the component configuration class'es name.
-     */
-  CONST COMPONENT_CONFIG_CLASS = 'Config';
+  /**
+   * Name of the class (minus component namespace path)
+   * of the component configuration class'es name.
+   */
+  const COMPONENT_CONFIG_CLASS = 'Config';
 
-  /*
-     * Name of the class (minus component namespace path)
-     * of the component BAO Query class'es name.
-     */
-  CONST COMPONENT_BAO_QUERY_CLASS = 'BAO_Query';
+  /**
+   * Name of the class (minus component namespace path)
+   * of the component BAO Query class'es name.
+   */
+  const COMPONENT_BAO_QUERY_CLASS = 'BAO_Query';
 
-  /*
-     * Name of the class (minus component namespace path)
-     * of the component user dashboard plugin.
-     */
-  CONST COMPONENT_USERDASHBOARD_CLASS = 'Page_UserDashboard';
+  /**
+   * Name of the class (minus component namespace path)
+   * of the component user dashboard plugin.
+   */
+  const COMPONENT_USERDASHBOARD_CLASS = 'Page_UserDashboard';
 
-  /*
-     * Name of the class (minus component namespace path)
-     * of the component tab offered to contact record view.
-     */
-  CONST COMPONENT_TAB_CLASS = 'Page_Tab';
+  /**
+   * Name of the class (minus component namespace path)
+   * of the component tab offered to contact record view.
+   */
+  const COMPONENT_TAB_CLASS = 'Page_Tab';
 
-  /*
-     * Name of the class (minus component namespace path)
-     * of the component tab offered to contact record view.
-     */
-  CONST COMPONENT_ADVSEARCHPANE_CLASS = 'Form_Search_AdvancedSearchPane';
+  /**
+   * Name of the class (minus component namespace path)
+   * of the component tab offered to contact record view.
+   */
+  const COMPONENT_ADVSEARCHPANE_CLASS = 'Form_Search_AdvancedSearchPane';
 
-  /*
-     * Name of the directory (assumed in component directory)
-     * where xml resources used by this component live.
-     */
-  CONST COMPONENT_XML_RESOURCES = 'xml';
+  /**
+   * Name of the directory (assumed in component directory)
+   * where xml resources used by this component live.
+   */
+  const COMPONENT_XML_RESOURCES = 'xml';
 
-  /*
-     * Name of the directory (assumed in xml resources path)
-     * containing component menu definition XML file names.
-     */
-  CONST COMPONENT_MENU_XML = 'Menu';
+  /**
+   * Name of the directory (assumed in xml resources path)
+   * containing component menu definition XML file names.
+   */
+  const COMPONENT_MENU_XML = 'Menu';
 
-  /*
+  /**
    * Stores component information.
    * @var array component settings as key/value pairs
    */
@@ -97,33 +96,26 @@ abstract class CRM_Core_Component_Info {
    */
   protected $keyword;
 
-  /*
-   * Class constructor, sets name and namespace (those are stored
-   * in the component registry (database) and no need to duplicate
-   * them here, as well as populates the info variable.
-   *
-   * @param string $name name of the component
-   * @param string $namespace namespace prefix for component's files
-   * @access public
-   *
-   */
   /**
-   * @param $name
-   * @param $namespace
-   * @param $componentID
+   * @param string $name
+   *   Name of the component.
+   * @param string $namespace
+   *   Namespace prefix for component's files.
+   * @param int $componentID
    */
   public function __construct($name, $namespace, $componentID) {
-    $this->name        = $name;
-    $this->namespace   = $namespace;
+    $this->name = $name;
+    $this->namespace = $namespace;
     $this->componentID = $componentID;
-    $this->info        = $this->getInfo();
+    $this->info = $this->getInfo();
     $this->info['url'] = $this->getKeyword();
   }
 
   /**
    * EXPERIMENTAL: Get a list of AngularJS modules
    *
-   * @return array list of modules; same format as CRM_Utils_Hook::angularModules(&$angularModules)
+   * @return array
+   *   list of modules; same format as CRM_Utils_Hook::angularModules(&$angularModules)
    * @see CRM_Utils_Hook::angularModules
    */
   public function getAngularModules() {
@@ -135,16 +127,16 @@ abstract class CRM_Core_Component_Info {
    * Needs to be implemented in component's information
    * class.
    *
-   * @return array collection of required component settings
-   * @access public
-   *
+   * @return array
+   *   collection of required component settings
    */
   abstract public function getInfo();
 
   /**
    * Get a list of entities to register via API
    *
-   * @return array list of entities; same format as CRM_Utils_Hook::managedEntities(&$entities)
+   * @return array
+   *   list of entities; same format as CRM_Utils_Hook::managedEntities(&$entities)
    * @see CRM_Utils_Hook::managedEntities
    */
   public function getManagedEntities() {
@@ -154,7 +146,8 @@ abstract class CRM_Core_Component_Info {
   /**
    * Provides permissions that are unwise for Anonymous Roles to have
    *
-   * @return array list of permissions
+   * @return array
+   *   list of permissions
    * @see CRM_Component_Info::getPermissions
    */
   public function getAnonymousPermissionWarnings() {
@@ -171,16 +164,18 @@ abstract class CRM_Core_Component_Info {
    *
    * @param bool $getAllUnconditionally
    *
-   * @return array|null collection of permissions, null if none
-   * @access public
+   * @return array|null
+   *   collection of permissions, null if none
    */
   abstract public function getPermissions($getAllUnconditionally = FALSE);
 
   /**
    * Determine how many other records refer to a given record
    *
-   * @param CRM_Core_DAO $dao the item for which we want a reference count
-   * @return array each item in the array is an array with keys:
+   * @param CRM_Core_DAO $dao
+   *   The item for which we want a reference count.
+   * @return array
+   *   each item in the array is an array with keys:
    *   - name: string, eg "sql:civicrm_email:contact_id"
    *   - type: string, eg "sql"
    *   - count: int, eg "5" if there are 5 email addresses that refer to $dao
@@ -193,10 +188,9 @@ abstract class CRM_Core_Component_Info {
    * Provides information about user dashboard element
    * offered by this component.
    *
-   * @return array|null collection of required dashboard settings,
+   * @return array|null
+   *   collection of required dashboard settings,
    *                    null if no element offered
-   * @access public
-   *
    */
   abstract public function getUserDashboardElement();
 
@@ -204,10 +198,9 @@ abstract class CRM_Core_Component_Info {
    * Provides information about user dashboard element
    * offered by this component.
    *
-   * @return array|null collection of required dashboard settings,
+   * @return array|null
+   *   collection of required dashboard settings,
    *                    null if no element offered
-   * @access public
-   *
    */
   abstract public function registerTab();
 
@@ -215,10 +208,9 @@ abstract class CRM_Core_Component_Info {
    * Provides information about advanced search pane
    * offered by this component.
    *
-   * @return array|null collection of required pane settings,
+   * @return array|null
+   *   collection of required pane settings,
    *                    null if no element offered
-   * @access public
-   *
    */
   abstract public function registerAdvancedSearchPane();
 
@@ -228,9 +220,8 @@ abstract class CRM_Core_Component_Info {
    * Needs to be implemented in component's information
    * class.
    *
-   * @return array|null collection of activity types
-   * @access public
-   *
+   * @return array|null
+   *   collection of activity types
    */
   abstract public function getActivityTypes();
 
@@ -238,9 +229,8 @@ abstract class CRM_Core_Component_Info {
    * Provides information whether given component is currently
    * marked as enabled in configuration.
    *
-   * @return boolean true if component is enabled, false if not
-   * @access public
-   *
+   * @return boolean
+   *   true if component is enabled, false if not
    */
   public function isEnabled() {
     $config = CRM_Core_Config::singleton();
@@ -253,9 +243,8 @@ abstract class CRM_Core_Component_Info {
   /**
    * Provides component's configuration object.
    *
-   * @return mixed component's configuration object
-   * @access public
-   *
+   * @return mixed
+   *   component's configuration object
    */
   public function getConfigObject() {
     return $this->_instantiate(self::COMPONENT_CONFIG_CLASS);
@@ -264,9 +253,8 @@ abstract class CRM_Core_Component_Info {
   /**
    * Provides component's menu definition object.
    *
-   * @return mixed component's menu definition object
-   * @access public
-   *
+   * @return mixed
+   *   component's menu definition object
    */
   public function getMenuObject() {
     return $this->_instantiate(self::COMPONENT_MENU_CLASS);
@@ -275,9 +263,8 @@ abstract class CRM_Core_Component_Info {
   /**
    * Provides component's invocation object.
    *
-   * @return mixed component's invocation object
-   * @access public
-   *
+   * @return mixed
+   *   component's invocation object
    */
   public function getInvokeObject() {
     return $this->_instantiate(self::COMPONENT_INVOKE_CLASS);
@@ -286,9 +273,8 @@ abstract class CRM_Core_Component_Info {
   /**
    * Provides component's BAO Query object.
    *
-   * @return mixed component's BAO Query object
-   * @access public
-   *
+   * @return mixed
+   *   component's BAO Query object
    */
   public function getBAOQueryObject() {
     return $this->_instantiate(self::COMPONENT_BAO_QUERY_CLASS);
@@ -296,9 +282,6 @@ abstract class CRM_Core_Component_Info {
 
   /**
    * Builds advanced search form's component specific pane.
-   *
-   * @access public
-   *
    */
   public function buildAdvancedSearchPaneForm(&$form) {
     $bao = $this->getBAOQueryObject();
@@ -308,9 +291,8 @@ abstract class CRM_Core_Component_Info {
   /**
    * Provides component's user dashboard page object.
    *
-   * @return mixed component's User Dashboard applet object
-   * @access public
-   *
+   * @return mixed
+   *   component's User Dashboard applet object
    */
   public function getUserDashboardObject() {
     return $this->_instantiate(self::COMPONENT_USERDASHBOARD_CLASS);
@@ -319,9 +301,8 @@ abstract class CRM_Core_Component_Info {
   /**
    * Provides component's contact record tab object.
    *
-   * @return mixed component's contact record tab object
-   * @access public
-   *
+   * @return mixed
+   *   component's contact record tab object
    */
   public function getTabObject() {
     return $this->_instantiate(self::COMPONENT_TAB_CLASS);
@@ -330,9 +311,8 @@ abstract class CRM_Core_Component_Info {
   /**
    * Provides component's advanced search pane's template path.
    *
-   * @return string component's advanced search pane's template path
-   * @access public
-   *
+   * @return string
+   *   component's advanced search pane's template path
    */
   public function getAdvancedSearchPaneTemplatePath() {
     $fullpath = $this->namespace . '_' . self::COMPONENT_ADVSEARCHPANE_CLASS;
@@ -342,9 +322,8 @@ abstract class CRM_Core_Component_Info {
   /**
    * Provides information whether given component uses system wide search.
    *
-   * @return boolean true if component needs search integration
-   * @access public
-   *
+   * @return boolean
+   *   true if component needs search integration
    */
   public function usesSearch() {
     return $this->info['search'] ? TRUE : FALSE;
@@ -353,9 +332,8 @@ abstract class CRM_Core_Component_Info {
   /**
    * Provides the xml menu files
    *
-   * @return array array of menu files
-   * @access public
-   *
+   * @return array
+   *   array of menu files
    */
   public function menuFiles() {
     return CRM_Utils_File::getFilesByExtension($this->_getMenuXMLPath(), 'xml');
@@ -366,9 +344,8 @@ abstract class CRM_Core_Component_Info {
    * FIXME: It should be protected so the keyword is not
    * FIXME: accessed from beyond component infrastructure.
    *
-   * @return string component keyword
-   * @access public
-   *
+   * @return string
+   *   component keyword
    */
   public function getKeyword() {
     return $this->keyword;
@@ -377,9 +354,8 @@ abstract class CRM_Core_Component_Info {
   /**
    * Helper for figuring out menu XML file location.
    *
-   * @return mixed component's element as class instance
-   * @access private
-   *
+   * @return mixed
+   *   component's element as class instance
    */
   private function _getMenuXMLPath() {
     global $civicrm_root;
@@ -392,13 +368,12 @@ abstract class CRM_Core_Component_Info {
    *
    * @param $cl
    *
-   * @return mixed component's element as class instance
-   * @access private
+   * @return mixed
+   *   component's element as class instance
    */
   private function _instantiate($cl) {
     $className = $this->namespace . '_' . $cl;
-    require_once (str_replace('_', DIRECTORY_SEPARATOR, $className) . '.php');
+    require_once str_replace('_', DIRECTORY_SEPARATOR, $className) . '.php';
     return new $className();
   }
 }
-