PageRenderTime 52ms CodeModel.GetById 20ms RepoModel.GetById 1ms app.codeStats 0ms

/public/generator/index.php

https://github.com/panterch/mapsagenda
PHP | 510 lines | 356 code | 118 blank | 36 comment | 34 complexity | 383c36af6c4643338ae8c68a40f34412 MD5 | raw file
  1. <?php
  2. // MAPS
  3. // XML GENERATOR EINGABE
  4. // 2008 (m@marcelbamert.ch)
  5. require("config.php");
  6. $selektion=array();
  7. $selektion2=array();
  8. $monatsthemen= array();
  9. // Alle Dateien im Pfad aufmachen und Einträge in den Array $selektion schreiben
  10. $fp=opendir($datapfad);
  11. while ($datei = readdir($fp)) {
  12. if($datei!=".." && $datei!="." && substr_count( $datei, "de" )==1 && substr_count( $datei, "week" )==0){
  13. $tag=substr($datei,8,2);
  14. $monat=substr($datei,5,2);
  15. $jahr=substr($datei,0,4);
  16. // Wenn an 7. Stelle ein Bindestrich = kein Monatsthema
  17. if(substr($datei,7,1)=="-"){
  18. // Innerhalb des Zeitrahmens?
  19. if(mktime(0, 0, 0, $monat,$tag, $jahr)< 10+mktime(0, 0, 0, $_POST[date10_month],$_POST[date10_date], $_POST[date10_year]) && mktime(0, 0, 0, $monat,$tag, $jahr) > mktime(0, 0, 0, $_POST[date9_month],$_POST[date9_date], $_POST[date9_year])-10){
  20. array_push ($selektion,$datei);
  21. }
  22. }else{ // Monatsthema
  23. //if(mktime(0, 0, 0, $monat,'1', $jahr)-60*60*24*45< mktime(0, 0, 0, $_POST[date10_month],$_POST[date10_date], $_POST[date10_year]) && mktime(0, 0, 0, $monat,'28', $jahr)+60*60*24*45 > mktime(0, 0, 0, $_POST[date9_month],$_POST[date9_date], $_POST[date9_year])){
  24. //array_unshift ($selektion2,$datei);
  25. if($jahr==$_POST[date9_year] && $monat==$_POST[date9_month]){
  26. echo "//$datei";
  27. $monatsth=$datei;
  28. }
  29. }
  30. }
  31. }
  32. sort($selektion);
  33. if($monatsth){
  34. array_push ($selektion,$monatsth);
  35. }
  36. function cleanme($input){ // Zeichen formatieren für HTML ausgabe
  37. $output=htmlspecialchars($input, ENT_QUOTES);
  38. //$output=htmlentities($output);
  39. /*
  40. $output = addslashes("-*,,-".$output);
  41. $output=ereg_replace('"','',$output);
  42. $output = ereg_replace(chr(34),"",$output);
  43. */
  44. $output=ereg_replace("„","\"",$output);
  45. $output=ereg_replace("“","\"",$output);
  46. return $output;
  47. }
  48. ?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  49. <html xmlns="http://www.w3.org/1999/xhtml">
  50. <head>
  51. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  52. <title>MAPS - generator</title>
  53. <style type="text/css">
  54. <!--
  55. .titel {
  56. font-family: Geneva, Arial, Helvetica, sans-serif;
  57. font-size: 14px;
  58. font-weight: bold;
  59. color:#CC3300;
  60. text-decoration: underline;
  61. }
  62. .untertitel {
  63. font-family: Geneva, Arial, Helvetica, sans-serif;
  64. font-size: 14px;
  65. font-weight: bold;
  66. color: #333333;
  67. text-decoration: underline;
  68. }
  69. .kleintitel {
  70. font-family: Geneva, Arial, Helvetica, sans-serif;
  71. font-size: 11px;
  72. font-weight: bolder;
  73. color: #CC0000;
  74. }
  75. .formular {
  76. font-family: Geneva, Arial, Helvetica, sans-serif;
  77. font-size: 9px;
  78. color: #990000;
  79. border: 1px solid #000000;
  80. }
  81. .link{
  82. font-family: Geneva, Arial, Helvetica, sans-serif;
  83. font-size: 10px;
  84. color: #990000;
  85. text-decoration:none;
  86. }
  87. .link:hover{
  88. font-family: Geneva, Arial, Helvetica, sans-serif;
  89. font-size: 10px;
  90. color:#660000;
  91. text-decoration:overline;
  92. }
  93. body,td,th {
  94. font-family: Geneva, Arial, Helvetica, sans-serif;
  95. font-size: 10px;
  96. color:#000000;
  97. }
  98. .klein {
  99. font-family: Geneva, Arial, Helvetica, sans-serif;
  100. font-size: 10px;
  101. color:#000000;
  102. }
  103. .buttons{
  104. font-family: Geneva, Arial, Helvetica, sans-serif;
  105. font-size: 10px;
  106. color:#FFFFFF;
  107. background-color:#660000;
  108. margin: 0px;
  109. }
  110. .gruen {color: #33CC00}
  111. .rot {color: #990000}
  112. .listcontent{
  113. display:none;
  114. }
  115. -->
  116. </style>
  117. <SCRIPT LANGUAGE="JavaScript" SRC="CalendarPopup.js"></SCRIPT>
  118. <SCRIPT LANGUAGE="JavaScript">document.write(getCalendarStyles());</SCRIPT>
  119. </head>
  120. <body>
  121. <script type="text/javascript" src="wz_tooltip.js"></script>
  122. <table width="900" border="0" cellpadding="0" cellspacing="0">
  123. <tr>
  124. <td width="8" rowspan="3">&nbsp;</td>
  125. <td width="224" valign="top"><br />
  126. <a href="index.php" class="titel">
  127. MAPS AGENDA<br />
  128. XML - GENERATOR
  129. </a><br /><br />&nbsp;
  130. </td>
  131. <td width="521" valign="top">&nbsp;</td>
  132. <td width="147" valign="top">&nbsp;</td>
  133. </tr>
  134. <tr>
  135. <td valign="top" class="untertitel"><FORM action="index.php" method="post" name="datumwahl">
  136. <p>1. Zeitraum w&auml;hlen:
  137. </p>
  138. Von
  139. <SCRIPT LANGUAGE="JavaScript" ID="js9">
  140. var cal9 = new CalendarPopup("testdiv1");
  141. cal9.setReturnFunction("setMultipleValues1");
  142. function setMultipleValues1(y,m,d) {
  143. document.forms[0].date9_year.value=y;
  144. document.forms[0].date9_month.value=m;
  145. document.forms[0].date9_date.value=d;
  146. }
  147. </SCRIPT>
  148. <INPUT TYPE="text" NAME="date9_date" VALUE="<? echo $_POST[date9_date] ?>" SIZE=3 class="formular">.
  149. <INPUT TYPE="text" NAME="date9_month" VALUE="<? echo $_POST[date9_month] ?>" SIZE=3 class="formular">.
  150. <INPUT TYPE="text" NAME="date9_year" VALUE="<? echo $_POST[date9_year] ?>" SIZE=5 class="formular">&nbsp;
  151. <A HREF="#" onClick="cal9.showCalendar('anchor9'); return false;" TITLE="cal9.showCalendar('anchor9'); return false;" NAME="anchor9" ID="anchor9" class="link">w&auml;hlen</A><br /><br />
  152. Bis &nbsp;
  153. <SCRIPT LANGUAGE="JavaScript" ID="js10">
  154. var cal10 = new CalendarPopup("testdiv1");
  155. cal10.setReturnFunction("setMultipleValues2");
  156. function setMultipleValues2(y,m,d) {
  157. document.forms[0].date10_year.value=y;
  158. document.forms[0].date10_month.value=m;
  159. document.forms[0].date10_date.value=d;
  160. }
  161. </SCRIPT>
  162. <INPUT TYPE="text" NAME="date10_date" VALUE="<? echo $_POST[date10_date] ?>" SIZE=3 class="formular">.
  163. <INPUT TYPE="text" NAME="date10_month" VALUE="<? echo $_POST[date10_month] ?>" SIZE=3 class="formular">.
  164. <INPUT TYPE="text" NAME="date10_year" VALUE="<? echo $_POST[date10_year] ?>" SIZE=5 class="formular">
  165. &nbsp;<A HREF="#" onClick="cal10.showCalendar('anchor10'); return false;" TITLE="cal10.showCalendar('anchor10'); return false;" NAME="anchor10" ID="anchor10" class="link">w&auml;hlen</A><br />
  166. <br />
  167. <a href="javascript: document.datumwahl.submit()" class="titel"> weiter</a><br>
  168. </FORM>
  169. <DIV ID="testdiv1" STYLE="position:absolute;visibility:hidden;background-color:white;layer-background-color:white;"></DIV></td>
  170. <td valign="top" ><FORM action="xml_create.php" method="post" name="hauptformular">
  171. <?
  172. if($_POST[date10_date]!=""){
  173. ?>
  174. <script language="javascript">
  175. <!--
  176. function toggle(control)
  177. {
  178. //for (var i = 1; i <= <? echo count($selektion); ?>; i++){
  179. //if(control=="a"+i){
  180. document.getElementById(control).style.display = "block";
  181. //}else{
  182. //document.getElementById("a"+i).style.display = "none";
  183. //}
  184. //}
  185. }
  186. //-->
  187. </script>
  188. <p class="untertitel">2. Eintr&auml;ge w&auml;hlen: </p>
  189. <span class="untertitel"><?
  190. echo "Zeitraum ".$_POST[date9_date].".".$_POST[date9_month].".".$_POST[date9_year]." bis ".$_POST[date10_date].".".$_POST[date10_month].".".$_POST[date10_year];
  191. ?></span>&nbsp;&nbsp;&nbsp;Ausw&auml;hlen: <a href="#" onClick="checkAll(true)" class="link">alle</a> <a href="#" onClick="checkAll(false)" class="link">keine</a>
  192. <br />
  193. <br />
  194. <table width="474" border="0" cellspacing="0" cellpadding="0">
  195. <?
  196. $bcount=0;
  197. foreach ($selektion as $key => $val) {
  198. $bcount++;
  199. $getxml = simplexml_load_file($datapfad.$val);
  200. if(substr($val,7,1)!="-"){
  201. $monatsthema=1;
  202. }else{
  203. $monatsthema=0;
  204. }
  205. if($monatsthema==1){
  206. ?>
  207. <tr>
  208. <td width="23%" class="kleintitel" VALIGN="bottom">Monatsthema <? echo substr($val,5,2).".".substr($val,0,4) ?></td>
  209. <td class="kleintitel" VALIGN="bottom"><? echo $getxml->title[0] ?></td>
  210. <td width="10%" align="right" class="kleintitel" VALIGN="bottom" colspan="2" >
  211. MT w&auml;hlen <input type="checkbox" name="monatsthema[]" id="<? echo strlen($getxml->desc[0].$getxml->location[0]) ?>" value="<? echo $val ?>" class="formular" onClick="zaehlen(0)">
  212. </td>
  213. </tr><?
  214. }else{
  215. ?>
  216. <tr>
  217. <td width="23%" class="kleintitel" VALIGN="bottom"><? echo substr($val,8,2).".". substr($val,5,2).".".substr($val,0,4) ?></td>
  218. <td class="kleintitel" VALIGN="bottom"><? echo $getxml->title[0] ?></td>
  219. <td width="19%" align="right" VALIGN="bottom" class="kleintitel">
  220. <span id="a<? echo $bcount ?>" name="a<? echo $bcount ?>" class="listcontent">bildtext <input type="checkbox" name="bildtexte[]" id="checkbox" class="formular" value="<? echo $val ?>"><br>gross <input type="checkbox" name="gross[]" id="checkbox" class="formular" value="<? echo $val ?>" onClick="zaehlen(0)"> </span>
  221. </td>
  222. <td width="10%" align="right" class="kleintitel" VALIGN="bottom">
  223. <input type="checkbox" name="xmllist[]" id="<? echo strlen($getxml->desc[0].$getxml->location[0]) ?>" value="<? echo $val ?>" class="formular" onClick="zaehlen(<? echo $bcount ?>)">
  224. </td>
  225. </tr>
  226. <?
  227. }
  228. ?>
  229. <tr>
  230. <td colspan="4" height="1" bgcolor="#000000"></td>
  231. </tr>
  232. <tr><?
  233. /*
  234. <td colspan="2" width="350"><span class="td" onmouseover="Tip('<span class=klein><? echo cleanme($getxml->desc[0]) ?></span>',DELAY, 0,BGCOLOR, '#FFFFFF', WIDTH,300)" onmouseout="UnTip()"><? echo substr($getxml->desc[0],0,90); ?>...</span><br />&nbsp;</td>
  235. */
  236. ?>
  237. <td colspan="2" width="350"><span class="td"><? echo $getxml->desc[0] ?></span><br />&nbsp;</td>
  238. <td colspan="2" valign="top" style="padding-left:5px">&Uuml;bersetzungen: <?
  239. $count=0;
  240. $gruen="";
  241. $rot="";
  242. foreach ($sprachen as $spr => $arr) {
  243. if(file_exists($datapfad.str_replace ( "de" , $spr, $val))){
  244. $count++;
  245. $gruen.=$arr[1]."<br>";
  246. }else{
  247. $rot.=$arr[1]."<br>";
  248. }
  249. }
  250. ?><span class="<?
  251. if($count >= count($sprachen)){
  252. echo "gruen";}else{ echo"rot";}
  253. ?>" onmouseover="Tip('<span class=gruen><? echo $gruen ?></span><span class=rot><? echo $rot ?></span>',DELAY, 0,BGCOLOR, '#FFFFFF')" onmouseout="UnTip()"><? echo $count."/".count($sprachen); ?></span><br />
  254. Ort: <?
  255. if($getxml->location[0]!="" ){
  256. ?><span class="gruen" <?
  257. /*
  258. onmouseover="Tip('<span class=klein><? echo cleanme($getxml->location[0])?></span>',DELAY, 0,BGCOLOR, '#FFFFFF', WIDTH,200)" onmouseout="UnTip()"
  259. */
  260. ?> >vorhanden</span><?
  261. }else{ ?>
  262. <span class="rot">fehlt</span>
  263. <?
  264. }?>
  265. </td>
  266. </tr>
  267. <?
  268. }
  269. echo "<INPUT TYPE='hidden' name='v1' value='$_POST[date9_date]'>\n";
  270. echo "<INPUT TYPE='hidden' name='v2' value='$_POST[date9_month]'>\n";
  271. echo "<INPUT TYPE='hidden' name='v3' value='$_POST[date9_year]'>\n";
  272. echo "<INPUT TYPE='hidden' name='b1' value='$_POST[date10_date]'>\n";
  273. echo "<INPUT TYPE='hidden' name='b2' value='$_POST[date10_month]'>\n";
  274. echo "<INPUT TYPE='hidden' name='b3' value='$_POST[date10_year]'>\n";
  275. ?>
  276. </table>
  277. <a href="javascript: document.form.submit()" class="titel"> <br />
  278. </a>
  279. </FORM>
  280. <?
  281. }
  282. ?></td>
  283. <td valign="top"><?
  284. if($_POST[date10_date]!=""){
  285. ?><p class="untertitel">3. Ausgabe:</p>
  286. <span style="text-decoration:underline">Insgesamt </span><br />
  287. <Span Id="total_anl" ></Span> Eintr&auml;ge<br />
  288. ca. <Span Id="total_zahl" ></Span> Zeichen<br />
  289. <br />
  290. <span style="text-decoration:underline">aktuelle Auswahl</span> <br />
  291. <Span Id="akt_anl" ></Span> Eintr&auml;ge<br />
  292. ca. <Span Id="akt_zahl" ></Span> Zeichen<br />
  293. <Span Id="akt_ein" ></Span> Eintr&auml;ge gross<br />
  294. <Span Id="mt_zahl" ></Span> Monatsthema<br />
  295. <script language="JavaScript">
  296. <!-- Begin
  297. zaehlen(0);
  298. function zaehlen(control){
  299. var total_anl=0;
  300. var total_zahl=0;
  301. var akt_zahl=0;
  302. var akt_anl=0;
  303. var akt_ein=0;
  304. var mt=0;
  305. var mm = document.getElementsByName("monatsthema[]");
  306. for (var i=0; i<mm.length; i++){
  307. if( mm[i].checked ==true){
  308. mt++;
  309. }
  310. }
  311. var cb = document.getElementsByName("xmllist[]");
  312. for (var i=0; i<cb.length; i++){
  313. total_anl++;
  314. total_zahl=total_zahl+cb[i].id*1;
  315. if( cb[i].checked ==true){
  316. akt_zahl=akt_zahl+cb[i].id*1;
  317. akt_anl++;
  318. document.getElementById("a"+(i*1+1)).style.display = "block";
  319. }else{
  320. document.getElementById("a"+(i*1+1)).style.display = "none";
  321. }
  322. }
  323. var cb1 = document.getElementsByName("gross[]");
  324. for (var i=0; i<cb1.length; i++){
  325. if( cb1[i].checked ==true){
  326. akt_ein++;
  327. }
  328. }
  329. document.getElementById("mt_zahl").innerHTML=formatZahl(mt,0,0);
  330. document.getElementById("akt_zahl").innerHTML=formatZahl(akt_zahl,0,0);
  331. document.getElementById("total_zahl").innerHTML=formatZahl(total_zahl,0,0);
  332. document.getElementById("akt_anl").innerHTML=formatZahl(akt_anl,0,0);
  333. document.getElementById("total_anl").innerHTML=formatZahl(total_anl,0,0);
  334. document.getElementById("akt_ein").innerHTML=formatZahl(akt_ein,0,0);
  335. }
  336. function checkAll(switcher) {
  337. var cb = document.getElementsByName("xmllist[]");
  338. for (var i=0; i<cb.length; i++)
  339. if (cb[i].type.indexOf(cb) != 1) cb[i].checked = switcher;
  340. zaehlen(0);
  341. }
  342. // usage: format_zahl( number [, number] [, bool] )
  343. function formatZahl(zahl, k, fix)
  344. {
  345. if(!k) k = 0;
  346. var neu = '';
  347. // Runden
  348. var f = Math.pow(10, k);
  349. zahl = '' + parseInt( zahl * f + (.5 * (zahl > 0 ? 1 : -1)) ) / f ;
  350. // Komma ermittlen
  351. var idx = zahl.indexOf('.');
  352. // fehlende Nullen einfĂźgen
  353. if(fix)
  354. {
  355. zahl += (idx == -1 ? '.' : '' )
  356. + f.toString().substring(1);
  357. }
  358. // Nachkommastellen ermittlen
  359. idx = zahl.indexOf('.');
  360. if( idx == -1) idx = zahl.length;
  361. else neu = ',' + zahl.substr(idx + 1, k);
  362. // Tausendertrennzeichen
  363. while(idx > 0)
  364. {
  365. if(idx - 3 > 0)
  366. neu = '\'' + zahl.substring( idx - 3, idx) + neu;
  367. else
  368. neu = zahl.substring(0, idx) + neu;
  369. idx -= 3;
  370. }
  371. return neu;
  372. }
  373. // End -->
  374. </script>
  375. <br />
  376. <br />
  377. <a href="javascript: document.hauptformular.submit()" class="titel">
  378. XML ausgeben</a><?
  379. }
  380. ?></td>
  381. </tr>
  382. <tr>
  383. <td valign="top">&nbsp;</td>
  384. <td valign="top">&nbsp;</td>
  385. <td valign="top">&nbsp;</td>
  386. </tr>
  387. </table>
  388. </body>
  389. </html>