Merge remote-tracking branch 'upstream/4.4' into 4.4-master-2014-01-27-22-52-52
[civicrm-core.git] / xml / templates / listAll.tpl
index f64a05832578e9bbba0feb817cf40eeb07bc5b90..58359c00ccdff12ea7b4ced423cb69a1c5f7c6c9 100644 (file)
@@ -2,7 +2,7 @@
 
 /*
  +--------------------------------------------------------------------+
- | CiviCRM version 4.3                                                |
+ | CiviCRM version 4.4                                                |
  +--------------------------------------------------------------------+
  | Copyright CiviCRM LLC (c) 2004-2013                                |
  +--------------------------------------------------------------------+
@@ -39,9 +39,9 @@ class CRM_Core_DAO_AllCoreTables {ldelim}
   static private $tables = null;
   static private $daoToClass = null;
 
-  static private function init() {ldelim}
+  static private function init($fresh = FALSE) {ldelim}
     static $init = FALSE;
-    if ($init) return;
+    if ($init && !$fresh) return;
 
     $entityTypes = array(
 {foreach from=$tables key=tableName item=table}
@@ -87,6 +87,10 @@ class CRM_Core_DAO_AllCoreTables {ldelim}
     return FALSE !== array_search($tableName, self::tables());
   {rdelim}
 
+  static public function getCanonicalClassName($className) {ldelim}
+    return str_replace('_BAO_', '_DAO_', $className);
+  {rdelim}
+
   static public function getClasses() {ldelim}
     return array_values(self::daoToClass());
   {rdelim}
@@ -103,4 +107,16 @@ class CRM_Core_DAO_AllCoreTables {ldelim}
     return CRM_Utils_Array::value($className, array_flip(self::daoToClass()));
   {rdelim}
 
+  /**
+   * @param string $className DAO or BAO name
+   * @return string|FALSE SQL table name
+   */
+  static public function getTableForClass($className) {ldelim}
+    return array_search(self::getCanonicalClassName($className), self::tables());
+  {rdelim}
+
+  static public function reinitializeCache($fresh = FALSE) {ldelim}
+    self::init($fresh);
+  {rdelim}
+
 {rdelim}