Example #1
0
 /**
  *
  *
  *
  *
  **/
 public static function getInstance($driver = NULL)
 {
     if (!self::$init) {
         self::init();
     }
     if (!$driver && isset(self::$routine_driver_map[CATMAILER_LIB])) {
         $driver = self::$routine_driver_map[CATMAILER_LIB];
     }
     if (!$driver) {
         $driver = 'PHPMailer';
     }
     if (!preg_match('/driver$/i', $driver)) {
         $driver .= 'Driver';
     }
     // check if the lib is available
     if (!file_exists(dirname(__FILE__) . '/../../../modules/' . CATMAILER_LIB)) {
         return false;
     }
     if (!isset(self::$_drivers[$driver]) || !is_object(self::$_drivers[$driver])) {
         if (!file_exists(dirname(__FILE__) . '/Mail/' . $driver . '.php')) {
             CAT_Object::getInstance()->printFatalError('No such mail driver: [' . $driver . ']');
         }
         require dirname(__FILE__) . '/Mail/' . $driver . '.php';
         $driver = 'CAT_Helper_Mail_' . $driver;
         self::$_drivers[$driver] = $driver::getInstance(self::$settings);
     }
     return self::$_drivers[$driver];
 }
Example #2
0
 /**
  * include/enable HTMLPurifier
  *
  * @access private
  * @param  $config - optional config array passed to HTMLPurifier
  * @return object
  **/
 private static function getPurifier($config = NULL)
 {
     if (is_object(self::$purifier)) {
         return self::$purifier;
     }
     if (!class_exists('HTMLPurifier', false)) {
         $path = CAT_Helper_Directory::getInstance()->sanitizePath(CAT_PATH . '/modules/lib_htmlpurifier/htmlpurifier/library/HTMLPurifier.auto.php');
         if (!file_exists($path)) {
             CAT_Object::getInstance()->printFatalError('Missing library HTMLPurifier!');
         }
         include $path;
     }
     $pconfig = HTMLPurifier_Config::createDefault();
     if ($config && is_array($config)) {
         foreach ($config as $key => $val) {
             $pconfig->set($key, $val);
         }
     }
     $pconfig->set('AutoFormat.Linkify', TRUE);
     $pconfig->set('URI.Disable', false);
     // allow most HTML but not all (no forms, for example)
     $pconfig->set('HTML.Allowed', 'a[href|title],abbr[title],acronym[title],b,blockquote[cite],br,caption,cite,code,dd,del,dfn,div,dl,dt,em,h1,h2,h3,h4,h5,h6,i,img[src|alt|title|class],ins,kbd,li,ol,p,pre,s,strike,strong,sub,sup,table,tbody,td,tfoot,th,thead,tr,tt,u,ul,var');
     self::$purifier = new HTMLPurifier($pconfig);
     return self::$purifier;
 }
Example #3
0
 /**
  * check a value as type
  *
  * @access public
  * @param  mixed  $value
  * @param  string $as
  * @return mixed
  **/
 public static function check($value, $as)
 {
     $func = 'is_' . $as;
     if (!function_exists($func)) {
         CAT_Object::getInstance()->printFatalError('No such validation method: ' . $as);
     }
     if (!$func($value)) {
         return false;
     }
     return $value;
 }
Example #4
0
 /**
  * try to load the driver
  * 
  * @access private
  * @param  string  $driver  - driver name
  * @param  string  $zipfile - optional zip file name
  * @return object
  **/
 private static function getDriver($driver, $zipfile = NULL)
 {
     if (!preg_match('/driver$/i', $driver)) {
         $driver .= 'Driver';
     }
     if (!isset(self::$_drivers[$driver]) || !is_object(self::$_drivers[$driver])) {
         if (!file_exists(dirname(__FILE__) . '/Zip/' . $driver . '.php')) {
             CAT_Object::getInstance()->printFatalError('No such Zip driver: [' . $driver . ']');
         }
         require dirname(__FILE__) . '/Zip/' . $driver . '.php';
         $driver = 'CAT_Helper_Zip_' . $driver;
         self::$_drivers[$driver] = $driver::getInstance($zipfile);
     }
     return self::$_drivers[$driver];
 }