Exemplo n.º 1
0
 public static function factory($settings, $owner)
 {
     $settings = array_merge(self::$defaultSettings, $settings);
     $className = 'ParadoxTitanFrameworkOption' . str_replace(' ', '', ucwords(str_replace('-', ' ', $settings['type'])));
     // assume all the classes are already required
     if (!class_exists($className) && !class_exists($settings['type'])) {
         ParadoxTitanFramework::displayFrameworkError(sprintf(__('Option type or extended class %s does not exist.', PARADOX_TF_I18NDOMAIN), '<code>' . $settings['type'] . '</code>', $settings), $settings);
         return null;
     }
     if (class_exists($className)) {
         $obj = new $className($settings, $owner);
         return $obj;
     }
     $className = $settings['type'];
     $obj = new $className($settings, $owner);
     return $obj;
 }