Skip to content
This repository was archived by the owner on Apr 10, 2020. It is now read-only.

Commit 11357db

Browse files
committed
Changed GET to POST request
1 parent 712437c commit 11357db

File tree

4 files changed

+65
-44
lines changed

4 files changed

+65
-44
lines changed

src/SVGMagic.js

+8-6
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
/* Version 2.2.0
1+
/* Version 2.3.0
22
It's a simple jQuery plugin that searchs for SVG images on your website and creates PNG versions on the run.
33
Meaning that you don't have to create different versions of the images yourself.
44
Copyright (C) 2013 - Dirk Groenen [Bitlabs Development]
@@ -36,8 +36,8 @@
3636
var obj = this, images = [], domimages = [], cssimages = [];
3737

3838
obj.each(function(){
39-
if($(this).attr('src') != undefined){
40-
if($(this).attr('src').split('.').pop() == 'svg'){
39+
if($(this).attr("src") != undefined){
40+
if($(this).attr("src").split(".").pop() == "svg" || $(this).attr("src").substr(0, 18) == "data:image/svg+xml"){
4141
$obj = $(this);
4242
var image = new Image();
4343
image.src = $(this).attr('src');
@@ -46,10 +46,11 @@
4646

4747
if(options.preloader != false){
4848
preloaderTimer.push(setTimeout(function(){
49-
$obj.attr('src', options.preloader);
49+
$obj.attr("src", options.preloader);
5050
},500));
5151
}
5252
}
53+
5354
}
5455
});
5556

@@ -77,8 +78,9 @@
7778
if(images.length > 0){
7879
var i = 0;
7980
$.ajax({
80-
dataType: "jsonp",
81-
url: "http://svgmagic.bitlabs.nl/converter.php",
81+
dataType: "json",
82+
method: "POST",
83+
url: "http://svgmagic.bitlabs.nl/converter2.4.0.php",
8284
data: data,
8385
success: function(response){
8486
var i;

src/SVGMagic.min.js

+2-2
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/converter.php

+36-36
Original file line numberDiff line numberDiff line change
@@ -1,39 +1,36 @@
11
<?php
2-
32
header('Content-Type: application/json');
4-
header('Access-Control-Allow-Origin: *');
5-
3+
header('Access-Control-Allow-Origin: ' . $_SERVER['HTTP_ORIGIN']);
4+
header('Access-Control-Allow-Methods: GET, PUT, POST, DELETE, OPTIONS');
5+
header('Access-Control-Max-Age: 1000');
6+
header('Access-Control-Allow-Headers: Content-Type, Authorization, X-Requested-With');
7+
68
$inputimages = ($_REQUEST["svgsources"]);
79
$dumpcache = ($_REQUEST["dumpcache"]);
8-
$urlprefix = ($_REQUEST["secure"] == 'false') ? 'http://' : 'https://';
9-
$result = array(
10-
'error' => '1',
11-
'errormsg' => 'No images given'
12-
);
13-
14-
if (isset($inputimages) && is_array($inputimages)) {
15-
10+
$urlprefix = ($_REQUEST["secure"] == 'false') ? 'http://' : 'https://';
11+
$result = array('error' => '1', 'errormsg' => 'No images given');
12+
13+
if(isset($inputimages) && is_array($inputimages)){
14+
1615
// Create empty array with images to return
1716
$imageurls = array();
18-
17+
1918
// Loop through given image urls
20-
foreach ($inputimages as $input) {
21-
19+
foreach($inputimages as $input){
20+
2221
// Get the file name
23-
$filename = explode('/', $input);
22+
$filename = explode('/',$input);
2423
$filename = array_pop($filename);
25-
$filename = str_replace('.svg', '', $filename);
26-
24+
$filename = str_replace('.svg' ,'' , $filename);
25+
2726
// Check the domain and create a folder if needed
28-
$url = parse_url($input);
27+
$url = parse_url($input);
2928
$domain = $url['host'];
30-
31-
if (!file_exists("images/results/" . $domain)) {
32-
mkdir("images/results/" . $domain, 0777);
29+
if(!file_exists("images/results/" . $domain)){
30+
mkdir("images/results/" . $domain, 0777);
3331
}
34-
3532
$imagefolder = "images/results/" . $domain;
36-
33+
3734
// Check if we need to dump the cache
3835
if($dumpcache == "true"){
3936
if(file_exists($imagefolder . '/'.$filename.'.png')){
@@ -42,28 +39,31 @@
4239
}
4340

4441
// Check if the file already exists
45-
if (!file_exists($imagefolder . '/' . $filename . '.png')) {
42+
if(!file_exists($imagefolder . '/'.$filename.'.png')){
4643
// Get the image
4744
$inputimage = file_get_contents($input);
48-
45+
4946
// Convert the given image to PNG and store it in the custom directory
5047
$image = new Imagick();
5148
$image->setBackgroundColor(new ImagickPixel('transparent'));
5249
$image->readImageBlob(($inputimage));
5350
$image->setImageFormat("png32");
5451
$image->setImageCompressionQuality(100);
55-
$image->writeImage($imagefolder . '/' . $filename . '.png');
52+
$image->writeImage($imagefolder . '/'.$filename.'.png');
5653
}
57-
58-
$imageurls[] = array(
59-
'url' => $urlprefix . "bitlabs.nl/svgmagic/" . $imagefolder . '/' . $filename . '.png'
60-
);
54+
55+
$imageurls[] = array('url' => $urlprefix."bitlabs.nl/svgmagic/" . $imagefolder . '/'.$filename.'.png');
6156
}
62-
63-
$result = array(
64-
'results' => $imageurls,
65-
'error' => '0'
66-
);
57+
58+
$result = array('results' => $imageurls, 'error' => '0');
6759
}
68-
echo $_GET['callback'] . '(' . json_encode($result) . ')';
60+
61+
// Return the images, since version 2.3 we use cross-domain requests via post, so the callback has been removed
62+
if(isset($_GET['callback'])){
63+
echo $_GET['callback'] . '('. json_encode($result) . ')';
64+
}
65+
else{
66+
echo json_encode($result);
67+
}
68+
6969
?>

src/test.html

+19
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
<html>
2+
<head>
3+
<script src="http://code.jquery.com/jquery.js"></script>
4+
<script src="SVGMagic.js"></script>
5+
6+
<script>
7+
$(document).ready(function(){
8+
$("img").svgmagic({
9+
testmode: true
10+
});
11+
});
12+
13+
</script>
14+
</head>
15+
16+
<body>
17+
<img src="data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxLjEiIGlkPSJMYXllcl8xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4PSIwcHgiIHk9IjBweCIKICAgd2lkdGg9IjYxMnB4IiBoZWlnaHQ9IjUwMi4xNzRweCIgdmlld0JveD0iMCA2NS4zMjYgNjEyIDUwMi4xNzQiIGVuYWJsZS1iYWNrZ3JvdW5kPSJuZXcgMCA2NS4zMjYgNjEyIDUwMi4xNzQiCiAgIHhtbDpzcGFjZT0icHJlc2VydmUiIGNsYXNzPSJsb2dvIj4KCiAgIDxzdHlsZT4KICAgLmdyb3VuZCB7CiAgZmlsbDogIzc4N2Y2YTsKfQouZ3JvdW5kOmhvdmVyIHsKICBmaWx0ZXI6IHVybCgjcGljdHVyZUZpbHRlcik7CiAgZmlsbDogIzg5NmQzZDsKfTwvc3R5bGU+Cgo8ZWxsaXBzZSBjbGFzcz0iZ3JvdW5kIiBjeD0iMjgzLjUiIGN5PSI0ODcuNSIgcng9IjI1OSIgcnk9IjgwIi8+CjxwYXRoIGNsYXNzPSJraXdpIiBkPSJNMjEwLjMzMyw2NS4zMzFDMTA0LjM2Nyw2Ni4xMDUtMTIuMzQ5LDE1MC42MzcsMS4wNTYsMjc2LjQ0OWM0LjMwMyw0MC4zOTMsMTguNTMzLDYzLjcwNCw1Mi4xNzEsNzkuMDMKICBjMzYuMzA3LDE2LjU0NCw1Ny4wMjIsNTQuNTU2LDUwLjQwNiwxMTIuOTU0Yy05LjkzNSw0Ljg4LTE3LjQwNSwxMS4wMzEtMTkuMTMyLDIwLjAxNWM3LjUzMS0wLjE3LDE0Ljk0My0wLjMxMiwyMi41OSw0LjM0MQogIGMyMC4zMzMsMTIuMzc1LDMxLjI5NiwyNy4zNjMsNDIuOTc5LDUxLjcyYzEuNzE0LDMuNTcyLDguMTkyLDIuODQ5LDguMzEyLTMuMDc4YzAuMTctOC40NjctMS44NTYtMTcuNDU0LTUuMjI2LTI2LjkzMwogIGMtMi45NTUtOC4zMTMsMy4wNTktNy45ODUsNi45MTctNi4xMDZjNi4zOTksMy4xMTUsMTYuMzM0LDkuNDMsMzAuMzksMTMuMDk4YzUuMzkyLDEuNDA3LDUuOTk1LTMuODc3LDUuMjI0LTYuOTkxCiAgYy0xLjg2NC03LjUyMi0xMS4wMDktMTAuODYyLTI0LjUxOS0xOS4yMjljLTQuODItMi45ODQtMC45MjctOS43MzYsNS4xNjgtOC4zNTFsMjAuMjM0LDIuNDE1YzMuMzU5LDAuNzYzLDQuNTU1LTYuMTE0LDAuODgyLTcuODc1CiAgYy0xNC4xOTgtNi44MDQtMjguODk3LTEwLjA5OC01My44NjQtNy43OTljLTExLjYxNy0yOS4yNjUtMjkuODExLTYxLjYxNy0xNS42NzQtODEuNjgxYzEyLjYzOS0xNy45MzgsMzEuMjE2LTIwLjc0LDM5LjE0Nyw0My40ODkKICBjLTUuMDAyLDMuMTA3LTExLjIxNSw1LjAzMS0xMS4zMzIsMTMuMDI0YzcuMjAxLTIuODQ1LDExLjIwNy0xLjM5OSwxNC43OTEsMGMxNy45MTIsNi45OTgsMzUuNDYyLDIxLjgyNiw1Mi45ODIsMzcuMzA5CiAgYzMuNzM5LDMuMzAzLDguNDEzLTEuNzE4LDYuOTkxLTYuMDM0Yy0yLjEzOC02LjQ5NC04LjA1My0xMC42NTktMTQuNzkxLTIwLjAxNmMtMy4yMzktNC40OTUsNS4wMy03LjA0NSwxMC44ODYtNi44NzYKICBjMTMuODQ5LDAuMzk2LDIyLjg4Niw4LjI2OCwzNS4xNzcsMTEuMjE4YzQuNDgzLDEuMDc2LDkuNzQxLTEuOTY0LDYuOTE3LTYuOTE3Yy0zLjQ3Mi02LjA4NS0xMy4wMTUtOS4xMjQtMTkuMTgtMTMuNDEzCiAgYy00LjM1Ny0zLjAyOS0zLjAyNS03LjEzMiwyLjY5Ny02LjYwMmMzLjkwNSwwLjM2MSw4LjQ3OCwyLjI3MSwxMy45MDgsMS43NjdjOS45NDYtMC45MjUsNy43MTctNy4xNjktMC44ODMtOS41NjYKICBjLTE5LjAzNi01LjMwNC0zOS44OTEtNi4zMTEtNjEuNjY1LTUuMjI1Yy00My44MzctOC4zNTgtMzEuNTU0LTg0Ljg4NywwLTkwLjM2M2MyOS41NzEtNS4xMzIsNjIuOTY2LTEzLjMzOSw5OS45MjgtMzIuMTU2CiAgYzMyLjY2OC01LjQyOSw2NC44MzUtMTIuNDQ2LDkyLjkzOS0zMy44NWM0OC4xMDYtMTQuNDY5LDExMS45MDMsMTYuMTEzLDIwNC4yNDEsMTQ5LjY5NWMzLjkyNiw1LjY4MSwxNS44MTksOS45NCw5LjUyNC02LjM1MQogIGMtMTUuODkzLTQxLjEyNS02OC4xNzYtOTMuMzI4LTkyLjEzLTEzMi4wODVjLTI0LjU4MS0zOS43NzQtMTQuMzQtNjEuMjQzLTM5Ljk1Ny05MS4yNDcKICBjLTIxLjMyNi0yNC45NzgtNDcuNTAyLTI1LjgwMy03Ny4zMzktMTcuMzY1Yy0yMy40NjEsNi42MzQtMzkuMjM0LTcuMTE3LTUyLjk4LTMxLjI3M0MzMTguNDIsODcuNTI1LDI2NS44MzgsNjQuOTI3LDIxMC4zMzMsNjUuMzMxCiAgeiBNNDQ1LjczMSwyMDMuMDFjNi4xMiwwLDExLjExMiw0LjkxOSwxMS4xMTIsMTEuMDM4YzAsNi4xMTktNC45OTQsMTEuMTExLTExLjExMiwxMS4xMTFzLTExLjAzOC00Ljk5NC0xMS4wMzgtMTEuMTExCiAgQzQzNC42OTMsMjA3LjkyOSw0MzkuNjEzLDIwMy4wMSw0NDUuNzMxLDIwMy4wMXoiLz4KPGZpbHRlciBpZD0icGljdHVyZUZpbHRlciIgPgogIDxmZUdhdXNzaWFuQmx1ciBzdGREZXZpYXRpb249IjE1IiAvPgo8L2ZpbHRlcj4KPC9zdmc+">
18+
</body>
19+
</html>

0 commit comments

Comments
 (0)