Пример #1
0
 function __construct()
 {
     global $whitelist;
     $this->document = new DOMDocument();
     $this->document->preserveWhiteSpace = FALSE;
     // Load in the external whitelist data.
     require_once 'data.svg-whitelist.php';
     self::$whitelist = $whitelist;
 }
 public function sanitize_svg($file)
 {
     if ($file['type'] == 'image/svg+xml') {
         require_once 'library/class.svg-sanitizer.php';
         $svg = new SvgSanitizer();
         // We read in the temporary file prior to WordPress moving it.
         $svg->load($file['tmp_name']);
         $svg->sanitize();
         $sanitized_svg = $svg->saveSVG();
         global $wp_filesystem;
         $credentials = request_filesystem_credentials(site_url() . '/wp-admin/', '', FALSE, FALSE, array());
         if (!WP_Filesystem($credentials)) {
             request_filesystem_credentials(site_url() . '/wp-admin/', '', TRUE, FALSE, NULL);
         }
         // Using the filesystem API provided by WordPress, we replace the contents of the temporary file and then let the process continue as normal.
         $replace_uploaded_file = $wp_filesystem->put_contents($file['tmp_name'], $sanitized_svg, FS_CHMOD_FILE);
     }
     return $file;
 }