X-Git-Url: http://git.jankratochvil.net/?a=blobdiff_plain;f=common.php;h=118f447b1a335a6d8b1a3e24dc9536bb9051b7d7;hb=0fba5aa6fc0e9c92ec49f7153564eca739ab84be;hp=db0271110096f36db708b1b29e4bd83965014899;hpb=3e18e0e9b7fd0ba676e02823f9d9b3890751aaa7;p=www.energie.vellum.cz.git diff --git a/common.php b/common.php index db02711..118f447 100644 --- a/common.php +++ b/common.php @@ -10,7 +10,7 @@ $cvs_id_split=split(" ",$cvs_id); if (count($cvs_id_split)==8) { $cvs_id_split[1]="".$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 +19,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,7 +43,8 @@ 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(); } @@ -67,7 +71,7 @@ function prepvar($name,$regex=".",$require=true) if (!isset($v)) return(0); - $globals[$name]=$v; + $GLOBALS[$name]=$v; return($v); } @@ -94,7 +98,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); @@ -102,38 +106,75 @@ 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); +} - if (!$month_last) - $month_last=db_item("select month_last from $tb_obsah where year='$year' and month='$month'"); +function month_a($year,$month,$month_last=0,$sequential=0) +{ + global $tb_obsah,$obsah_year_base; + + 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"=>"$month".($month==$month_last ? "" : "-$month_last")."/$year", + "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=0) +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="") { - if (!$height) - list($width,$height)=getimagesize($width); - return("style=\"border:0;width:${width}px;height:${height}px\" width=\"$width\" height=\"$height\""); + list($width,$height)=getimagesize($file); + return("\"".htmlspecialchars($alt)."\""); } function gsm_banking() { - return("\"Paegas"); + return(img("img/sluzby_bankovni_pggsm.gif","Paegas GSM banking","class=\"img-align\"")); } function price_a() @@ -156,7 +197,7 @@ function title_name($year,$month) { if (isset($year) && isset($month)) { $month_a=month_a($year,$month); - return("Èíslo ".$month_a["name"]); + return("Èíslo ".$month_a["name_full"]); } else if (isset($year)) return("Roèník $year"); @@ -170,21 +211,30 @@ function title_month($year,$month) return("" ."\n" ."\n" ."
\n" - ."\n" + ."\n" ."
\"titulní
".img($month_a["img"],"titulní stránka ".$month_a["name"])."
\n" ); } -function title_icons_table_month($year,$month,$month_last) +function title_icons_table_month($year,$month,$month_last,$sequential) { - $month_a=month_a($year,$month,$month_last); - print("" - ."\"titulní
" - ."obsah ".$month_a["name"]."" - ); + 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) @@ -192,18 +242,18 @@ function title_icons($year,$month) global $tb_obsah; print("

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

\n"); - $result=db_query("select year,month,month_last from $tb_obsah" + $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=6; + $split=4; // $year variable changes its meaning here!!! if (isset($year)) @@ -221,7 +271,7 @@ function title_icons($year,$month) $year=$row["year"]; print("" - .(!isset($wanted_year) ? "

 

" : "") + .(!isset($wanted_year) ? "

 

" : "") ."
\n" ."\n" ); @@ -240,10 +290,10 @@ function title_icons($year,$month) print(""); $month++; } - print("\n"); $month=$row["month_last"]; } @@ -263,6 +313,8 @@ 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)); @@ -272,7 +324,40 @@ function image_supported($mime) return(false); } -function footer() +// 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) +{ + return("$text (".usersize(filesize($filename)).")"); +} + +function footer_img($url,$text,$size) +{ + global $footer_LOCAL; + if (!isset($footer_LOCAL)) + return("\"$text\""); + else + return($text); +} + +function footer($delimit=true) { // deadlock prevention: global $footer_passed; @@ -281,20 +366,23 @@ 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"]); ?> -

 


Roèník $year (obsahy èísel)
"); - title_icons_table_month($year,$row["month"]+1,$row["month_last"]+1); + title_icons_table_month($year,$row["month"]+1,$row["month_last"]+1,$row["sequential"]); print("
+ href="http://validator.w3.org/check?">
alt="Valid XHTML 1.0!" />"> alt="Valid CSS!" />
- =4) - print(''."\n"); + 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"); } ?>