PluginProbe ʕ •ᴥ•ʔ
10Web Booster – Website speed optimization, Cache & Page Speed optimizer / trunk
10Web Booster – Website speed optimization, Cache & Page Speed optimizer vtrunk
2.33.0 2.30.5 2.30.7 2.30.9 2.31.10 2.31.8 2.32.11 2.32.21 2.32.3 2.32.4 2.32.7 2.6.31 2.6.40 2.6.42 2.6.7 2.7.37 2.7.44 2.7.47 2.8.18 2.8.19 2.8.32 2.8.34 2.8.35 2.9.23 2.9.24 2.9.25 2.9.27 v2.27.4 trunk 2.0.10 2.0.11 2.0.12 2.0.13 2.0.14 2.0.15 2.0.17 2.0.18 2.0.21 2.0.22 2.0.25 2.0.26 2.0.27 2.0.3 2.0.7 2.0.9 2.10.46 2.10.65 2.10.66 2.10.68 2.11.41 2.11.42 2.11.43 2.12.15 2.12.21 2.12.22 2.12.23 2.12.26 2.13.37 2.13.40 2.13.41 2.13.42 2.13.44 2.13.45 2.13.47 2.14.49 2.14.50 2.15.18 2.17.21 2.17.23 2.18.17 2.19.44 2.19.45 2.19.46 2.19.49 2.2.12 2.2.15 2.2.16 2.2.18 2.2.8 2.20.31 2.20.32 2.20.33 2.21.11 2.21.12 2.21.16 2.21.25 2.22.32 2.23.13 2.23.15 2.23.16 2.23.18 2.24.12 2.24.14 2.24.18 2.25.14 2.26.6 2.28.10 2.28.13 2.28.14 2.28.7 2.29.1 2.29.2 2.29.3 2.3.0 2.3.1 2.3.2 2.3.3 2.30.18
tenweb-speed-optimizer / vendor / mrclay / jsmin-php / web / index.php
tenweb-speed-optimizer / vendor / mrclay / jsmin-php / web Last commit date
README.txt 4 years ago index.php 4 years ago
index.php
93 lines
1 <?php
2
3 require __DIR__ . '/../vendor/autoload.php';
4
5 function h($txt) {
6 return htmlspecialchars($txt, ENT_QUOTES, 'UTF-8');
7 }
8
9 $tpl = array();
10
11 if (isset($_POST['textIn'])) {
12 $textIn = str_replace("\r\n", "\n", $_POST['textIn']);
13
14 $tpl['inBytes'] = strlen($textIn);
15 $startTime = microtime(true);
16 try {
17 $tpl['output'] = \JSMin\JSMin::minify($textIn);
18 } catch (Exception $e) {
19 $tpl['exceptionMsg'] = getExceptionMsg($e, $textIn);
20 $tpl['output'] = $textIn;
21 sendPage($tpl);
22 }
23 $tpl['time'] = microtime(true) - $startTime;
24 $tpl['outBytes'] = strlen($tpl['output']);
25 }
26
27 sendPage($tpl);
28
29
30 /**
31 * @param Exception $e
32 * @param string $input
33 * @return string HTML
34 */
35 function getExceptionMsg(Exception $e, $input) {
36 $msg = "<p>" . h($e->getMessage()) . "</p>";
37
38 if (0 !== strpos(get_class($e), 'JSMin\\Unterminated')
39 || !preg_match('~byte (\d+)~', $e->getMessage(), $m)) {
40 return $msg;
41 }
42
43 $msg .= "<pre>";
44 if ($m[1] > 200) {
45 $msg .= h(substr($input, ($m[1] - 200), 200));
46 } else {
47 $msg .= h(substr($input, 0, $m[1]));
48 }
49 $highlighted = isset($input[$m[1]]) ? h($input[$m[1]]) : '&#9220;';
50 if ($highlighted === "\n") {
51 $highlighted = "&#9166;\n";
52 }
53 $msg .= "<span style='background:#c00;color:#fff'>$highlighted</span>";
54 $msg .= h(substr($input, $m[1] + 1, 200)) . "</span></pre>";
55
56 return $msg;
57 }
58
59 /**
60 * Draw page
61 *
62 * @param array $vars
63 */
64 function sendPage($vars) {
65 header('Content-Type: text/html; charset=utf-8');
66
67 ?>
68 <!DOCTYPE html><head><title>JSMin</title></head>
69 <?php
70 if (isset($vars['exceptionMsg'])) {
71 echo $vars['exceptionMsg'];
72 }
73 if (isset($vars['time'])) {
74 echo "
75 <table>
76 <tr><th>Bytes in</th><td>{$vars['inBytes']} (after line endings normalized to <code>\\n</code>)</td></tr>
77 <tr><th>Bytes out</th><td>{$vars['outBytes']} (reduced " . round(100 - (100 * $vars['outBytes'] / $vars['inBytes'])) . "%)</td></tr>
78 <tr><th>Time (s)</th><td>" . round($vars['time'], 5) . "</td></tr>
79 </table>
80 ";
81 }
82 ?>
83 <form action="?2" method="post">
84 <p><label>Content<br><textarea name="textIn" cols="80" rows="35" style="width:99%"><?php
85 if (isset($vars['output'])) {
86 echo h($vars['output']);
87 }
88 ?></textarea></label></p>
89 <p><input type="submit" name="method" value="JSMin::minify()"></p>
90 </form><?php
91 exit;
92 }
93