Cosmetic cleanup
[www.energie.vellum.cz.git] / objednavka.php
1 <?php $cvs_id='$Id$';
2
3         include("common.php");
4
5         $head_css="
6 .red    { color: red; }
7 .italic { font-style: italic; }
8 .quote  { font-family: monospace; }
9 ";
10         no_cache();
11         heading();
12
13 $out="stamp:\t".date("r")."\n";
14 $err=false;
15 $total=0;
16
17 prepvar("payment","(bill|direct)"); // may be fatal() but it shouldn't happen
18
19 $price_a=price_a();
20 foreach ($HTTP_POST_VARS as $key => $value) {
21         if (!ereg("^want_(.+)$",$key,$matched))
22                 continue;
23         $product=$matched[1];
24         if (ereg("[^0-9]",$value)) {
25                 print("<h1 class=\"red\">Jako poèet je mo¾no povoleno zadat jen èíselnou hodnotu!</h1>\n"
26                                 ."<blockquote><p>Opravte prosím polo¾ku "
27                                 ."<span class=\"italic\">".htmlspecialchars($key)."</span>: "
28                                 ."<span class=\"quote\">".htmlspecialchars($value)."</span>"
29                                 ."</p></blockquote>\n");
30                 $err=true;
31                 continue;
32                 }
33         if (!$value)
34                 continue;
35         $price=$value * $price_a[$product];
36         $out.="$key:\t$value ks".($value!=1 ? " x ".$price_a[$product]." Kè" : "")." = $price Kè\n";
37         $total+=$price;
38         }
39 $out.="Celkem:\t$total Kè\n";
40
41 if (!$err && !$total) {
42         print("<h1 class=\"red\">Musíte si objednat alespoò jeden èasopis, napi¹te 1 do dané polo¾ky!</h1>\n");
43         $err=true;
44         }
45
46 function out_addr($title,$pfx)
47 {
48         global $HTTP_POST_VARS;
49         $fields=array(
50                         "Název"  ,"name",
51                         "Ulice"  ,"ulice",
52                         "Mìsto"  ,"mesto",
53                         "PSÈ"    ,"psc",
54                         "IÈO"    ,"ico",
55                         "DIÈ"    ,"dic",
56                         "Kontakt","contakt",
57                         "Tel"    ,"tel",
58                         "Fax"    ,"fax",
59                         "e-mail" ,"mail",
60                         );
61
62         $r="";
63         $first=true;
64         while ($fields) {
65                 $pretty=array_shift($fields);
66                 $var=$pfx.array_shift($fields);
67                 if (!isset($HTTP_POST_VARS[$var]))
68                         continue;
69                 if (""==($value=trim($HTTP_POST_VARS[$var])))
70                         continue;
71                 if ($first) {
72                         $r.="$title\n";
73                         $first=false;
74                         }
75                 $r.="\t$pretty:\t$value\n";
76                 }
77         return($r);
78 }
79
80 if (""==($addr1=out_addr("Adresa pro vystavení a zaslání faktury","addr1_"))) {
81         print("<h1 class=\"red\">Nebyla zadána ¾ádná fakturaèní adresa!</h1>\n");
82         $err=true;
83         }
84 $out.=$addr1;
85 $out.=out_addr("Adresa pro zasílaní èasopisu"          ,"addr2_");
86
87 if (isset($HTTP_POST_VARS["comments"])) {
88         $comments=trim(ereg_replace("[\r\n]+","\n",$HTTP_POST_VARS["comments"]));
89         if (""!=$comments)
90                 $out.="Jiné sdìlení:".ereg_replace("\n","\\0\t","\n".$comments)."\n";
91         }
92
93 // Data acquision error checking:
94
95 if ($err) {
96         print("<p>Nyní se prosím ");
97         if ($have_js)
98                 print("<input type=\"button\" value=\"");
99         print("vra»te zpìt");
100         if ($have_js)
101                 print("\" onclick=\"history.back()\" />");
102         else
103                 print(" (tlaèítkem "
104                                 ."&quot;<span class=\"quote\">Zpìt</span>&quot; èi "
105                                 ."&quot;<span class=\"quote\">Back</span>&quot; prohlí¾eèe)");
106         print(" na pøedchozí stránku a chybu zadaných dat opravte.</p>\n");
107         footer();
108         }
109
110 // Successful data acquisition, write&send:
111
112 /*** Table initialization:
113         drop   table energie_objednavka;
114         create table energie_objednavka (varsym int not null auto_increment primary key,direct bool not null,contents text null);
115         alter  table energie_objednavka add index (varsym);
116         insert into  energie_objednavka (varsym,direct) values (20010000,1);
117 ***/
118
119 db_query("insert into $tb_objednavka (direct,contents) values(".($payment=="direct" ? "1" : "0" ).","
120                 ."'".addslashes($out)."')");
121 if ($payment=="direct") {
122         if (!($varsym=mysql_insert_id()))
123                 fatal("Nepodaøilo se zapsat objednávku do SQL");
124         $out="VarSym:\t$varsym\n".$out;
125         }
126
127 // 5th mail argument is supported from PHP-4.0.5
128 if (!mail($mail_to,"EnergieWeb: objednavka",$out,
129 "From: EnergieWeb <$admin_mail>
130 Mime-Version: 1.0
131 Content-Type: text/plain; charset=iso-8859-2
132 Content-Disposition: inline
133 Content-Transfer-Encoding: 8bit
134 "))
135         fatal("Chyba pøi odesílání upozornìní na objednávku, data objednávky ji¾ ale byla úspì¹nì ulo¾ena");
136
137         print("<h1>Objednávka byla úspì¹nì pøijata</h1>\n");
138
139 function gsm_row($name,$value)
140 {
141         return("<tr><td align=\"left\">$name</td>"
142                         ."<td align=\"right\">".($value=="" ? "neuvádìjte" : $value)."</td>"
143                         ."<td align=\"right\">".strtr($value,"/.","#*")."</td></tr>\n");
144 }
145
146         switch ($payment) {
147                 case "bill":
148                         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");
149                         break;
150                 case "direct":
151                         print(""
152                                         ."<p>Zadejte prosím pøíkaz k následujícímu bankovnímu pøevodu:</p>\n"
153                                         ."<blockquote><table border=\"1\" cellpadding=\"5\">\n"
154                                         ."<tr><th>polo¾ka</th><th>bankovní pøíkaz</th><th>".gsm_banking()."</th></tr>\n"
155                                         );
156                         print(gsm_row("Èíslo úètu",$objednavka_ucet));
157                         print(gsm_row("Èástka",sprintf("%.2f",$total)));
158                         print(gsm_row("Konstantní symbol",$objednavka_konstsym));
159                         print(gsm_row("Variabilní symbol",$varsym));
160                         print(gsm_row("Specifický symbol",$objednavka_specsym));
161                         print(""
162                                         ."</table></blockquote>\n"
163                                         ."<p>Po provedení platby Vám bude zaslán daòový doklad spoleènì s objednaným zbo¾ím.</p>\n"
164                                         );
165                         break;
166                 default:
167                         fatal("INTERNAL: 'payment'='".htmlspecialchars($payment)."', not expected");
168                 }
169         print("<p>Nyní se mù¾ete vrátit na <a href=\"".dirnameslashed($HTTP_SERVER_VARS["SCRIPT_NAME"])."\">úvodní stránku</a>.</p>\n");
170         footer();
171 ?>