示例#1
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;
 }