Implemented form data acceptor (store&mail)
authorshort <>
Sun, 5 Aug 2001 18:05:06 +0000 (18:05 +0000)
committershort <>
Sun, 5 Aug 2001 18:05:06 +0000 (18:05 +0000)
index.php
objednavka.php [new file with mode: 0644]

index af6897b..0f61421 100644 (file)
--- a/index.php
+++ b/index.php
@@ -8,12 +8,12 @@
        $head='
 <script type="text/javascript" src="objednavka.js"></script>
 ';
-       $want_js=true;
+       $detect_js=true;
 
        include("common.php");
 ?>
 <h1>Objednávka</h1>
-<form action="predplatne.php" method="post">
+<form action="objednavka.php<?php print($have_js); ?>" method="post">
 <table border="0" width="100%">
        <tr><td align="center"><table border="1" width="90%">
        <tr><td align="center"><table border="0">
        <tr><?php                  tab_left("want_phys_2000"); ?><td>roèník 2000 za cenu 150 Kè</td></tr>
 <?php
 
-       if (($f=fopen("objednavka.js","r"))) {
-               while (($s=fgets($f,0x1000))) {
-                       if (!($s=trim($s)))
-                               break;
-                       if (!(ereg("^want_price\\[ *'cd_([^']*)'\\]=([0-9]*);\$",$s,$o_matched)))
-                               continue;
-                       $o_year =$o_matched[1];
-                       $o_price=$o_matched[2];
-                       print("<tr>");
-                       tab_left("want_cd_$o_year");
-                       print("<td>roèník $o_year na CD za cenu $o_price Kè</td></tr>\n");
-                       }
-               fclose($f);
+       if (!($f=fopen("objednavka.js","r")))
+               fatal("Nepodaøilo se naèíst seznam dostupného zbo¾í");
+       while (($s=fgets($f,0x1000))) {
+               if (!($s=trim($s)))
+                       break;
+               if (!(ereg("^want_price\\[ *'cd_([^']*)'\\]=([0-9]*);\$",$s,$o_matched)))
+                       continue;
+               $o_year =$o_matched[1];
+               $o_price=$o_matched[2];
+               print("<tr>");
+               tab_left("want_cd_$o_year");
+               print("<td>roèník $o_year na CD za cenu $o_price Kè</td></tr>\n");
                }
+       fclose($f);
        if ($have_js) {
                ?>
        <tr><td colspan="3"><hr /></td></tr>
@@ -59,7 +59,7 @@ function print_addr($title,$pfx,$ico)
                <tr><td valign="top">Adresa:</td><td colspan="2"><table border="0">
                        <colgroup width="0*" span="3" />
                        <tr><td>Ulice:</td><td colspan="2"><input type="text" name="<?php print("${pfx}ulice"); ?>" size="60" /></td></tr>
-                       <tr><td>Mìsto:</td><td            ><input type="text" name="<?php print("${pfx}ulice"); ?>" size="30" /></td>
+                       <tr><td>Mìsto:</td><td            ><input type="text" name="<?php print("${pfx}mesto"); ?>" size="30" /></td>
                                <td>PSÈ:                         <input type="text" name="<?php print("${pfx}psc"); ?>" size="5" maxlength="5" /></td></tr>
                        </table></td></tr>
        <?php
@@ -78,8 +78,8 @@ function print_addr($title,$pfx,$ico)
        <?php
 }
 
-print_addr("Adresa pro vystavení a zaslání faktury"          ,"name1_",true);
-print_addr("Adresa pro zasílaní èasopisu (jen pokud se li¹í)","name2_",false);
+print_addr("Adresa pro vystavení a zaslání faktury"          ,"addr1_",true);
+print_addr("Adresa pro zasílaní èasopisu (jen pokud se li¹í)","addr2_",false);
 
 ?>
 <tr><td><table border="0">
diff --git a/objednavka.php b/objednavka.php
new file mode 100644 (file)
index 0000000..8482bab
--- /dev/null
@@ -0,0 +1,120 @@
+<?php $cvs_id='$Id$';
+
+       $mail_to="short@ucw.cz";
+
+       $head_css="
+.red    { color: red; }
+.italic { font-style: italic; }
+.quote  { font-family: monospace; }
+";
+       include("common.php");
+
+$out="stamp:\t".date("r")."\n";
+$err=false;
+$total=0;
+
+foreach ($HTTP_POST_VARS as $key => $value) {
+       if (!ereg("^want_",$key))
+               continue;
+       if (ereg("[^0-9]",$value)) {
+               print("<h1 class=\"red\">Jako poèet je mo¾no povoleno zadat jen èíselnou hodnotu!</h1>\n"
+                               ."<blockquote><p>Opravte prosím polo¾ku "
+                               ."<span class=\"italic\">".htmlspecialchars($key)."</span>: "
+                               ."<span class=\"quote\">".htmlspecialchars($value)."</span>"
+                               ."</p></blockquote>\n");
+               $err=true;
+               continue;
+               }
+       if (!$value)
+               continue;
+       $out.="$key:\t$value\n";
+       $total+=$value;
+       }
+
+if (!$err && !$total) {
+       print("<h1 class=\"red\">Musíte si objednat alespoò jeden èasopis, napi¹te 1 do dané polo¾ky!</h1>\n");
+       $err=true;
+       }
+
+function out_addr($title,$pfx)
+{
+       global $HTTP_POST_VARS;
+       $fields=array(
+                       "Název"  ,"name",
+                       "Ulice"  ,"ulice",
+                       "Mìsto"  ,"mesto",
+                       "PSÈ"    ,"psc",
+                       "IÈO"    ,"ico",
+                       "DIÈ"    ,"dic",
+                       "Kontakt","contakt",
+                       "Tel"    ,"tel",
+                       "Fax"    ,"fax",
+                       "e-mail" ,"mail",
+                       );
+
+       $r="";
+       $first=true;
+       while ($fields) {
+               $pretty=array_shift($fields);
+               $var=$pfx.array_shift($fields);
+               if (!isset($HTTP_POST_VARS[$var]))
+                       continue;
+               if (""==($value=trim($HTTP_POST_VARS[$var])))
+                       continue;
+               if ($first) {
+                       $r.="$title\n";
+                       $first=false;
+                       }
+               $r.="\t$pretty:\t$value\n";
+               }
+       return($r);
+}
+
+if (""==($addr1=out_addr("Adresa pro vystavení a zaslání faktury","addr1_"))) {
+       print("<h1 class=\"red\">Nebyla zadána ¾ádná fakturaèní adresa!</h1>\n");
+       $err=true;
+       }
+$out.=$addr1;
+$out.=out_addr("Adresa pro zasílaní èasopisu"          ,"addr2_");
+
+if (isset($HTTP_POST_VARS["comments"]))
+       $out.="Jiné sdélení:"
+                       .ereg_replace("\n","\\0\t","\n"
+                               .trim(ereg_replace("[\r\n]+","\n",
+                                       $HTTP_POST_VARS["comments"])))
+                       ."\n";
+
+// Data acquision error checking:
+
+if ($err) {
+       print("<p>Nyní se prosím ");
+       if ($have_js)
+               print("<input type=\"button\" value=\"");
+       print("vra»te zpìt");
+       if ($have_js)
+               print("\" onclick=\"history.back()\" />");
+       else
+               print(" (tlaèítkem "
+                               ."&quot;<span class=\"quote\">Zpìt</span>&quot; èi "
+                               ."&quot;<span class=\"quote\">Back</span>&quot; prohlí¾eèe)");
+       print(" na pøedchozí stránku a chybu zadaných dat opravte.</p>\n");
+       footer();
+       }
+
+// Successful data acquisition, write&send:
+
+$out_file=$out.str_repeat("-",78)."\n\n";
+if (!($f=fopen("objednavka.txt","a")) || strlen($out_file)!=fputs($f,$out_file) || !fclose($f))
+       fatal("Nepodaøilo se zapsat objednávku");
+
+// 5th mail argument is supported from PHP-4.0.5
+if (!mail($mail_to,"EnergieWeb: objednavka",$out,"From: EnergieWeb <$admin_mail>"))
+       fatal("Chyba pøi odesílání upozornìní na objednávku, data objednávky ji¾ ale byla úspì¹nì ulo¾ena");
+
+?>
+<h1>Objednávka byla úspì¹nì pøijata</h1>
+<p>V nejbli¾¹ích dnech Vám bude zaslána faktura a po jejím zaplacení i objedané zbo¾í.</p>
+<p>Nyní se mù¾ete vrátit na <a href="<?php print(dirname($HTTP_SERVER_VARS["SCRIPT_NAME"])."/"); ?>">úvodní stránku</a>.</p>
+<?php
+       footer();
+?>