From d2ba33436590ff051e48f546ff4859bcdb3c964b Mon Sep 17 00:00:00 2001 From: short <> Date: Wed, 20 Mar 2002 20:58:22 +0000 Subject: [PATCH] Implemented "radkova inzerce" --- inzerat-submit.php | 147 +++++++++++++++++++++++++++++++++++++++++++++++++++++ inzerat.js | 106 ++++++++++++++++++++++++++++++++++++++ inzerat.php | 79 ++++++++++++++++++++++++++++ inzeraty.php | 15 ++++++ 4 files changed, 347 insertions(+) create mode 100644 inzerat-submit.php create mode 100644 inzerat.js create mode 100644 inzerat.php create mode 100644 inzeraty.php diff --git a/inzerat-submit.php b/inzerat-submit.php new file mode 100644 index 0000000..e711c96 --- /dev/null +++ b/inzerat-submit.php @@ -0,0 +1,147 @@ +Chybí jakýkoliv text inzerátu!\n"); + $err=true; + } + +if (!ereg("^[0-9]*\$",$pocet)) { + print("

Jako poèet zveøejnìní je povoleno zadat jen èíselnou hodnotu!

\n"); + $err=true; + $pocet=1; + } +if (""==$pocet) { + print("

Nutno zadat platný poèet opakování! (pro jediné uveøejnìní zadejte 1)

\n"); + $err=true; + $pocet=1; + } +if ($pocet<=0 || $pocet>120) { + print("

Takový poèet zveøejnìní není povolen!

\n"); + $err=true; + } + +if (!($f=fopen("inzerat.js","r"))) + fatal("Nepodaøilo se naèíst ceny inzerce"); +$price_a=array(); +while (($s=fgets($f,0x1000))) { + if (!($s=trim($s))) + break; + if (!(ereg("^var price_([a-z]*) *=([0-9]*);$",$s,$matched))) + continue; + $price_a[$matched[1]]=$matched[2]; + } +fclose($f); + +$total=(ceil((strlen($text)+3)/40)*$pocet-1)*$price_a["line"]; +if ($total<=0) { + $total=0; + $total_pretty="zdarma"; + // hack for common.php/format_fields_to_text() + unset($HTTP_POST_VARS["doklad"]); + } +else { + if (isset($doklad)) + $total+=$price_a["doklad"]; + $total_pretty="$total Kè"; + // hack for common.php/format_fields_to_text() + $HTTP_POST_VARS["doklad"]=isset($doklad); + } + +if (""==$name) { + print("

Chybí zadání názvu firmy èi jména osoby!

\n"); + $err=true; + } + +if (""==$adresa) { + print("

Chybí zadání úplné adresy!

\n"); + $err=true; + } + +if ($total>0 && isset($doklad)) { + if (""==$ico) { + print("

Po¾adujete zaslání daòového dokladu, ale chybí IÈO!

\n"); + $err=true; + } + if (""==$dic) { + print("

Po¾adujete zaslání daòového dokladu, ale chybí DIÈ!

\n"); + $err=true; + } + } + +if (""!=$mail && !ereg(".@..",$mail)) { + print("

Jakmile jste uvedli e-mailovou adresu, tak ale musí být v platném tvaru!

\n"); + $err=true; + } + +$out.=format_fields_to_text(); +$out.="Celkem:\t$total_pretty\n"; + +if ($err) + datacheck_fail(); + +if (!isset($confirm)) { + print("

"); + if (!$total) + print("Tento inzerát bude oti¹tìn zdarma."); + else + print("Cena tohoto inzerátu je $total Kè."); + print(" Pokud chcete inzerát pozmìnit, mù¾ete se ".return_back("vrátit zpìt") + ." na pøedchozí stránku a zadaná data upravit. Jinak prosím potvrïte" + ." odeslání tlaèítkem Ode¹li inzerát.

\n"); + print_form_radkova_inzerce(true/*readonly*/,$total_pretty,"confirm","Ode¹li inzerát"); + footer(); + } + +// Successful data acquisition, write&send: + +/*** Table initialization: + drop table energie_inzerat; + create table energie_inzerat (varsym int not null auto_increment primary key,contents text null); + alter table energie_inzerat add index (varsym); + insert into energie_inzerat (varsym) values (20025000); +***/ + +db_query("insert into $tb_inzerat (contents) values('".addslashes($out)."')"); +if (!($varsym=mysql_insert_id())) + fatal("Nepodaøilo se zapsat objednávku do SQL"); +if ($total) + $out="VarSym:\t$varsym\n".$out; + +if (mail_data("inzerat",$out)) + fatal("Chyba pøi odesílání inzerátu, data inzerátu ji¾ ale byla úspì¹nì ulo¾ena"); + +print("

Inzerát byl úspì¹nì pøijat

\n"); +if ($total>0) + print("

Celkovou èástku $total_pretty uhraïte pøevodním pøíkazem, pøes ".gsm_banking()."\n" + ." nebo po¹tovní poukázkou na úèet vydavatele u Èeské spoøitelny:

" + .gsm_table($total,$varsym) + ."

Po provedení platby bude Vá¹ inzerát v nejbli¾¹ím èísle zveøejnìn" + .(!isset($doklad) ? "" : " a bude Vám také zaslán daòový doklad") + .".

\n"); +else + print("

Vá¹ inzerát bude v nejbli¾¹ím èísle zveøejnìn zdarma.

\n"); + +print(return_to_homepage()); + + footer(); +?> diff --git a/inzerat.js b/inzerat.js new file mode 100644 index 0000000..bf7999f --- /dev/null +++ b/inzerat.js @@ -0,0 +1,106 @@ +// $Id$ +// <-see inzerat-submit.php:/if (!($s=trim($s)))/ +var price_line =61; +var price_doklad=20; + +function validate(form) +{ + var e_text=form.elements["name"] ; + if (e_text.value=="") { + e_text.focus(); + alert('Chybí jakýkoliv text inzerátu!'); + return(false); + } + + var e_name=form.elements["name"] ; + if (e_name.value=="") { + e_name.focus(); + alert('Chybí zadání názvu firmy èi jména osoby!'); + return(false); + } + + var e_adresa=form.elements["adresa"] ; + if (e_adresa.value=="") { + e_adresa.focus(); + alert('Chybí zadání úplné adresy!'); + return(false); + } + + var e_doklad=form.elements["doklad"]; + if (calc_total(form)>0 && !e_doklad.disabled && e_doklad.checked) { + var e_ico=form.elements["ico"] ; + if (e_ico=="") { + e_ico.focus(); + alert('Po¾adujete zaslání daòového dokladu, ale chybí IÈO!'); + return(false); + } + var e_dic=form.elements["dic"] ; + if (e_dic=="") { + e_dic.focus(); + alert('Po¾adujete zaslání daòového dokladu, ale chybí DIÈ!'); + return(false); + } + } + + var e_pocet=form.elements["pocet"]; + if (-1!=e_pocet.value.search(/[^0-9]/)) { + e_pocet.select(); + e_pocet.focus(); + alert('Jako poèet zveøejnìní je povoleno zadat jen èíselnou hodnotu!'); + return(false); + } + if (e_pocet.value=="") { + e_pocet.focus(); + alert('Nutno zadat platný poèet opakování! (pro jediné uveøejnìní zadejte 1)'); + return(false); + } + if (e_pocet.value<=0 || e_pocet.value>120) { + e_pocet.select(); + e_pocet.focus(); + alert('Takový poèet zveøejnìní není povolen!'); + return(false); + } + + var e_mail=form.elements["mail"] ; + if (e_mail.value!="" && -1==e_mail.value.search(/.@../)) { + e_mail.select(); + e_mail.focus(); + alert('Jakmile jste uvedli e-mailovou adresu, tak ale musí být v platném tvaru!'); + return(false); + } + + return(true); +} + +function calc_total(form) +{ +var total=0; +var len=form.elements["text"].value.length; +var v_pocet=form.elements["pocet"].value; +var e_doklad=form.elements["doklad"]; + + total=(Math.ceil((len+3)/40)*v_pocet-1)*price_line; + if (total<=0) { + e_doklad.disabled=true; + total=0; + } + else { + if (e_doklad.checked) + total+=price_doklad; + e_doklad.disabled=false; + } + return(total); +} + + +function sum_total(field) +{ +var form=field.form; +var total=calc_total(form); + + if (!total) + total="zdarma"; + else + total+=" Kè"; + form.elements['total'].value=total; +} diff --git a/inzerat.php b/inzerat.php new file mode 100644 index 0000000..68beb93 --- /dev/null +++ b/inzerat.php @@ -0,0 +1,79 @@ + +'; + include("common.php"); + + $title_tail="Øádková inzerce"; + heading(true/*title*/); +?> + + +

 

+ +

Elektronické podání inzerátu

+ +

Jak vyplnit objednávku

+ +
+

Do textového pole vepi¹te text inzerátu. Jako jeho souèást mù¾ete zveøejnit +i svou adresu, èíslo telefonu, faxu, popøípadì e-mailu. Mù¾ete také vyu¾ít +kontaktu pøes redakci, která inzerátu pøidìlí znaèku. Ka¾dé písmenko, mezera +a interpunkèní znaménko je zapoèítáno do celkové délky inzerátu.

+ +

Nesrozumitelné, neèitelné +a neuhrazené oznámení neuveøejníme.

+ +

+Pod textovým polem vidíte polo¾ku Celková cena, kde +máte celkovou cenu (vèetnì 22% DPH) aktuálnì zadávaného inzerátu vynásobenou +poètem po¾adovaných opakování jeho zveøejnìní. + +Celková cena aktuálnì zadávaného inzerátu vynásobená poètem po¾adovaných +opakování jeho zveøejnìní bude zobrazena po stisknutí tlaèítka Spoètení ceny inzerátu. + +Ka¾dých zapoèatých 40 znakù se poèítá jako jeden øádek oti¹tìný +v èasopisu, pøièem¾ první øádek je zdarma a ka¾dý dal¹í i zapoèatý za +61,- Kè (50 Kè bez DPH). Pøi opakované inzerci uveïte poèet +opakování zveøejnìní, pøi za¹krtnutí po¾adavku +zaslání daòového dokladu nezapomeòte uvést své DIÈ a IÈO. Po potvrzení +odeslání inzerátu uhradíte celkovou èástku pøevodním pøíkazem nebo po¹tovní +poukázkou.

+ +
+ +

Objednávka øádkové inzerce

+ + + +
+

Formuláø pro zaslání inzerátu po¹tou

+
+ +
+ + diff --git a/inzeraty.php b/inzeraty.php new file mode 100644 index 0000000..e5727a7 --- /dev/null +++ b/inzeraty.php @@ -0,0 +1,15 @@ + -- 1.8.3.1