Paper numbering changed ("yyyy-0m" -> "m/yyyy")
[www.energie.vellum.cz.git] / common.php
index ec896f4..db02711 100644 (file)
@@ -67,8 +67,7 @@ function prepvar($name,$regex=".",$require=true)
        if (!isset($v))
                return(0);
 
-       global $$name;
-       $$name=$v;
+       $globals[$name]=$v;
        return($v);
 }
 
@@ -79,7 +78,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());
@@ -118,9 +117,9 @@ function month_a($year,$month,$month_last=0)
        $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",
                        );
        return($r);
 }
@@ -132,6 +131,147 @@ function img_size($width,$height=0)
        return("style=\"border:0;width:${width}px;height:${height}px\" width=\"$width\" height=\"$height\"");
 }
 
+function gsm_banking()
+{
+       return("<img src=\"img/sluzby_bankovni_pggsm.gif\" ".img_size(89,31)." alt=\"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"]);
+               }
+       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(""
+                       ."<table border=\"0\" width=\"100%\">\n"
+                       ."<tr><td align=\"center\"><table border=\"1\" cellpadding=\"10\">\n"
+                       ."<tr><td align=\"center\"><img src=\"".$month_a["img"]."\" ".img_size($month_a["img"])
+                       ." alt=\"titulní stránka ".$month_a["name"]."\" /></td></tr>\n"
+                       ."</table></td></tr>\n"
+                       ."</table>\n"
+                       );
+}
+
+function title_icons_table_month($year,$month,$month_last)
+{
+       $month_a=month_a($year,$month,$month_last);
+       print("<a href=\"title.php?year=$year&amp;month=$month\">"
+                               ."<img src=\"".$month_a["icon"]."\" ".img_size($month_a["icon"])
+                               ." alt=\"titulní stránka ".$month_a["name"]."\" /></a><br />"
+                       ."<a href=\"obsah.php?year=$year&amp;month=$month\">obsah ".$month_a["name"]."</a>"
+                       );
+}
+
+function title_icons($year,$month)
+{
+       global $tb_obsah;
+
+       print("<h2>"
+               .(isset($year) ? "<a name=\"year_$year\">" : "")
+               .title_name(&$year,&$month)
+               .(isset($year) ? "</a>" : "")
+               ."</h2>\n");
+
+       $result=db_query("select year,month,month_last 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;
+
+       // $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) ? "<p><a name=\"year_$year\">&nbsp;</a></p>" : "")
+                                       ."<table border=\"0\" width=\"100%\"><tr><td align=\"center\"><table border=\"1\" cellpadding=\"5\">\n"
+                                       ."<tr><th colspan=\"$split\">Roèník $year (<a href=\"obsah.php?year=$year\">obsahy èísel</a>)</th></tr>\n"
+                                       );
+                       $fin_year="</table></td></tr></table>\n";
+                       $fin_split="";
+                       $month=-1;
+                       $floor=-1;
+                       }
+               while ($floor<floor($row["month"]/$split)) {
+                       print($fin_split."<tr>");
+                       $fin_split="</tr>\n";
+                       $floor++;
+                       $month=$floor*$split-1;
+                       }
+               while ($month+1<$row["month"]) {
+                       print("<td></td>");
+                       $month++;
+                       }
+               print("<td align=\"center\""
+                               .($row["month_last"]!=$row["month"] ? " colspan=\"".($row["month_last"]+1-$row["month"])."\"" : "")
+                               .">");
+               title_icons_table_month($year,$row["month"]+1,$row["month_last"]+1);
+               print("</td>\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;
+
+       $exp=explode(",",$HTTP_SERVER_VARS["HTTP_ACCEPT"]);
+       while (($s=array_shift($exp))) {
+               $s=trim(ereg_replace(";.*","",$s));
+               if ($s==$mime)
+                       return(true);
+               }
+       return(false);
+}
+
 function footer()
 {
        // deadlock prevention:
@@ -142,6 +282,7 @@ function footer()
 
        global $cvs_id_html,$viewcvs,$viewcvs,$HTTP_SERVER_VARS;
        ?>
+<p>&nbsp;</p>
 <hr />
 <table border="0" width="100%">
 <tr><td align="left"><span class="cvs-id"><?php print($cvs_id_html); ?></span></td><td align="right"><a
@@ -157,6 +298,15 @@ function footer()
        exit();
 }
 
+// Stolen from: php-manual.html#function.header
+function no_cache()
+{
+       header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");          // Date in the past
+       header("Last-Modified: ".gmdate("D, d M Y H:i:s")." GMT"); // always modified
+       header("Cache-Control: no-cache, must-revalidate");        // HTTP/1.1
+       header("Pragma: no-cache");                                // HTTP/1.0
+}
+
 function heading()
 {
        global $msie_major,$mozilla_major,$title_tail,$head_css,$head;
@@ -173,15 +323,15 @@ function heading()
 ?></title>
 <style type="text/css"><!--
 .cvs-id  { font-family: monospace; }
-.error   { color: red; }
+.error   { color: red;    background-color: transparent; }
 .quote   { font-family: monospace; }
 body {
                background-color: black;
                color: white;
                }
-:link    { color: cyan; }
-:visited { color: teal; }
-h1,h2    { color: yellow; }
+:link    { color: aqua;   background-color: transparent; }
+:visited { color: teal;   background-color: transparent; }
+h1,h2    { color: yellow; background-color: transparent; }
 <?php
        if (isset($head_css))
                print(trim($head_css)."\n");