-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathsvg_helper.php
62 lines (46 loc) · 1.6 KB
/
svg_helper.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
<?php
/**
# svg_helper - Main plugin file
# -------------------------------------------------------------------------------------------------------------------------------------
# author Ray Lee
# copyright Copyright (C) 2017 raylee.gq. All Rights Reserved.
# @license http://www.gnu.org/licenses/gpl-2.0.html GNU/GPL
# Website https:/raylee.gq
# Support [email protected]
**/
// no direct access
defined( '_JEXEC' ) or die( 'Restricted access' );
class plgSystemSvg_helper extends JPlugin {
function onAfterRender()
{
$app =& JFactory::getApplication();
if ($app->getName()!= 'site') {
return true;
}
$buffer = JResponse::getBody();
if (strripos($buffer, '_svg.png') !== false) {
include('plugins/system/svg_helper/Modernizr/modernizr-server.php');
if (isset($_COOKIE['svg-check']) && strripos($_COOKIE['svg-check'], 'svg:1') !== false) {
$buffer = str_replace('_svg.png', '_png.svg', $buffer);
}
}
/* Older versions compatibility start */
$extension = $this->params->get('extension');
if (strripos($buffer, $extension) !== false) {
include('plugins/system/svg_helper/Modernizr/modernizr-server.php');
if($this->params->get('enable_replacement')==1)
{
if (isset($_COOKIE['svg-check']) && strripos($_COOKIE['svg-check'], 'svg:1') !== false) {
$buffer = str_replace($extension, 'svg', $buffer);
} else {
$buffer = str_replace($extension, 'png', $buffer);
}
}
}
/* Older versions compatibility end */
if ($buffer != '') {
JResponse::setBody($buffer);
}
return true;
}
}