Fixed XML compliance for $have_ent-detection
[www.energie.vellum.cz.git] / common.php
index 4acad91..93df63c 100644 (file)
@@ -10,6 +10,9 @@
                unset($viewcvs);
        $cvs_id_split=split(" ",$cvs_id);
        if (count($cvs_id_split)==8) {
+               $cvs_id_split[2]=""
+                               ."<a href=\"".ereg_replace("/viewcvs/","\\0~checkout~/",$viewcvs)."?rev=".$cvs_id_split[2]."\">"
+                               .$cvs_id_split[2]."</a>";
                $cvs_id_split[1]="<a href=\"$viewcvs\">".$cvs_id_split[1]."</a>";
                $cvs_id_split[5]="<a href=\"mailto:".$cvs_id_split[5]."@$cvs_mailhost\">".$cvs_id_split[5]."</a>";
                }
@@ -17,6 +20,8 @@
 
        if (!isset($head))
                $head="";
+       if (!isset($energie_base))
+               $energie_base="";
 
        unset($have_ent);
        if (isset($HTTP_GET_VARS[    "have_ent"]))
                                .htmlspecialchars("http://".$HTTP_SERVER_VARS["HTTP_HOST"].$HTTP_SERVER_VARS["PHP_SELF"]
                                                ."?".(strlen($HTTP_SERVER_VARS["QUERY_STRING"]) ? $HTTP_SERVER_VARS["QUERY_STRING"] : "detect_ent_glue=1")
                                                                ."&have_ent=detect")
-                               .'">'."\n";
+                               .'" />'."\n";
        fixampvars();
 
        $have_js=(isset($HTTP_GET_VARS["have_js"]) || isset($HTTP_POST_VARS["have_js"])
                        ? "?have_js=1" : "");
        if (isset($detect_js) && !$have_js)
-               $head.='<script type="text/javascript" src="'.(!isset($energie_base) ? "" : $energie_base).'have_js.js"></script>'."\n";
+               $head.='<script type="text/javascript" src="'.$energie_base.'have_js.js"></script>'."\n";
 
        $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))
@@ -194,7 +199,9 @@ function img($file,$alt,$attrs="")
 
 function gsm_banking()
 {
-       return(img("img/sluzby_bankovni_pggsm.".(image_supported("video/x-mng") ? "mng" : "gif"),
+       global $energie_base;
+
+       return(img($energie_base."img/sluzby_bankovni_pggsm.".(image_supported("video/x-mng") ? "mng" : "gif"),
                        "Paegas GSM banking","class=\"img-align\""));
 }
 
@@ -377,6 +384,8 @@ function img_href($filename,$text)
 
 function print_pdf_layout($name,$base)
 {
+       global $energie_base;
+
        $imgfmt=(image_supported("image/png") ? "png" : "gif");
        ?>
 <p>Shodný <?php print($name); ?> je dostupný ve dvou rùzných formátech souboru. V&nbsp;pøípadì,
@@ -393,7 +402,7 @@ zvolte pros
 
 <li>
 <table border="0">
-<tr><td><?php print("<a href=\"$base.pdf\">".img("img/adobe-pdficon-alpha.".(image_supported("image/png") ? "png" : "gif"),
+<tr><td><?php print("<a href=\"$base.pdf\">".img($energie_base."img/adobe-pdficon-alpha.".(image_supported("image/png") ? "png" : "gif"),
                        "Adobe PDF")."</a>"); ?></td>
        <td><?php print(data_href("$base.pdf","Dokument PDF")); ?></td>
        </tr>
@@ -401,7 +410,7 @@ zvolte pros
 <blockquote>
 <table border="0">
 <tr><td><a href="http://www.adobe.com/products/acrobat/readstep.html"><?php
-       print(img("img/adobe-getacro.".(image_supported("image/png") ? "png" : "gif"),"Get Adobe Acrobat Reader"));
+       print(img($energie_base."img/adobe-getacro.".(image_supported("image/png") ? "png" : "gif"),"Get Adobe Acrobat Reader"));
        ?></a></td>
        <td class="smaller">Soubor je ve formátu <span class="italic">Adobe Acrobat</span>,
        pro jeho pøeètení si prosím nainstalujte
@@ -626,12 +635,22 @@ function footer_img($url,$text,$size)
 
 function a_href($url,$contents)
 {
-       global $have_ent;
-
-       print("<a href=\"");
-       if (ereg("^[a-z]+://",$url) && !$have_ent)
-               $url="redirect.php?location=".urlencode($url);
-       print(htmlspecialchars($url)."\">$contents</a>");
+       global $have_ent,$energie_base;
+
+       $r="<a href=\"";
+       $urlent=htmlspecialchars($url);
+            if ($url==$urlent)
+               $r.=$url;
+       else if (!ereg("^[a-z]+://",$url))      // $url is our resource
+               $r.=$urlent;
+       else if (isset($have_ent) && !$have_ent)        // non-ent client
+               $r.=$url;
+       else if ($have_ent) // ent client
+               $r.=$urlent;
+       else // unknown client, htmlspecialchars() should not be needed here
+               $r.=htmlspecialchars($energie_base."redirect.php?location=".urlencode($url));
+       $r.="\">$contents</a>";
+       return($r);
 }
 
 function footer($delimit=true)
@@ -642,7 +661,7 @@ function footer($delimit=true)
                exit();
        $footer_passed=true;
 
-       global $cvs_id_html,$viewcvs,$viewcvs,$HTTP_SERVER_VARS;
+       global $cvs_id_html,$viewcvs,$viewcvs,$HTTP_SERVER_VARS,$energie_base;
        if ($delimit)
                print("<p>&nbsp;</p>\n");
        $uri="uri=".urlencode("http://".$HTTP_SERVER_VARS["HTTP_HOST"].$HTTP_SERVER_VARS["REQUEST_URI"]);
@@ -652,9 +671,9 @@ function footer($delimit=true)
 <tr><td align="left"><span class="cvs-id"><?php print($cvs_id_html); ?></span></td><td align="right"><?php
                        print(""
                                        .a_href("http://validator.w3.org/check?$uri",
-                                                       img("img/valid-xhtml11.".(image_supported("image/png") ? "png" : "gif"),"Valid XHTML 1.1!"))
+                                                       img($energie_base."img/valid-xhtml11.".(image_supported("image/png") ? "png" : "gif"),"Valid XHTML 1.1!"))
                                        .a_href("http://jigsaw.w3.org/css-validator/validator?warning=2&profile=css2&$uri",
-                                                       img("img/vcss."         .(image_supported("image/png") ? "png" : "gif"),"Valid CSS!"))
+                                                       img($energie_base."img/vcss."         .(image_supported("image/png") ? "png" : "gif"),"Valid CSS!"))
                                        );
                        ?></td></tr>
 </table>