Version Description
- Fixes some issues with defining the size of an SVG.
- Library update
Download this release
Release Info
Developer | enshrined |
Plugin | Safe SVG |
Version | 1.4.5 |
Comparing to | |
See all releases |
Code changes from version 1.4.4 to 1.4.5
lib/composer.lock
CHANGED
@@ -9,16 +9,16 @@
|
|
9 |
"packages": [
|
10 |
{
|
11 |
"name": "enshrined/svg-sanitize",
|
12 |
-
"version": "0.
|
13 |
"source": {
|
14 |
"type": "git",
|
15 |
"url": "https://github.com/darylldoyle/svg-sanitizer.git",
|
16 |
-
"reference": "
|
17 |
},
|
18 |
"dist": {
|
19 |
"type": "zip",
|
20 |
-
"url": "https://api.github.com/repos/darylldoyle/svg-sanitizer/zipball/
|
21 |
-
"reference": "
|
22 |
"shasum": ""
|
23 |
},
|
24 |
"require-dev": {
|
@@ -42,7 +42,7 @@
|
|
42 |
}
|
43 |
],
|
44 |
"description": "An SVG sanitizer for PHP",
|
45 |
-
"time": "2017-
|
46 |
}
|
47 |
],
|
48 |
"packages-dev": [],
|
9 |
"packages": [
|
10 |
{
|
11 |
"name": "enshrined/svg-sanitize",
|
12 |
+
"version": "0.6.0",
|
13 |
"source": {
|
14 |
"type": "git",
|
15 |
"url": "https://github.com/darylldoyle/svg-sanitizer.git",
|
16 |
+
"reference": "0c943fe5fe0acb30f4c80f3a4602c44498f95eff"
|
17 |
},
|
18 |
"dist": {
|
19 |
"type": "zip",
|
20 |
+
"url": "https://api.github.com/repos/darylldoyle/svg-sanitizer/zipball/0c943fe5fe0acb30f4c80f3a4602c44498f95eff",
|
21 |
+
"reference": "0c943fe5fe0acb30f4c80f3a4602c44498f95eff",
|
22 |
"shasum": ""
|
23 |
},
|
24 |
"require-dev": {
|
42 |
}
|
43 |
],
|
44 |
"description": "An SVG sanitizer for PHP",
|
45 |
+
"time": "2017-06-11 23:08:25"
|
46 |
}
|
47 |
],
|
48 |
"packages-dev": [],
|
lib/vendor/composer/installed.json
CHANGED
@@ -1,24 +1,24 @@
|
|
1 |
[
|
2 |
{
|
3 |
"name": "enshrined/svg-sanitize",
|
4 |
-
"version": "0.
|
5 |
-
"version_normalized": "0.
|
6 |
"source": {
|
7 |
"type": "git",
|
8 |
"url": "https://github.com/darylldoyle/svg-sanitizer.git",
|
9 |
-
"reference": "
|
10 |
},
|
11 |
"dist": {
|
12 |
"type": "zip",
|
13 |
-
"url": "https://api.github.com/repos/darylldoyle/svg-sanitizer/zipball/
|
14 |
-
"reference": "
|
15 |
"shasum": ""
|
16 |
},
|
17 |
"require-dev": {
|
18 |
"codeclimate/php-test-reporter": "^0.1.2",
|
19 |
"phpunit/phpunit": "^4.7"
|
20 |
},
|
21 |
-
"time": "2017-
|
22 |
"type": "library",
|
23 |
"installation-source": "dist",
|
24 |
"autoload": {
|
1 |
[
|
2 |
{
|
3 |
"name": "enshrined/svg-sanitize",
|
4 |
+
"version": "0.6.0",
|
5 |
+
"version_normalized": "0.6.0.0",
|
6 |
"source": {
|
7 |
"type": "git",
|
8 |
"url": "https://github.com/darylldoyle/svg-sanitizer.git",
|
9 |
+
"reference": "0c943fe5fe0acb30f4c80f3a4602c44498f95eff"
|
10 |
},
|
11 |
"dist": {
|
12 |
"type": "zip",
|
13 |
+
"url": "https://api.github.com/repos/darylldoyle/svg-sanitizer/zipball/0c943fe5fe0acb30f4c80f3a4602c44498f95eff",
|
14 |
+
"reference": "0c943fe5fe0acb30f4c80f3a4602c44498f95eff",
|
15 |
"shasum": ""
|
16 |
},
|
17 |
"require-dev": {
|
18 |
"codeclimate/php-test-reporter": "^0.1.2",
|
19 |
"phpunit/phpunit": "^4.7"
|
20 |
},
|
21 |
+
"time": "2017-06-11 23:08:25",
|
22 |
"type": "library",
|
23 |
"installation-source": "dist",
|
24 |
"autoload": {
|
lib/vendor/enshrined/svg-sanitize/.gitignore
CHANGED
@@ -1,2 +1,3 @@
|
|
1 |
/vendor
|
2 |
/build
|
|
1 |
/vendor
|
2 |
/build
|
3 |
+
/.idea
|
lib/vendor/enshrined/svg-sanitize/.travis.yml
CHANGED
@@ -5,7 +5,6 @@ php:
|
|
5 |
- 5.5
|
6 |
- 5.6
|
7 |
- 7.0
|
8 |
-
- hhvm
|
9 |
|
10 |
before_script:
|
11 |
- composer install --dev
|
5 |
- 5.5
|
6 |
- 5.6
|
7 |
- 7.0
|
|
|
8 |
|
9 |
before_script:
|
10 |
- composer install --dev
|
lib/vendor/enshrined/svg-sanitize/src/Sanitizer.php
CHANGED
@@ -149,6 +149,9 @@ class Sanitizer
|
|
149 |
return '';
|
150 |
}
|
151 |
|
|
|
|
|
|
|
152 |
$this->setUpBefore();
|
153 |
|
154 |
$loaded = $this->xmlDocument->loadXML($dirty);
|
@@ -168,7 +171,7 @@ class Sanitizer
|
|
168 |
$this->startClean($allElements);
|
169 |
|
170 |
// Save cleaned XML to a variable
|
171 |
-
$clean = $this->xmlDocument->saveXML($this->xmlDocument
|
172 |
|
173 |
$this->resetAfter();
|
174 |
|
@@ -321,4 +324,4 @@ class Sanitizer
|
|
321 |
{
|
322 |
$this->minifyXML = (bool) $shouldMinify;
|
323 |
}
|
324 |
-
}
|
149 |
return '';
|
150 |
}
|
151 |
|
152 |
+
// Strip php tags
|
153 |
+
$dirty = preg_replace('/<\?(=|php)(.+?)\?>/i', '', $dirty);
|
154 |
+
|
155 |
$this->setUpBefore();
|
156 |
|
157 |
$loaded = $this->xmlDocument->loadXML($dirty);
|
171 |
$this->startClean($allElements);
|
172 |
|
173 |
// Save cleaned XML to a variable
|
174 |
+
$clean = $this->xmlDocument->saveXML($this->xmlDocument, LIBXML_NOEMPTYTAG);
|
175 |
|
176 |
$this->resetAfter();
|
177 |
|
324 |
{
|
325 |
$this->minifyXML = (bool) $shouldMinify;
|
326 |
}
|
327 |
+
}
|
readme.txt
CHANGED
@@ -4,7 +4,7 @@ Donate link: https://wpsvg.com/
|
|
4 |
Tags: svg, sanitize, upload, sanitise, security, svg upload, image, vector, file, graphic, media, mime
|
5 |
Requires at least: 4.0
|
6 |
Tested up to: 4.8.0
|
7 |
-
Stable tag: 1.4.
|
8 |
License: GPLv2 or later
|
9 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
10 |
|
@@ -39,6 +39,10 @@ Install through the WordPress directory or download, unzip and upload the files
|
|
39 |
|
40 |
== Changelog ==
|
41 |
|
|
|
|
|
|
|
|
|
42 |
= 1.4.4 =
|
43 |
* SVGs now display as featured images in the admin area
|
44 |
|
4 |
Tags: svg, sanitize, upload, sanitise, security, svg upload, image, vector, file, graphic, media, mime
|
5 |
Requires at least: 4.0
|
6 |
Tested up to: 4.8.0
|
7 |
+
Stable tag: 1.4.5
|
8 |
License: GPLv2 or later
|
9 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
10 |
|
39 |
|
40 |
== Changelog ==
|
41 |
|
42 |
+
= 1.4.5 =
|
43 |
+
* Fixes some issues with defining the size of an SVG.
|
44 |
+
* Library update
|
45 |
+
|
46 |
= 1.4.4 =
|
47 |
* SVGs now display as featured images in the admin area
|
48 |
|
safe-svg.php
CHANGED
@@ -3,7 +3,7 @@
|
|
3 |
Plugin Name: Safe SVG
|
4 |
Plugin URI: https://wpsvg.com/
|
5 |
Description: Allows SVG uploads into WordPress and sanitizes the SVG before saving it
|
6 |
-
Version: 1.4.
|
7 |
Author: Daryll Doyle
|
8 |
Author URI: http://enshrined.co.uk
|
9 |
Text Domain: safe-svg
|
@@ -42,6 +42,7 @@ if ( ! class_exists( 'safe_svg' ) ) {
|
|
42 |
add_filter( 'wp_get_attachment_image_src', array( $this, 'one_pixel_fix' ), 10, 4 );
|
43 |
add_filter( 'admin_post_thumbnail_html', array( $this, 'featured_image_fix' ), 10, 3 );
|
44 |
add_action( 'admin_enqueue_scripts', array( $this, 'load_custom_admin_style' ) );
|
|
|
45 |
}
|
46 |
|
47 |
/**
|
@@ -208,8 +209,8 @@ if ( ! class_exists( 'safe_svg' ) ) {
|
|
208 |
*/
|
209 |
public function one_pixel_fix( $image, $attachment_id, $size, $icon ) {
|
210 |
if ( get_post_mime_type( $attachment_id ) == 'image/svg+xml' ) {
|
211 |
-
$image['1'] =
|
212 |
-
$image['2'] =
|
213 |
}
|
214 |
|
215 |
return $image;
|
@@ -241,6 +242,30 @@ if ( ! class_exists( 'safe_svg' ) ) {
|
|
241 |
wp_enqueue_style( 'safe-svg-css', plugins_url( 'assets/safe-svg.css', __FILE__ ), array() );
|
242 |
}
|
243 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
244 |
}
|
245 |
}
|
246 |
|
3 |
Plugin Name: Safe SVG
|
4 |
Plugin URI: https://wpsvg.com/
|
5 |
Description: Allows SVG uploads into WordPress and sanitizes the SVG before saving it
|
6 |
+
Version: 1.4.5
|
7 |
Author: Daryll Doyle
|
8 |
Author URI: http://enshrined.co.uk
|
9 |
Text Domain: safe-svg
|
42 |
add_filter( 'wp_get_attachment_image_src', array( $this, 'one_pixel_fix' ), 10, 4 );
|
43 |
add_filter( 'admin_post_thumbnail_html', array( $this, 'featured_image_fix' ), 10, 3 );
|
44 |
add_action( 'admin_enqueue_scripts', array( $this, 'load_custom_admin_style' ) );
|
45 |
+
add_action( 'get_image_tag', array( $this, 'get_image_tag_override' ), 10, 6 );
|
46 |
}
|
47 |
|
48 |
/**
|
209 |
*/
|
210 |
public function one_pixel_fix( $image, $attachment_id, $size, $icon ) {
|
211 |
if ( get_post_mime_type( $attachment_id ) == 'image/svg+xml' ) {
|
212 |
+
$image['1'] = false;
|
213 |
+
$image['2'] = false;
|
214 |
}
|
215 |
|
216 |
return $image;
|
242 |
wp_enqueue_style( 'safe-svg-css', plugins_url( 'assets/safe-svg.css', __FILE__ ), array() );
|
243 |
}
|
244 |
|
245 |
+
/**
|
246 |
+
* Override the default height and width string on an SVG
|
247 |
+
*
|
248 |
+
* @param string $html HTML content for the image.
|
249 |
+
* @param int $id Attachment ID.
|
250 |
+
* @param string $alt Alternate text.
|
251 |
+
* @param string $title Attachment title.
|
252 |
+
* @param string $align Part of the class name for aligning the image.
|
253 |
+
* @param string|array $size Size of image. Image size or array of width and height values (in that order).
|
254 |
+
* Default 'medium'.
|
255 |
+
*
|
256 |
+
* @return mixed
|
257 |
+
*/
|
258 |
+
function get_image_tag_override( $html, $id, $alt, $title, $align, $size ) {
|
259 |
+
$mime = get_post_mime_type( $id );
|
260 |
+
|
261 |
+
if( 'image/svg+xml' === $mime ) {
|
262 |
+
$html = str_replace('width="1" ', '', $html);
|
263 |
+
$html = str_replace('height="1" ', '', $html);
|
264 |
+
}
|
265 |
+
|
266 |
+
return $html;
|
267 |
+
}
|
268 |
+
|
269 |
}
|
270 |
}
|
271 |
|