PageRenderTime 61ms CodeModel.GetById 30ms RepoModel.GetById 0ms app.codeStats 0ms

/select.php

https://github.com/toastbrot/datenlandkarte
PHP | 337 lines | 296 code | 35 blank | 6 comment | 21 complexity | 265bd3950ff4e395b2298f063fee4b8a MD5 | raw file
  1. <?php
  2. if (!$_POST) header('Location: input.php');
  3. require_once('lib.php');
  4. $keys = get_keys_by_vis($_POST);
  5. $error = array();
  6. if (!$keys)
  7. {
  8. $error = array('Es konnte keine valide Karte verwendet werden');
  9. } else {
  10. $data = get_data($_POST, $keys);
  11. if (empty($_POST['fac']))
  12. $fac = 1.0;
  13. else
  14. $fac = (float)$_POST['fac'];
  15. $error = _error_msg_for_data($data);
  16. if ($error === false) // no error
  17. $data = include_factor($data, $fac);
  18. else
  19. $error = array($error);
  20. }
  21. // Create files
  22. if (empty($error))
  23. {
  24. $image = select_svg_file($_POST);
  25. // sanitize parameters
  26. $file_title = $_POST['title'];
  27. $file_title = preg_replace('/[[:^alnum:]]/', '_', $file_title);
  28. $file_subtitle = $_POST['subtitle'];
  29. $file_subtitle = preg_replace('/[[:^alnum:]]/', '_', $file_subtitle);
  30. $title = htmlspecialchars($_POST['title'], ENT_NOQUOTES);
  31. $subtitle = htmlspecialchars($_POST['subtitle'], ENT_NOQUOTES);
  32. if ($file_title)
  33. $file_title = '-'.$file_title;
  34. if ($file_subtitle)
  35. $file_subtitle = '-'.$file_subtitle;
  36. $dec = $_POST['dec'];
  37. if (strlen($dec) == 0)
  38. $dec = 2;
  39. else
  40. $dec = (int)$_POST['dec'];
  41. if ($dec > 3)
  42. $dec = 3;
  43. $colors = $_POST['colors'];
  44. if (2 < (int)$colors && (int)$colors < 10)
  45. $colors = (int)$colors;
  46. else
  47. $colors = 10;
  48. if (file_exists($image))
  49. {
  50. // Create SVG
  51. $svg = substitute($image, $title, $subtitle,
  52. $dec, $colors, (int)$_POST['grad'], $data);
  53. $date = date('Ymd');
  54. $img_path = $location_creation.
  55. $date.$file_title.$file_subtitle;
  56. // Delete old files
  57. @unlink($img_path.'.svg');
  58. @unlink($img_path.'.png');
  59. @unlink($img_path.'_big.png');
  60. $fp = fopen($img_path.'.svg', 'w');
  61. if ($fp)
  62. {
  63. $a = fwrite($fp, $svg);
  64. if (!$a) {
  65. $error[] = 'Konnte Datei nicht schreiben. '.
  66. 'Keine Zugriffsrechte.';
  67. } else {
  68. // PNG1 aus SVG erzeugen
  69. exec('convert '.$img_path.'.svg '.$img_path.'.png');
  70. // PNG2 aus SVG erzeugen
  71. exec('convert -scale 300% '.$img_path.'.svg '.$img_path.'_big.png');
  72. }
  73. fclose($fp);
  74. } else {
  75. $error[] = 'Konnte Datei nicht öffnen. '.
  76. 'Keine Zugriffsrechte.';
  77. }
  78. } else {
  79. $error[] = 'Konnte Basiskarte ('.
  80. htmlspecialchars(basename($image), ENT_NOQUOTES).
  81. ') nicht finden.';
  82. }
  83. }
  84. ?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  85. <html xmlns="http://www.w3.org/1999/xhtml" dir="ltr" lang="de-DE"
  86. xmlns:og='http://opengraphprotocol.org/schema/'>
  87. <head profile="http://gmpg.org/xfn/11">
  88. <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
  89. <title>Datenlandkarte Format wählen</title>
  90. <meta name="description" content="Hier können Sie selbst Datenlandkarten erstellen. Gleichzeitig werden, falls Sie diese Option aktiviert lassen, die Rohdaten der Visualisierung gespeichert und" />
  91. <meta name="keywords" content="Bezirke, Kärnten, Alle, Ebenen, Daten, Bundesländer" />
  92. <meta name="robots" content="index, follow" />
  93. <link rel="canonical" href="http://www.datenlandkarten.at/datenlandkarte-erstellen/" />
  94. <meta http-equiv="X-UA-Compatible" content="IE=EmulateIE8" />
  95. <link rel="stylesheet" href="http://www.datenlandkarten.at/wp-content/themes/datenlandkarten/style.css" type="text/css" media="screen" />
  96. <!--[if IE 6]><link rel="stylesheet" href="http://www.datenlandkarten.at/wp-content/themes/datenlandkarten/style.ie6.css" type="text/css" media="screen" /><![endif]-->
  97. <!--[if IE 7]><link rel="stylesheet" href="http://www.datenlandkarten.at/wp-content/themes/datenlandkarten/style.ie7.css" type="text/css" media="screen" /><![endif]-->
  98. <link rel="pingback" href="http://www.datenlandkarten.at/xmlrpc.php" />
  99. <link rel="alternate" type="application/rss+xml" title="Datenlandkarten.at &raquo; Feed" href="http://www.datenlandkarten.at/feed/" />
  100. <link rel="alternate" type="application/rss+xml" title="Datenlandkarten.at &raquo; Kommentar Feed" href="http://www.datenlandkarten.at/comments/feed/" />
  101. <link rel='stylesheet' id='NextGEN-css' href='http://www.datenlandkarten.at/wp-content/plugins/nextgen-gallery/css/nggallery.css?ver=1.0.0' type='text/css' media='screen' />
  102. <link rel='stylesheet' id='shutter-css' href='http://www.datenlandkarten.at/wp-content/plugins/nextgen-gallery/shutter/shutter-reloaded.css?ver=1.3.0' type='text/css' media='screen' />
  103. <link rel='stylesheet' id='feedreading_style-css' href='http://www.datenlandkarten.at/wp-content/plugins/feed-reading-blogroll/css/feedreading_blogroll.css?ver=1.5.6' type='text/css' media='all' />
  104. <link rel='stylesheet' id='prlipro-post-css' href='http://www.datenlandkarten.at/wp-content/plugins/pretty-link/pro/css/prlipro-post.css?ver=3.0.4' type='text/css' media='all' />
  105. <script type='text/javascript' src='http://www.datenlandkarten.at/wp-content/plugins/nextgen-gallery/shutter/shutter-reloaded.js?ver=1.3.0'></script>
  106. <script type='text/javascript' src='http://www.datenlandkarten.at/wp-includes/js/swfobject.js?ver=2.2'></script>
  107. <script type='text/javascript' src='http://www.datenlandkarten.at/wp-includes/js/jquery/jquery.js?ver=1.4.2'></script>
  108. <script type='text/javascript' src='http://www.datenlandkarten.at/wp-includes/js/comment-reply.js?ver=20090102'></script>
  109. <script type='text/javascript' src='http://www.datenlandkarten.at/wp-content/feedreading_blogroll.js?ver=1.5.6'></script>
  110. <link rel="EditURI" type="application/rsd+xml" title="RSD" href="http://www.datenlandkarten.at/xmlrpc.php?rsd" />
  111. <link rel="wlwmanifest" type="application/wlwmanifest+xml" href="http://www.datenlandkarten.at/wp-includes/wlwmanifest.xml" />
  112. <link rel='index' title='Datenlandkarten.at' href='http://www.datenlandkarten.at/' />
  113. <link rel='next' title='Galerie' href='http://www.datenlandkarten.at/galerie/' />
  114. <meta name="DC.publisher" content="Datenlandkarten.at" />
  115. <meta name="DC.publisher.url" content="http://www.datenlandkarten.at/" />
  116. <meta name="DC.title" content="Datenlandkarte erstellen" />
  117. <meta name="DC.identifier" content="http://www.datenlandkarten.at/datenlandkarte-erstellen/" />
  118. <meta name="DC.date.created" scheme="WTN8601" content="2011-02-02T20:09:28" />
  119. <meta name="DC.created" scheme="WTN8601" content="2011-02-02T20:09:28" />
  120. <meta name="DC.date" scheme="WTN8601" content="2011-02-02T20:09:28" />
  121. <meta name="DC.creator.name" content="Harm, Robert" />
  122. <meta name="DC.creator" content="Harm, Robert" />
  123. <meta name="DC.rights.rightsHolder" content="@RobertHarm" />
  124. <meta name="DC.language" content="de-DE" scheme="rfc1766" />
  125. <meta name="DC.rights.license" content="http://creativecommons.org/licenses/by/3.0/at/" />
  126. <meta name="DC.license" content="http://creativecommons.org/licenses/by/3.0/at/" />
  127. <!--Facebook Like Button OpenGraph Settings Start-->
  128. <meta property="og:site_name" content="Datenlandkarten.at"/>
  129. <meta property="og:title" content="Datenlandkarte erstellen"/>
  130. <meta property="og:description" content="Hier können Sie selbst Datenlandkarten erstellen. Gleichzeitig werden, falls Sie diese Option aktiviert lassen, die Rohdaten der Visualisie"/>
  131. <meta property="og:url" content="http://www.datenlandkarten.at/datenlandkarte-erstellen/"/>
  132. <meta property="fb:admins" content="1039929046" />
  133. <meta property="fb:app_id" content="192140977480316" />
  134. <meta property="og:image" content="http://www.datenlandkarten.at/wp-content/uploads/opengraph.png" />
  135. <meta property="og:type" content="article" />
  136. <!--Facebook Like Button OpenGraph Settings End-->
  137. <link rel="shorturl" href="http://datenlandkarte.at/gs8" />
  138. <meta name='NextGEN' content='1.7.3' />
  139. <script type="text/javascript" src="http://www.datenlandkarten.at/wp-content/themes/datenlandkarten/script.js"></script>
  140. <style type="text/css">
  141. <!--
  142. table {
  143. width: 100%;
  144. }
  145. td {
  146. vertical-align: top;
  147. }
  148. select {
  149. min-width: 50%;
  150. }
  151. textarea {
  152. width: 100%;
  153. }
  154. input, textarea { background-color: #CCC; }
  155. input:hover, textarea:hover { background-color: #EEE; }
  156. .error {
  157. color: #F00;
  158. }
  159. .subselect {
  160. margin-left: 30px;
  161. }
  162. .download {
  163. background-color: #EEE;
  164. margin: 20px;
  165. clear: both;
  166. padding: 10px;
  167. }
  168. -->
  169. </style>
  170. </head>
  171. <body class="page page-id-2 page-template page-template-default">
  172. <div id="art-main">
  173. <div class="art-sheet">
  174. <div class="art-sheet-tl"></div>
  175. <div class="art-sheet-tr"></div>
  176. <div class="art-sheet-bl"></div>
  177. <div class="art-sheet-br"></div>
  178. <div class="art-sheet-tc"></div>
  179. <div class="art-sheet-bc"></div>
  180. <div class="art-sheet-cl"></div>
  181. <div class="art-sheet-cr"></div>
  182. <div class="art-sheet-cc"></div>
  183. <div class="art-sheet-body">
  184. <div class="art-header">
  185. <div class="art-header-center">
  186. <div class="art-header-png"></div>
  187. <div class="art-header-jpeg"></div>
  188. </div>
  189. <div class="art-headerobject"></div>
  190. <div class="art-logo">
  191. <h1 id="name-text" class="art-logo-name"><a href="http://www.datenlandkarten.at/">Datenlandkarten.at</a></h1>
  192. <h2 id="slogan-text" class="art-logo-text">Erstelle deine eigene Visualisierung von Gemeinde-, Bezirks-, und Bundesland-Daten</h2>
  193. </div>
  194. </div>
  195. <div class="art-nav">
  196. <div class="art-nav-l"></div>
  197. <div class="art-nav-r"></div>
  198. <ul class="art-menu">
  199. <li><a href="http://www.datenlandkarten.at" title="Startseite"><span class="l"> </span><span class="r"> </span><span class="t">Startseite</span></a>
  200. </li>
  201. <li class="art-menu-li-separator"><span class="art-menu-separator"> </span></li>
  202. <li class="active"><a class="active" href="http://www.datenlandkarten.at/datenlandkarte-erstellen/" title="Datenlandkarte erstellen"><span class="l"> </span><span class="r"> </span><span class="t">Datenlandkarte erstellen</span></a>
  203. </li>
  204. <li class="art-menu-li-separator"><span class="art-menu-separator"> </span></li>
  205. <li><a href="http://www.datenlandkarten.at/rohdaten/" title="Rohdaten"><span class="l"> </span><span class="r"> </span><span class="t">Rohdaten</span></a>
  206. </li>
  207. <li class="art-menu-li-separator"><span class="art-menu-separator"> </span></li>
  208. <li><a href="http://www.datenlandkarten.at/galerie/" title="Galerie"><span class="l"> </span><span class="r"> </span><span class="t">Galerie</span></a>
  209. </li>
  210. <li class="art-menu-li-separator"><span class="art-menu-separator"> </span></li>
  211. <li><a href="http://www.datenlandkarten.at/blog/" title="Blog"><span class="l"> </span><span class="r"> </span><span class="t">Blog</span></a>
  212. </li>
  213. <li class="art-menu-li-separator"><span class="art-menu-separator"> </span></li>
  214. <li><a href="http://www.datenlandkarten.at/impressum/" title="Impressum"><span class="l"> </span><span class="r"> </span><span class="t">Impressum</span></a>
  215. </li>
  216. </ul>
  217. </div>
  218. <div class="art-content-layout">
  219. <div class="art-content-layout-row">
  220. <div class="art-layout-cell art-content">
  221. <div class="art-post post-2 page type-page hentry" id="post-2">
  222. <div class="art-post-body">
  223. <div class="art-post-inner art-article">
  224. <h2 class="art-postheader">Datenlandkarte speichern</h2>
  225. <div class="art-postcontent">
  226. <noscript>
  227. <p>
  228. Dieses Formular arbeitet mit Javascript. Bitte aktivieren
  229. Sie Javascript in ihrem Browser, wenn möglich.
  230. </p>
  231. </noscript>
  232. <?php
  233. if (!empty($error)) {
  234. ?>
  235. <div class="error">
  236. <p>Es traten mindestens 1 Fehler auf:<p>
  237. <ul>
  238. <?php
  239. foreach ($error as $e) {
  240. ?>
  241. <li><?=htmlspecialchars($e, ENT_NOQUOTES); ?></li>
  242. <?php
  243. }
  244. ?>
  245. </ul>
  246. </div>
  247. <?php
  248. } else {
  249. ?>
  250. <div class="download">
  251. <a href="<?=$img_path; ?>.svg">
  252. <img src="img/svg.png" alt="SVG Graphic Datenlandkarte" style="float:left">
  253. </a>
  254. <h5><a href="<?=$img_path; ?>.svg">Download SVG</a></h5>
  255. <p>Scalable Vector Graphics</p>
  256. </div>
  257. <div class="download">
  258. <a href="<?=$img_path; ?>.png">
  259. <img src="img/png.png" alt="PNG Graphic Datenlandkarte" style="float:left">
  260. </a>
  261. <h5><a href="<?=$img_path; ?>.png">Download PNG</a></h5>
  262. <p>Portable Network Graphics</p>
  263. </div>
  264. <div class="download">
  265. <a href="<?=$img_path; ?>_big.png">
  266. <img src="img/png.png" alt="PNG Graphic Datenlandkarte" style="float:left">
  267. </a>
  268. <h5><a href="<?=$img_path; ?>_big.png">Download PNG (3fache Größe)</a></h5>
  269. <p>Portable Network Graphics</p>
  270. </div>
  271. <?php } ?>
  272. <div class="cleared"></div>
  273. <div class="cleared"></div>
  274. </div>
  275. </div>
  276. <div class="cleared"></div>
  277. </div>
  278. </div>
  279. <div class="cleared"></div>
  280. <div class="art-footer">
  281. <div class="art-footer-t"></div>
  282. <div class="art-footer-l"></div>
  283. <div class="art-footer-b"></div>
  284. <div class="art-footer-r"></div>
  285. <div class="art-footer-body">
  286. <div class="art-footer-text">
  287. <p><div style="float:left;"><a href="http://www.open3.at" target="_blank" title="Webseite open3.at aufrufen"><img src="http://www.datenlandkarten.at/wp-content/uploads/open3logo.png" width="177" height="33"></a></div>
  288. <div style="float:right;text-align:right;"><a href="http://www.opendefinition.org/okd/deutsch/" target="_blank" title="Definition "Offenes Wissen" auf http://opendefinition.org/ anzeigen"><img src="http://www.datenlandkarten.at/wp-content/uploads/badge-od.png" width="80" height="15"> <img src="http://www.datenlandkarten.at/wp-content/uploads/badge-ok.png" width="80" height="15"> <img src="http://www.datenlandkarten.at/wp-content/uploads/badge-oc.png" width="80" height="15"></a><br/>
  289. <a href="/impressum" style="text-decoration:none;" title="Impressum anzeigen">Ein Projekt von open3, dem Netzwerk zur Förderung von openSociety, openGovernment und OpenData</a></p></div> </div>
  290. <div class="cleared"></div>
  291. </div>
  292. </div>
  293. <div class="cleared"></div>
  294. </div>
  295. </div>
  296. <div class="cleared"></div>
  297. <p class="art-page-footer"></p>
  298. </div>
  299. <div id="wp-footer">
  300. </div>
  301. </body>
  302. </html>