Skip to content

Commit 09d7858

Browse files
committed
adding download functionality
1 parent e410718 commit 09d7858

File tree

5 files changed

+88
-15
lines changed

5 files changed

+88
-15
lines changed

Blank USA states only.svg

Lines changed: 2 additions & 4 deletions
Loading

Blank USA w territories.svg

Lines changed: 2 additions & 4 deletions
Loading

index.html

Lines changed: 56 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,60 @@
5656
When you're done, click the button below.
5757
</p>
5858
<p style="text-align: center;">
59-
<input id="submitbutton" type="submit" value="Generate SVG">
59+
<form action="mapgenerate.php" method="POST" style="text-align: center;">
60+
<input type="hidden" id="AKinput" name="states[AK]" value="D3D3D3"/>
61+
<input type="hidden" id="HIinput" name="states[HI]" value="D3D3D3"/>
62+
<input type="hidden" id="ALinput" name="states[AL]" value="D3D3D3"/>
63+
<input type="hidden" id="ARinput" name="states[AR]" value="D3D3D3"/>
64+
<input type="hidden" id="AZinput" name="states[AZ]" value="D3D3D3"/>
65+
<input type="hidden" id="CAinput" name="states[CA]" value="D3D3D3"/>
66+
<input type="hidden" id="COinput" name="states[CO]" value="D3D3D3"/>
67+
<input type="hidden" id="CTinput" name="states[CT]" value="D3D3D3"/>
68+
<input type="hidden" id="DEinput" name="states[DE]" value="D3D3D3"/>
69+
<input type="hidden" id="FLinput" name="states[FL]" value="D3D3D3"/>
70+
<input type="hidden" id="GAinput" name="states[GA]" value="D3D3D3"/>
71+
<input type="hidden" id="IAinput" name="states[IA]" value="D3D3D3"/>
72+
<input type="hidden" id="IDinput" name="states[ID]" value="D3D3D3"/>
73+
<input type="hidden" id="ILinput" name="states[IL]" value="D3D3D3"/>
74+
<input type="hidden" id="INinput" name="states[IN]" value="D3D3D3"/>
75+
<input type="hidden" id="KSinput" name="states[KS]" value="D3D3D3"/>
76+
<input type="hidden" id="KYinput" name="states[KY]" value="D3D3D3"/>
77+
<input type="hidden" id="LAinput" name="states[LA]" value="D3D3D3"/>
78+
<input type="hidden" id="MAinput" name="states[MA]" value="D3D3D3"/>
79+
<input type="hidden" id="MDinput" name="states[MD]" value="D3D3D3"/>
80+
<input type="hidden" id="MEinput" name="states[ME]" value="D3D3D3"/>
81+
<input type="hidden" id="MIinput" name="states[MI]" value="D3D3D3"/>
82+
<input type="hidden" id="MNinput" name="states[MN]" value="D3D3D3"/>
83+
<input type="hidden" id="MOinput" name="states[MO]" value="D3D3D3"/>
84+
<input type="hidden" id="MSinput" name="states[MS]" value="D3D3D3"/>
85+
<input type="hidden" id="MTinput" name="states[MT]" value="D3D3D3"/>
86+
<input type="hidden" id="NCinput" name="states[NC]" value="D3D3D3"/>
87+
<input type="hidden" id="NDinput" name="states[ND]" value="D3D3D3"/>
88+
<input type="hidden" id="NEinput" name="states[NE]" value="D3D3D3"/>
89+
<input type="hidden" id="NHinput" name="states[NH]" value="D3D3D3"/>
90+
<input type="hidden" id="NJinput" name="states[NJ]" value="D3D3D3"/>
91+
<input type="hidden" id="NMinput" name="states[NM]" value="D3D3D3"/>
92+
<input type="hidden" id="NVinput" name="states[NV]" value="D3D3D3"/>
93+
<input type="hidden" id="NYinput" name="states[NY]" value="D3D3D3"/>
94+
<input type="hidden" id="OHinput" name="states[OH]" value="D3D3D3"/>
95+
<input type="hidden" id="OKinput" name="states[OK]" value="D3D3D3"/>
96+
<input type="hidden" id="ORinput" name="states[OR]" value="D3D3D3"/>
97+
<input type="hidden" id="PAinput" name="states[PA]" value="D3D3D3"/>
98+
<input type="hidden" id="RIinput" name="states[RI]" value="D3D3D3"/>
99+
<input type="hidden" id="SCinput" name="states[SC]" value="D3D3D3"/>
100+
<input type="hidden" id="SDinput" name="states[SD]" value="D3D3D3"/>
101+
<input type="hidden" id="TNinput" name="states[TN]" value="D3D3D3"/>
102+
<input type="hidden" id="TXinput" name="states[TX]" value="D3D3D3"/>
103+
<input type="hidden" id="UTinput" name="states[UT]" value="D3D3D3"/>
104+
<input type="hidden" id="VAinput" name="states[VA]" value="D3D3D3"/>
105+
<input type="hidden" id="VTinput" name="states[VT]" value="D3D3D3"/>
106+
<input type="hidden" id="WAinput" name="states[WA]" value="D3D3D3"/>
107+
<input type="hidden" id="WIinput" name="states[WI]" value="D3D3D3"/>
108+
<input type="hidden" id="WVinput" name="states[WV]" value="D3D3D3"/>
109+
<input type="hidden" id="WYinput" name="states[WY]" value="D3D3D3"/>
110+
<input type="hidden" id="DCinput" name="states[DC]" value="D3D3D3"/>
111+
<input id="submitbutton" type="submit" value="Download SVG"/>
112+
</form>
60113
</p>
61114
</div>
62115
<div class="column" id="right" style="text-align:center;">
@@ -114,10 +167,8 @@
114167
<path id="WI" class="clickable" fill="#D3D3D3" d="M541.4,109.9 l2.9,0.5 2.9,-0.6 7.4,-3.2 2.9,-1.9 2.1,-0.8 1.9,1.5 -1.1,1.1 -1.9,3.1 -0.6,1.9 1,0.6 1.8,-1 1.1,-0.2 2.7,0.8 0.6,1.1 1.1,0.2 0.6,-1.1 4,5.3 8.2,1.2 8.2,2.2 2.6,1.1 12.3,2.6 1.6,2.3 3.6,1.2 1.7,10.2 1.6,1.4 1.5,0.9 -1.1,2.3 -1.8,1.6 -2.1,4.7 -1.3,2.4 0.2,1.8 1.5,0.3 1.1,-1.9 1.5,-0.8 0.8,-2.3 1.9,-1.8 2.7,-4 4.2,-6.3 0.8,-0.5 0.3,1 -0.2,2.3 -2.9,6.8 -2.7,5.7 -0.5,3.2 -0.6,2.6 0.8,1.3 -0.2,2.7 -1.9,2.4 -0.5,1.8 0.6,3.6 0.6,3.4 -1.5,2.6 -0.8,2.9 -1,3.1 1.1,2.4 0.6,6.1 1.6,4.5 -0.2,3 -15.9,1.8 -17.5,1 h-12.7 l-0.7,-1.5 -2.9,-0.4 -2.6,-1.3 -2.3,-3.7 -0.3,-3.6 2,-2.9 -0.5,-1.4 -2.1,-2.2 -0.8,-3.3 -0.6,-6.8 -2.1,-2.5 -7,-4.5 -3.8,-5.4 -3.4,-1 -2.2,-2.8 h-3.2 l-2.9,-3.3 -0.5,-6.5 0.1,-3.8 1.5,-3.1 -0.8,-3.2 -2.5,-2.8 1.8,-5.4 5.2,-3.8 1.6,-1.9 -0.2,-8.1 0.2,-2.8 2.4,-2.8z"/>
115168
<path id="WV" class="clickable" fill="#D3D3D3" d="M758.9,254.3 l5.8,-6 2.6,-0.8 1.6,-1.5 1.5,-2.2 1.1,0.3 3.1,-0.2 4.6,-3.6 1.5,-0.5 1.3,1 2.6,1.2 3,3 -0.4,4.3 -5.4,-2.6 -4.8,-1.8 -0.1,5.9 -2.6,5.7 -2.9,2.4 -0.8,2.3 -3,0.5 -1.7,8.1 -2.8,0.2 -1.1,-1 -1.2,-2 -2.2,0.5 -0.5,5.1 -1.8,5.1 -5,11 0.9,1.4 -0.1,2 -2.2,2.5 -1.6,-0.4 -3.1,2.3 -2.8,-0.8 -1.8,4.9 -3.8,1 -2.5,-1.3 -2.5,1.9 -2.3,0.7 -3.2,-0.8 -3.8,-4.5 -3.5,-2.2 -2.5,-2.5 -2.9,-3.7 -0.5,-2.3 -2.8,-1.7 -0.6,-1.3 -0.2,-5.6 0.3,0.1 2.4,-0.2 1.8,-1 v-2.2 l1.7,-1.5 0.1,-5.2 0.9,-3.6 1.1,-0.7 0.4,0.3 1,1.1 1.7,0.5 1.1,-1.3 -1,-3.1 v-1.6 l3.1,-4.6 1.2,-1.3 2,0.5 2.6,-1.8 3.1,-3.4 2.4,-4.1 0.2,-5.6 0.5,-4.8 v-4.9 l-1.1,-3 0.9,-1.3 0.8,-0.7 4.3,19.3 4.3,-0.8 11.2,-1.3z"/>
116169
<path id="WY" class="clickable" fill="#D3D3D3" d="M353,161.9 l-1.5,25.4 -4.4,44 -2.7,-0.3 -83.3,-9.1 -27.9,-3 2,-12 6.9,-41 3.8,-24.2 1.3,-11.2 48.2,7 59.1,6.5z"/>
117-
<g id="DC">
118-
<path id="DC1" class="clickable" fill="#D3D3D3" d="M801.8,253.8 l-1.1-1.6 -1-0.8 1.1-1.6 2.2,1.5z"/>
119-
<circle id="DC2" class="clickable" fill="#D3D3D3" stroke="#FFFFFF" stroke-width="1.5" cx="801.3" cy="251.8" r="5" opacity="1"/> <!-- Set opacity to "0" to hide DC circle -->
120-
</g>
170+
<!--<path id="altDC" class="clickable" fill="#D3D3D3" d="M801.8,253.8 l-1.1-1.6 -1-0.8 1.1-1.6 2.2,1.5z"/>-->
171+
<circle id="DC" class="clickable" fill="#D3D3D3" stroke="#FFFFFF" stroke-width="1.5" cx="801.3" cy="251.8" r="5" opacity="1"/>
121172
</g>
122173
<path id="frames" fill="none" stroke="#A9A9A9" stroke-width="2" d="M215,493v55l36,45 M0,425h147l68,68h85l54,54v46"/>
123174
</svg>

js/mapcontroller.js

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
1-
color = "#F33";
1+
color = "#D3D3D3";
22

33
$(document).ready( function() {
44
$('.clickable').click( function(){
5-
this.style.fill = color;
5+
this.style.fill = color;
6+
$('#' + this.id + 'input').val( color );
67
} );
78
} );

mapgenerate.php

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
<?php
2+
error_reporting( E_ALL );
3+
ini_set( 'display_errors', 1 );
4+
5+
// Generate new map data
6+
$map = file_get_contents( "Blank USA states only.svg" );
7+
if ( $map ) {
8+
foreach( $_POST["states"] as $state => $fill ) {
9+
$map = str_replace( 'id="' . $state . '" fill="#D3D3D3"', 'id="' . $state . '" fill="#' . strtoupper( $fill ) . '"', $map );
10+
}
11+
} else {
12+
echo "Error: Could not open template file.";
13+
}
14+
15+
// Output new SVG map
16+
header('Content-type: image/svg+xml');
17+
header('Content-Description: File Transfer');
18+
header('Content-Disposition: attachment; filename="US map.svg"');
19+
header('Expires: 0');
20+
header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
21+
header('Pragma: public');
22+
23+
print( $map );
24+
flush();
25+
exit;

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy