PHP Web Host - Quality Web Hosting For All PHP Applications Just Great Software
  Login or Register
 • Home • Downloads • Your Account • Forums • 

View next topic
View previous topic


Google
 
Web RavenPHPScripts (This Site)
This forum is locked: you cannot post, reply to, or edit topics.   This topic is locked: you cannot edit posts or make replies.
Author Message
kenwood
Worker
Worker


Joined: May 18, 2005
Posts: 119
Location: SVCDPlaza

PostPosted: Wed Apr 26, 2006 2:52 pm Reply with quote Back to top

To get the Statistics module 100% html valid replace the index.php with
Code:
<?php

/************************************************************************/
/* PHP-NUKE: Web Portal System                                          */
/* ===========================                                          */
/*                                                                      */
/* Copyright (c) 2002 by Francisco Burzi                                */
/* http://phpnuke.org                                                   */
/*                                                                      */
/* Enhanced with NukeStats Module Version 1.0                           */
/* ==========================================                           */
/* Copyright 2002 by Harry Mangindaan (sens@indosat.net) and           */
/*                    Sudirman (sudirman@akademika.net)                 */
/* http://www.nuketest.com                                              */
/*                                                                      */
/* This program is free software. You can redistribute it and/or modify */
/* it under the terms of the GNU General Public License as published by */
/* the Free Software Foundation; either version 2 of the License.       */
/************************************************************************/
/*         Additional security & Abstraction layer conversion           */
/*                           2003 chatserv                              */
/*      http://www.nukefixes.com -- http://www.nukeresources.com        */
/************************************************************************/

if ( !defined('MODULE_FILE') )
{
   die("You can't access this file directly...");
}
require_once("mainfile.php");
$module_name = basename(dirname(__FILE__));
get_lang($module_name);
$pagetitle = "- "._STATS."";
if (isset($year)) {
    $year = intval($year);
}
$ThemeSel = get_theme();

$now = date("d-m-Y");
$dot = explode ("-",$now);
$nowdate = $dot[0];
$nowmonth = $dot[1];
$nowyear = $dot[2];

function Stats_Main() {
    global $prefix, $db, $startdate, $sitename, $ThemeSel, $user_prefix, $Version_Num, $module_name, $textcolor2;
    include("header.php");
    $result = $db->sql_query("SELECT type, var, count from ".$prefix."_counter order by type desc");
    while ($row = $db->sql_fetchrow($result)) {
      $type = stripslashes(check_html($row['type'], "nohtml"));
      $var = stripslashes(check_html($row['var'], "nohtml"));
      $count = intval($row['count']);
      if(($type == "total") && ($var == "hits")) {
         $total = $count;
      } elseif($type == "browser") {
         if($var == "FireFox") {
            $firefox[] = $count;
            $firefox[] = substr(100 * $count / $total, 0, 5);
            $firefox[] = substr(100 * $count / $total, 0, 2);
         } elseif($var == "Netscape") {
            $netscape[] = $count;
            $netscape[] = substr(100 * $count / $total, 0, 5);
            $netscape[] = substr(100 * $count / $total, 0, 2);
         } elseif($var == "MSIE") {
            $msie[] = $count;
            $msie[] =  substr(100 * $count / $total, 0, 5);
            $msie[] =  substr(100 * $count / $total, 0, 2);
         } elseif($var == "Konqueror") {
            $konqueror[] = $count;
            $konqueror[] =  substr(100 * $count / $total, 0, 5);
            $konqueror[] =  substr(100 * $count / $total, 0, 2);
         } elseif($var == "Opera") {
            $opera[] = $count;
            $opera[] =  substr(100 * $count / $total, 0, 5);
            $opera[] =  substr(100 * $count / $total, 0, 2);
         } elseif($var == "Lynx") {
            $lynx[] = $count;
            $lynx[] =  substr(100 * $count / $total, 0, 5);;
            $lynx[] =  substr(100 * $count / $total, 0, 2);
         } elseif($var == "Bot") {
            $bot[] = $count;
            $bot[] =  substr(100 * $count / $total, 0, 5);
            $bot[] =  substr(100 * $count / $total, 0, 2);
         } elseif(($type == "browser") && ($var == "Other")) {
            $b_other[] = $count;
            $b_other[] =  substr(100 * $count / $total, 0, 5);
            $b_other[] =  substr(100 * $count / $total, 0, 2);
         }
      } elseif($type == "os") {
         if($var == "Windows") {
            $windows[] = $count;
            $windows[] =  substr(100 * $count / $total, 0, 5);
            $windows[] =  substr(100 * $count / $total, 0, 2);
         } elseif($var == "Mac") {
            $mac[] = $count;
            $mac[] =  substr(100 * $count / $total, 0, 5);
            $mac[] =  substr(100 * $count / $total, 0, 2);
         } elseif($var == "Linux") {
            $linux[] = $count;
            $linux[] =  substr(100 * $count / $total, 0, 5);
            $linux[] =  substr(100 * $count / $total, 0, 2);
         } elseif($var == "FreeBSD") {
            $freebsd[] = $count;
            $freebsd[] =  substr(100 * $count / $total, 0, 5);
            $freebsd[] =  substr(100 * $count / $total, 0, 2);
         } elseif($var == "SunOS") {
            $sunos[] = $count;
            $sunos[] =  substr(100 * $count / $total, 0, 5);
            $sunos[] =  substr(100 * $count / $total, 0, 2);
         } elseif($var == "IRIX") {
            $irix[] = $count;
            $irix[] =  substr(100 * $count / $total, 0, 5);
            $irix[] =  substr(100 * $count / $total, 0, 2);
         } elseif($var == "BeOS") {
            $beos[] = $count;
            $beos[] =  substr(100 * $count / $total, 0, 5);
            $beos[] =  substr(100 * $count / $total, 0, 2);
         } elseif($var == "OS/2") {
            $os2[] = $count;
            $os2[] =  substr(100 * $count / $total, 0, 5);
            $os2[] =  substr(100 * $count / $total, 0, 2);
         } elseif($var == "AIX") {
            $aix[] = $count;
            $aix[] =  substr(100 * $count / $total, 0, 5);
            $aix[] =  substr(100 * $count / $total, 0, 2);
         } elseif(($type == "os") && ($var == "Other")) {
            $os_other[] = $count;
            $os_other[] =  substr(100 * $count / $total, 0, 5);
            $os_other[] =  substr(100 * $count / $total, 0, 2);
         }
      }
    }
    title("$sitename "._STATS."");
    OpenTable();
    OpenTable();
    echo "<center><font class=\"option\"><b>$sitename "._STATS."</b></font><br /><br />"._WERECEIVED." <b>$total</b> "._PAGESVIEWS." $startdate<br /><br />"
   ."[ <a href=\"modules.php?name=$module_name&amp;op=Stats\">"._VIEWDETAILED."</a> ]</center>";
    CloseTable();
    echo "<br /><br />";
    $l_size = getimagesize("themes/$ThemeSel/images/leftbar.gif");
    $m_size = getimagesize("themes/$ThemeSel/images/mainbar.gif");
    $r_size = getimagesize("themes/$ThemeSel/images/rightbar.gif");
    OpenTable2();
    echo "<table cellspacing=\"0\" cellpadding=\"2\" border=\"0\" align=\"center\"><tr><td colspan=\"2\">\n";
    echo "<center><font color=\"$textcolor2\"><b>"._BROWSERS."</b></font></center><br /></td></tr>\n";
    echo "<tr><td><img src=\"modules/$module_name/images/explorer.gif\" border=\"0\" alt=\"\" title=\"\" />&nbsp;MSIE: </td><td><img src=\"themes/$ThemeSel/images/leftbar.gif\" height=\"$l_size[1]\" width=\"$l_size[0]\" Alt=\"Internet Explorer\" title=\"Internet Explorer\" /><img src=\"themes/$ThemeSel/images/mainbar.gif\" Alt=\"Internet Explorer\" title=\"Internet Explorer\" height=\"$m_size[1]\" width=", $msie[2] * 2, " /><img src=\"themes/$ThemeSel/images/rightbar.gif\" height=\"$r_size[1]\" width=\"$r_size[0]\" Alt=\"Internet Explorer\" title=\"Internet Explorer\" /> $msie[1] % ($msie[0])</td></tr>\n";
    echo "<tr><td><img src=\"modules/$module_name/images/firefox.gif\" border=\"0\" alt=\"\" title=\"\" />&nbsp;FireFox: </td><td><img src=\"themes/$ThemeSel/images/leftbar.gif\" height=\"$l_size[1]\" width=\"$l_size[0]\" Alt=\"FireFox\" title=\"FireFox\" /><img src=\"themes/$ThemeSel/images/mainbar.gif\" Alt=\"FireFox\" title=\"FireFox\" height=\"$m_size[1]\" width=", $firefox[2] * 2, " /><img src=\"themes/$ThemeSel/images/rightbar.gif\" height=\"$r_size[1]\" width=\"$r_size[0]\" Alt=\"FireFox\" title=\"FireFox\" /> $firefox[1] % ($firefox[0])</td></tr>\n";
    echo "<tr><td><img src=\"modules/$module_name/images/netscape.gif\" border=\"0\" alt=\"\" title=\"\" />&nbsp;Netscape: </td><td><img src=\"themes/$ThemeSel/images/leftbar.gif\" height=\"$l_size[1]\" width=\"$l_size[0]\" Alt=\"Netscape\" title=\"Netscape\" /><img src=\"themes/$ThemeSel/images/mainbar.gif\" Alt=\"Netscape\" title=\"Netscape\" height=\"$m_size[1]\" width=", $netscape[2] * 2, " /><img src=\"themes/$ThemeSel/images/rightbar.gif\" height=\"$r_size[1]\" width=\"$r_size[0]\" Alt=\"Netscape\" title=\"Netscape\" /> $netscape[1] % ($netscape[0])</td></tr>\n";
    echo "<tr><td><img src=\"modules/$module_name/images/opera.gif\" border=\"0\" alt=\"\" title=\"\" />&nbsp;Opera: </td><td><img src=\"themes/$ThemeSel/images/leftbar.gif\" height=\"$l_size[1]\" width=\"$l_size[0]\" Alt=\"Opera\" title=\"Opera\" /><img src=\"themes/$ThemeSel/images/mainbar.gif\" Alt=\"Opera\" title=\"Opera\" height=\"$m_size[1]\" width=", $opera[2] * 2, " /><img src=\"themes/$ThemeSel/images/rightbar.gif\" height=\"$r_size[1]\" width=\"$r_size[0]\" Alt=\"Opera\" title=\"Opera\" /> $opera[1] % ($opera[0])</td></tr>\n";
    echo "<tr><td><img src=\"modules/$module_name/images/konqueror.gif\" border=\"0\" alt=\"\" title=\"\" />&nbsp;Konqueror: </td><td><img src=\"themes/$ThemeSel/images/leftbar.gif\" height=\"$l_size[1]\" width=\"$l_size[0]\" Alt=\"Konqueror\" title=\"Konqueror\" /><img src=\"themes/$ThemeSel/images/mainbar.gif\" Alt=\"Konqueror\" title=\"Konqueror\" height=\"$m_size[1]\" width=", $konqueror[2] * 2, " /><img src=\"themes/$ThemeSel/images/rightbar.gif\" height=\"$r_size[1]\" width=\"$r_size[0]\" Alt=\"Konqueror\" title=\"Konqueror\" /> $konqueror[1] % ($konqueror[0])</td></tr>\n";
    echo "<tr><td><img src=\"modules/$module_name/images/lynx.gif\" border=\"0\" alt=\"\" title=\"\" />&nbsp;Lynx: </td><td><img src=\"themes/$ThemeSel/images/leftbar.gif\" height=\"$l_size[1]\" width=\"$l_size[0]\" Alt=\"Lynx\" title=\"Lynx\" /><img src=\"themes/$ThemeSel/images/mainbar.gif\" Alt=\"Lynx\" title=\"Lynx\" height=\"$m_size[1]\" width=", $lynx[2] * 2, " /><img src=\"themes/$ThemeSel/images/rightbar.gif\" height=\"$r_size[1]\" width=\"$r_size[0]\" Alt=\"Lynx\" title=\"Lynx\" /> $lynx[1] % ($lynx[0])</td></tr>\n";
    echo "<tr><td><img src=\"modules/$module_name/images/altavista.gif\" border=\"0\" alt=\"\" title=\"\" />&nbsp;"._SEARCHENGINES.": </td><td><img src=\"themes/$ThemeSel/images/leftbar.gif\" height=\"$l_size[1]\" width=\"$l_size[0]\" Alt=\""._BOTS."\" title=\""._BOTS."\" /><img src=\"themes/$ThemeSel/images/mainbar.gif\" Alt=\""._BOTS."\" title=\""._BOTS."\" height=\"$m_size[1]\" width=", $bot[2] * 2, " /><img src=\"themes/$ThemeSel/images/rightbar.gif\" height=\"$r_size[1]\" width=\"$r_size[0]\" Alt=\""._BOTS."\" title=\""._BOTS."\" /> $bot[1] % ($bot[0])</td></tr>\n";
    echo "<tr><td><img src=\"modules/$module_name/images/question.gif\" border=\"0\" alt=\"\" title=\"\" />&nbsp;"._UNKNOWN.": </td><td><img src=\"themes/$ThemeSel/images/leftbar.gif\" height=\"$l_size[1]\" width=\"$l_size[0]\" Alt=\""._OTHER."\" title=\""._OTHER."\" /><img src=\"themes/$ThemeSel/images/mainbar.gif\" Alt=\""._OTHER."\" title=\""._OTHER."\" height=\"$m_size[1]\" width=", $b_other[2] * 2, " /><img src=\"themes/$ThemeSel/images/rightbar.gif\" height=\"$r_size[1]\" width=\"$r_size[0]\" Alt=\""._OTHER."\" title=\""._OTHER."\" /> $b_other[1] % ($b_other[0])\n";
    echo "</td></tr></table>";
    CloseTable2();
    echo "<br /><br />\n";
    OpenTable2();
    echo "<table cellspacing=\"0\" cellpadding=\"2\" border=\"0\" align=\"center\"><tr><td colspan=\"2\">\n";
    echo "<center><font color=\"$textcolor2\"><b>"._OPERATINGSYS."</b></font></center><br /></td></tr>\n";
    echo "<tr><td><img src=\"modules/$module_name/images/windows.gif\" border=\"0\" alt=\"\" title=\"\" />&nbsp;Windows:</td><td><img src=\"themes/$ThemeSel/images/leftbar.gif\" height=\"$l_size[1]\" width=\"$l_size[0]\" Alt=\"Windows\" title=\"Windows\" /><img src=\"themes/$ThemeSel/images/mainbar.gif\" Alt=\"Windows\" title=\"Windows\" height=\"$m_size[1]\" width=", $windows[2] * 2, " /><img src=\"themes/$ThemeSel/images/rightbar.gif\" height=\"$r_size[1]\" width=\"$r_size[0]\" Alt=\"Windows\" title=\"Windows\" /> $windows[1] % ($windows[0])</td></tr>\n";
    echo "<tr><td><img src=\"modules/$module_name/images/linux.gif\" border=\"0\" alt=\"\" title=\"\" />&nbsp;Linux:</td><td><img src=\"themes/$ThemeSel/images/leftbar.gif\" height=\"$l_size[1]\" width=\"$l_size[0]\" Alt=\"Linux\" title=\"Linux\" /><img src=\"themes/$ThemeSel/images/mainbar.gif\" Alt=\"Linux\" title=\"Linux\" height=\"$m_size[1]\" width=", $linux[2] * 2, " /><img src=\"themes/$ThemeSel/images/rightbar.gif\" height=\"$r_size[1]\" width=\"$r_size[0]\" Alt=\"Linux\" title=\"Linux\" /> $linux[1] % ($linux[0])</td></tr>\n";
    echo "<tr><td><img src=\"modules/$module_name/images/mac.gif\" border=\"0\" alt=\"\" title=\"\" />&nbsp;Mac/PPC:</td><td><img src=\"themes/$ThemeSel/images/leftbar.gif\" height=\"$l_size[1]\" width=\"$l_size[0]\" Alt=\"Mac/PPC\" title=\"Mac/PPC\" /><img src=\"themes/$ThemeSel/images/mainbar.gif\" Alt=\"Mac/PPC\" title=\"Mac/PPC\" height=\"$m_size[1]\" width=", $mac[2] * 2, " /><img src=\"themes/$ThemeSel/images/rightbar.gif\" height=\"$r_size[1]\" width=\"$r_size[0]\" Alt=\"Mac/PPC\" title=\"Mac/PPC\" /> $mac[1] % ($mac[0])</td></tr>\n";
    echo "<tr><td><img src=\"modules/$module_name/images/bsd.gif\" border=\"0\" alt=\"\" title=\"\" />&nbsp;FreeBSD:</td><td><img src=\"themes/$ThemeSel/images/leftbar.gif\" height=\"$l_size[1]\" width=\"$l_size[0]\" Alt=\"FreeBSD\" title=\"FreeBSD\" /><img src=\"themes/$ThemeSel/images/mainbar.gif\" Alt=\"FreeBSD\" title=\"FreeBSD\" height=\"$m_size[1]\" width=", $freebsd[2] * 2, " /><img src=\"themes/$ThemeSel/images/rightbar.gif\" height=\"$r_size[1]\" width=\"$r_size[0]\" Alt=\"FreeBSD\" title=\"FreeBSD\" /> $freebsd[1] % ($freebsd[0])</td></tr>\n";
    echo "<tr><td><img src=\"modules/$module_name/images/sun.gif\" border=\"0\" alt=\"\" title=\"\" />&nbsp;SunOS:</td><td><img src=\"themes/$ThemeSel/images/leftbar.gif\" height=\"$l_size[1]\" width=\"$l_size[0]\" Alt=\"SunOS\" title=\"SunOS\" /><img src=\"themes/$ThemeSel/images/mainbar.gif\" Alt=\"SunOS\" title=\"SunOS\" height=\"$m_size[1]\" width=", $sunos[2] * 2, " /><img src=\"themes/$ThemeSel/images/rightbar.gif\" height=\"$r_size[1]\" width=\"$r_size[0]\" Alt=\"SunOS\" title=\"SunOS\" /> $sunos[1] % ($sunos[0])</td></tr>\n";
    echo "<tr><td><img src=\"modules/$module_name/images/irix.gif\" border=\"0\" alt=\"\" title=\"\" />&nbsp;IRIX:</td><td><img src=\"themes/$ThemeSel/images/leftbar.gif\" height=\"$l_size[1]\" width=\"$l_size[0]\" Alt=\"SGI Irix\" title=\"SGI Irix\" /><img src=\"themes/$ThemeSel/images/mainbar.gif\" Alt=\"SGI Irix\" title=\"SGI Irix\" height=\"$m_size[1]\" width=", $irix[2] * 2, " /><img src=\"themes/$ThemeSel/images/rightbar.gif\" height=\"$r_size[1]\" width=\"$r_size[0]\" Alt=\"SGI Irix\" title=\"SGI Irix\" /> $irix[1] % ($irix[0])</td></tr>\n";
    echo "<tr><td><img src=\"modules/$module_name/images/be.gif\" border=\"0\" alt=\"\" title=\"\" />&nbsp;BeOS:</td><td><img src=\"themes/$ThemeSel/images/leftbar.gif\" height=\"$l_size[1]\" width=\"$l_size[0]\" Alt=\"BeOS\" title=\"BeOS\" /><img src=\"themes/$ThemeSel/images/mainbar.gif\" Alt=\"BeOS\" title=\"BeOS\" height=\"$m_size[1]\" width=", $beos[2] * 2, " /><img src=\"themes/$ThemeSel/images/rightbar.gif\" height=\"$r_size[1]\" width=\"$r_size[0]\" Alt=\"BeOS\" title=\"BeOS\" /> $beos[1] % ($beos[0])</td></tr>\n";
    echo "<tr><td><img src=\"modules/$module_name/images/os2.gif\" border=\"0\" alt=\"\" title=\"\" />&nbsp;OS/2:</td><td><img src=\"themes/$ThemeSel/images/leftbar.gif\" height=\"$l_size[1]\" width=\"$l_size[0]\" Alt=\"OS/2\" title=\"OS/2\" /><img src=\"themes/$ThemeSel/images/mainbar.gif\" Alt=\"OS/2\" title=\"OS/2\" height=\"$m_size[1]\" width=", $os2[2] * 2, " /><img src=\"themes/$ThemeSel/images/rightbar.gif\" height=\"$r_size[1]\" width=\"$r_size[0]\" Alt=\"OS/2\" title=\"OS/2\" /> $os2[1] % ($os2[0])</td></tr>\n";
    echo "<tr><td><img src=\"modules/$module_name/images/aix.gif\" border=\"0\" alt=\"\" title=\"\" />&nbsp;AIX:</td><td><img src=\"themes/$ThemeSel/images/leftbar.gif\" height=\"$l_size[1]\" width=\"$l_size[0]\" Alt=\"AIX\" title=\"AIX\" /><img src=\"themes/$ThemeSel/images/mainbar.gif\" Alt=\"AIX\" title=\"AIX\" height=\"$m_size[1]\" width=", $aix[2] * 2, " /><img src=\"themes/$ThemeSel/images/rightbar.gif\" height=\"$r_size[1]\" width=\"$r_size[0]\" Alt=\"AIX\" title=\"AIX\" /> $aix[1] % ($aix[0])</td></tr>\n";
    echo "<tr><td><img src=\"modules/$module_name/images/question.gif\" border=\"0\" alt=\"\" title=\"\" />&nbsp;"._UNKNOWN.":</td><td><img src=\"themes/$ThemeSel/images/leftbar.gif\" height=\"$l_size[1]\" width=\"$l_size[0]\" Alt=\""._OTHER."\" title=\""._OTHER."\" /><img src=\"themes/$ThemeSel/images/mainbar.gif\" ALt=\""._OTHER."\" title=\""._OTHER."\" height=\"$m_size[1]\" width=", $os_other[2] * 2, " /><img src=\"themes/$ThemeSel/images/rightbar.gif\" height=\"$r_size[1]\" width=\"$r_size[0]\" Alt=\""._OTHER."\" title=\""._OTHER."\" /> $os_other[1] % ($os_other[0])\n";
    echo "</td></tr></table>\n";
    CloseTable2();
    echo "<br /><br />\n";

    $unum = $db->sql_numrows($db->sql_query("select user_id from ".$user_prefix."_users"));
    $anum = $db->sql_numrows($db->sql_query("select * from ".$prefix."_authors"));
    $snum = $db->sql_numrows($db->sql_query("select sid from ".$prefix."_stories"));
    $cnum = $db->sql_numrows($db->sql_query("select tid from ".$prefix."_comments"));
    $subnum = $db->sql_numrows($db->sql_query("select * from ".$prefix."_queue"));
    if (is_active("Topics")) {
   $tnum = $db->sql_numrows($db->sql_query("select * from ".$prefix."_topics"));
    }
    if (is_active("Web_Links")) {
   $links = $db->sql_numrows($db->sql_query("select * from ".$prefix."_links_links"));
   $cat = $db->sql_numrows($db->sql_query("select * from ".$prefix."_links_categories"));
    }
    OpenTable2();
    echo "<table cellspacing=\"0\" cellpadding=\"2\" border=\"0\" align=\"center\"><tr><td colspan=\"2\">\n";
    echo "<center><font color=\"$textcolor2\"><b>"._MISCSTATS."</b></font></center><br /></td></tr>\n";
    echo "<tr><td><img src=\"modules/$module_name/images/users.gif\" border=\"0\" alt=\"\" title=\"\" />&nbsp;"._REGUSERS."</td><td><b>$unum</b></td></tr>\n";
    echo "<tr><td><img src=\"modules/$module_name/images/authors.gif\" border=\"0\" alt=\"\" title=\"\" />&nbsp;"._ACTIVEAUTHORS."</td><td><b>$anum</b></td></tr>\n";
    echo "<tr><td><img src=\"modules/$module_name/images/news.gif\" border=\"0\" alt=\"\" title=\"\" />&nbsp;"._STORIESPUBLISHED."</td><td><b>$snum</b></td></tr>\n";
    if (is_active("Topics")) {
   echo "<tr><td><img src=\"modules/$module_name/images/topics.gif\" border=\"0\" alt=\"\" title=\"\" />&nbsp;"._SACTIVETOPICS."</td><td><b>$tnum</b></td></tr>\n";
    }
    echo "<tr><td><img src=\"modules/$module_name/images/comments.gif\" border=\"0\" alt=\"\" title=\"\" />&nbsp;"._COMMENTSPOSTED."</td><td><b>$cnum</b></td></tr>\n";
    if (is_active("Web_Links")) {
   echo "<tr><td><img src=\"modules/$module_name/images/topics.gif\" border=\"0\" alt=\"\" title=\"\" />&nbsp;"._LINKSINLINKS."</td><td><b>$links</b></td></tr>\n";
   echo "<tr><td><img src=\"modules/$module_name/images/sections.gif\" border=\"0\" alt=\"\" title=\"\" />&nbsp;"._LINKSCAT."</td><td><b>$cat</b></td></tr>\n";
    }
    echo "<tr><td><img src=\"modules/$module_name/images/waiting.gif\" border=\"0\" alt=\"\" title=\"\" />&nbsp;"._NEWSWAITING."</td><td><b>$subnum</b></td></tr>\n";

    echo "</table>\n";
    CloseTable2();
    CloseTable();
    include("footer.php");
}

function Stats($total) {
    global $hlpfile,$nowyear,$nowmonth,$nowdate,$nowhour, $sitename, $startdate, $prefix, $db, $now, $module_name;
    $row = $db->sql_query("SELECT count from ".$prefix."_counter order by type desc");
    list($total) = $db->sql_fetchrow($row);
    include("header.php");
    title("$sitename "._STATS."");
    $total++;
    OpenTable();
    OpenTable();
    echo "<center><font class=\"option\"><b>$sitename "._STATS."</b></font><br /><br />"._WERECEIVED." <b>$total</b> "._PAGESVIEWS." $startdate<br />"._TODAYIS.": $now[0]/$now[1]/$now[2]<br /><br />";
    $row2 = $db->sql_fetchrow($db->sql_query("SELECT year, month, hits from ".$prefix."_stats_month order by hits DESC limit 0,1"));
   $year = intval($row2['year']);
   $month = intval($row2['month']);
   $hits = intval($row2['hits']);
    if ($month == 1) {$month = _JANUARY;} elseif ($month == 2) {$month = _FEBRUARY;} elseif ($month == 3) {$month = _MARCH;} elseif ($month == 4) {$month = _APRIL;} elseif ($month == 5) {$month = _MAY;} elseif ($month == 6) {$month = _JUNE;} elseif ($month == 7) {$month = _JULY;} elseif ($month == 8) {$month = _AUGUST;} elseif ($month == 9) {$month = _SEPTEMBER;} elseif ($month == 10) {$month = _OCTOBER;} elseif ($month == 11) {$month = _NOVEMBER;} elseif ($month == 12) {$month = _DECEMBER;}
    echo ""._MOSTMONTH.": $month $year ($hits "._HITS.")<br />";
    $row3 = $db->sql_fetchrow($db->sql_query("SELECT year, month, date, hits from ".$prefix."_stats_date order by hits DESC limit 0,1"));
    $year = intval($row3['year']);
    $month = intval($row3['month']);
    $date = intval($row3['date']);
   $hits = intval($row3['hits']);
    if ($month == 1) {$month = _JANUARY;} elseif ($month == 2) {$month = _FEBRUARY;} elseif ($month == 3) {$month = _MARCH;} elseif ($month == 4) {$month = _APRIL;} elseif ($month == 5) {$month = _MAY;} elseif ($month == 6) {$month = _JUNE;} elseif ($month == 7) {$month = _JULY;} elseif ($month == 8) {$month = _AUGUST;} elseif ($month == 9) {$month = _SEPTEMBER;} elseif ($month == 10) {$month = _OCTOBER;} elseif ($month == 11) {$month = _NOVEMBER;} elseif ($month == 12) {$month = _DECEMBER;}
    echo ""._MOSTDAY.": $date $month $year ($hits "._HITS.")<br />";
    $row4 = $db->sql_fetchrow($db->sql_query("SELECT year, month, date, hour, hits from ".$prefix."_stats_hour order by hits DESC limit 0,1"));
    $year = intval($row4['year']);
    $month = intval($row4['month']);
    $date = intval($row4['date']);
    $hour = intval($row4['hour']);
   $hits = intval($row4['hits']);
    if ($month == 1) {$month = _JANUARY;} elseif ($month == 2) {$month = _FEBRUARY;} elseif ($month == 3) {$month = _MARCH;} elseif ($month == 4) {$month = _APRIL;} elseif ($month == 5) {$month = _MAY;} elseif ($month == 6) {$month = _JUNE;} elseif ($month == 7) {$month = _JULY;} elseif ($month == 8) {$month = _AUGUST;} elseif ($month == 9) {$month = _SEPTEMBER;} elseif ($month == 10) {$month = _OCTOBER;} elseif ($month == 11) {$month = _NOVEMBER;} elseif ($month == 12) {$month = _DECEMBER;}
    if ($hour < 10) {
   $hour = "0$hour:00 - 0$hour:59";
    } else {
   $hour = "$hour:00 - $hour:59";
    }
    echo ""._MOSTHOUR.": $hour "._ON." $month $date, $year ($hits "._HITS.")<br /><br />"
   ."[ <a href=\"modules.php?name=$module_name\">"._RETURNBASICSTATS."</a> ]</center>";

    CloseTable();
    echo "<br /><br />";
    showYearStats($nowyear);
    echo "<br /><br />";
    showMonthStats($nowyear,$nowmonth);
    echo "<br /><br />";
    showDailyStats($nowyear,$nowmonth,$nowdate);
    echo "<br /><br />";
    showHourlyStats($nowyear,$nowmonth,$nowdate);
    echo "<br /><br /><center>"._GOBACK."</center><br /><br />";
    CloseTable();
    include("footer.php");
}

function YearlyStats($year){
    global $hlpfile,$nowyear,$nowmonth,$nowdate, $sitename, $module_name;
    include("header.php");
    title("$sitename "._STATS."");
    opentable();
   $year = intval($year);
   $nowmonth = intval($nowmonth);
    showMonthStats($year,$nowmonth);
    echo "<br />";
    echo "<center>[ <a href=\"modules.php?name=$module_name\">"._BACKTOMAIN."</a> | <a href=\"modules.php?name=$module_name&amp;op=Stats\">"._BACKTODETSTATS."</a> ]</center>";
    closetable();
    include("footer.php");
}

function MonthlyStats($year,$month){
    global $sitename, $module_name, $nowdate;
    include("header.php");
    title("$sitename "._STATS."");   
    opentable();
   $year = intval($year);
   $month = intval($month);
   $nowdate = intval($nowdate);
    showDailyStats($year,$month,$nowdate);
    echo "<br />";
    echo "<center>[ <a href=\"modules.php?name=$module_name\">"._BACKTOMAIN."</a> | <a href=\"modules.php?name=$module_name&amp;op=Stats\">"._BACKTODETSTATS."</a> ]</center>";
    closetable();
    include("footer.php");
}

function DailyStats($year,$month,$date){
    global $sitename, $module_name;
    include("header.php");
    title("$sitename "._STATS."");
    opentable();
    $year = intval($year);
    $month = intval($month);
    $date = intval($date);
    showHourlyStats($year,$month,$date);
    echo "<br />";
    echo "<center>[ <a href=\"modules.php?name=$module_name\">"._BACKTOMAIN."</a> | <a href=\"modules.php?name=$module_name&amp;op=Stats\">"._BACKTODETSTATS."</a> ]</center>";
    closetable();
    include("footer.php");
}


function showYearStats($nowyear){
    global $db,$prefix,$bgcolor1,$bgcolor2, $ThemeSel, $module_name;
    $l_size = getimagesize("themes/$ThemeSel/images/leftbar.gif");
    $m_size = getimagesize("themes/$ThemeSel/images/mainbar.gif");
    $r_size = getimagesize("themes/$ThemeSel/images/rightbar.gif");
    $resulttotal = $db->sql_query("SELECT sum(hits) as TotalHitsYear from ".$prefix."_stats_year");
    list($TotalHitsYear) = $db->sql_fetchrow($resulttotal);
    $db->sql_freeresult($resulttotal);
    $result = $db->sql_query("select year,hits from ".$prefix."_stats_year order by year");
    echo "<center><b>"._YEARLYSTATS."</b></center><br />";
    echo "<table align=\"center\" bgcolor=\"#000000\" cellspacing=\"1\" cellpadding=\"3\" border=\"0\">";
    echo "<tr><td width=\"25%\" bgcolor=\"$bgcolor2\">"._YEAR."</td><td bgcolor=\"$bgcolor2\">"._SPAGESVIEWS."</td></tr>";
    while($row = $db->sql_fetchrow($result)) {
   $year = intval($row['year']);
   $hits = intval($row['hits']);
   echo "<tr bgcolor=\"$bgcolor1\"><td>";
   if ($year != $nowyear) {
       echo "<a href=\"modules.php?name=$module_name&amp;op=YearlyStats&amp;year=$year\">$year</a>";
   } else {
       echo "$year";
   }
   echo "</td><td>";
   $WidthIMG = round(100 * $hits/$TotalHitsYear,0);
   echo "<img src=\"themes/$ThemeSel/images/leftbar.gif\" Alt=\"\" title=\"\" width=\"$l_size[0]\" height=\"$l_size[1]\" /><img src=\"themes/$ThemeSel/images/mainbar.gif\" height=\"$m_size[1]\" width=",$WidthIMG * 2," Alt=\"\" title=\"\" />"
       ."<img src=\"themes/$ThemeSel/images/rightbar.gif\" Alt=\"\" title=\"\" width=\"$r_size[0]\" height=\"$r_size[1]\" /> ($hits)</td></tr>";
    }
    $db->sql_freeresult($result);
    echo "</table>";
}

function showMonthStats($nowyear,$nowmonth){
    global $prefix,$bgcolor1,$bgcolor2,$db, $ThemeSel, $module_name;
    $l_size = getimagesize("themes/$ThemeSel/images/leftbar.gif");
    $m_size = getimagesize("themes/$ThemeSel/images/mainbar.gif");
    $r_size = getimagesize("themes/$ThemeSel/images/rightbar.gif");
    $resultmonth = $db->sql_query("SELECT sum(hits) as TotalHitsMonth from ".$prefix."_stats_month where year='$nowyear'");
    list($TotalHitsMonth) = $db->sql_fetchrow($resultmonth);
    $db->sql_freeresult($resultmonth);
    $result = $db->sql_query("select month,hits from ".$prefix."_stats_month where year='$nowyear'");
    echo "<center><b>"._MONTLYSTATS." $nowyear</b></center><br />";
    echo "<table align=\"center\" bgcolor=\"#000000\" cellspacing=\"1\" cellpadding=\"3\" border=\"0\">";
    echo "<tr><td width=\"25%\" bgcolor=\"$bgcolor2\">"._UMONTH."</td><td bgcolor=\"$bgcolor2\">"._SPAGESVIEWS."</td></tr>";
    while($row = $db->sql_fetchrow($result)) {
   $month = intval($row['month']);
   $hits = intval($row['hits']);
   echo "<tr bgcolor=\"$bgcolor1\"><td>";
   if ($month != $nowmonth) {
       echo "<a href=\"modules.php?name=$module_name&amp;op=MonthlyStats&amp;year=$nowyear&amp;month=$month\" class=\"hover_orange\">";
       getmonth($month);
       echo "</a>";
   } else {
       getmonth($month);
   }
   echo "</td><td>";
   $WidthIMG = round(100 * $hits/$TotalHitsMonth,0);
   echo "<img src=\"themes/$ThemeSel/images/leftbar.gif\" Alt=\"\" title=\"\" width=\"$l_size[0]\" height=\"$l_size[1]\" /><img src=\"themes/$ThemeSel/images/mainbar.gif\" height=\"$m_size[1]\" width=",$WidthIMG * 2," Alt=\"\" title=\"\" />";
   echo "<img src=\"themes/$ThemeSel/images/rightbar.gif\" Alt=\"\" title=\"\" width=\"$r_size[0]\" height=\"$r_size[1]\" /> ($hits)";
   echo "</td></tr>";
    }
    $db->sql_freeresult($result);
    echo "</table>";
}

function showDailyStats($year,$month,$nowdate){
    global $prefix,$bgcolor1,$bgcolor2,$db, $ThemeSel, $module_name;
    $l_size = getimagesize("themes/$ThemeSel/images/leftbar.gif");
    $m_size = getimagesize("themes/$ThemeSel/images/mainbar.gif");
    $r_size = getimagesize("themes/$ThemeSel/images/rightbar.gif");
    $resulttotal = $db->sql_query("SELECT sum(hits) as TotalHitsDate from ".$prefix."_stats_date where year='$year' and month='$month'");
    list($TotalHitsDate) = $db->sql_fetchrow($resulttotal);
    $db->sql_freeresult($resulttotal);
    $result = $db->sql_query("select year,month,date,hits from ".$prefix."_stats_date where year='$year' and month='$month' order by date");
    $total = $db->sql_numrows($result);
    echo "<center><b>"._DAILYSTATS." ";
    getmonth($month);
    echo ", $year</b></center><br />";
    echo "<table align=\"center\" bgcolor=\"#000000\" cellspacing=\"1\" cellpadding=\"3\" border=\"0\">";
    echo "<tr><td width=\"25%\" bgcolor=\"$bgcolor2\">"._DATE."</td><td bgcolor=\"$bgcolor2\">"._SPAGESVIEWS."</td></tr>";
    while($row = $db->sql_fetchrow($result)) {
   $year = intval($row['year']);
   $month = intval($row['month']);
   $date = intval($row['date']);
   $hits = intval($row['hits']);
   echo "<tr bgcolor=\"$bgcolor1\"><td>";
   if ($date != $nowdate) {
       echo "<a href=\"modules.php?name=$module_name&amp;op=DailyStats&amp;year=$year&amp;month=$month&amp;date=$date\" class=\"hover_orange\">";
       echo $date;
       echo "</a>";
   } else {
       echo $date;
   }
   echo "</td><td>";
   if ($hits == 0) {
       $WidthIMG = 0;
       $d_percent = 0;
   } else {
       $WidthIMG = round(100 * $hits/$TotalHitsDate,0);
       $d_percent = substr(100 * $hits / $TotalHitsDate, 0, 5);
   }
   echo "<img src=\"themes/$ThemeSel/images/leftbar.gif\" Alt=\"\" title=\"\" width=\"$l_size[0]\" height=\"$l_size[1]\" /><img src=\"themes/$ThemeSel/images/mainbar.gif\" height=\"$m_size[1]\" width=",$WidthIMG * 2," Alt=\"\" title=\"\" />"
       ."<img src=\"themes/$ThemeSel/images/rightbar.gif\" Alt=\"\" title=\"\" width=\"$r_size[0]\" height=\"$r_size[1]\" /> $d_percent% ($hits)"
       ."</td></tr>";
    }
    $db->sql_freeresult($result);
    echo "</table>";
}

function showHourlyStats($year,$month,$date){
    global $prefix,$bgcolor1,$bgcolor2,$db, $ThemeSel;
    $l_size = getimagesize("themes/$ThemeSel/images/leftbar.gif");
    $m_size = getimagesize("themes/$ThemeSel/images/mainbar.gif");
    $r_size = getimagesize("themes/$ThemeSel/images/rightbar.gif");
    $resulttotal = $db->sql_query("SELECT sum(hits) as TotalHitsHour from ".$prefix."_stats_hour where year='$year' and month='$month' and date='$date'");
    list($TotalHitsHour) = $db->sql_fetchrow($resulttotal);
    $db->sql_freeresult($resulttotal);
    $nowdate = date("d-m-Y");
    $nowdate_arr = explode("-",$nowdate);
    echo "<center><b>"._HOURLYSTATS." ";
    echo getmonth($month)." ".$date.", " .$year."</b></center><br />";
    echo "<table align=\"center\" bgcolor=\"#000000\" cellspacing=\"1\" cellpadding=\"3\" border=\"0\">";
    echo "<tr><td width=\"25%\" bgcolor=\"$bgcolor2\">"._HOUR."</td><td bgcolor=\"$bgcolor2\" width=\"70%\">"._SPAGESVIEWS."</td></tr>";
    for ($k = 0;$k<=23;$k++) {
   $result = $db->sql_query("select hour,hits from ".$prefix."_stats_hour where year='$year' and month='$month' and date='$date' and hour='$k'");
   if ($db->sql_numrows($result) == 0){
       $hits=0;
   } else {
       $row = $db->sql_fetchrow($result);
       $hour = intval($row['hour']);
       $hits = intval($row['hits']);
   }
   echo "<tr><td bgcolor=\"$bgcolor1\">";
   if ($k < 10) {
       $a = "0$k";
   } else {
       $a = $k;
   }
   echo "$a:00 - $a:59";
   $a = "";
   echo "</td><td bgcolor=\"$bgcolor1\">";
   if ($hits == 0) {
       $WidthIMG = 0;
       $d_percent = 0;
   } else {
       $WidthIMG = round(100 * $hits/$TotalHitsHour,0);
       $d_percent = substr(100 * $hits / $TotalHitsHour, 0, 5);
   }
   echo "<img src=\"themes/$ThemeSel/images/leftbar.gif\" Alt=\"\" title=\"\" width=\"$l_size[0]\" height=\"$l_size[1]\" /><img src=\"themes/$ThemeSel/images/mainbar.gif\" height=\"$m_size[1]\" width=",$WidthIMG * 2," Alt=\"\" title=\"\" />"
       ."<img src=\"themes/$ThemeSel/images/rightbar.gif\" Alt=\"\" title=\"\" width=\"$r_size[0]\" height=\"$r_size[1]\" /> $d_percent% ($hits)"
       ."</td></tr>";
    }
    $db->sql_freeresult($result);
    echo "</table>";
}

function getmonth($month){
    if ($month == 1) echo ""._JANUARY."";
    if ($month == 2) echo ""._FEBRUARY."";
    if ($month == 3) echo ""._MARCH."";
    if ($month == 4) echo ""._APRIL."";
    if ($month == 5) echo ""._MAY."";
    if ($month == 6) echo ""._JUNE."";
    if ($month == 7) echo ""._JULY."";
    if ($month == 8) echo ""._AUGUST."";
    if ($month == 9) echo ""._SEPTEMBER."";
    if ($month == 10) echo ""._OCTOBER."";
    if ($month == 11) echo ""._NOVEMBER."";
    if ($month == 12) echo ""._DECEMBER."";
}

switch($op) {

    default:
    Stats_Main();
    break;
   
    case "Stats":
    Stats($total);
    break;
   
    case "YearlyStats":
    YearlyStats($year);
    break;
   
    case "MonthlyStats":
    MonthlyStats($year,$month);
    break;
   
    case "DailyStats":
    DailyStats($year,$month,$date);
    break;

}

?>


Code update al
Code:
 <br>
replaced with
Code:
 <br />


Last edited by kenwood on Sun Apr 30, 2006 1:00 pm; edited 3 times in total
View user's profile Send private message Visit poster's website
Guardian2003
Site Admin


Joined: Aug 28, 2003
Posts: 6373
Location: Vsetin, Czech Republic

PostPosted: Wed Apr 26, 2006 6:02 pm Reply with quote Back to top

I see several places where you have
Code:
echo "<br><br>";

I was under the impression for HTML 4.01 Transitional compliance that if you have no closing tag for each opening tag the code should be changed to
Code:
echo "<br /><br />";

Please correct me if I am wrong.
View user's profile Send private message Send e-mail Visit poster's website
montego
Site Admin


Joined: Aug 29, 2004
Posts: 9136
Location: Arizona

PostPosted: Wed Apr 26, 2006 7:43 pm Reply with quote Back to top

We are also working on XHTML compliance which is what the extra " />" comes from.
View user's profile Send private message Visit poster's website
kenwood
Worker
Worker


Joined: May 18, 2005
Posts: 119
Location: SVCDPlaza

PostPosted: Thu Apr 27, 2006 12:24 am Reply with quote Back to top

Where can i see the rules for Xhtml ????
Now i translate the script to HTML and check them with firefox with a html validator plugin.
View user's profile Send private message Visit poster's website
Guardian2003
Site Admin


Joined: Aug 28, 2003
Posts: 6373
Location: Vsetin, Czech Republic

PostPosted: Thu Apr 27, 2006 3:08 am Reply with quote Back to top

Only registered users can see links on this board!
Get registered or login to the forums!
View user's profile Send private message Send e-mail Visit poster's website
montego
Site Admin


Joined: Aug 29, 2004
Posts: 9136
Location: Arizona

PostPosted: Thu Apr 27, 2006 5:24 am Reply with quote Back to top

Guardian, you beat me to it. I have bookmarked this link as well:
Only registered users can see links on this board!
Get registered or login to the forums!


Edited: But, I like Guardian's link much, much better. It actually gives really good examples of the differences between HTML and XHTML. Really nice...
View user's profile Send private message Visit poster's website
evaders99
Former Moderator in Good Standing


Joined: Apr 30, 2004
Posts: 3221

PostPosted: Thu Apr 27, 2006 8:26 am Reply with quote Back to top

Wikipedia to the rescue
Only registered users can see links on this board!
Get registered or login to the forums!


I'm personnally of this opinion

Quote:

So here we are with our shiny valid XHTML websites with a "CSS Zen Garden-worthy" CSS layout. But why really?
...
I'm simply questioning the real-world value of it all. To me the best and most honest reason for using all this fashionable web standards / css stuff is simple and down to earth: because I can! That's all there's to it really.
Only registered users can see links on this board!
Get registered or login to the forums!


Smile
View user's profile Send private message Visit poster's website
Raven
Site Admin/Owner


Joined: Aug 27, 2002
Posts: 16987
Location: Kansas

PostPosted: Thu Apr 27, 2006 8:34 am Reply with quote Back to top

I have already mad several changes to the statistic's code that Kenwood has posted, foe bxhtml compliance. Kemwood, I sent you a PM yesterday. Please respond. Thanks!
View user's profile Send private message Visit poster's website AIM Address Yahoo Messenger
kenwood
Worker
Worker


Joined: May 18, 2005
Posts: 119
Location: SVCDPlaza

PostPosted: Thu Apr 27, 2006 12:20 pm Reply with quote Back to top

thanks for the links you all Very Happy
oke i dit some reading and it seems to me that
Code:
<br>
is valid for html but
Code:
<br />
is better because thats valid for html and xhtml
PS raven i send you a pm back
View user's profile Send private message Visit poster's website
Raven
Site Admin/Owner


Joined: Aug 27, 2002
Posts: 16987
Location: Kansas

PostPosted: Thu Apr 27, 2006 2:55 pm Reply with quote Back to top

In addition to W3C compliance, we are also aiming for XHTML compliance or as close as we can come. Basically, to be XHTML compliant you have this (plus much more):

- All tags and attributes MUST be lower case
- All attributes MUST be enclosed in quotes
- Tags that have both an open and a close tag are not required in HTML <p> does not require a closing </p> tag. But, XHTML requires that you close all tags <p> This is a test </p>
- All tags that don't require a closing tag must be closed withing the single open tag. Understand that there can be other properties/attributes in these tags, but they must end with a blank (\b) and then a /> or \b/>
Examples would be:

<br> => <br />
<hr> => <hr />
<img> => <img ... />
<input> => <input ... />

There are several other requirements. A good reference is
Only registered users can see links on this board!
Get registered or login to the forums!
althoug there are many on the net.
View user's profile Send private message Visit poster's website AIM Address Yahoo Messenger
kguske
Site Admin


Joined: Jun 04, 2004
Posts: 6044

PostPosted: Thu Apr 27, 2006 10:28 pm Reply with quote Back to top

evaders99, I hope 64bitguy doesn't see that post! For anyone interested, it might be helpful to search for compliance with user 64bitguy. Steph makes some pretty strong arguments for compliance.
View user's profile Send private message
Raven
Site Admin/Owner


Joined: Aug 27, 2002
Posts: 16987
Location: Kansas

PostPosted: Thu Apr 27, 2006 10:32 pm Reply with quote Back to top

The biggest advantage for compliance is s-p-e-e-d in browser rendering. That's a proven fact Wink
View user's profile Send private message Visit poster's website AIM Address Yahoo Messenger
kguske
Site Admin


Joined: Jun 04, 2004
Posts: 6044

PostPosted: Thu Apr 27, 2006 10:38 pm Reply with quote Back to top

Good point. But is that enough to justify an extensive compliance effort? Maybe... It would be easy enough to quantify the cost, but much more difficult to determine the offsetting benefit. Sure, you could determine the fractions of seconds saved non vs. compliant. But what does it really mean to the visitor? To the webmaster? Maybe it's "priceless"... It's too late to get philosophical...time for some zzz.
View user's profile Send private message
montego
Site Admin


Joined: Aug 29, 2004
Posts: 9136
Location: Arizona

PostPosted: Thu Apr 27, 2006 10:39 pm Reply with quote Back to top

Also, ensuring that all these new browsers and (with XHTML) all these new user agents coming out for "understanding" and "rendering" site content... As a site designer, you want the site to look "right" for as many "customers" as possible, hence where compliance comes in...

Now, in addition, although Nuke is way too far away from this, but we have had others here in the forums also talk about accessibility issues... another reason for compliancy.
View user's profile Send private message Visit poster's website
Guardian2003
Site Admin


Joined: Aug 28, 2003
Posts: 6373
Location: Vsetin, Czech Republic

PostPosted: Fri Apr 28, 2006 4:27 am Reply with quote Back to top

I will confess, when I first started reading about 'compliancy' and how it can benefit browser rendering I was rather skeptical. The arguments put forward made sense but being rather old fashioned, I much prefer something tangible - something I can see/feel etc as confirmation of an argument/debate.

When Steph put his 'fixed and compliant' site up I was very impressed.
As I have stated elsewhere on this site, I have just upgraded a friends site from Vanilla Nuke 7.5 Patch 2.9 w/Sentinel to RN 2.02.02 and even after adding back in the 'old' modules/hacks there is just such a significant difference I was left speechless. Even the index page load time has gone from anything up to 2 seconds down to 0.09 to 0.50 seconds depending on the number of users. SQL usage has dropped by 80%, the forums are blisteringly quick where as before there was significant 'lag'.
OK the site is no longer using it's original theme and instead is using 2 customised themes based on fisubice but it proves beyond a shadow of a doubt that the work that has gone into RN so far has made significant improvements to the overall efficiency of the site and thats before we really begin work in earnest on compliancy issues.

Now if we could just get the third party module creators to start using mysql_free_results
View user's profile Send private message Send e-mail Visit poster's website
montego
Site Admin


Joined: Aug 29, 2004
Posts: 9136
Location: Arizona

PostPosted: Fri Apr 28, 2006 5:39 am Reply with quote Back to top

Quote:

Now if we could just get the third party module creators to start using mysql_free_results


Ouch... that hurt. ROTFL
View user's profile Send private message Visit poster's website
Guardian2003
Site Admin


Joined: Aug 28, 2003
Posts: 6373
Location: Vsetin, Czech Republic

PostPosted: Fri Apr 28, 2006 5:46 am Reply with quote Back to top

You don't have time for ROTFL you should be speedtype Dance-Y
lol
View user's profile Send private message Send e-mail Visit poster's website
evaders99
Former Moderator in Good Standing


Joined: Apr 30, 2004
Posts: 3221

PostPosted: Fri Apr 28, 2006 7:40 am Reply with quote Back to top

Unfortunately IE6 doesn't support XHTML, or so I'm reading. It puts it into a compatibility mode with HTML4. Very unlikely that the browsers will enforce strict compliancy. And most people don't use it correctly, sending as text/html rather than application/xhtml+xml

In terms of accessibility, are we going for 508... accessibility for the handicapped. I could see how this could be useful, esp for more commercial sites with high business needs. I did talk to one phpNuke user who was handicapped and could not see the security codes on sites.
View user's profile Send private message Visit poster's website
guidyy
Worker
Worker


Joined: Nov 22, 2004
Posts: 208
Location: Italy

PostPosted: Fri Apr 28, 2006 9:54 am Reply with quote Back to top

IMHO it's time to write down some guidelines for HTML compilance, both for theme makers and 3party modules creators
looks like everyone have is own approach on this, but in this way we do not go far.
Personally what i've found most bugging:

<font class=content>
This is a mess if you want to use the HTML editor.

forms inside tables
example: <table><form name=blah blah><tr><td><input = blah blah>

table headers without table row
<table><th>blah blah</th> will never validate

lists
<li> item </li>
<li> item2 </li>
without opening and closing with <ul></ul>

I have more...
Guido
View user's profile Send private message Visit poster's website MSN Messenger
kenwood
Worker
Worker


Joined: May 18, 2005
Posts: 119
Location: SVCDPlaza

PostPosted: Fri Apr 28, 2006 10:36 am Reply with quote Back to top

So the bodem line is al scrips must be HTML or must the be XHTM ????
And the site of Steph is HTML and in some cases i see XHTML things .
View user's profile Send private message Visit poster's website
Raven
Site Admin/Owner


Joined: Aug 27, 2002
Posts: 16987
Location: Kansas

PostPosted: Fri Apr 28, 2006 12:39 pm Reply with quote Back to top

The goal, in order, is HTML 4.01 compliance and then XHTML 1.0 compliance.

IE6 supports XHTML. It just doesn't support all the W3C compliancy. I am now using IE7 for testing and it is much better at enforcing. There is a difference between enforcing and using. I think, and this is my personal opinion and not that of a team lead or admin or anything like that, that we should be compliant because it's smart to work by the standards. Consider how much better your resume will look if you can add that you code to the W3C standards Wink. That aside, I totally agree with guidvy to his point that it will take work. But, excellence DOES take work and committment Smile.

In Terry Orlock's book In Pursuit of Excellence he lays out some excellent points. Amazon allows a preview of a chapter or a part of a chapter. Go here
Only registered users can see links on this board!
Get registered or login to the forums!
to start reading and then click the -> tab to continue reading. Here is just one little excerpt
Image

Now I'm not going to turn this into a sermon, so don't worry. But, we can choose to continue to work on an inferior product in an inferior way or we can choose to turn an inferior product into a superior product. I have chosen the latter. Will we get there right away? Of course not. But, if we strive for excellence each time we touch a script or add some code, little by little the tide will turn. Users will see a snappier display in there browser. It will be much easier to integrate properly written add-ons into our code.

I am putting together a document that will outline the goals/standards for the RavenNuke(tm) distro. I honestly appreciate all the discussion around this and not everyone will agree. And that's what diversity is all about. But, the end result will be a far superior product for the end user. And so what if FB or anyone else copies it? Imitation is one of the greatest forms of flattery.

I'll step down off the soap box now speedtype

Oh, one other thing. We will, of course, also be addressing the wasted SQL calls too Wink
View user's profile Send private message Visit poster's website AIM Address Yahoo Messenger
Guardian2003
Site Admin


Joined: Aug 28, 2003
Posts: 6373
Location: Vsetin, Czech Republic

PostPosted: Fri Apr 28, 2006 11:28 pm Reply with quote Back to top

Code:
Oh, one other thing. We will, of course, also be addressing the wasted SQL calls too
- for that, I'll buy you a beer!
View user's profile Send private message Send e-mail Visit poster's website
montego
Site Admin


Joined: Aug 29, 2004
Posts: 9136
Location: Arizona

PostPosted: Sun Apr 30, 2006 9:38 am Reply with quote Back to top

AMEN!!!
View user's profile Send private message Visit poster's website
Display posts from previous:       
This forum is locked: you cannot post, reply to, or edit topics.   This topic is locked: you cannot edit posts or make replies.

View next topic
View previous topic
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
Forums ©
 

All logos and trademarks in this site are property of their respective owner.
The comments are property of their posters, all the rest © 2002-2011 by Raven

You can syndicate our news using the file xml

CSE HTML Validator Helped Clean up This Page! [Valid RSS] valid RSS 2.0 Valid robots.txt Stop Spam Harvesters, Join Project Honey Pot

Website engines core code is © copyright by PHP-Nuke but has been heavily patched and modified by myself and others.
PHP-Nuke is a free software released under the GNU/GPL.


:: fisubice phpbb2 style by Daz :: PHP-Nuke theme by www.nukemods.com ::
:: fisubice Theme Modified by the RavenNuke™ Team ::

:: W3C CSS Compliance Validation :: W3C HTML 4.01 Transitional Compliance Validation ::

zerosum