public static function getInstance($source_name, $filter_name = '') { require_once 'include/connectors/filters/default/filter.php'; $key = $source_name . $filter_name; if (empty(self::$filter_map[$key])) { if (empty($filter_name)) { $filter_name = $source_name; } //split the wrapper name to find the path to the file. $dir = str_replace('_', '/', $filter_name); $parts = explode("/", $dir); $file = $parts[count($parts) - 1]; //check if this override wrapper file exists. require_once 'include/connectors/ConnectorFactory.php'; if (file_exists("modules/Connectors/connectors/filters/{$dir}/{$file}.php") || file_exists("custom/modules/Connectors/connectors/filters/{$dir}/{$file}.php")) { ConnectorFactory::load($filter_name, 'filters'); try { $filter_name .= '_filter'; } catch (Exception $ex) { return null; } } else { //if there is no override wrapper, use the default. $filter_name = 'default_filter'; } $component = ConnectorFactory::getInstance($source_name); $filter = new $filter_name(); $filter->setComponent($component); self::$filter_map[$key] = $filter; } //if return self::$filter_map[$key]; }
/** * getInstance * This method returns a formatter instance for the given source name and * formatter name. If no formatter name is specified, the default formatter * for the source is used. * * @param $source_name The data source name to retreive formatter for * @param $formatter_name Optional formatter name to use * @param $wrapper_name Optional wrapper name to use * @return $instance The formatter instance */ public static function getInstance($source_name, $formatter_name = '') { require_once 'include/connectors/formatters/default/formatter.php'; $key = $source_name . $formatter_name; if (empty(self::$formatter_map[$key])) { if (empty($formatter_name)) { $formatter_name = $source_name; } $dir = str_replace('_', '/', $formatter_name); $parts = explode("/", $dir); $file = array_pop($parts); if (ConnectorFactory::load($formatter_name, 'formatters')) { $formatter_name .= '_formatter'; } else { //if there is no override wrapper, use the default. $formatter_name = 'default_formatter'; } $component = ConnectorFactory::getInstance($source_name); $formatter = new $formatter_name(); $formatter->setComponent($component); $tpl = SugarAutoLoader::existingCustomOne("modules/Connectors/connectors/formatters/{$dir}/tpls/{$file}.tpl"); if (!empty($tpl)) { $formatter->setTplFileName($tpl); } self::$formatter_map[$key] = $formatter; } //if return self::$formatter_map[$key]; }
/** * Given a source param, load the correct source and return the object * * @param string $class string representing the source to load * @param bool $call_init * * @return source|null */ public static function getSource($class, $call_init = true) { $dir = str_replace('_', '/', $class); $parts = explode("/", $dir); $file = $parts[count($parts) - 1]; $pos = strrpos($file, '/'); require_once DOCROOT . 'include/connectors/sources/default/source.php'; require_once DOCROOT . 'include/connectors/ConnectorFactory.php'; ConnectorFactory::load($class, 'sources'); try { $instance = new $class(); if ($call_init) { $instance->init(); } return $instance; } catch (Exception $ex) { } return null; }
public static function getInstance($source_name, $filter_name = '') { require_once 'include/connectors/filters/default/filter.php'; $key = $source_name . $filter_name; if (empty(self::$filter_map[$key])) { if (empty($filter_name)) { $filter_name = $source_name; } if (ConnectorFactory::load($filter_name, 'filters')) { $filter_name .= '_filter'; } else { //if there is no override wrapper, use the default. $filter_name = 'default_filter'; } $component = ConnectorFactory::getInstance($source_name); $filter = new $filter_name(); $filter->setComponent($component); self::$filter_map[$key] = $filter; } //if return self::$filter_map[$key]; }