Mercurial > hg > batmud > maputils
annotate www/loc.php @ 1115:3dc58d67b7b4
Sync.
author | Matti Hamalainen <ccr@tnsp.org> |
---|---|
date | Sat, 02 Jul 2011 19:47:28 +0300 |
parents | b80d263baf9f |
children | 3bb8253db932 |
rev | line source |
---|---|
300
edac314ac9bb
Added in the ugly PHP-glue used in http://tnsp.org/maps/
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
1 <? |
edac314ac9bb
Added in the ugly PHP-glue used in http://tnsp.org/maps/
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
2 require "config.inc.php"; |
337
ca191c3a0ce1
Updates and lots of new ugly glue.
Matti Hamalainen <ccr@tnsp.org>
parents:
321
diff
changeset
|
3 require "common.inc.php"; |
300
edac314ac9bb
Added in the ugly PHP-glue used in http://tnsp.org/maps/
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
4 |
816
6341de08bd52
Handle alternative location names better;Add unique location ID generation to handle locations with exactly same primary name.
Matti Hamalainen <ccr@tnsp.org>
parents:
813
diff
changeset
|
5 |
1112 | 6 // Wizard info box special formatting tags |
7 $specTags = array( | |
8 "b" => "<b>", | |
9 "\/b" => "</b>", | |
10 "i" => "<i>", | |
11 "\/i" => "</i>", | |
12 "p" => "<br /><br />", | |
13 "br" => "<br />", | |
14 ); | |
15 | |
16 | |
976 | 17 function printTitleLink($afilter, $filter, $coders, $desc, $qname, $qclass) |
300
edac314ac9bb
Added in the ugly PHP-glue used in http://tnsp.org/maps/
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
18 { |
edac314ac9bb
Added in the ugly PHP-glue used in http://tnsp.org/maps/
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
19 $s = ""; |
622 | 20 if ($afilter) $s = "f=".$filter; |
300
edac314ac9bb
Added in the ugly PHP-glue used in http://tnsp.org/maps/
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
21 |
edac314ac9bb
Added in the ugly PHP-glue used in http://tnsp.org/maps/
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
22 if (!$coders) { |
801 | 23 if ($s !== "") $s .= "&"; |
300
edac314ac9bb
Added in the ugly PHP-glue used in http://tnsp.org/maps/
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
24 $s .= "s"; |
edac314ac9bb
Added in the ugly PHP-glue used in http://tnsp.org/maps/
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
25 } |
edac314ac9bb
Added in the ugly PHP-glue used in http://tnsp.org/maps/
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
26 |
801 | 27 if ($qname !== "") { |
28 if ($s !== "") $s .= "&"; | |
29 $s .= "n=".$qname; | |
300
edac314ac9bb
Added in the ugly PHP-glue used in http://tnsp.org/maps/
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
30 } |
edac314ac9bb
Added in the ugly PHP-glue used in http://tnsp.org/maps/
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
31 |
623 | 32 echo " <td><a "; |
801 | 33 if ($qclass !== "") |
34 echo "class=\"".$qclass."\" "; | |
35 echo "href=\"".$_SERVER["PHP_SELF"]; | |
321 | 36 if (strlen($s) > 0) echo "?".$s; |
37 echo "\">".$desc."</a></td>\n"; | |
300
edac314ac9bb
Added in the ugly PHP-glue used in http://tnsp.org/maps/
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
38 } |
edac314ac9bb
Added in the ugly PHP-glue used in http://tnsp.org/maps/
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
39 |
337
ca191c3a0ce1
Updates and lots of new ugly glue.
Matti Hamalainen <ccr@tnsp.org>
parents:
321
diff
changeset
|
40 |
441 | 41 /* Initialization |
337
ca191c3a0ce1
Updates and lots of new ugly glue.
Matti Hamalainen <ccr@tnsp.org>
parents:
321
diff
changeset
|
42 */ |
519 | 43 printPageHeader($pageTitle." - Locations", |
1092 | 44 "<script type=\"text/javascript\" src=\"tooltip.js\"></script>\n". |
45 "<meta name=\"robots\" content=\"nofollow\" />\n"); | |
623 | 46 //echo "<div><b>DEVELOPMENT VERSION</b></div>"; |
337
ca191c3a0ce1
Updates and lots of new ugly glue.
Matti Hamalainen <ccr@tnsp.org>
parents:
321
diff
changeset
|
47 |
ca191c3a0ce1
Updates and lots of new ugly glue.
Matti Hamalainen <ccr@tnsp.org>
parents:
321
diff
changeset
|
48 |
678 | 49 if (isset($_GET["c"])) { |
621 | 50 $filter = "C"; |
51 $applyFilter = TRUE; | |
52 } else { | |
622 | 53 if (isset($_GET["f"]) && $_GET["f"] != "") { |
621 | 54 $filter = $_GET["f"]; |
870
51054f3f5d2e
Allow inversion of regexp group operator via "^" in the location type filter parameter.
Matti Hamalainen <ccr@tnsp.org>
parents:
822
diff
changeset
|
55 if (!preg_match("/^[\^A-Za-z]+\$/", $filter)) { |
926 | 56 echo "<h1>Invalid filter rule '".chentities($filter)."'</h1>\n"; |
813 | 57 $filter = "C"; |
58 $applyFilter = FALSE; | |
59 } else { | |
60 $applyFilter = TRUE; | |
61 } | |
621 | 62 } else { |
801 | 63 $filter = "CF"; |
621 | 64 $applyFilter = FALSE; |
65 } | |
66 } | |
67 | |
337
ca191c3a0ce1
Updates and lots of new ugly glue.
Matti Hamalainen <ccr@tnsp.org>
parents:
321
diff
changeset
|
68 $showCoders = !isset($_GET["s"]); |
ca191c3a0ce1
Updates and lots of new ugly glue.
Matti Hamalainen <ccr@tnsp.org>
parents:
321
diff
changeset
|
69 |
ca191c3a0ce1
Updates and lots of new ugly glue.
Matti Hamalainen <ccr@tnsp.org>
parents:
321
diff
changeset
|
70 if (isset($_GET["a"])) { |
1084 | 71 if (preg_match("#^([a-z]{1,15})#i", $_GET["a"], $m)) { |
72 $coderName = $m[1]; | |
73 $coderName = strtoupper(substr($coderName, 0, 1)).strtolower(substr($coderName, 1)); | |
74 $wizTable = readWizInfoFiles(); | |
75 } else | |
76 $coderName = "???"; | |
337
ca191c3a0ce1
Updates and lots of new ugly glue.
Matti Hamalainen <ccr@tnsp.org>
parents:
321
diff
changeset
|
77 } |
ca191c3a0ce1
Updates and lots of new ugly glue.
Matti Hamalainen <ccr@tnsp.org>
parents:
321
diff
changeset
|
78 |
ca191c3a0ce1
Updates and lots of new ugly glue.
Matti Hamalainen <ccr@tnsp.org>
parents:
321
diff
changeset
|
79 if (isset($_GET["n"])) { |
609 | 80 $locTable = array(); |
337
ca191c3a0ce1
Updates and lots of new ugly glue.
Matti Hamalainen <ccr@tnsp.org>
parents:
321
diff
changeset
|
81 $setName = strtolower(basename($_GET["n"])); |
509 | 82 if (file_exists($setName.".loc")) { |
621 | 83 parseLocFile($setName, $locTable, $applyFilter, $filter); |
337
ca191c3a0ce1
Updates and lots of new ugly glue.
Matti Hamalainen <ccr@tnsp.org>
parents:
321
diff
changeset
|
84 } else { |
813 | 85 echo "<h1>No such continent ID!</h1>\n"; |
337
ca191c3a0ce1
Updates and lots of new ugly glue.
Matti Hamalainen <ccr@tnsp.org>
parents:
321
diff
changeset
|
86 unset($setName); |
ca191c3a0ce1
Updates and lots of new ugly glue.
Matti Hamalainen <ccr@tnsp.org>
parents:
321
diff
changeset
|
87 } |
ca191c3a0ce1
Updates and lots of new ugly glue.
Matti Hamalainen <ccr@tnsp.org>
parents:
321
diff
changeset
|
88 } else { |
621 | 89 $locTable = readLocationFiles($applyFilter, $filter); |
337
ca191c3a0ce1
Updates and lots of new ugly glue.
Matti Hamalainen <ccr@tnsp.org>
parents:
321
diff
changeset
|
90 } |
ca191c3a0ce1
Updates and lots of new ugly glue.
Matti Hamalainen <ccr@tnsp.org>
parents:
321
diff
changeset
|
91 |
441 | 92 |
93 /* Start of the page | |
300
edac314ac9bb
Added in the ugly PHP-glue used in http://tnsp.org/maps/
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
94 */ |
edac314ac9bb
Added in the ugly PHP-glue used in http://tnsp.org/maps/
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
95 echo "<h1>"; |
621 | 96 if ($applyFilter) { |
1060
b78333d62d5b
Combine speciaList into continentList and clean up the code a bit.
Matti Hamalainen <ccr@tnsp.org>
parents:
1059
diff
changeset
|
97 if (array_key_exists($filter, $locationTypes)) |
621 | 98 echo $locationTypes[$filter][2]; |
1060
b78333d62d5b
Combine speciaList into continentList and clean up the code a bit.
Matti Hamalainen <ccr@tnsp.org>
parents:
1059
diff
changeset
|
99 else |
870
51054f3f5d2e
Allow inversion of regexp group operator via "^" in the location type filter parameter.
Matti Hamalainen <ccr@tnsp.org>
parents:
822
diff
changeset
|
100 echo "Filter '$filter'"; |
621 | 101 } else |
300
edac314ac9bb
Added in the ugly PHP-glue used in http://tnsp.org/maps/
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
102 echo "Locations"; |
621 | 103 |
300
edac314ac9bb
Added in the ugly PHP-glue used in http://tnsp.org/maps/
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
104 echo " of "; |
621 | 105 |
1060
b78333d62d5b
Combine speciaList into continentList and clean up the code a bit.
Matti Hamalainen <ccr@tnsp.org>
parents:
1059
diff
changeset
|
106 if (isset($continentList[$setName])) { |
b78333d62d5b
Combine speciaList into continentList and clean up the code a bit.
Matti Hamalainen <ccr@tnsp.org>
parents:
1059
diff
changeset
|
107 echo $continentList[$setName][0]. |
b78333d62d5b
Combine speciaList into continentList and clean up the code a bit.
Matti Hamalainen <ccr@tnsp.org>
parents:
1059
diff
changeset
|
108 ($continentList[$setName][3] ? " in " : " continent in "); |
b78333d62d5b
Combine speciaList into continentList and clean up the code a bit.
Matti Hamalainen <ccr@tnsp.org>
parents:
1059
diff
changeset
|
109 } |
300
edac314ac9bb
Added in the ugly PHP-glue used in http://tnsp.org/maps/
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
110 echo "BatMUD"; |
edac314ac9bb
Added in the ugly PHP-glue used in http://tnsp.org/maps/
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
111 if (isset($coderName)) |
1084 | 112 echo " by ".chentities($coderName); |
300
edac314ac9bb
Added in the ugly PHP-glue used in http://tnsp.org/maps/
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
113 echo "</h1>\n"; |
edac314ac9bb
Added in the ugly PHP-glue used in http://tnsp.org/maps/
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
114 |
622 | 115 ?> |
116 <div class="selbar"> | |
801 | 117 <form action="<? echo $_SERVER["PHP_SELF"]; ?>" method="get"> |
622 | 118 <? |
119 if (isset($setName)) | |
926 | 120 echo "<input type=\"hidden\" name=\"n\" value=\"".chentities($setName)."\" />\n"; |
622 | 121 ?> |
122 <table> | |
123 <tr> | |
124 <td> | |
125 <select name="f"> | |
126 <? | |
816
6341de08bd52
Handle alternative location names better;Add unique location ID generation to handle locations with exactly same primary name.
Matti Hamalainen <ccr@tnsp.org>
parents:
813
diff
changeset
|
127 foreach ($locationTypes as $id => $type) { |
6341de08bd52
Handle alternative location names better;Add unique location ID generation to handle locations with exactly same primary name.
Matti Hamalainen <ccr@tnsp.org>
parents:
813
diff
changeset
|
128 echo " <option value=\"".$id."\""; |
6341de08bd52
Handle alternative location names better;Add unique location ID generation to handle locations with exactly same primary name.
Matti Hamalainen <ccr@tnsp.org>
parents:
813
diff
changeset
|
129 if ($applyFilter && $filter == $id) |
622 | 130 echo " selected=\"selected\""; |
816
6341de08bd52
Handle alternative location names better;Add unique location ID generation to handle locations with exactly same primary name.
Matti Hamalainen <ccr@tnsp.org>
parents:
813
diff
changeset
|
131 echo ">".$type[3]."</option>\n"; |
300
edac314ac9bb
Added in the ugly PHP-glue used in http://tnsp.org/maps/
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
132 } |
622 | 133 ?> |
134 </select> | |
135 </td> | |
136 <td> | |
137 <input type="submit" value=" Update " class="isubmit" /> | |
138 </td> | |
816
6341de08bd52
Handle alternative location names better;Add unique location ID generation to handle locations with exactly same primary name.
Matti Hamalainen <ccr@tnsp.org>
parents:
813
diff
changeset
|
139 <td></td> |
622 | 140 <? |
1115 | 141 printTitleLink($applyFilter, $filter, $showCoders, "All continents", "", ""); |
816
6341de08bd52
Handle alternative location names better;Add unique location ID generation to handle locations with exactly same primary name.
Matti Hamalainen <ccr@tnsp.org>
parents:
813
diff
changeset
|
142 foreach ($continentList as $continent => $data) { |
1060
b78333d62d5b
Combine speciaList into continentList and clean up the code a bit.
Matti Hamalainen <ccr@tnsp.org>
parents:
1059
diff
changeset
|
143 if ($data[4]) |
b78333d62d5b
Combine speciaList into continentList and clean up the code a bit.
Matti Hamalainen <ccr@tnsp.org>
parents:
1059
diff
changeset
|
144 printTitleLink($applyFilter, $filter, $showCoders, $data[0], $continent, $continent); |
300
edac314ac9bb
Added in the ugly PHP-glue used in http://tnsp.org/maps/
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
145 } |
1115 | 146 printTitleLink($applyFilter, $filter, $showCoders, "Special", "special", "special"); |
300
edac314ac9bb
Added in the ugly PHP-glue used in http://tnsp.org/maps/
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
147 ?> |
1115 | 148 <td><a href="<? echo $pageIndex ?>">Main page</a></td> |
321 | 149 </tr> |
150 </table> | |
622 | 151 </form> |
321 | 152 </div> |
153 | |
300
edac314ac9bb
Added in the ugly PHP-glue used in http://tnsp.org/maps/
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
154 <? |
1112 | 155 /* Wizard/coder/creator information box |
441 | 156 */ |
393 | 157 if (isset($coderName) && isset($wizTable[$coderName]) && count($wizTable[$coderName]) > 1) { |
1112 | 158 |
159 // Profile picture | |
501 | 160 $s = $wizTable[$coderName]["imageURL"]; |
337
ca191c3a0ce1
Updates and lots of new ugly glue.
Matti Hamalainen <ccr@tnsp.org>
parents:
321
diff
changeset
|
161 if (isset($s)) { |
321 | 162 if (substr($s, 0, 6) == "bat://") |
976 | 163 $s = "img/unknown.png"; |
337
ca191c3a0ce1
Updates and lots of new ugly glue.
Matti Hamalainen <ccr@tnsp.org>
parents:
321
diff
changeset
|
164 } else |
ca191c3a0ce1
Updates and lots of new ugly glue.
Matti Hamalainen <ccr@tnsp.org>
parents:
321
diff
changeset
|
165 $s = "img/unknown.png"; |
1112 | 166 |
976 | 167 echo "<div class=\"wizinfo\">\n <table>\n <tr>\n". |
168 " <td class=\"img\"><img src=\"".$s."\" alt=\"".$coderName."\" /></td>\n". | |
169 " <td class=\"info\">\n". | |
908 | 170 " <h2>".$coderName."</h2>\n"; |
300
edac314ac9bb
Added in the ugly PHP-glue used in http://tnsp.org/maps/
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
171 |
1112 | 172 // Description block |
321 | 173 $s = $wizTable[$coderName]["desc"]; |
908 | 174 if (isset($s)) { |
1112 | 175 $s = preg_replace("/\~([A-Z][a-z]+)\~/i", "<a href=\"".$_SERVER["PHP_SELF"]."?a=\${1}\">\${1}</a>", $s); |
176 | |
177 foreach ($specTags as $tag => $rep) | |
178 $s = preg_replace("/\[".$tag."\]/i", $rep, $s); | |
179 | |
321 | 180 echo " <p>".$s."</p>\n"; |
300
edac314ac9bb
Added in the ugly PHP-glue used in http://tnsp.org/maps/
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
181 } |
321 | 182 |
1112 | 183 // Links, etc. |
501 | 184 echo " [<a href=\"".fingerURL($coderName)."\">Finger</a>]\n"; |
337
ca191c3a0ce1
Updates and lots of new ugly glue.
Matti Hamalainen <ccr@tnsp.org>
parents:
321
diff
changeset
|
185 |
321 | 186 $s = $wizTable[$coderName]["homeURL"]; |
337
ca191c3a0ce1
Updates and lots of new ugly glue.
Matti Hamalainen <ccr@tnsp.org>
parents:
321
diff
changeset
|
187 if (isset($s)) { |
321 | 188 if ($s == "bat") |
189 $s = "http://wiz.bat.org/~".strtolower($coderName)."/"; | |
190 | |
191 echo " [<a href=\"".$s."\">Homepage</a>]<br />\n"; | |
192 } | |
193 | |
194 echo " </td>\n </tr>\n </table>\n</div>\n"; | |
300
edac314ac9bb
Added in the ugly PHP-glue used in http://tnsp.org/maps/
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
195 } |
488 | 196 |
300
edac314ac9bb
Added in the ugly PHP-glue used in http://tnsp.org/maps/
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
197 |
edac314ac9bb
Added in the ugly PHP-glue used in http://tnsp.org/maps/
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
198 /* Print list of locations |
edac314ac9bb
Added in the ugly PHP-glue used in http://tnsp.org/maps/
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
199 */ |
edac314ac9bb
Added in the ugly PHP-glue used in http://tnsp.org/maps/
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
200 if (count($locTable) > 0) { |
816
6341de08bd52
Handle alternative location names better;Add unique location ID generation to handle locations with exactly same primary name.
Matti Hamalainen <ccr@tnsp.org>
parents:
813
diff
changeset
|
201 /* Make alphabetically sorted table of locations |
300
edac314ac9bb
Added in the ugly PHP-glue used in http://tnsp.org/maps/
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
202 */ |
813 | 203 $alphaTable = array(); |
816
6341de08bd52
Handle alternative location names better;Add unique location ID generation to handle locations with exactly same primary name.
Matti Hamalainen <ccr@tnsp.org>
parents:
813
diff
changeset
|
204 foreach ($locTable as $id => $data) |
6341de08bd52
Handle alternative location names better;Add unique location ID generation to handle locations with exactly same primary name.
Matti Hamalainen <ccr@tnsp.org>
parents:
813
diff
changeset
|
205 if (isset($data["name"])) { |
6341de08bd52
Handle alternative location names better;Add unique location ID generation to handle locations with exactly same primary name.
Matti Hamalainen <ccr@tnsp.org>
parents:
813
diff
changeset
|
206 $idx = $data["name"][0]; |
337
ca191c3a0ce1
Updates and lots of new ugly glue.
Matti Hamalainen <ccr@tnsp.org>
parents:
321
diff
changeset
|
207 if (isset($_GET["nocoders"])) { |
816
6341de08bd52
Handle alternative location names better;Add unique location ID generation to handle locations with exactly same primary name.
Matti Hamalainen <ccr@tnsp.org>
parents:
813
diff
changeset
|
208 if (count($data["coders"]) == 0 && !preg_match("/[SPG]/", $data["flags"])) |
6341de08bd52
Handle alternative location names better;Add unique location ID generation to handle locations with exactly same primary name.
Matti Hamalainen <ccr@tnsp.org>
parents:
813
diff
changeset
|
209 $alphaTable[$idx][] = $data; |
300
edac314ac9bb
Added in the ugly PHP-glue used in http://tnsp.org/maps/
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
210 } else { |
337
ca191c3a0ce1
Updates and lots of new ugly glue.
Matti Hamalainen <ccr@tnsp.org>
parents:
321
diff
changeset
|
211 if (isset($coderName)) { |
975
af0fc3a965dc
Fix all the web-interface PHP crap to work with the new LOC file format. Urgh. This shit could really use some refactoring cleanup.
Matti Hamalainen <ccr@tnsp.org>
parents:
926
diff
changeset
|
212 foreach ($data["coders"] as $coder) { |
af0fc3a965dc
Fix all the web-interface PHP crap to work with the new LOC file format. Urgh. This shit could really use some refactoring cleanup.
Matti Hamalainen <ccr@tnsp.org>
parents:
926
diff
changeset
|
213 if ($coderName == $coder["name"]) |
af0fc3a965dc
Fix all the web-interface PHP crap to work with the new LOC file format. Urgh. This shit could really use some refactoring cleanup.
Matti Hamalainen <ccr@tnsp.org>
parents:
926
diff
changeset
|
214 $alphaTable[$idx][] = $data; |
af0fc3a965dc
Fix all the web-interface PHP crap to work with the new LOC file format. Urgh. This shit could really use some refactoring cleanup.
Matti Hamalainen <ccr@tnsp.org>
parents:
926
diff
changeset
|
215 } |
337
ca191c3a0ce1
Updates and lots of new ugly glue.
Matti Hamalainen <ccr@tnsp.org>
parents:
321
diff
changeset
|
216 } else |
816
6341de08bd52
Handle alternative location names better;Add unique location ID generation to handle locations with exactly same primary name.
Matti Hamalainen <ccr@tnsp.org>
parents:
813
diff
changeset
|
217 $alphaTable[$idx][] = $data; |
300
edac314ac9bb
Added in the ugly PHP-glue used in http://tnsp.org/maps/
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
218 } |
edac314ac9bb
Added in the ugly PHP-glue used in http://tnsp.org/maps/
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
219 } |
edac314ac9bb
Added in the ugly PHP-glue used in http://tnsp.org/maps/
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
220 |
edac314ac9bb
Added in the ugly PHP-glue used in http://tnsp.org/maps/
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
221 ksort($alphaTable, SORT_STRING); |
edac314ac9bb
Added in the ugly PHP-glue used in http://tnsp.org/maps/
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
222 |
edac314ac9bb
Added in the ugly PHP-glue used in http://tnsp.org/maps/
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
223 /* Print locations per first character |
edac314ac9bb
Added in the ugly PHP-glue used in http://tnsp.org/maps/
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
224 */ |
519 | 225 $locationTips = array(); |
300
edac314ac9bb
Added in the ugly PHP-glue used in http://tnsp.org/maps/
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
226 $totalLoc = 0; |
edac314ac9bb
Added in the ugly PHP-glue used in http://tnsp.org/maps/
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
227 $maxRow = 6; |
908 | 228 foreach ($alphaTable as $alpha => $alphaLocs) { |
229 if (count($alphaLocs) <= 0) continue; | |
817
eaba088b5424
Show alternative location names on location page.
Matti Hamalainen <ccr@tnsp.org>
parents:
816
diff
changeset
|
230 |
908 | 231 asort($alphaLocs); |
519 | 232 |
908 | 233 echo "<h3><a name=\"".strtolower($alpha)."\"></a>".$alpha."</h3>\n". |
817
eaba088b5424
Show alternative location names on location page.
Matti Hamalainen <ccr@tnsp.org>
parents:
816
diff
changeset
|
234 "<table class=\"loc\" width=\"95%\">\n"; |
eaba088b5424
Show alternative location names on location page.
Matti Hamalainen <ccr@tnsp.org>
parents:
816
diff
changeset
|
235 |
eaba088b5424
Show alternative location names on location page.
Matti Hamalainen <ccr@tnsp.org>
parents:
816
diff
changeset
|
236 $n = 0; |
908 | 237 foreach ($alphaLocs as $ik => $iv) { |
817
eaba088b5424
Show alternative location names on location page.
Matti Hamalainen <ccr@tnsp.org>
parents:
816
diff
changeset
|
238 if ($n == 0) |
eaba088b5424
Show alternative location names on location page.
Matti Hamalainen <ccr@tnsp.org>
parents:
816
diff
changeset
|
239 echo " <tr>\n"; |
300
edac314ac9bb
Added in the ugly PHP-glue used in http://tnsp.org/maps/
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
240 |
908 | 241 $totalLoc++; |
300
edac314ac9bb
Added in the ugly PHP-glue used in http://tnsp.org/maps/
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
242 |
908 | 243 // Print location entry |
244 printf(" <td width=\"%d%%\" class=\"%s\">", | |
245 (100 / $maxRow), $iv["continent"]); | |
311 | 246 |
1060
b78333d62d5b
Combine speciaList into continentList and clean up the code a bit.
Matti Hamalainen <ccr@tnsp.org>
parents:
1059
diff
changeset
|
247 if (!$continentList[$iv["continent"]][4]) { |
926 | 248 echo "<b>".chentities($iv["name"])."</b>"; |
908 | 249 } else { |
250 printURL($iv["continent"].".html#loc".$iv["x"]."_".$iv["y"]); | |
926 | 251 echo chentities($iv["name"])."</a>"; |
908 | 252 } |
253 | |
254 // If either freeform desc or URL field are set, we add those | |
255 if (isset($iv["url"]) || isset($iv["freeform"])) { | |
256 // Free form description | |
926 | 257 $desc = isset($iv["freeform"]) ? chentities($iv["freeform"]) : ""; |
908 | 258 |
259 // Add URL information, chopped, if any | |
260 if (isset($iv["url"])) { | |
261 $urlEnt = $iv["url"]; | |
926 | 262 $urlBegin = "<a href=\"".chentities($urlEnt)."\" target=\"_blank\">"; |
908 | 263 $urlEnd = "</a>"; |
264 if (strlen($iv["url"]) > 40) | |
265 $urlEnt = substr($urlEnt, 0, 40)."..."; | |
926 | 266 $desc .= "<br /><br /><b>".chentities($urlEnt)."</b>"; |
509 | 267 } else { |
908 | 268 $urlBegin = $urlEnd = ""; |
509 | 269 } |
602
e46ee0632810
Add link via URL field too.
Matti Hamalainen <ccr@tnsp.org>
parents:
601
diff
changeset
|
270 |
908 | 271 echo " ".$urlBegin."<img class=\"noborder\" src=\"question.png\" onmouseover=\"stt(".$totalLoc. |
272 ");\" onmouseout=\"htt();\" alt=\"(?)\" />".$urlEnd."\n"; | |
519 | 273 |
908 | 274 $locationTips[$totalLoc] = array( |
275 "title" => $iv["name"], | |
276 "desc" => $desc | |
277 ); | |
278 } | |
519 | 279 |
908 | 280 // Alternative names |
975
af0fc3a965dc
Fix all the web-interface PHP crap to work with the new LOC file format. Urgh. This shit could really use some refactoring cleanup.
Matti Hamalainen <ccr@tnsp.org>
parents:
926
diff
changeset
|
281 $nnames = count($iv["names"]); |
af0fc3a965dc
Fix all the web-interface PHP crap to work with the new LOC file format. Urgh. This shit could really use some refactoring cleanup.
Matti Hamalainen <ccr@tnsp.org>
parents:
926
diff
changeset
|
282 if ($nnames > 1) { |
af0fc3a965dc
Fix all the web-interface PHP crap to work with the new LOC file format. Urgh. This shit could really use some refactoring cleanup.
Matti Hamalainen <ccr@tnsp.org>
parents:
926
diff
changeset
|
283 echo "<br />"; |
af0fc3a965dc
Fix all the web-interface PHP crap to work with the new LOC file format. Urgh. This shit could really use some refactoring cleanup.
Matti Hamalainen <ccr@tnsp.org>
parents:
926
diff
changeset
|
284 for ($nname = 1; $nname < $nnames; $nname++) { |
af0fc3a965dc
Fix all the web-interface PHP crap to work with the new LOC file format. Urgh. This shit could really use some refactoring cleanup.
Matti Hamalainen <ccr@tnsp.org>
parents:
926
diff
changeset
|
285 if ($iv["names"][$nname]["flags"] & NAME_ORIG) |
af0fc3a965dc
Fix all the web-interface PHP crap to work with the new LOC file format. Urgh. This shit could really use some refactoring cleanup.
Matti Hamalainen <ccr@tnsp.org>
parents:
926
diff
changeset
|
286 echo "<b>"; |
af0fc3a965dc
Fix all the web-interface PHP crap to work with the new LOC file format. Urgh. This shit could really use some refactoring cleanup.
Matti Hamalainen <ccr@tnsp.org>
parents:
926
diff
changeset
|
287 echo chentities($iv["names"][$nname]["name"]); |
af0fc3a965dc
Fix all the web-interface PHP crap to work with the new LOC file format. Urgh. This shit could really use some refactoring cleanup.
Matti Hamalainen <ccr@tnsp.org>
parents:
926
diff
changeset
|
288 if ($iv["names"][$nname]["flags"] & NAME_ORIG) |
af0fc3a965dc
Fix all the web-interface PHP crap to work with the new LOC file format. Urgh. This shit could really use some refactoring cleanup.
Matti Hamalainen <ccr@tnsp.org>
parents:
926
diff
changeset
|
289 echo "</b>"; |
af0fc3a965dc
Fix all the web-interface PHP crap to work with the new LOC file format. Urgh. This shit could really use some refactoring cleanup.
Matti Hamalainen <ccr@tnsp.org>
parents:
926
diff
changeset
|
290 if ($nname < $nnames - 1) echo " | "; |
af0fc3a965dc
Fix all the web-interface PHP crap to work with the new LOC file format. Urgh. This shit could really use some refactoring cleanup.
Matti Hamalainen <ccr@tnsp.org>
parents:
926
diff
changeset
|
291 } |
908 | 292 } |
817
eaba088b5424
Show alternative location names on location page.
Matti Hamalainen <ccr@tnsp.org>
parents:
816
diff
changeset
|
293 |
908 | 294 // Coder / society names |
295 if (count($iv["coders"]) > 0 && $showCoders) { | |
296 $isSG = preg_match("/[SG]/", $iv["flags"]); | |
297 if ((!isset($coderName) && !$isSG) || isset($coderName)) { | |
300
edac314ac9bb
Added in the ugly PHP-glue used in http://tnsp.org/maps/
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
298 $fs = ""; |
975
af0fc3a965dc
Fix all the web-interface PHP crap to work with the new LOC file format. Urgh. This shit could really use some refactoring cleanup.
Matti Hamalainen <ccr@tnsp.org>
parents:
926
diff
changeset
|
299 foreach ($iv["coders"] as $name) { |
300
edac314ac9bb
Added in the ugly PHP-glue used in http://tnsp.org/maps/
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
300 if ($fs != "") $fs .= ", "; |
975
af0fc3a965dc
Fix all the web-interface PHP crap to work with the new LOC file format. Urgh. This shit could really use some refactoring cleanup.
Matti Hamalainen <ccr@tnsp.org>
parents:
926
diff
changeset
|
301 switch ($name["flags"]) { |
af0fc3a965dc
Fix all the web-interface PHP crap to work with the new LOC file format. Urgh. This shit could really use some refactoring cleanup.
Matti Hamalainen <ccr@tnsp.org>
parents:
926
diff
changeset
|
302 case NAME_ORIG: $qs = "title=\"Original creator\""; break; |
af0fc3a965dc
Fix all the web-interface PHP crap to work with the new LOC file format. Urgh. This shit could really use some refactoring cleanup.
Matti Hamalainen <ccr@tnsp.org>
parents:
926
diff
changeset
|
303 case NAME_RECODER: $qs = "title=\"Converter, recoder\""; break; |
af0fc3a965dc
Fix all the web-interface PHP crap to work with the new LOC file format. Urgh. This shit could really use some refactoring cleanup.
Matti Hamalainen <ccr@tnsp.org>
parents:
926
diff
changeset
|
304 case NAME_MAINTAINER: $qs = "title=\"Maintainer\""; break; |
af0fc3a965dc
Fix all the web-interface PHP crap to work with the new LOC file format. Urgh. This shit could really use some refactoring cleanup.
Matti Hamalainen <ccr@tnsp.org>
parents:
926
diff
changeset
|
305 case NAME_EXPANDER: $qs = "title=\"Implemented new content, expansion(s)\""; break; |
af0fc3a965dc
Fix all the web-interface PHP crap to work with the new LOC file format. Urgh. This shit could really use some refactoring cleanup.
Matti Hamalainen <ccr@tnsp.org>
parents:
926
diff
changeset
|
306 default: $qs = ""; |
af0fc3a965dc
Fix all the web-interface PHP crap to work with the new LOC file format. Urgh. This shit could really use some refactoring cleanup.
Matti Hamalainen <ccr@tnsp.org>
parents:
926
diff
changeset
|
307 } |
679 | 308 if ($filter != "C" || !$applyFilter) |
975
af0fc3a965dc
Fix all the web-interface PHP crap to work with the new LOC file format. Urgh. This shit could really use some refactoring cleanup.
Matti Hamalainen <ccr@tnsp.org>
parents:
926
diff
changeset
|
309 $fs .= "<a ".$qs." href=\"".$_SERVER["PHP_SELF"]."?a=".$name["name"]."\">".$name["name"]."</a>"; |
300
edac314ac9bb
Added in the ugly PHP-glue used in http://tnsp.org/maps/
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
310 else |
975
af0fc3a965dc
Fix all the web-interface PHP crap to work with the new LOC file format. Urgh. This shit could really use some refactoring cleanup.
Matti Hamalainen <ccr@tnsp.org>
parents:
926
diff
changeset
|
311 $fs .= $name["name"]; |
300
edac314ac9bb
Added in the ugly PHP-glue used in http://tnsp.org/maps/
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
312 } |
edac314ac9bb
Added in the ugly PHP-glue used in http://tnsp.org/maps/
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
313 echo "<br />[".$fs."]"; |
edac314ac9bb
Added in the ugly PHP-glue used in http://tnsp.org/maps/
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
314 } |
908 | 315 } |
300
edac314ac9bb
Added in the ugly PHP-glue used in http://tnsp.org/maps/
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
316 |
908 | 317 echo "</td>\n"; |
300
edac314ac9bb
Added in the ugly PHP-glue used in http://tnsp.org/maps/
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
318 |
908 | 319 if (++$n >= $maxRow) { |
300
edac314ac9bb
Added in the ugly PHP-glue used in http://tnsp.org/maps/
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
320 echo " </tr>\n"; |
908 | 321 $n = 0; |
322 } | |
323 } | |
324 | |
325 if ($n > 0) { | |
326 while ($n++ < $maxRow) | |
327 echo " <td></td>\n"; | |
328 echo " </tr>\n"; | |
329 } | |
330 echo "</table>\n"; | |
300
edac314ac9bb
Added in the ugly PHP-glue used in http://tnsp.org/maps/
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
331 } |
519 | 332 |
333 echo "<p><b>".$totalLoc."</b> locations.</p>\n"; | |
300
edac314ac9bb
Added in the ugly PHP-glue used in http://tnsp.org/maps/
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
334 |
816
6341de08bd52
Handle alternative location names better;Add unique location ID generation to handle locations with exactly same primary name.
Matti Hamalainen <ccr@tnsp.org>
parents:
813
diff
changeset
|
335 /* Print out location tooltip HTML code |
519 | 336 */ |
816
6341de08bd52
Handle alternative location names better;Add unique location ID generation to handle locations with exactly same primary name.
Matti Hamalainen <ccr@tnsp.org>
parents:
813
diff
changeset
|
337 foreach ($locationTips as $tipID => $tip) { |
6341de08bd52
Handle alternative location names better;Add unique location ID generation to handle locations with exactly same primary name.
Matti Hamalainen <ccr@tnsp.org>
parents:
813
diff
changeset
|
338 echo "<div class=\"tooltip\" id=\"tt".$tipID. |
926 | 339 "\"><div class=\"holder\"><b>".chentities($tip["title"]). |
816
6341de08bd52
Handle alternative location names better;Add unique location ID generation to handle locations with exactly same primary name.
Matti Hamalainen <ccr@tnsp.org>
parents:
813
diff
changeset
|
340 "</b><br />".$tip["desc"]."</div></div>\n"; |
519 | 341 } |
300
edac314ac9bb
Added in the ugly PHP-glue used in http://tnsp.org/maps/
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
342 } else { |
edac314ac9bb
Added in the ugly PHP-glue used in http://tnsp.org/maps/
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
343 echo "<p><b>No locations known!</b></p>\n"; |
edac314ac9bb
Added in the ugly PHP-glue used in http://tnsp.org/maps/
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
344 } |
edac314ac9bb
Added in the ugly PHP-glue used in http://tnsp.org/maps/
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
345 ?> |
edac314ac9bb
Added in the ugly PHP-glue used in http://tnsp.org/maps/
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
346 </body> |
edac314ac9bb
Added in the ugly PHP-glue used in http://tnsp.org/maps/
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
347 </html> |