+EaP 4/2010 (164)
[www.energie.vellum.cz.git] / objednavka.php
index cb9ff6b..0b3959c 100644 (file)
@@ -1,21 +1,27 @@
 <?php $cvs_id='$Id$';
 
-       $mail_to="short@ucw.cz,karel.kratochvil@centrum.cz";
+       include("common.php");
 
        $head_css="
 .red    { color: red; }
 .italic { font-style: italic; }
 .quote  { font-family: monospace; }
 ";
-       include("common.php");
+       no_cache();
+       $title_tail="Objednávka èasopisu";
+       heading();
 
-$out="stamp:\t".date("r")."\n";
+$out=stamp_line();
 $err=false;
 $total=0;
 
+prepvar("payment","(bill|direct)"); // may be fatal() but it shouldn't happen
+
+$price_a=price_a();
 foreach ($HTTP_POST_VARS as $key => $value) {
-       if (!ereg("^want_",$key))
+       if (!ereg("^want_(.+)$",$key,$matched))
                continue;
+       $product=$matched[1];
        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 "
@@ -27,99 +33,64 @@ foreach ($HTTP_POST_VARS as $key => $value) {
                }
        if (!$value)
                continue;
-       $out.="$key:\t$value\n";
-       $total+=$value;
+       $price=$value * $price_a[$product];
+       $out.="$key:\t$value ks".($value!=1 ? " x ".$price_a[$product]." Kè" : "")." = $price Kè\n";
+       $total+=$price;
        }
+$out.="Celkem:\t$total Kè\n";
 
 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_"))) {
+if (""==($addr1=format_fields_to_text("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"])) {
-       $comments=trim(ereg_replace("[\r\n]+","\n",$HTTP_POST_VARS["comments"]));
-       if (""!=$comments)
-               $out.="Jiné sdìlení:".ereg_replace("\n","\\0\t","\n".$comments)."\n";
-       }
+$out.=format_fields_to_text("Adresa pro zasílaní èasopisu"          ,"addr2_");
+$out.=format_fields_to_text(); // "comments"
 
-// 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();
-       }
+if ($err)
+       datacheck_fail();
 
 // 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");
+/*** Table initialization:
+       drop   table energie_objednavka;
+       create table energie_objednavka (varsym int not null auto_increment primary key,direct bool not null,contents text null);
+       alter  table energie_objednavka add index (varsym);
+       insert into  energie_objednavka (varsym,direct) values (20010000,1);
+***/
+
+db_query("insert into $tb_objednavka (direct,contents) values(".($payment=="direct" ? "1" : "0" ).","
+               ."'".addslashes($out)."')");
+if ($payment=="direct") {
+       if (!($varsym=mysql_insert_id()))
+               fatal("Nepodaøilo se zapsat objednávku do SQL");
+       $out="VarSym:\t$varsym\n".$out;
+       }
 
-// 5th mail argument is supported from PHP-4.0.5
-if (!mail($mail_to,"EnergieWeb: objednavka",$out,
-"From: EnergieWeb <$admin_mail>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=iso-8859-2
-Content-Disposition: inline
-Content-Transfer-Encoding: 8bit
-"))
+if (mail_data("objednavka",$out))
        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
+print("<h1>Objednávka byla úspì¹nì pøijata</h1>\n");
+
+       switch ($payment) {
+               case "bill":
+                       print("<p>V nejbli¾¹ích dnech Vám bude zaslána faktura na $total Kè a po jejím zaplacení i objedané zbo¾í.</p>\n");
+                       break;
+               case "direct":
+                       print(""
+                                       ."<p>Zadejte prosím pøíkaz k následujícímu bankovnímu pøevodu:</p>\n"
+                                       .gsm_table($total,$varsym)
+                                       ."<p>Po provedení platby Vám bude zaslán daòový doklad spoleènì s objednaným zbo¾ím.</p>\n"
+                                       );
+                       break;
+               default:
+                       fatal("INTERNAL: 'payment'='".htmlspecialchars($payment)."', not expected");
+               }
+       print(return_to_homepage());
        footer();
 ?>