release version 1.0.1

This commit is contained in:
Sven Vogel 2023-10-16 14:53:24 +02:00
parent 83d617c69e
commit 2851fa24d6
9 changed files with 405 additions and 2 deletions

9
Dockerfile Normal file
View File

@ -0,0 +1,9 @@
FROM erseco/alpine-php-webserver
LABEL maintainer="Sven Vogel <sven.vogel123@web.de>"
LABEL version="1.0.1"
COPY php/index-inlined-minified.php /var/www/html/index.php
COPY php/messages.php /var/www/html/messages.php
# Let runit start nginx & php-fpm
CMD [ "/bin/docker-entrypoint.sh" ]

View File

@ -1,3 +1,24 @@
# Errorpages # error-pages
Automatic error page generator for monthaselino Error pages for montehaselino.de. The service is to used as a quick error response service. It delivers a single html file as response with every resource inlined and encoded into it.
Make sure to compile every resource into the main.php file. This is due to the fact, that the error response is not a redirect to a public web server but rather an response for by the reverse proxy from an restricted backend.
Make sure to inline resources:
```bash
npm install inliner
npx inliner index.php > index-inlined-minified.php
```
Example configuration for caddy:
```Caddyfile
reverse_proxy https://service {
@custom_error status 4xx 5xx
handle_response @custom_error {
# rewrite uri to be the status code
rewrite * /{rp.status_code}
# send automatically generated response page
# the answer must be a single html file without resource from the same origin
reverse_proxy http://error-response:8080
}
}
```

32
php/index.php Normal file
View File

@ -0,0 +1,32 @@
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport"
content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Montehaselino - Automatic Status Response</title>
<link href="master.css" rel="stylesheet"/>
</head>
<body>
<div>
<div id="cloud1"></div>
<div id="cloud2"></div>
<div id="cloud3"></div>
<img id="mountain" src="res/svg/error-page-overlay.svg" alt="">
<div id="rocks"></div>
<h1>ERROR</h1>
<?php
include "messages.php";
$response = get_status_message($_SERVER["REQUEST_URI"]);
echo "<h2>" . $response[0] ."</h2>";
echo "<h3>" . $response[1] . "</h3>";
?>
<a href="javascript:window.history.back();">Go Back</a>
<hr>
<div class="subtle">This is an automatically generated error response page.<br>Please contact administration if you feel this shouldn't be here.</div>
</div>
</body>
</html>

166
php/master.css Normal file
View File

@ -0,0 +1,166 @@
@font-face {
font-family: Mont;
src: url("res/font/Mont-Heavy.otf");
}
html, body, * {
margin: 0;
padding: 0;
color: #f2f3f4;
background-color: #333333;
font-family: Mont, sans-serif;
text-align: center;
}
h1 {
position: relative;
top: -1rem;
background: transparent;
font-weight: normal;
font-size: 3rem;
line-height: 3rem;
}
h2 {
position: relative;
top: -1rem;
font-weight: bold;
font-size: 9rem;
line-height: 9rem;
color: transparent;
opacity: 1;
background: repeating-linear-gradient(45deg, #f2f3f4, #f2f3f4 8px, rgba(242, 244, 245, 0.7) 8px, rgba(242, 244, 245, 0.7) 16px);
background-clip: text;
-webkit-background-clip: text;
background-size: 200% 200%;
animation: barberpole 50s linear infinite;
}
@keyframes barberpole {
100% {
background-position: 100% 100%;
}
}
h3 {
position: relative;
top: -1rem;
font-family: sans-serif;
font-weight: normal;
font-size: 1.5rem;
padding-bottom: 1.5rem;
width: calc(min(80%, 40rem));
margin-left: auto;
margin-right: auto;
}
#mountain {
width: 100%;
max-height: 30rem;
background-color: #4682b4;
border-top: 2rem solid #4682b4;
}
#rocks {
width: 100%;
height: 0.5rem;
position: relative;
top: -0.75rem;
background: transparent url("res/svg/rocks.svg") repeat-x;
background-size: contain;
}
.subtle {
padding-top: 2rem;
font-weight: normal;
font-family: sans-serif;
opacity: 0.5;
}
hr {
margin-top: 2.5rem;
width: calc(min(20rem, 80%));
margin-right: auto;
margin-left: auto;
opacity: 0.5;
}
a {
text-decoration: none;
background: #f2f3f4;
color: #333333;
border-radius: 0.5rem;
padding: 0.75rem;
}
div {
line-height: 1.5rem;
}
#cloud1 {
position: absolute;
top: 1rem;
width: 100%;
height: 4rem;
background: transparent url("res/svg/cloud.svg") no-repeat center;
background-size: contain;
opacity: 0.5;
background-position-x: -8rem;
animation: cloud-motion-1 30s linear infinite;
}
@keyframes cloud-motion-1 {
100% {
background-position: calc(100% + 8rem) 0;
}
}
#cloud2 {
position: absolute;
top: 10rem;
width: 100%;
height: 4rem;
background: transparent url("res/svg/cloud.svg") no-repeat center;
background-size: contain;
opacity: 0.5;
background-position-x: -8rem;
animation: cloud-motion-1 30s 15s linear infinite;
}
@keyframes cloud-motion-2 {
100% {
background-position: calc(100% + 8rem) 0;
}
}
#cloud3 {
top: 4rem;
position: absolute;
width: 100%;
height: 4rem;
background: transparent url("res/svg/cloud.svg") no-repeat center;
background-size: contain;
opacity: 0.5;
background-position-x: -8rem;
animation: cloud-motion-1 30s 20s linear infinite;
}
@keyframes cloud-motion-3 {
100% {
background-position: calc(100% + 8rem) 0;
}
}

33
php/messages.php Normal file
View File

@ -0,0 +1,33 @@
<?php
const RESPONSES = [
// Currently supported responses
// See: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status#server_error_responses
401 => "You are no authorized to access the resource",
404 => "The requested resource couldn't be found",
403 => "Access to the resource was denied for the server",
405 => "Method not supported by the server",
407 => "You are no authorized to access the resource",
408 => "Request timed out",
500 => "The server encountered an internal error",
501 => "Method not supported by the server",
502 => "Requested endpoint encountered an error",
503 => "Service is currently unavailable",
504 => "Requested endpoint is unreachable",
511 => "Requested endpoint requires authentication for proxy",
];
function get_status_message($uri): array
{
$status = "501";
$message = "The received status is unsupported by this server: `" . substr($uri, 0, 10) . "`";
$code = intval(trim(str_replace("/", "", $uri)));
if (key_exists($code, RESPONSES)) {
$status = (string) $code;
$message = RESPONSES[$code];
}
return [$status, $message];
}

BIN
php/res/font/Mont-Heavy.otf Normal file

Binary file not shown.

41
php/res/svg/cloud.svg Normal file
View File

@ -0,0 +1,41 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
width="325.17758mm"
height="173.97749mm"
viewBox="0 0 325.17758 173.97749"
version="1.1"
id="svg2219"
inkscape:export-filename="rocks.svg"
inkscape:export-xdpi="96"
inkscape:export-ydpi="96"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg">
<sodipodi:namedview
id="namedview2221"
pagecolor="#505050"
bordercolor="#eeeeee"
borderopacity="1"
inkscape:showpageshadow="0"
inkscape:pageopacity="0"
inkscape:pagecheckerboard="0"
inkscape:deskcolor="#505050"
inkscape:document-units="mm"
showgrid="false" />
<defs
id="defs2216" />
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(26.219306,90.409748)">
<path
id="path2976"
style="fill:#f2f3f4;fill-opacity:1;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;paint-order:markers stroke fill"
d="m 184.52287,-90.409748 c -29.48402,0.0211 -55.69231,18.786142 -65.21152,46.691207 -6.95772,-9.560328 -18.06812,-15.216463 -29.892236,-15.217676 -20.420709,5.2e-5 -36.974952,16.554295 -36.975004,36.975004 0.008,2.425414 0.254676,4.844155 0.736389,7.221265 -8.080525,-4.727335 -17.273306,-7.21967 -26.635067,-7.221265 -29.1412226,-1.51e-4 -52.764889,23.6235154 -52.764738,52.764738 1.35e-4,29.141021 23.6237173,52.764372 52.764738,52.764221 81.407918,0 102.178798,0 219.648608,0 29.14082,-1.35e-4 52.76409,-23.623403 52.76422,-52.764221 -0.002,-26.3255338 -19.40791,-48.622049 -45.48146,-52.255725 v -0.0041 c -8e-5,-38.082087 -30.87184,-68.953618 -68.95393,-68.953414 z"
sodipodi:nodetypes="ccccccsccccsc" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.9 KiB

View File

@ -0,0 +1,63 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
width="141.81151mm"
height="105.69541mm"
viewBox="0 0 141.81145 105.69541"
version="1.1"
id="svg241"
xml:space="preserve"
inkscape:export-filename="banner.svg"
inkscape:export-xdpi="96"
inkscape:export-ydpi="96"
sodipodi:docname="Montehaselino.svg"
inkscape:version="1.2.2 (b0a8486541, 2022-12-01)"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg"><sodipodi:namedview
id="namedview243"
pagecolor="#ffffff"
bordercolor="#000000"
borderopacity="0.25"
inkscape:showpageshadow="2"
inkscape:pageopacity="0.0"
inkscape:pagecheckerboard="0"
inkscape:deskcolor="#d1d1d1"
inkscape:document-units="mm"
showgrid="false"
inkscape:zoom="0.70710678"
inkscape:cx="65.760931"
inkscape:cy="111.72287"
inkscape:window-width="1920"
inkscape:window-height="1007"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-maximized="1"
inkscape:current-layer="layer1" /><defs
id="defs238"><linearGradient
id="linearGradient1696"
inkscape:swatch="solid"><stop
style="stop-color:#000000;stop-opacity:1;"
offset="0"
id="stop1694" /></linearGradient></defs><g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(-669.74461,-567.45479)"><path
id="path480"
style="fill:#f2f3f4;fill-opacity:1;stroke-width:5.72654;stroke-linecap:round;stroke-linejoin:round;paint-order:markers stroke fill"
d="m 747.82408,620.56771 c -4.84754,0.002 -9.13983,3.13231 -10.62313,7.74733 -1.05857,-1.37216 -2.69357,-2.17591 -4.4266,-2.17609 -3.08817,9e-5 -5.59158,2.50371 -5.59139,5.5919 10e-4,0.17584 0.0103,0.3516 0.0279,0.52659 -1.69457,-1.37612 -3.811,-2.12734 -5.99395,-2.12752 -5.25193,-2e-5 -9.50952,4.25754 -9.5095,9.50949 10e-4,1.38294 0.30435,2.749 0.8878,4.00286 -0.22627,-0.028 -0.4541,-0.0422 -0.68213,-0.0424 -2.78228,6.9e-4 -5.14079,2.0469 -5.53403,4.80125 -0.68072,-0.63041 -1.57438,-0.98053 -2.50217,-0.9803 -2.03283,1.3e-4 -3.68078,1.64806 -3.68091,3.68091 4.3e-4,0.19474 0.0163,0.38913 0.0475,0.58136 -0.4419,-0.0534 -0.88659,-0.0803 -1.3317,-0.0806 -0.47552,0 -0.94315,0.0331 -1.40302,0.0909 a 15.059288,15.059288 0 0 0 -14.35313,10.51409 6.3971581,6.3971581 0 0 0 -1.81022,-0.26149 6.3971581,6.3971581 0 0 0 -6.39703,6.39703 6.3971581,6.3971581 0 0 0 5.2e-4,0.0171 4.8069043,4.8069043 0 0 0 -0.39739,-0.0171 4.8069043,4.8069043 0 0 0 -4.80694,4.80694 h 19.90421 c -0.0274,-0.64791 0.1009,-1.29784 0.42375,-1.88981 1.35918,-2.25829 4.20285,-2.62922 6.15518,-4.15892 1.35799,-1.55395 3.07735,-2.73677 4.42143,-4.30516 0.80374,-1.48403 1.68693,-3.19316 3.39979,-3.77858 1.71363,-0.68303 3.57401,0.20156 4.74803,1.47381 0.46164,0.76447 1.46055,0.57398 2.14819,1.01079 0.43182,-0.36768 0.9014,-0.68919 1.32034,-1.07228 1.05853,-1.16444 1.45121,-2.76478 2.10374,-4.16874 0.60081,-1.7522 1.84952,-3.6072 3.8437,-3.83129 1.10221,-1.40204 2.95153,-1.8398 4.63847,-2.02572 0.36637,-1.35178 0.99839,-2.75085 2.22881,-3.52123 1.68737,-1.18207 3.97572,-0.51337 5.38623,0.78651 0.9368,0.44149 2.07457,0.3728 2.99465,0.90848 0.52845,-2.29717 3.26154,-3.5784 5.43533,-2.87063 0.58571,-0.75108 0.83421,-1.80076 1.39268,-2.61328 0.86014,-1.80424 2.28437,-3.76225 4.46846,-3.86746 1.83247,-0.13811 3.22748,1.24526 4.45451,2.40295 1.86738,2.01253 4.48544,3.14802 6.32313,5.17902 1.50546,-1.00257 3.59193,-0.46914 4.82451,0.74155 1.67356,1.763 2.54127,4.13638 2.97914,6.4947 0.18923,0.3432 -0.0485,1.42661 0.54157,1.03869 2.12776,-0.78848 4.77521,0.4306 5.43636,2.62982 0.28574,1.12232 1.39477,1.64404 1.98541,2.5678 1.42424,1.89341 1.7629,4.32106 2.86753,6.36964 0.64059,-0.86125 1.17885,-1.8955 1.99264,-2.65307 1.67268,-1.8696 4.91905,-1.46825 6.33295,0.50746 0.71863,1.39692 2.15629,2.14224 3.34863,3.07061 1.46706,0.62992 2.52355,1.89793 3.4401,3.16467 0.56578,0.69921 0.79945,1.55276 0.77101,2.40967 h 21.50102 a 4.6466446,4.6466446 0 0 0 -4.61574,-4.4111 4.6466446,4.6466446 0 0 0 -2.50889,0.73897 8.8353443,8.8353443 0 0 0 0.0336,-0.73949 8.8353443,8.8353443 0 0 0 -8.83564,-8.83512 8.8353443,8.8353443 0 0 0 -6.03994,2.389 c -0.23648,-5.46335 -4.53574,-9.92624 -10.04022,-10.31771 0.0461,-0.28867 0.0694,-0.5805 0.0698,-0.87282 -9e-5,-3.08799 -2.5034,-5.5913 -5.59139,-5.59139 -1.17843,10e-4 -2.32637,0.37468 -3.27991,1.06712 -0.85433,-3.21536 -3.14052,-5.85895 -6.1991,-7.16804 1.08156,-1.05169 1.69226,-2.49581 1.69344,-4.0044 -9e-5,-3.088 -2.5034,-5.5913 -5.59139,-5.59139 -0.60638,10e-4 -1.20852,0.10104 -1.78284,0.29559 -0.80453,-5.47978 -5.50525,-9.54108 -11.04377,-9.54154 z" /><path
style="fill:#343434;fill-opacity:1;stroke:none;stroke-width:7;stroke-dasharray:none;stroke-opacity:1"
d="m 705.36258,662.95801 2.03877,2.19808 1.61463,0.0226 1.23277,2.37812 5.93705,-4.99765 2.65369,-6.05219 0.75621,1.03896 2.05415,-2.69962 4.4495,-0.75544 1.13932,-3.65172 1.45762,1.25801 2.75502,0.51939 0.0903,1.49042 2.91309,0.42906 2.75502,-3.04858 0.27098,-1.42268 2.00982,0.77438 c 0,0 2.57436,-1.40668 2.57436,-1.58733 0,-0.18066 2.16789,-4.2906 2.16789,-4.2906 l 0.74521,-1.17427 2.75502,2.57436 4.6519,3.45506 1.53558,2.32596 3.02602,-0.36132 0.47422,-0.92586 1.37061,2.30337 1.20376,5.87135 2.18146,3.21041 1.02196,-1.56487 0.90651,0.59009 1.2332,-1.86752 0.84436,1.98043 2.0324,2.03239 2.21303,5.75844 2.10016,2.12272 0.63436,0.11393 3.25744,-0.30337 2.65071,-3.78437 1.49672,2.14466 0.6097,0.15808 0.36131,1.10652 1.12912,0.0226 0.72262,1.28718 1.12912,-0.11291 1.37752,1.62592 v 0 h -92.09192 l 4.69146,-2.36784 1.75648,-1.82035 3.67264,-3.38521 z"
id="path319"
sodipodi:nodetypes="cccccccccccccccccsccccccccccccccccccccccccccccccccc" /><path
id="path321"
style="fill:#f2f3f4;fill-opacity:1;stroke:none;stroke-width:7;stroke-dasharray:none;stroke-opacity:1"
d="m 744.97796,643.38675 -2.75487,2.12287 -1.08416,2.80035 -2.30322,2.03243 -0.45165,1.12913 -0.90331,-1.80661 -1.08417,1.30948 -1.942,3.16157 0.90331,1.76165 -0.7674,1.26452 1.17409,0.54208 1.62574,-1.67121 -1.85157,3.07113 1.17409,-0.18087 -1.08365,2.3487 0.40617,2.2133 2.21331,-1.71669 0.0449,-0.85783 1.21957,-0.94878 c 0,0 -0.045,1.08438 -0.045,1.26504 0,0.18065 -2.48409,3.56774 -2.48409,3.56774 l 2.9807,-2.16783 1.89704,-4.24522 1.80661,-2.2133 0.45165,-2.89026 -0.36173,-3.20704 -1.39992,1.26452 0.63252,-1.49035 0.54157,-2.52904 1.35496,-1.89704 z m -17.73948,7.05228 -1.85209,2.90629 -2.42723,1.43712 -1.30949,0.0641 1.18185,0.41496 0.12764,1.85208 -0.60668,1.27744 c 0,0 0.22323,2.58694 0.22323,2.74661 0,0.15968 -1.05367,2.26756 -1.05367,2.26756 h -0.73433 l -0.47904,1.5968 -1.43713,1.02164 h 1.18133 l 1.08572,-0.447 2.87427,-2.42672 1.27744,-1.0542 2.39521,-3.00189 -1.11776,0.15968 -1.43713,1.11777 -2.0438,1.2454 1.02216,-1.34101 -0.2558,-1.82056 1.1498,-2.42724 1.91617,-1.75648 -0.0956,-1.62884 0.44701,-0.98961 z m -5.58881,4.40749 -2.45877,2.23552 -0.99012,1.37304 0.63873,-1.9482 -1.69241,1.69292 -0.86248,2.93781 -2.10788,1.72444 -3.92792,4.6948 2.20348,-1.72444 3.44888,-1.27744 c 0,0 1.53324,-1.2455 1.53324,-1.43712 0,-0.19161 0.032,-1.8526 0.032,-1.8526 l 1.5968,-1.37305 z m 35.77094,-4.39147 -1.10639,0.67748 -2.39365,0.60978 c 0.22583,-0.0677 2.46135,-0.13539 2.46135,-0.13539 l 0.13539,1.67122 -0.88057,1.21905 0.51935,0.8356 c 0,0 -1.942,2.16809 -1.942,2.281 v 1.19683 l -0.76791,1.01596 1.26452,-0.56431 h 1.69395 l 0.76792,-0.74518 -0.42944,1.64848 -1.89652,1.78387 2.73213,-1.55804 c 0,0 0.76791,-0.99384 0.76791,-1.08417 0,-0.0903 -0.49661,-3.07113 -0.49661,-3.07113 l -1.67121,1.76165 1.24178,-2.93574 z m 7.91787,8.54315 -0.76688,0.86197 -1.37305,0.41547 -1.02216,1.56477 0.99013,-0.73484 0.447,0.15968 -0.12764,0.86248 -1.72444,1.6924 -2.77864,1.11776 c 0,0 -0.83013,1.02226 -1.05368,1.21388 l 3.03991,-0.67811 1.27145,-1.14245 1.27744,-0.73432 1.43713,-2.13992 -0.12764,-1.05369 z m -59.97567,3.95997 -1.24592,0.70228 -2.10737,2.0438 -1.40559,0.28784 -0.86197,2.17144 -2.26756,1.94821 -0.0641,0.76636 -2.20253,2.27209 1.20417,-0.86703 2.0846,-1.50066 0.12764,1.43712 1.62884,-3.25768 0.54261,0.63872 1.56476,-1.59681 -0.92604,2.45929 1.69292,-1.21388 0.7984,-1.56477 v -2.10788 l 0.35088,0.67076 1.02216,-2.17144 z m 73.70764,3.95996 -0.73432,0.032 -1.9482,2.52285 -0.894,0.92604 -2.33113,0.60668 2.87374,0.0641 0.76688,-0.73433 0.1912,0.47905 -1.66037,1.66036 0.60668,0.0641 1.53272,-0.57516 1.0542,-1.46865 0.25528,-1.5012 -0.99012,0.99013 v -0.76637 z"
sodipodi:nodetypes="cccccccccccccccccccsccccccccccccccccccscccccccccccccccccccccccccccccsccccccccccsccccccccsccccccccccccccccccccccccccccccccccccccccccccccccccccccccc" /><path
style="fill:#f2f3f4;fill-opacity:1;stroke-width:0.149738"
d="m 740.9024,585.74303 c 5.90184,-0.61927 11.81573,0.5577 17.62239,2.52761 5.80666,1.96991 6.88888,2.91201 9.08241,2.59221 2.19352,-0.31978 3.17776,0.7051 0.53011,-4.60059 -2.64764,-5.30572 -4.60487,-7.61596 -4.39377,-12.00929 0.2111,-4.39333 1.98773,-6.43498 2.71307,-6.73832 0.72534,-0.30333 1.22523,0.56251 1.8626,2.22635 0.63738,1.66383 1.07728,2.42577 1.07728,2.42577 0,0 3.76667,-1.27422 6.57835,2.436 2.81167,3.71022 4.42865,14.82909 4.42865,14.82909 0,0 5.80373,2.81395 7.20185,6.55527 1.39812,3.74132 2.8612,6.4754 1.99078,9.28684 -0.87043,2.81143 -2.50695,3.45612 -4.79994,3.16375 -2.29299,-0.29236 -3.27344,0.089 -4.09588,0.86398 -0.82246,0.775 -0.46646,1.63155 0.41833,2.04428 0.88477,0.41273 2.13196,0.89328 4.04097,2.40018 1.90901,1.50689 2.08504,2.05174 4.48873,2.6958 2.40367,0.64407 3.94295,2.11044 1.48149,4.0857 -2.46146,1.97526 -5.33849,-1.92813 -8.2133,-3.1083 -2.87482,-1.18016 -2.54509,-1.20891 -1.15807,1.15348 1.38702,2.3624 0.45804,5.39234 -2.88792,3.67608 -3.34595,-1.71626 -5.7104,-4.69187 -10.16019,-6.44042 -4.44978,-1.74855 -6.36218,-3.46128 -9.7131,-4.0664 -3.35093,-0.60512 -14.99685,-1.50069 -19.79417,-0.5319 -4.7973,0.96879 -10.68642,4.04562 -13.84916,4.4863 -3.16274,0.44067 -7.60664,-1.65761 -10.22701,-0.83741 -2.62037,0.82021 -4.70034,2.13652 -7.66249,6.96372 -2.96217,4.82721 -6.67224,5.99949 -7.08704,2.52167 -0.41479,-3.47785 0.5858,-5.46396 3.31427,-9.8561 2.72848,-4.39213 4.1618,-7.22839 5.79976,-7.55067 1.63796,-0.32227 2.75641,-0.34462 3.65492,-0.74792 0.89851,-0.40332 -1.48675,0.30423 -3.22584,-3.14787 -1.73909,-3.4521 -2.38704,-6.93387 0.42008,-7.03069 2.80713,-0.0968 6.29215,1.10047 6.29215,1.10047 0,0 3.27175,-3.24953 5.24585,-4.39095 5.84733,-3.3809 12.30633,-6.27286 19.02384,-6.97772 z"
id="path1187"
sodipodi:nodetypes="asssssscscssssssssssssssssssssssscaa" /></g></svg>

After

Width:  |  Height:  |  Size: 11 KiB

38
php/res/svg/rocks.svg Normal file
View File

@ -0,0 +1,38 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
width="951.68677mm"
height="29.780741mm"
viewBox="0 0 951.68677 29.780741"
version="1.1"
id="svg2219"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg">
<sodipodi:namedview
id="namedview2221"
pagecolor="#505050"
bordercolor="#eeeeee"
borderopacity="1"
inkscape:showpageshadow="0"
inkscape:pageopacity="0"
inkscape:pagecheckerboard="0"
inkscape:deskcolor="#505050"
inkscape:document-units="mm"
showgrid="false" />
<defs
id="defs2216" />
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(306.03065,-157.91773)">
<path
style="fill:#343434;fill-opacity:1;stroke-width:1.20161;stroke-linecap:round;stroke-linejoin:round;paint-order:markers stroke fill"
d="m -306.03065,187.69847 97.70594,-21.80169 49.16565,10.24626 150.056674,-14.51349 104.243531,21.72464 68.068515,-6.58359 h 93.58068 l 90.46358,-18.85287 73.60188,15.33884 77.50924,-7.4967 147.2911,21.9386"
id="path2340"
sodipodi:nodetypes="ccccccccccc" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.3 KiB