/*
+--------------------------------------------------------------------+
- | 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. |
| |
/**
*
* @package CRM
- * @copyright CiviCRM LLC (c) 2004-2013
+ * @copyright CiviCRM LLC (c) 2004-2014
* $Id$
*
*/
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}
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}
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}