Example #1
0
 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;
 }
Example #4
0
 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];
 }