X-Git-Url: http://git.jankratochvil.net/?p=www.energie.vellum.cz.git;a=blobdiff_plain;f=common.php;h=69ffa306aaf97c4efeb8b27ecabbe97066fe18ce;hp=ec896f4ac4136c2acf83167a3a16358c1431740e;hb=958b747cca654215a5ca7a1138508952e2a522de;hpb=a032f9c9a41115e3c6adadc84fa0160c6062092b diff --git a/common.php b/common.php index ec896f4..69ffa30 100644 --- a/common.php +++ b/common.php @@ -1,6 +1,7 @@ ".$cvs_id_split[1].""; - $cvs_id_split[5]="".$cvs_id_split[5].""; + $cvs_id_split[5]="".$cvs_id_split[5].""; } $cvs_id_html=join(" ",$cvs_id_split); @@ -19,12 +20,15 @@ if (isset($detect_js) && !$have_js) $head.=''."\n"; - $user_agent=$HTTP_SERVER_VARS["HTTP_USER_AGENT"]; + $user_agent=(!isset($HTTP_SERVER_VARS["HTTP_USER_AGENT"]) ? "" : $HTTP_SERVER_VARS["HTTP_USER_AGENT"]); if (ereg("[[:<:]]MSIE ([0-9]+)\\.",$user_agent,$msie_major_a)) $msie_major=$msie_major_a[1]; else if (ereg("[[:<:]]Mozilla/([0-9]+)\\.",$user_agent,$mozilla_major_a)) $mozilla_major=$mozilla_major_a[1]; + $have_style=!isset($mozilla_major) || $mozilla_major!=4; + $have_css=true; // doesn't hurt anybody AFAIK + function addpercents($url) { $r=$c=""; @@ -40,12 +44,13 @@ function fatal($msg="UNKNOWN") { global $admin_mail; - print("\n

Nastala chyba pøi zpracování: $msg!

\n" + heading(false/*title*/); // it is always safe + print("\n

 
 


Nastala chyba pøi zpracování: $msg!

\n" ."

Mù¾ete tento problém nahlásit správci tohoto webu.

\n"); footer(); } -function prepvar($name,$regex=".",$require=true) +function prepvar($name,$regex=".*",$require=true) { global $HTTP_GET_VARS,$HTTP_POST_VARS; @@ -67,8 +72,7 @@ function prepvar($name,$regex=".",$require=true) if (!isset($v)) return(0); - global $$name; - $$name=$v; + $GLOBALS[$name]=$v; return($v); } @@ -79,7 +83,7 @@ function db_connect() if (isset($db_link)) return; - if (!($db_link=@mysql_connect($db_host,$db_user,$db_pwd))) + if (!($db_link=mysql_connect($db_host,$db_user,$db_pwd))) fatal("MySQL connect: ".mysql_error()); if (!mysql_select_db($db_name,$db_link)) fatal("MySQL database select: ".mysql_error()); @@ -95,7 +99,7 @@ function db_query($query) return($r); } -function db_row($query) +function db_row($query) // pure indexes { $q=db_query($query); $r=mysql_fetch_row($q); @@ -103,36 +107,504 @@ function db_row($query) return($r); } +function db_array($query) // field-names associative +{ + $q=db_query($query); + $r=mysql_fetch_array($q); + mysql_free_result($q); + return($r); +} + function db_item($query) { $row=db_row($query); return($row[0]); } -function month_a($year,$month,$month_last=0) +function num2greg($num) { - global $tb_obsah; + $r=""; + $vals=array(1=>"I",5=>"V",10=>"X",50=>"L",100=>"C",500=>"D",1000=>"M"); + krsort($vals,SORT_NUMERIC); + foreach($vals as $val=>$sym) { + while ($num<0 && $num+$val<-$num) { + $r=substr($r,0,-1).$sym.substr($r,-1,1); + $num+=$val; + } + while (10*$num>=8*$val+(substr($val,0,1)=="1")) { + $r=$r.$sym; + $num-=$val; + } + } + return($r); +} + +function month_a($year,$month,$month_last=0,$sequential=0) +{ + global $tb_obsah,$obsah_year_base; - if (!$month_last) - $month_last=db_item("select month_last from $tb_obsah where year='$year' and month='$month'"); + if (!$month_last || !$sequential) + list($month_last,$sequential)=db_row("select month_last,sequential from $tb_obsah where year='$year' and month='$month'"); $month_full=sprintf("%02d".($month==$month_last ? "" : "-%02d"),$month,$month_last); $r=array("year"=>$year,"month"=>$month,"month_last"=>$month_last,"month_full"=>$month_full, - "name"=>"$year/${month_full}", - "img" =>"img/eap-$year-${month_full}.jpg", - "icon"=>"img/eap-$year-${month_full}s.jpg", + "name"=>"$month" .($month==$month_last ? "" : "-$month_last")."/$year", + "img" =>"img/eap-$year-${month_full}.jpeg", + "icon"=>"img/eap-$year-${month_full}s.jpeg", + ); + $r["name_full"]=$r["name"] + ." ($sequential".($month==$month_last ? "" : "-".($sequential+$month_last-$month)).")" + ." - ".num2greg($year-$obsah_year_base+1).". roèník"; + return($r); +} + +function img_size($width,$height) +{ + global $have_style; + + return(($have_style ? "style=\"border:0;width:${width}px;height:${height}px\"" : "border=\"0\"") + ." width=\"$width\" height=\"$height\""); +} + +function img($file,$alt,$attrs="") +{ + list($width,$height)=getimagesize($file); + $alt=htmlspecialchars($alt); + return("\"$alt\""); +} + +function gsm_banking() +{ + return(img("img/sluzby_bankovni_pggsm.gif","Paegas GSM banking","class=\"img-align\"")); +} + +function price_a() +{ + if (!($f=fopen("objednavka.js","r"))) + fatal("Nepodaøilo se naèíst seznam dostupného zbo¾í"); + $r=array(); + while (($s=fgets($f,0x1000))) { + if (!($s=trim($s))) + break; + if (!(ereg("^want_price\\[ *'([^']*)'\\]=([0-9]*);$",$s,$matched))) + continue; + $r[$matched[1]]=$matched[2]; + } + fclose($f); + return($r); +} + +function title_name($year,$month) +{ + if (isset($year) && isset($month)) { + $month_a=month_a($year,$month); + return("Èíslo ".$month_a["name_full"]); + } + else if (isset($year)) + return("Roèník $year"); + else + return("V¹echny roèníky"); +} + +function title_month($year,$month) +{ + $month_a=month_a($year,$month); + return("" + ."\n" + ."\n" + ."
\n" + ."\n" + ."
".img($month_a["img"],"titulní stránka ".$month_a["name"])."
\n" + ); +} + +function title_icons_table_month($year,$month,$month_last,$sequential) +{ + global $tb_clanek; + + $month_a=month_a($year,$month,$month_last,$sequential); + print("" + ."\n" + ."\n" + ."
".$month_a["name"]."
" + .img($month_a["icon"],"titulní stránka ".$month_a["name_full"])."
\n" + ."• titulní strana
\n" + ."• obsah
\n"); + $result=db_query("select name,id from $tb_clanek where year=$year and month=$month order by id"); + while ($row=mysql_fetch_array($result)) + print("• " + .htmlspecialchars($row["name"])."
\n"); + mysql_free_result($result); + print("
"); +} + +function title_icons($year,$month) +{ + global $tb_obsah; + + print("

" + .(isset($year) ? "" : "") + .title_name(&$year,&$month) + .(isset($year) ? "" : "") + ."

\n"); + + $result=db_query("select year,month,month_last,sequential from $tb_obsah" + .(isset($year) || isset($month) ? " where" : "") + .(isset($year ) ? " year=$year" : "") + .(isset($year) && isset($month) ? " and" : "") + .(isset($month) ? " month=$month" : "") + ." order by year,month"); + $split=4; + + // $year variable changes its meaning here!!! + if (isset($year)) + $wanted_year=$year; + $year=0; + + $fin_split=""; + $fin_year=""; + while ($row=mysql_fetch_array($result)) { + $row["month" ]--; + $row["month_last"]--; + + if ($row["year"]!=$year) { + print($fin_split.$fin_year); + + $year=$row["year"]; + print("" + .(!isset($wanted_year) ? "

 

" : "") + ."
\n" + ."\n" + ); + $fin_year="
Roèník $year (obsahy èísel)
\n"; + $fin_split=""; + $month=-1; + $floor=-1; + } + while ($floor"); + $fin_split="\n"; + $floor++; + $month=$floor*$split-1; + } + while ($month+1<$row["month"]) { + print(""); + $month++; + } + print(""); + title_icons_table_month($year,$row["month"]+1,$row["month_last"]+1,$row["sequential"]); + print("\n"); + $month=$row["month_last"]; + } + mysql_free_result($result); + print($fin_split.$fin_year); +} + +function title($year,$month) +{ + if (isset($year) && isset($month)) + return(title_month( $year, $month)); + else + return(title_icons(&$year,&$month)); +} + +function image_supported($mime) +{ + global $HTTP_SERVER_VARS; + + if (!isset($HTTP_SERVER_VARS["HTTP_ACCEPT"])) + return(false); + $exp=explode(",",$HTTP_SERVER_VARS["HTTP_ACCEPT"]); + while (($s=array_shift($exp))) { + $s=trim(ereg_replace(";.*","",$s)); + if ($s==$mime) + return(true); + } + return(false); +} + +// PHP dirname() is broken: ("/1/2/3"=>"/1/2", "/1"->"/") +function dirnameslashed($filename) +{ + $r=dirname($filename); + if (substr($r,-1)!="/") + $r.="/"; + return($r); +} + +function usersize($size) +{ + $suffix_a=array("","k","M","G","T"); + while ($size>=1000 && sizeof($suffix_a)>=2) { + $size/=1000; + array_shift($suffix_a); + } + return(round($size)." ".$suffix_a[0]."B"); +} + +function data_href($filename,$text,$details="") +{ + return("$text (".usersize(filesize($filename))."$details)"); +} + +function img_href($filename,$text) +{ + list($width,$height)=getimagesize($filename); + return(data_href($filename,$text,", ${width}x${height} bodù")); +} + +function print_pdf_layout($name,$base) +{ + $imgfmt=(image_supported("image/png") ? "png" : "gif"); + ?> +

Shodný je dostupný ve dvou rùzných formátech souboru. V pøípadì, +¾e nemáte/nechcete instalovat +Adobe Acrobat Reader, +zvolte prosím druhou mo¾nost:

+ + + +
+
    + +
  • + + + + +
    ".img("img/adobe-pdficon-alpha.gif","Adobe PDF").""); ?>
    +
    + + + + +
    Soubor je ve formátu Adobe Acrobat, + pro jeho pøeètení si prosím nainstalujte + Adobe Acrobat Reader.
    +
    +
  • + +
  • + +
  • + +
+Zpìt" èi " + .""Back" prohlí¾eèe)" + : "\" onclick=\"history.back()\" />") + ); +} + +// Data acquision error checking: +function datacheck_fail() +{ + print("

Nyní se prosím ".return_back("vra»te zpìt") + ." na pøedchozí stránku a chybu zadaných dat opravte.

\n"); + footer(); +} + +function mail_data($title,$data) +{ + global $admin_mail,$mail_to; + + // 5th mail argument is supported from PHP-4.0.5 + return (!mail($mail_to,"EnergieWeb: $title",$data, +"From: EnergieWeb <$admin_mail> +Mime-Version: 1.0 +Content-Type: text/plain; charset=iso-8859-2 +Content-Disposition: inline +Content-Transfer-Encoding: 8bit +")); +} + +function gsm_row($name,$value) +{ + return("$name" + ."".($value=="" ? "neuvádìjte" : $value)."" + ."".strtr($value,"/.","#*")."\n"); +} + +function gsm_table($total,$varsym) +{ + global $firma_ucet,$firma_konstsym,$firma_specsym; + + return("
\n" + ."\n" + .gsm_row("Èíslo úètu",$firma_ucet) + .gsm_row("Èástka",sprintf("%.2f",$total)) + .gsm_row("Konstantní symbol",$firma_konstsym) + .gsm_row("Variabilní symbol",$varsym) + .gsm_row("Specifický symbol",$firma_specsym) + ."
polo¾kabankovní pøíkaz".gsm_banking()."
\n" ); +} + +function return_to_homepage() +{ + global $HTTP_SERVER_VARS; + + return("

Nyní se mù¾ete vrátit na úvodní stránku.

\n"); +} + +function input_text($name,$size,$default_value="",$addons="") +{ + $r=""; return($r); } -function img_size($width,$height=0) +function print_form_radkova_inzerce($readonly,$total,$submit_name,$submit_value) { - if (!$height) - list($width,$height)=getimagesize($width); - return("style=\"border:0;width:${width}px;height:${height}px\" width=\"$width\" height=\"$height\""); + global $have_js,$text,$doklad; + + $addons=(!$readonly ? "" : " readonly=\"readonly\""); + ?> +
+
+ + + + +
+ + + + + + +
Text inzerátu
" + .(!isset($text) ? "" : htmlspecialchars(trim($text))) + .""); + ?>

Celková cena: +
+ + + + + + + + +
Název firmy / Jméno:
Úplná adresa:
Telefon:
IÈO:DIÈ
Zaslat daòový doklad?"disabled" for them) + .($readonly ? "" : " onclick=\"sum_total(this)\"") + .(!($have_js || $readonly) ? "" : " disabled=\"disabled\"") + .(!isset($doklad) ? "" : " checked=\"checked\"") + .ereg_replace(" readonly=\"readonly\"","",$addons)." />"); + ?>
Poèet zveøejnìní:e-mail:
"); + ?>
+
+"); + else + return($text); +} + +function footer($delimit=true) { // deadlock prevention: global $footer_passed; @@ -141,56 +613,91 @@ function footer() $footer_passed=true; global $cvs_id_html,$viewcvs,$viewcvs,$HTTP_SERVER_VARS; + if ($delimit) + print("

 

\n"); + $uri="uri=".addpercents("http://".$HTTP_SERVER_VARS["HTTP_HOST"].$HTTP_SERVER_VARS["REQUEST_URI"]); ?>
+ href="http://validator.w3.org/check?">
alt="Valid XHTML 1.0!" />"> alt="Valid CSS!" />
- =4) - print(''."\n"); +function heading($title=false) +{ + global $HTTP_SERVER_VARS,$msie_major,$mozilla_major,$title_tail,$head_css,$have_css,$head,$heading_done,$title_prefix,$force_charset; + + if (isset($heading_done)) + return; + $heading_done=1; + + if (isset($force_charset)) + $client_charset=$force_charset; + else + $client_charset=(!isset($HTTP_SERVER_VARS["CLIENT_CHARSET"]) ? "iso-8859-2" : $HTTP_SERVER_VARS["CLIENT_CHARSET"]); + // When "CLIENT_CHARSET" is set we MUST NOT explicitely specify our "charset" + header("Content-type: text/html".(isset($HTTP_SERVER_VARS["CLIENT_CHARSET"]) ? "" : "; charset=$client_charset")); + header("Content-Style-Type: text/css"); + if (!isset($msie_major) || $msie_major>=4) { + print(''."\n"); + } ?> - - -Energie & peníze<?php +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="cs"> +<head><?php + print("<title>$title_prefix"); if (isset($title_tail)) - print(": $title_tail"); -?> -\n"); + if (isset($head_css)) + print(trim($head_css)."\n"); + print("-->\n"); + } if (isset($head)) print($head); print("\n"); + if ($title) + print("

" + .img("img/eap-title.".(image_supported("image/png") ? "png" : "gif"),"Energie & Peníze") + ."

\n"); } ?>