Beispiel #1
0
 function &create($className)
 {
     $type = CRM_Utils_Array::value($className, $GLOBALS['_CRM_CONTACT_DAO_FACTORY']['_classes']);
     if (!$type) {
         return CRM_Core_DAO_Factory::create($className);
     }
     $file = $GLOBALS['_CRM_CONTACT_DAO_FACTORY']['_prefix'][$type] . $className;
     $class = str_replace('/', '_', $file);
     require_once $file . $GLOBALS['_CRM_CONTACT_DAO_FACTORY']['_suffix'];
     $newObj = eval(sprintf("return %s %s%s();", $GLOBALS['_CRM_CONTACT_DAO_FACTORY']['_preCall'][$type], $class, $GLOBALS['_CRM_CONTACT_DAO_FACTORY']['_extCall'][$type]));
     return $newObj;
 }
Beispiel #2
0
 static function &create($className)
 {
     $type = CRM_Utils_Array::value($className, self::$_classes);
     if (!$type) {
         return CRM_Core_DAO_Factory::create($className);
     }
     $file = self::$_prefix[$type] . $className;
     $class = str_replace('/', '_', $file);
     require_once $file . self::$_suffix;
     $newObj = eval(sprintf("return %s %s%s();", self::$_preCall[$type], $class, self::$_extCall[$type]));
     return $newObj;
 }
Beispiel #3
0
 static function &create($className)
 {
     $type = CRM_Utils_Array::value($className, self::$_classes);
     if (!$type) {
         return CRM_Core_DAO_Factory::create($className);
     }
     $file = self::$_prefix[$type] . $className;
     $class = str_replace('/', '_', $file);
     require_once $file . self::$_suffix;
     if ($type == 'singleton') {
         $newObj = $class::singleton();
     } else {
         // this is either 'business' or 'data'
         $newObj = new $class();
     }
     return $newObj;
 }