Author
Message
kenwood Worker Joined: May 18, 2005 Posts: 119 Location: SVCDPlaza
Posted:
Wed Apr 26, 2006 2:52 pm
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&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=\"\" /> 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=\"\" /> 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=\"\" /> 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=\"\" /> 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=\"\" /> 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=\"\" /> 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=\"\" /> "._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=\"\" /> "._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=\"\" /> 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=\"\" /> 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=\"\" /> 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=\"\" /> 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=\"\" /> 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=\"\" /> 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=\"\" /> 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=\"\" /> 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=\"\" /> 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=\"\" /> "._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=\"\" /> "._REGUSERS."</td><td><b>$unum</b></td></tr>\n";
echo "<tr><td><img src=\"modules/$module_name/images/authors.gif\" border=\"0\" alt=\"\" title=\"\" /> "._ACTIVEAUTHORS."</td><td><b>$anum</b></td></tr>\n";
echo "<tr><td><img src=\"modules/$module_name/images/news.gif\" border=\"0\" alt=\"\" title=\"\" /> "._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=\"\" /> "._SACTIVETOPICS."</td><td><b>$tnum</b></td></tr>\n";
}
echo "<tr><td><img src=\"modules/$module_name/images/comments.gif\" border=\"0\" alt=\"\" title=\"\" /> "._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=\"\" /> "._LINKSINLINKS."</td><td><b>$links</b></td></tr>\n";
echo "<tr><td><img src=\"modules/$module_name/images/sections.gif\" border=\"0\" alt=\"\" title=\"\" /> "._LINKSCAT."</td><td><b>$cat</b></td></tr>\n";
}
echo "<tr><td><img src=\"modules/$module_name/images/waiting.gif\" border=\"0\" alt=\"\" title=\"\" /> "._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&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&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&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&op=YearlyStats&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&op=MonthlyStats&year=$nowyear&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&op=DailyStats&year=$year&month=$month&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 replaced with
Last edited by kenwood on Sun Apr 30, 2006 1:00 pm; edited 3 times in total
Guardian2003 Site Admin Joined: Aug 28, 2003 Posts: 6373 Location: Vsetin, Czech Republic
Posted:
Wed Apr 26, 2006 6:02 pm
I see several places where you have
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.
montego Site Admin Joined: Aug 29, 2004 Posts: 9136 Location: Arizona
Posted:
Wed Apr 26, 2006 7:43 pm
We are also working on XHTML compliance which is what the extra " />" comes from.
kenwood Worker Joined: May 18, 2005 Posts: 119 Location: SVCDPlaza
Posted:
Thu Apr 27, 2006 12:24 am
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.
Guardian2003 Site Admin Joined: Aug 28, 2003 Posts: 6373 Location: Vsetin, Czech Republic
Posted:
Thu Apr 27, 2006 3:08 am
montego Site Admin Joined: Aug 29, 2004 Posts: 9136 Location: Arizona
Posted:
Thu Apr 27, 2006 5:24 am
Guardian, you beat me to it. I have bookmarked this link as well:
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...
evaders99 Former Moderator in Good Standing Joined: Apr 30, 2004 Posts: 3221
Posted:
Thu Apr 27, 2006 8:26 am
Wikipedia to the rescue
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.
Raven Site Admin/Owner Joined: Aug 27, 2002 Posts: 16987 Location: Kansas
Posted:
Thu Apr 27, 2006 8:34 am
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!
kenwood Worker Joined: May 18, 2005 Posts: 119 Location: SVCDPlaza
Posted:
Thu Apr 27, 2006 12:20 pm
thanks for the links you all
oke i dit some reading and it seems to me that is valid for html but is better because thats valid for html and xhtml
PS raven i send you a pm back
Raven Site Admin/Owner Joined: Aug 27, 2002 Posts: 16987 Location: Kansas
Posted:
Thu Apr 27, 2006 2:55 pm
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 althoug there are many on the net.
kguske Site Admin Joined: Jun 04, 2004 Posts: 6044
Posted:
Thu Apr 27, 2006 10:28 pm
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.
Raven Site Admin/Owner Joined: Aug 27, 2002 Posts: 16987 Location: Kansas
Posted:
Thu Apr 27, 2006 10:32 pm
The biggest advantage for compliance is s-p-e-e-d in browser rendering. That's a proven fact
kguske Site Admin Joined: Jun 04, 2004 Posts: 6044
Posted:
Thu Apr 27, 2006 10:38 pm
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.
montego Site Admin Joined: Aug 29, 2004 Posts: 9136 Location: Arizona
Posted:
Thu Apr 27, 2006 10:39 pm
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.
Guardian2003 Site Admin Joined: Aug 28, 2003 Posts: 6373 Location: Vsetin, Czech Republic
Posted:
Fri Apr 28, 2006 4:27 am
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
montego Site Admin Joined: Aug 29, 2004 Posts: 9136 Location: Arizona
Posted:
Fri Apr 28, 2006 5:39 am
Quote:
Now if we could just get the third party module creators to start using mysql_free_results
Ouch... that hurt.
Guardian2003 Site Admin Joined: Aug 28, 2003 Posts: 6373 Location: Vsetin, Czech Republic
Posted:
Fri Apr 28, 2006 5:46 am
You don't have time for you should be
lol
evaders99 Former Moderator in Good Standing Joined: Apr 30, 2004 Posts: 3221
Posted:
Fri Apr 28, 2006 7:40 am
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.
guidyy Worker Joined: Nov 22, 2004 Posts: 208 Location: Italy
Posted:
Fri Apr 28, 2006 9:54 am
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
kenwood Worker Joined: May 18, 2005 Posts: 119 Location: SVCDPlaza
Posted:
Fri Apr 28, 2006 10:36 am
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 .
Raven Site Admin/Owner Joined: Aug 27, 2002 Posts: 16987 Location: Kansas
Posted:
Fri Apr 28, 2006 12:39 pm
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 . That aside, I totally agree with guidvy to his point that it will take work. But, excellence DOES take work and committment .
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 to start reading and then click the -> tab to continue reading. Here is just one little excerpt
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
Oh, one other thing. We will, of course, also be addressing the wasted SQL calls too
Guardian2003 Site Admin Joined: Aug 28, 2003 Posts: 6373 Location: Vsetin, Czech Republic
Posted:
Fri Apr 28, 2006 11:28 pm
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!
montego Site Admin Joined: Aug 29, 2004 Posts: 9136 Location: Arizona
Posted:
Sun Apr 30, 2006 9:38 am
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