add status preference dao to ignore list
[civicrm-core.git] / CRM / Core / Component.php
index 84dd89d535c62da054c387f75d23161c32a38398..da70a18ef1271d96a814781a838e12e42bf445dc 100644 (file)
@@ -3,7 +3,7 @@
  +--------------------------------------------------------------------+
  | CiviCRM version 4.6                                                |
  +--------------------------------------------------------------------+
- | Copyright CiviCRM LLC (c) 2004-2014                                |
+ | Copyright CiviCRM LLC (c) 2004-2015                                |
  +--------------------------------------------------------------------+
  | This file is a part of CiviCRM.                                    |
  |                                                                    |
  | GNU Affero General Public License or the licensing of CiviCRM,     |
  | see the CiviCRM license FAQ at http://civicrm.org/licensing        |
  +--------------------------------------------------------------------+
-*/
+ */
 
 /**
  * Component stores all the static and dynamic information of the various
  * CiviCRM components
  *
  * @package CRM
- * @copyright CiviCRM LLC (c) 2004-2014
+ * @copyright CiviCRM LLC (c) 2004-2015
  * $Id$
  *
  */
@@ -99,7 +99,7 @@ class CRM_Core_Component {
       $cr->find(FALSE);
       while ($cr->fetch()) {
         $infoClass = $cr->namespace . '_' . self::COMPONENT_INFO_CLASS;
-        require_once (str_replace('_', DIRECTORY_SEPARATOR, $infoClass) . '.php');
+        require_once str_replace('_', DIRECTORY_SEPARATOR, $infoClass) . '.php';
         $infoObject = new $infoClass($cr->name, $cr->namespace, $cr->id);
         if ($infoObject->info['name'] !== $cr->name) {
           CRM_Core_Error::fatal("There is a discrepancy between name in component registry and in info file ({$cr->name}).");
@@ -112,6 +112,23 @@ class CRM_Core_Component {
     return $_cache;
   }
 
+  /**
+   * @return array
+   *   Array(string $name => int $id).
+   */
+  public static function &getComponentIDs() {
+    $componentIDs = array();
+
+    $cr = new CRM_Core_DAO_Component();
+    $cr->find(FALSE);
+    while ($cr->fetch()) {
+      $componentIDs[$cr->name] = $cr->id;
+    }
+
+    return $componentIDs;
+  }
+
+
   /**
    * @param bool $force
    *
@@ -222,6 +239,8 @@ class CRM_Core_Component {
   /**
    * @param $config
    * @param bool $oldMode
+   *
+   * @return null
    */
   public static function addConfig(&$config, $oldMode = FALSE) {
     $info = self::_info();
@@ -230,7 +249,7 @@ class CRM_Core_Component {
       $cfg = $comp->getConfigObject();
       $cfg->add($config, $oldMode);
     }
-    return;
+    return NULL;
   }
 
   /**
@@ -275,8 +294,8 @@ class CRM_Core_Component {
     $fields = array();
     foreach ($info as $name => $comp) {
       if ($comp->usesSearch()) {
-        $bqr    = $comp->getBAOQueryObject();
-        $flds   = $bqr->getFields();
+        $bqr = $comp->getBAOQueryObject();
+        $flds = $bqr->getFields();
         $fields = array_merge($fields, $flds);
       }
     }
@@ -327,7 +346,8 @@ class CRM_Core_Component {
    *
    * @return null
    */
-  static function &defaultReturnProperties($mode,
+  public static function &defaultReturnProperties(
+    $mode,
     $includeCustomFields = TRUE
   ) {
     $info = self::_info();
@@ -417,12 +437,11 @@ class CRM_Core_Component {
   }
 
   /**
-   * Handle table dependencies of components
+   * Handle table dependencies of components.
    *
-   * @param array $tables  array of tables
+   * @param array $tables
+   *   Array of tables.
    *
-   * @return null
-   * @static
    */
   public static function tableNames(&$tables) {
     $info = self::_info();
@@ -436,8 +455,7 @@ class CRM_Core_Component {
   }
 
   /**
-   * Get components info from info file
-   *
+   * Get components info from info file.
    */
   public static function getComponentsFromFile($crmFolderDir) {
     $components = array();
@@ -452,7 +470,7 @@ class CRM_Core_Component {
         $infoFile = $crmFolderDir . "/{$subDir}/" . self::COMPONENT_INFO_CLASS . '.php';
         if (file_exists($infoFile)) {
           $infoClass = 'CRM_' . $subDir . '_' . self::COMPONENT_INFO_CLASS;
-          require_once (str_replace('_', DIRECTORY_SEPARATOR, $infoClass) . '.php');
+          require_once str_replace('_', DIRECTORY_SEPARATOR, $infoClass) . '.php';
           $infoObject = new $infoClass(NULL, NULL, NULL);
           $components[$infoObject->info['name']] = $infoObject;
           unset($infoObject);
@@ -462,4 +480,5 @@ class CRM_Core_Component {
 
     return $components;
   }
+
 }