Mercurial > hg > batmud > alchtool
changeset 79:d818defbb3a6
Merged.
author | Matti Hamalainen <ccr@tnsp.org> |
---|---|
date | Thu, 13 Mar 2014 02:02:37 +0200 |
parents | 3f02c6696d53 (current diff) 03c54e5b60aa (diff) |
children | cd121447a2e1 |
files | |
diffstat | 1 files changed, 130 insertions(+), 45 deletions(-) [+] |
line wrap: on
line diff
--- a/info/herb.php Thu Mar 13 00:56:59 2014 +0200 +++ b/info/herb.php Thu Mar 13 02:02:37 2014 +0200 @@ -1,10 +1,105 @@ +<?php +$terrainData = array( + array("light forests" , "lf", "f"), + array("heavy forests" , "hf", "F"), + array("plains" , "pl", "."), + array("valleys" , "va", "v"), + array("fields" , "fi", "y"), + array("highlands" , "hg", "H"), + array("hills" , "hi", "h"), + array("desert" , "de", "d"), + array("swamps" , "sw", "s"), + array("abandoned ruins" , "ru", "#"), + array("shores" , "sh", "z"), + array("beaches" , "be", "b"), + array("jungles" , "ju", "j"), + array("tundra" , "tu", "t"), + array("shallow water" , "wa", "S"), + array("mountains" , "mo", "^"), + array("badlands" , "ba", "x"), +); + +$seasonData = array( + "spring", "summer", "autumn", "winter", +); + + +function tlGetTerrainDataByName($name) +{ + global $terrainData; + foreach ($terrainData as $rkey => $rdata) + { + if ($rdata[0] == $name) + return $rkey; + } + + die("Unsupported terrain type '".$name."'.\n"); +} + + +function tlGetTerrainDataByCode($val) +{ + global $terrainData; + foreach ($terrainData as $rkey => $rdata) + { + if ($rdata[1] == $val) + return $rkey; + } + + return FALSE; +} + + +function tlGetSeasonFromName($name) +{ + global $seasonData; + if (($season = array_search($name, $seasonData)) === FALSE) + die("Invalid season name '".$name."'.\n"); + + return $season; +} + + +$fh = @fopen("herbs.csv", "r"); +$herbData = array(); +if ($fh !== FALSE) +{ + while ($data = fgetcsv($fh, 1000, ";")) + { + $sdata = array(); + foreach (preg_split("/, */", $data[1]) as $value) + { + if ($value != "") + $sdata[] = tlGetSeasonFromName($value); + } + + $rdata = array(); + foreach (preg_split("/, */", $data[2]) as $value) + { + if ($value != "") + $rdata[] = tlGetTerrainDataByName($value); + } + + $herbData[] = array( + "name" => $data[0], + "seasons" => $sdata, + "terrains" => $rdata, + "pair" => $data[3], + "info" => $data[4], + ); + } + fclose($fh); +} + + +?> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN"> -<HTML> - <HEAD> - <TITLE>Some stupid plants</TITLE> - <LINK rel="stylesheet" href="style.css" type="text/css"> - </HEAD> - <BODY> +<html> + <head> + <title>Some stupid plants</title> + <link href="style.css" title="compact" rel="stylesheet" type="text/css"> + </head> +<body> <table> <caption>Some stupid plants</caption> <tr> @@ -14,51 +109,41 @@ <th>Herb pair</th> <th>Information</th> </tr> +<?php +$filter = -1; +if (isset($_GET["terrain"])) +{ + $data = tlGetTerrainDataByCode(strtolower(trim($_GET["terrain"]))); + if ($data !== FALSE) + $filter = $data; +} -<? -$row=0; -$kahva=fopen("herbs.csv","r"); -while ($data=fgetcsv($kahva,1000,";")) +$row = 0; +foreach ($herbData as $data) { + if ($filter >= 0 && array_search($filter, $data["terrains"]) === FALSE) + continue; + $row++; - $foo=""; - if (!($row % 2)) $foo=" class=even"; - echo "<tr$foo>"; - echo "<td>$data[0]</td>"; - echo "<td>$data[1]</td>"; -# echo "<td>$data[2]</td>"; - echo "<td>"; - $tada=explode(", ",$data[2]); - foreach ($tada as $value) + echo + "<tr class=\"".(($row % 2) ? "even" : "odd")."\">". + "<td>".$data["name"]."</td>". + "<td>".implode(", ", $data["seasons"])."</td>". + "<td>"; + + foreach ($data["terrains"] as $rkey) { - switch ($value) - { - case "light forests": echo "<span class=lf>f</span> ";break; - case "heavy forests": echo "<span class=hf>F</span> ";break; - case "plains": echo "<span class=pl>p</span> ";break; - case "valleys": echo "<span class=va>v</span> ";break; - case "fields": echo "<span class=fi>y</span> ";break; - case "highlands": echo "<span class=hg>i</span> ";break; - case "hills": echo "<span class=hi>h</span> ";break; - case "desert": echo "<span class=de>d</span> ";break; - case "swamps": echo "<span class=sw>s</span> ";break; - case "abandoned ruins": echo "<span class=ru>#</span> ";break; - case "shores": echo "<span class=sh>z</span> ";break; - case "beaches": echo "<span class=be>b</span> ";break; - case "jungles": echo "<span class=ju>j</span> ";break; - case "tundra": echo "<span class=tu>t</span> ";break; - case "shallow water": echo "<span class=wa>S</span> ";break; - case "mountains": echo "<span class=mo>^</span> ";break; - case "badlands": echo "<span class=ba>x</span> ";break; - default: echo $value; - } + $rdata = $terrainData[$rkey]; + echo "<a href=\"?terrain=".$rdata[1]."\"><span class=\"".$rdata[1]."\">".$rdata[2]."</span></a>"; } - echo "</td>"; - echo "<td>$data[3]</td>"; - echo "<td>$data[4]</td>"; - echo "</tr>"; + + echo + "</td>". + "<td>".$data["pair"]."</td>". + "<td>".$data["info"]."</td>". + "</tr>\n"; } ?> </table> </body> -</html> \ No newline at end of file +</html>