Changeset 550 for trunk/inc/html.php


Ignore:
Timestamp:
Mar 29, 2009, 11:57:40 AM (16 years ago)
Author:
george
Message:
  • Upraveno: Realmlist již je v složce pages.
  • Odstraněno: Soubor function.php nepatří do kořenové složky. Namísto toho přesunuta funkce do inc/html.php.
  • Upraveno: Formátování kódu v některých souborech.
  • Odstraněno: Soubory ze starého webu global.php a database.php nepatří do nového.
  • Upraveno: Položky menu nyní generovány inteligentněji z pole.
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/inc/html.php

    r470 r550  
    11<?php
    2 class Html {
     2
     3class Html
     4{
    35  private $values;
    46  private $db;
    5       // --
    6       public function __construct($values,$db)
    7       {
    8       $this -> db = &$db;
    9         // default config
    10         $this -> html_cfg = array(
    11           "charset" => "utf-8",
    12           "author" => "Zork",
    13           "copyright" => "(C) 2008 Heroes of Fantasy, All rights reserved.",
    14           "favicon" => "imgs/fav",
    15           "title" => "Heroes of Fantasy",
    16           "description" => "Heroes of Fantasy free WoW server běžící na programu MaNGOS",
    17           "keywords" => "wowserver, world of warcraft, free, wow, server, hof, heroes of fantasy, zdechov, mangos"
    18         );
    19           if (count($values) > 1 OR $values[0] != 0 AND $values[0] != "0")
    20           {
    21             $result_cfg = array_merge ($this -> html_cfg, $values);
    22             foreach ($result_cfg as $name => $value)
    23             {$this -> {$name} = $value;}
    24           }
    25           else
    26           {
    27             foreach ($this -> html_cfg as $name => $value)
    28             {$this -> {$name} = $value;}
    29           }
    30      
    31       }
    32       // --
    33       private function CfgChck ($value)
    34       {
    35         if (isset($this -> {$value}))
    36         {
    37           return $this -> {$value};
    38         }
    39         else
    40         {
    41           return "Undefined";
    42         }
    43       }
    44       public function Start()
    45       {
    46 $code = "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">
     7
     8  public function __construct($values,$db)
     9  {
     10    $this->db = &$db;
     11    // default config
     12    $this->html_cfg = array
     13    (
     14      "charset" => "utf-8",
     15      "author" => "Zork",
     16      "copyright" => "(C) 2008 Heroes of Fantasy, All rights reserved.",
     17      "favicon" => "imgs/fav",
     18      "title" => "Heroes of Fantasy",
     19      "description" => "Heroes of Fantasy free WoW server běžící na programu MaNGOS",
     20      "keywords" => "wowserver, world of warcraft, free, wow, server, hof, heroes of fantasy, zdechov, mangos"
     21    );
     22
     23    if((count($values) > 1) or ($values[0] != 0) and ($values[0] != 0))
     24    {
     25      $result_cfg = array_merge ($this->html_cfg, $values);
     26      foreach($result_cfg as $name => $value)
     27        $this->{$name} = $value;
     28    } else
     29    {
     30      foreach($this->html_cfg as $name => $value)
     31        $this->{$name} = $value;
     32    }
     33  }
     34
     35  private function CfgChck($value)
     36  {
     37    if(isset($this->{$value}))
     38    {
     39      return($this->{$value});
     40    } else
     41    {
     42      return('Undefined');
     43    }
     44  }
     45
     46  public function Start()
     47  {
     48    $code = "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">
    4749<html>
    4850  <head>
     
    6567  <!--[if IE]><link rel=\"stylesheet\" type=\"text/css\" href=\"styles/ie.css\" /><![endif]-->
    6668  </head>
    67     <body>
    68 ";
    69         $this -> TimerStart();
    70           echo $code;
    71       }
    72       // --
    73       private function TimerStart()
    74       {
    75         $time_start = microtime();
    76         $time_start = explode(" ",$time_start);
    77         $time_start = $time_start[1] + $time_start[0];
    78         $this -> time_start = $time_start;
    79       }
    80       // --
    81       private function TimerStop()
    82       {
    83         $round = "100000";
    84         $time_start = $this -> time_start;
    85         $time_stop = microtime();
    86         $time_stop = explode(" ",$time_stop);
    87         $time_stop = $time_stop[1] + $time_stop[0];
    88         $deltatime = $time_stop - $time_start;
    89         $deltatime = (round(($deltatime*$round)))/$round;
    90           return $deltatime;
    91       }
    92       // -- 
    93       public function Stop()
    94       {
    95         $time = $this -> TimerStop();
    96 $code = "
    97 <!-- Vygenerováno za : ".$time." s -->
    98     </body>
    99 </html>
    100 ";
    101           echo $code;
    102       }
    103       // --
    104       public function Pager ($get,$dir_pages,$def)
    105       {
    106           $anti_ref = array (
    107           "server" => "5",
    108           "events" => "2",
    109           "aukce" => "2",
    110           "gmlog" => "300",
    111           "online" => "2",
    112           );
    113         $site_show = "./".$dir_pages."/".$get.".php";
    114         if (isset($anti_ref[$get]))
    115         {
    116           if (!$this -> Antirefresh($anti_ref[$get],$get))
    117           {
    118          
    119             if ($site_show != "" AND is_readable($site_show))
    120             {return $site_show;}
    121             else
    122             {return "./".$dir_pages."/".$def.".php";}
    123           }
    124           else
    125           {
    126             $this -> RefreshMsg($this -> Antirefresh($anti_ref[$get],$get),$get);
    127             return "./".$dir_pages."/free.php";
    128           }
    129         }
    130         else
    131         {
    132             if ($site_show != "" AND is_readable($site_show))
    133             {return $site_show;}
    134             else
    135             {return "./".$dir_pages."/".$def.".php";}
    136         }
    137       }
    138       public function Antirefresh ($value,$page)
    139       {
    140         $hash = md5($page);
    141         if (isset($_SESSION["rf".$hash."rsh"]))
    142         {
    143           $refresh = $_SESSION["rf".$hash."rsh"] + $value;
    144           if (time() < $refresh)
    145           {
    146             $dif = $refresh - time();
    147             return $dif;
    148           }
    149         }
    150         $_SESSION["rf".$hash."rsh"] = time();
    151       }
    152       // --
    153       public function RefreshMsg ($dif,$get)
    154       {
    155         if ($dif != 0)
    156         {
    157           if ($dif > 60)
    158           {
    159             $dif = round( $dif / 60)." min";
    160             $refresh = 30;
    161           }
    162           else
    163           {
    164             $dif = $dif." s";
    165             $refresh = 2;
    166           }
    167           echo "
    168           <center><h3>Refresh omezení</h3></center>
     69    <body>";
     70    $this->TimerStart();
     71    echo($code);
     72  }
     73
     74  private function TimerStart()
     75  {
     76    $time_start = microtime();
     77    $time_start = explode(' ', $time_start);
     78    $time_start = $time_start[1] + $time_start[0];
     79    $this->time_start = $time_start;
     80  }
     81
     82  private function TimerStop()
     83  {
     84    $round = 100000;
     85    $time_start = $this->time_start;
     86    $time_stop = microtime();
     87    $time_stop = explode(' ', $time_stop);
     88    $time_stop = $time_stop[1] + $time_stop[0];
     89    $deltatime = $time_stop - $time_start;
     90    $deltatime = (round(($deltatime * $round))) / $round;
     91    return($deltatime);
     92  }
     93 
     94  public function Stop()
     95  {
     96    $time = $this->TimerStop();
     97    $code = '<!-- Vygenerováno za : ".$time." s -->'.
     98    '</body></html>';
     99    echo($code);
     100  }
     101
     102  public function Pager($get, $dir_pages, $def)
     103  {
     104    $anti_ref = array
     105    (
     106      "server" => 5,
     107      "events" => 2,
     108      "aukce" => 2,
     109      "gmlog" => 300,
     110      "online" => 2,
     111    );
     112    $site_show = "./".$dir_pages."/".$get.".php";
     113    if(isset($anti_ref[$get]))
     114    {
     115      if(!$this->Antirefresh($anti_ref[$get], $get))
     116      {         
     117        if(($site_show != '') and is_readable($site_show)) return($site_show);
     118          else return('./'.$dir_pages.'/'.$def.'.php');
     119      } else
     120      {
     121        $this->RefreshMsg($this -> Antirefresh($anti_ref[$get], $get), $get);
     122        return("./".$dir_pages."/free.php");
     123      }
     124    } else
     125    {
     126      if($site_show != "" AND is_readable($site_show)) return($site_show);
     127        else return("./".$dir_pages."/".$def.".php");
     128    }
     129  }
     130
     131  public function Antirefresh($value, $page)
     132  {
     133    $hash = md5($page);
     134    if(isset($_SESSION["rf".$hash."rsh"]))
     135    {
     136      $refresh = $_SESSION["rf".$hash."rsh"] + $value;
     137      if(time() < $refresh)
     138      {
     139        $dif = $refresh - time();
     140        return($dif);
     141      }
     142    }
     143    $_SESSION["rf".$hash."rsh"] = time();
     144  }
     145
     146  public function RefreshMsg($dif, $get)
     147  {
     148    if($dif != 0)
     149    {
     150      if($dif > 60)
     151      {
     152        $dif = round($dif / 60)." min";
     153        $refresh = 30;
     154      } else
     155      {
     156        $dif = $dif." s";
     157        $refresh = 2;
     158      }
     159      echo("<center><h3>Refresh omezení</h3></center>
    169160          Stránka nepovoluje tak krátký čas pro refresh (znovunačtení).<br />
    170161          Další načtení stránky <b>?page=".$get."</b> bude možné za <b>".$dif."</b>.<br />
    171162          Pokud tento čas vyčkáte budete přesměrován automaticky !
    172          <meta http-equiv=\"refresh\" content=\"".$refresh.";url=\">
    173           ";
    174         }
    175        
    176       }
    177       // --
    178       public function PrgStart()
    179       {
    180       echo "
    181         <table align=\"center\" width=\"346\" height=\"417\" border=\"0\" style=\"background-image: url(imgs/web/prg.gif);\">
     163         <meta http-equiv=\"refresh\" content=\"".$refresh.";url=\">");
     164    }
     165  }
     166
     167  public function PrgStart()
     168  {
     169    echo("<table align=\"center\" width=\"346\" height=\"417\" border=\"0\" style=\"background-image: url(imgs/web/prg.gif);\">
    182170          <tr height=\"80\">
    183171            <td width=\"20\"></td>
     
    189177          <tr>
    190178            <td width=\"20\"></td>
    191             <td align=\"center\" valign=\"top\">"; 
    192       }
    193       // --
    194       public function PrgStop ()
    195       {
    196       echo "
    197         </td>
     179            <td align=\"center\" valign=\"top\">"); 
     180  }
     181
     182  public function PrgStop()
     183  {
     184    echo("</td>
    198185        <td width=\"20\"></td>
    199186      </tr>
     
    203190        <td width=\"20\"></td>
    204191      </tr>
    205       </table>";
    206       }
    207       // --
    208       public function ShowNews ($kategorie)
    209       {
    210         include("inc/db.php");
     192      </table>");
     193  }
     194
     195  public function ShowNews($kategorie)
     196  {
     197          include("inc/db.php");
    211198                global $db_webu;
    212199               
    213         if ($kategorie == "all")
     200    if($kategorie == "all")
     201    {
     202      $where = " ";
     203    } else
     204    {
     205      $where = "WHERE `category` = '".$kategorie."'";
     206    }
     207               
     208    mysql_connect($db_server, $db_user, $db_pass);
     209    mysql_select_db($db_webu);
     210    $limit = 5;
     211   
     212    $pocet = mysql_num_rows(mysql_query("SELECT id FROM `articles`".$where."ORDER BY `date` DESC;"));
     213    $offset = ($_GET["offset"] ? $_GET["offset"] : $pocet);
     214
     215    if($pocet != 0)
     216    {
     217                  mysql_query('SET NAMES utf8');
     218      $result = mysql_query("SELECT * FROM articles $where ORDER BY date DESC, id DESC LIMIT $limit OFFSET " . ($pocet - $offset));
     219      while($row = mysql_fetch_array($result))
     220      {
     221        switch ($row["category"])
    214222        {
    215          $where = " ";
     223          case 1:
     224            $cat = "Server novinky";
     225            $link = "servernews";
     226            break;
     227          case 2:
     228            $cat = "GM novinky";
     229            $link = "gmnews";
     230            break;
     231          case 3:
     232            $cat = "In-game novinky";
     233            $link = "gamenews";
     234            break;
     235          case 4:
     236            $cat = "Články";
     237            $link = "articles";
     238            break;
    216239        }
    217         else
    218         {
    219           $where = "WHERE `category` = '".$kategorie."'";
    220         }
    221                
    222  mysql_connect("$db_server", "$db_user", "$db_pass");
    223   mysql_select_db($db_webu);
    224   $limit = 5;
    225    
    226        
    227 $pocet = mysql_num_rows(mysql_query("SELECT id FROM `articles`".$where."ORDER BY `date` DESC;"));
    228 $offset = ($_GET["offset"] ? $_GET["offset"] : $pocet);
    229 
    230 if ($pocet != 0)
    231         {
    232                   mysql_query("SET NAMES 'utf8'");
    233 $result = mysql_query("SELECT * FROM articles $where ORDER BY date DESC, id DESC LIMIT $limit OFFSET " . ($pocet - $offset));
    234 while($row = mysql_fetch_array($result)){
    235  switch ($row["category"])
    236             {
    237               case 1:
    238                   $cat = "Server novinky";
    239                   $link = "servernews";
    240                   break;
    241               case 2:
    242                   $cat = "GM novinky";
    243                   $link = "gmnews";
    244                   break;
    245               case 3:
    246                   $cat = "In-game novinky";
    247                   $link = "gamenews";
    248                   break;
    249               case 4:
    250                   $cat = "Články";
    251                   $link = "articles";
    252                   break;
    253             }
    254             $date_arr = explode(" ",$row["date"]);
    255             $date = explode("-",$date_arr[0]);
    256             $time = mktime(0,0,0,$date[1],$date[2],$date[0]);
    257             $human_date = date ("d.m.Y",$time);
    258             echo "
    259             <table align=\"center\" border=\"1\" width=\"500\">
     240        $date_arr = explode(' ', $row['date']);
     241        $date = explode('-', $date_arr[0]);
     242        $time = mktime(0, 0, 0, $date[1], $date[2], $date[0]);
     243        $human_date = date ("d.m.Y", $time);
     244        echo("<table align=\"center\" border=\"1\" width=\"500\">
    260245              <tr>
    261246                <td><b>".$row["title"]."</b></td>
     
    272257              </tr>
    273258            </table>
    274             <br />
    275             ";
     259            <br />");
     260      }
     261      echo("<p align=center>");
     262      if($offset < $pocet)
     263      {
     264        echo("<a href='$_SERVER[PHP_SELF]" . ($offset + $limit < $pocet ? "?offset=" . ($offset + $limit) : "") . "'><-- novější</a>\n &nbsp;");
     265      }
     266      if($offset > $limit)
     267      {
     268        echo("&nbsp;<a href='$_SERVER[PHP_SELF]?offset=" . ($offset - $limit) . "'>starší --></a>\n");
     269      }
     270    } else
     271    {
     272      echo("<center><h3>Žádný článek v této kategorii !</h3></center>");
     273    }
     274  }
     275
     276  function QuickNew()
     277  {
     278    global $server;
     279
     280    if(isset($_COOKIE["hof-quick"]) AND $_COOKIE["hof-quick"] == "no")
     281    {
     282    } else
     283    {
     284      echo('<table align="center" border="1" width="500">'.
     285        '<tr>'.
     286        '<td><b>Rychlý přehled</b></td>'.
     287        '<td width="100">'.date('d.m.Y', time()).'</td>'.
     288        '</tr>'.
     289        '<tr>'.
     290        '<td colspan="2">'.
     291        '<b>Server : </b>'.$server->ServerImg($server->ServerOnline('wow.zdechov.net', 8085)).'<b> (<a href="?page=online">'.$server->MangosOnline().' hráčů</a>) | Patch 3.0.9 | <a href="http://wow.zdechov.net/pages/realmlist.wtf">Realmlist</a> | Více info <a href="?page=server">zde</a></b>'.
     292        '</td></tr></table><br />');
     293    }
     294  } 
    276295}
    277 echo"<p align=center>";
    278 if ($offset < $pocet) {
    279     echo "<a href='$_SERVER[PHP_SELF]" . ($offset + $limit < $pocet ? "?offset=" . ($offset + $limit) : "") . "'><-- novější</a>\n &nbsp;";
    280 }
    281 if ($offset > $limit) {
    282     echo "&nbsp;<a href='$_SERVER[PHP_SELF]?offset=" . ($offset - $limit) . "'>starší --></a>\n";
    283 }
    284 
    285 
    286 
    287 
    288  
    289        
    290         }
    291         else
    292         {
    293           echo "<center><h3>Žádný článek v této kategorii !</h3></center>";
    294         }
    295       }
    296  
    297 }
     296
    298297?>
Note: See TracChangeset for help on using the changeset viewer.