You can subscribe to this list here.
| 2005 |
Jan
|
Feb
|
Mar
(95) |
Apr
(270) |
May
(111) |
Jun
|
Jul
|
Aug
(64) |
Sep
(130) |
Oct
(319) |
Nov
(17) |
Dec
(191) |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2006 |
Jan
(53) |
Feb
|
Mar
|
Apr
|
May
(6) |
Jun
(387) |
Jul
(102) |
Aug
(247) |
Sep
(120) |
Oct
(1) |
Nov
(8) |
Dec
(21) |
| 2007 |
Jan
(38) |
Feb
(36) |
Mar
|
Apr
(32) |
May
(135) |
Jun
(523) |
Jul
(192) |
Aug
(103) |
Sep
(533) |
Oct
(77) |
Nov
(23) |
Dec
(203) |
| 2008 |
Jan
(312) |
Feb
(1193) |
Mar
(404) |
Apr
(67) |
May
(62) |
Jun
(497) |
Jul
(297) |
Aug
(110) |
Sep
(335) |
Oct
(256) |
Nov
(50) |
Dec
(118) |
| 2009 |
Jan
(67) |
Feb
(10) |
Mar
(1) |
Apr
(1) |
May
|
Jun
(10) |
Jul
(61) |
Aug
|
Sep
(16) |
Oct
(45) |
Nov
(12) |
Dec
(14) |
| 2010 |
Jan
(30) |
Feb
|
Mar
|
Apr
(4) |
May
|
Jun
|
Jul
(7) |
Aug
(7) |
Sep
(5) |
Oct
(5) |
Nov
|
Dec
|
| 2011 |
Jan
(7) |
Feb
(3) |
Mar
(89) |
Apr
(11) |
May
(5) |
Jun
|
Jul
(8) |
Aug
(1) |
Sep
(2) |
Oct
|
Nov
(2) |
Dec
(89) |
| 2012 |
Jan
(7) |
Feb
(1) |
Mar
(1) |
Apr
|
May
|
Jun
|
Jul
|
Aug
(4) |
Sep
(3) |
Oct
(42) |
Nov
(1) |
Dec
|
| 2013 |
Jan
|
Feb
|
Mar
(19) |
Apr
(90) |
May
(38) |
Jun
(235) |
Jul
(38) |
Aug
(10) |
Sep
|
Oct
(29) |
Nov
|
Dec
|
| 2014 |
Jan
|
Feb
|
Mar
|
Apr
(6) |
May
(52) |
Jun
|
Jul
(7) |
Aug
|
Sep
(17) |
Oct
|
Nov
|
Dec
|
|
From: Horace <jus...@us...> - 2005-10-17 13:15:57
|
Update of /cvsroot/mxbb/mx_who_am_i/includes In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv3307/mx_who_am_i/includes Modified Files: mx_common.php Log Message: Pre-mxBB 2.8 RC7 Changes. Index: mx_common.php =================================================================== RCS file: /cvsroot/mxbb/mx_who_am_i/includes/mx_common.php,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** mx_common.php 16 Oct 2005 14:09:03 -0000 1.2 --- mx_common.php 17 Oct 2005 13:15:48 -0000 1.3 *************** *** 2,24 **** /********************************************************************************\ | ! | subject : mx-portal, CMS & portal, module ! | name : mx_who_am_i | begin : october, 2005 ! | copyright : (C) 2002-2005 MX-System | mxBB project site : www.mx-system.com | ! | author : horace (see additional credit below) ! | author site : www.empire-wars.com | author email : ho...@em... | | additional credit : This module is based on the mx_loggedin function ! | created by RETORQ. ! | re...@di... ! | www.digitalhijinx.com | ! | description : The "Who Am I" block is a block is a block that ! | will be visable only to registered users who are ! | logged in. It can be used to quickly display ! | statistics and current user image. |********************************************************************************| | --- 2,24 ---- /********************************************************************************\ | ! | subject : mx-portal, CMS & portal, module ! | name : mx_who_am_i | begin : october, 2005 ! | copyright : (C) 2002-2005 MX-System | mxBB project site : www.mx-system.com | ! | author : horace (see additional credit below) ! | author site : www.empire-wars.com | author email : ho...@em... | | additional credit : This module is based on the mx_loggedin function ! | created by RETORQ. ! | re...@di... ! | www.digitalhijinx.com | ! | description : The "Who Am I" block is a block is a block that ! | will be visable only to registered users who are ! | logged in. It can be used to quickly display ! | statistics and current user image. |********************************************************************************| | *************** *** 78,85 **** /********************************************************************************\ ! | The Get_Details function oes exactly what it says - it gets and poulates | the class variables. \********************************************************************************/ ! function get_details() { global $userdata; --- 78,85 ---- /********************************************************************************\ ! | The Get_Details function does exactly what it says - it gets and populates | the class variables. \********************************************************************************/ ! function _get_details() { global $userdata; *************** *** 131,135 **** | Get language for the HTML Output (All Language Related) \********************************************************************************/ ! function get_language() { global $phpEx; --- 131,135 ---- | Get language for the HTML Output (All Language Related) \********************************************************************************/ ! function _get_language() { global $phpEx; *************** *** 150,154 **** | HTML Output Section - Using Templates (All Output Related) \********************************************************************************/ ! function html_output() { global $phpEx; --- 150,154 ---- | HTML Output Section - Using Templates (All Output Related) \********************************************************************************/ ! function _html_output() { global $phpEx; *************** *** 184,194 **** /********************************************************************************\ ! | HTML Output Section - Using Templates (All Output Related) \********************************************************************************/ function show_block() { ! $this->get_language(); ! $this->get_details(); ! $this->html_output(); } } --- 184,194 ---- /********************************************************************************\ ! | The one call to show the block \********************************************************************************/ function show_block() { ! $this->_get_language(); ! $this->_get_details(); ! $this->_html_output(); } } |
|
From: Justin H. <jus...@us...> - 2005-10-16 14:09:35
|
Update of /cvsroot/mxbb/mx_who_am_i/includes In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv6906/mx_who_am_i/includes Modified Files: mx_common.php Log Message: Tidy up of headers and correct wrong version number. Index: mx_common.php =================================================================== RCS file: /cvsroot/mxbb/mx_who_am_i/includes/mx_common.php,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** mx_common.php 14 Oct 2005 20:37:32 -0000 1.1 --- mx_common.php 16 Oct 2005 14:09:03 -0000 1.2 *************** *** 3,14 **** | | subject : mx-portal, CMS & portal, module ! | name : Who Am I | begin : october, 2005 | copyright : (C) 2002-2005 MX-System - | author : horace & retorq (see below) - | email : ho...@em... | mxBB project site : www.mx-system.com | ! | credit : This module is based on the mx_loggedin function | created by RETORQ. | re...@di... --- 3,16 ---- | | subject : mx-portal, CMS & portal, module ! | name : mx_who_am_i | begin : october, 2005 | copyright : (C) 2002-2005 MX-System | mxBB project site : www.mx-system.com | ! | author : horace (see additional credit below) ! | author site : www.empire-wars.com ! | author email : ho...@em... ! | ! | additional credit : This module is based on the mx_loggedin function | created by RETORQ. | re...@di... *************** *** 121,125 **** else { ! $this->avatar_img = $lang['Missing_default_image']; } } --- 123,127 ---- else { ! $this->avatar_img = $lang['Missing_Default_Image']; } } |
|
From: Justin H. <jus...@us...> - 2005-10-16 14:09:20
|
Update of /cvsroot/mxbb/mx_who_am_i/language/lang_english In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv6906/mx_who_am_i/language/lang_english Modified Files: lang_main.php Log Message: Tidy up of headers and correct wrong version number. Index: lang_main.php =================================================================== RCS file: /cvsroot/mxbb/mx_who_am_i/language/lang_english/lang_main.php,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** lang_main.php 14 Oct 2005 20:37:32 -0000 1.1 --- lang_main.php 16 Oct 2005 14:09:03 -0000 1.2 *************** *** 3,14 **** | | subject : mx-portal, CMS & portal, module ! | name : Who Am I | begin : october, 2005 | copyright : (C) 2002-2005 MX-System - | author : horace & retorq (see below) - | email : ho...@em... | mxBB project site : www.mx-system.com | ! | credit : This module is based on the mx_loggedin function | created by RETORQ. | re...@di... --- 3,16 ---- | | subject : mx-portal, CMS & portal, module ! | name : mx_who_am_i | begin : october, 2005 | copyright : (C) 2002-2005 MX-System | mxBB project site : www.mx-system.com | ! | author : horace (see additional credit below) ! | author site : www.empire-wars.com ! | author email : ho...@em... ! | ! | additional credit : This module is based on the mx_loggedin function | created by RETORQ. | re...@di... *************** *** 51,55 **** $lang['Of_Total_Posts'] = "of the total posts"; $lang['Posts_Per_Day'] = "posts per day"; ! $lang['Missing_default_image'] = "...Defaut Image Missing..."; // --- 53,57 ---- $lang['Of_Total_Posts'] = "of the total posts"; $lang['Posts_Per_Day'] = "posts per day"; ! $lang['Missing_Default_Image'] = "...Defaut Image Missing..."; // |
|
From: Justin H. <jus...@us...> - 2005-10-16 14:09:19
|
Update of /cvsroot/mxbb/mx_who_am_i In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv6906/mx_who_am_i Modified Files: changelog.txt mx_who_am_i.php readme.txt Log Message: Tidy up of headers and correct wrong version number. Index: changelog.txt =================================================================== RCS file: /cvsroot/mxbb/mx_who_am_i/changelog.txt,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** changelog.txt 14 Oct 2005 20:37:32 -0000 1.1 --- changelog.txt 16 Oct 2005 14:09:03 -0000 1.2 *************** *** 2,13 **** | | subject : mx-portal, CMS & portal, module ! | name : Who Am I | begin : october, 2005 | copyright : (C) 2002-2005 MX-System - | author : horace & retorq (see below) - | email : ho...@em... | mxBB project site : www.mx-system.com | ! | credit : This module is based on the mx_loggedin function | created by RETORQ. | re...@di... --- 2,15 ---- | | subject : mx-portal, CMS & portal, module ! | name : mx_who_am_i | begin : october, 2005 | copyright : (C) 2002-2005 MX-System | mxBB project site : www.mx-system.com | ! | author : horace (see additional credit below) ! | author site : www.empire-wars.com ! | author email : ho...@em... ! | ! | additional credit : This module is based on the mx_loggedin function | created by RETORQ. | re...@di... *************** *** 34,38 **** /********************************************************************************\ ! | Version 1.0 - First Public Release \********************************************************************************/ --- 36,40 ---- /********************************************************************************\ ! | Version 1.0 - First Public Release (horace) \********************************************************************************/ *************** *** 40,44 **** /********************************************************************************\ ! | Version 0.1 - Initial Beta Release \********************************************************************************/ --- 42,46 ---- /********************************************************************************\ ! | Version 0.1 - Initial Beta Release (horace) \********************************************************************************/ Index: mx_who_am_i.php =================================================================== RCS file: /cvsroot/mxbb/mx_who_am_i/mx_who_am_i.php,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** mx_who_am_i.php 14 Oct 2005 20:37:32 -0000 1.1 --- mx_who_am_i.php 16 Oct 2005 14:09:03 -0000 1.2 *************** *** 3,14 **** | | subject : mx-portal, CMS & portal, module ! | name : Who Am I | begin : october, 2005 | copyright : (C) 2002-2005 MX-System - | author : horace & retorq (see below) - | email : ho...@em... | mxBB project site : www.mx-system.com | ! | credit : This module is based on the mx_loggedin function | created by RETORQ. | re...@di... --- 3,16 ---- | | subject : mx-portal, CMS & portal, module ! | name : mx_who_am_i | begin : october, 2005 | copyright : (C) 2002-2005 MX-System | mxBB project site : www.mx-system.com | ! | author : horace (see additional credit below) ! | author site : www.empire-wars.com ! | author email : ho...@em... ! | ! | additional credit : This module is based on the mx_loggedin function | created by RETORQ. | re...@di... Index: readme.txt =================================================================== RCS file: /cvsroot/mxbb/mx_who_am_i/readme.txt,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** readme.txt 14 Oct 2005 20:37:32 -0000 1.1 --- readme.txt 16 Oct 2005 14:09:03 -0000 1.2 *************** *** 2,13 **** | | subject : mx-portal, CMS & portal, module ! | name : Who Am I | begin : october, 2005 | copyright : (C) 2002-2005 MX-System - | author : horace & retorq (see below) - | email : ho...@em... | mxBB project site : www.mx-system.com | ! | credit : This module is based on the mx_loggedin function | created by RETORQ. | re...@di... --- 2,15 ---- | | subject : mx-portal, CMS & portal, module ! | name : mx_who_am_i | begin : october, 2005 | copyright : (C) 2002-2005 MX-System | mxBB project site : www.mx-system.com | ! | author : horace (see additional credit below) ! | author site : www.empire-wars.com ! | author email : ho...@em... ! | ! | additional credit : This module is based on the mx_loggedin function | created by RETORQ. | re...@di... |
|
From: Justin H. <jus...@us...> - 2005-10-16 12:49:47
|
Update of /cvsroot/mxbb/core/language/lang_english In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv26622/core/language/lang_english Modified Files: lang_admin.php lang_main.php Log Message: Fixed silly spelling errors. Index: lang_main.php =================================================================== RCS file: /cvsroot/mxbb/core/language/lang_english/lang_main.php,v retrieving revision 1.19 retrieving revision 1.20 diff -C2 -d -r1.19 -r1.20 *** lang_main.php 1 Oct 2005 14:10:45 -0000 1.19 --- lang_main.php 16 Oct 2005 12:49:33 -0000 1.20 *************** *** 110,114 **** $lang['mx_modules_text'] = '<b>mxBB Modules</b>'; ! $lang['mx_copy'] = 'mxBB Copyrights Info'; $lang['Yes'] = 'Yes'; --- 110,114 ---- $lang['mx_modules_text'] = '<b>mxBB Modules</b>'; ! $lang['mx_copy'] = 'mxBB Copyright Info'; $lang['Yes'] = 'Yes'; Index: lang_admin.php =================================================================== RCS file: /cvsroot/mxbb/core/language/lang_english/lang_admin.php,v retrieving revision 1.45 retrieving revision 1.46 diff -C2 -d -r1.45 -r1.46 *** lang_admin.php 12 Oct 2005 15:37:32 -0000 1.45 --- lang_admin.php 16 Oct 2005 12:49:33 -0000 1.46 *************** *** 137,141 **** $lang['Module_desc'] = "Description"; $lang['Module_path'] = "Path, eg 'modules/mx_textblocks/'"; ! $lang['Module_include_admin'] = "Include this module in lelft pane Admin Menu Navigation"; // --- 137,141 ---- $lang['Module_desc'] = "Description"; $lang['Module_path'] = "Path, eg 'modules/mx_textblocks/'"; ! $lang['Module_include_admin'] = "Include this module in left pane Admin Menu Navigation"; // |
|
From: Jon O. <jon...@us...> - 2005-10-15 22:26:29
|
Update of /cvsroot/mxbb/core/install/schemas In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv31106/install/schemas Modified Files: mysql_schema_upgrade_to_2.8_rc7.sql Log Message: updated install schemas fro rc7 (mod_rewrite) Index: mysql_schema_upgrade_to_2.8_rc7.sql =================================================================== RCS file: /cvsroot/mxbb/core/install/schemas/mysql_schema_upgrade_to_2.8_rc7.sql,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** mysql_schema_upgrade_to_2.8_rc7.sql 12 Oct 2005 16:07:21 -0000 1.1 --- mysql_schema_upgrade_to_2.8_rc7.sql 15 Oct 2005 22:26:21 -0000 1.2 *************** *** 10,11 **** --- 10,17 ---- # ALTER TABLE mx_table_page ADD ip_filter VARCHAR(255) NOT NULL DEFAULT ''; + + # ------------------------------------------------------------ + # + # New Fields in Table `mx_portal` + # + ALTER TABLE mx_table_portal ADD mod_rewrite VARCHAR(255) NOT NULL DEFAULT '0'; \ No newline at end of file |
|
From: Jon O. <jon...@us...> - 2005-10-15 22:18:38
|
Update of /cvsroot/mxbb/mx_sitestats/images/digits In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv29610/images/digits Added Files: spacer.gif Log Message: readded this module... --- NEW FILE: spacer.gif --- (This appears to be a binary file; contents omitted.) |
Update of /cvsroot/mxbb/mx_sitestats/templates/subSilver In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv29610/templates/subSilver Added Files: sitestats_adminstats_body.tpl sitestats_counter_body.tpl sitestats_fastestusers_body.tpl sitestats_monthlystats_body.tpl sitestats_mostintopics_body.tpl sitestats_sitestaff_body.tpl sitestats_topavatars_body.tpl sitestats_topposters_body.tpl sitestats_topposters_tiny.tpl sitestats_topreferers_body.tpl sitestats_topsmilies_body.tpl sitestats_topstarters_body.tpl sitestats_toptopics_body.tpl sitestats_topwords_body.tpl sitestats_usersranks_body.tpl Log Message: readded this module... --- NEW FILE: sitestats_sitestaff_body.tpl --- <table width="100%" cellpadding="0" cellspacing="0" border="0" class="forumline"> <!-- <tr> <th class="thHead" align="center"> {L_TITLE} </th> </tr> --> <tr> <td> <table width="100%" cellpadding="4" cellspacing="1" border="0" class="forumline" style="border:none;"> <tr> <td class="catHead" align="center"><b>{L_USERNAME}</b></td> <td class="catHead" align="center"><b>{L_FORUMS}</b></td> <td class="catHead" align="center"><b>{L_POSTS}</b></td> <td class="catHead" align="center"><b>{L_JOINED}</b></td> <td class="catHead" align="center"><b>{L_CONTACT}</b></td> </tr> <!-- BEGIN staff --> <tr> <td class="row1" valign="top" align="left"><a href="{staff.U_NAME}" class="genmed">{staff.NAME}</a><br /> <span class="postdetails">{staff.LEVEL}<br />{staff.RANK}<br />{staff.RANK_IMAGE}<br />{staff.AVATAR}</span></td> <td class="row2" valign="top" align="left"><span class="genmed">{staff.FORUMS}</span> </td> <td class="row1" valign="top" align="right"><span class="gensmall">{staff.POSTS} ø <br /> {staff.POST_PERCENT} ø <br />{staff.POST_DAY} ø <br />[{staff.LAST_POST}]</span> </td> <td class="row2" valign="top" align="right"><span class="gensmall">{staff.JOINED}<br />[{staff.PERIOD}]</span></td> <td class="row1" valign="middle" align="center"> {staff.MAIL}<br /> {staff.PM}<br /> {staff.MSN} {staff.YIM}<br />{staff.AIM} {staff.ICQ}<br /> {staff.WWW} </td> </tr> <!-- END staff --> </table> </td> </tr> </table> --- NEW FILE: sitestats_topposters_body.tpl --- <script language="javascript" type="text/javascript"> <!-- if( typeof(mix_preloadImage) == 'undefined' ) function mix_preloadImage(arg) { if( document.images ) { i = new Image(); i.src = arg; return i; } return null; } if( typeof(mix_imgGraph_Left ) == 'undefined' ) mix_imgGraph_Left = mix_preloadImage("{LEFT_GRAPH_IMAGE}"); if( typeof(mix_imgGraph_Center) == 'undefined' ) mix_imgGraph_Center = mix_preloadImage("{GRAPH_IMAGE}"); if( typeof(mix_imgGraph_Right ) == 'undefined' ) mix_imgGraph_Right = mix_preloadImage("{RIGHT_GRAPH_IMAGE}"); // --> </script> <table width="100%" cellpadding="0" cellspacing="0" border="0" class="forumline"> <!-- <tr> <th class="thHead" align="center"> {L_TITLE} </th> </tr> --> <tr> <td> <table width="100%" cellpadding="4" cellspacing="1" border="0" class="forumline" style="border:none;"> <tr> <td class="catHead" align="center" width="10%"><b>{L_RANK}</b></td> <td class="catHead" align="center" width="20%"><b>{L_USERNAME}</b></td> <td class="catHead" align="center" width="10%"><b>{L_POSTS}</b></td> <td class="catHead" align="center" width="10%"><b>{L_PERCENTAGE}</b></td> <td class="catHead" align="center" width="50%"><b>{L_GRAPH}</b></td> </tr> <!-- BEGIN datarow --> <tr> <td class="{datarow.CLASS}" align="center"><span class="{TEXT_CLASS}">{datarow.RANK}</span></td> <td class="{datarow.CLASS}" align="center"><span class="{TEXT_CLASS}"><a href="{datarow.URL}">{datarow.USERNAME}</a></span></td> <td class="{datarow.CLASS}" align="center"><span class="{TEXT_CLASS}">{datarow.POSTS}</span></td> <td class="{datarow.CLASS}" align="center"><span class="{TEXT_CLASS}">{datarow.PERCENTAGE}%</span></td> <td class="{datarow.CLASS}" align="left"> <table cellspacing="0" cellpadding="0" border="0" align="left"> <tr> <td align="right"><img src="{LEFT_GRAPH_IMAGE}" width="4" height="12" alt="{datarow.PERCENTAGE}%" /></td> </tr> </table> <table cellspacing="0" cellpadding="0" border="0" align="left" width="{datarow.BAR}%"> <tr> <td><img src="{GRAPH_IMAGE}" width="100%" height="12" alt="{datarow.PERCENTAGE}%" /></td> </tr> </table> <table cellspacing="0" cellpadding="0" border="0" align="left"> <tr> <td align="left"><img src="{RIGHT_GRAPH_IMAGE}" width="4" height="12" alt="{datarow.PERCENTAGE}%" /></td> </tr> </table> </td> </tr> <!-- END datarow --> </table> </td> </tr> </table> --- NEW FILE: sitestats_mostintopics_body.tpl --- <table width="100%" cellpadding="0" cellspacing="0" border="0" class="forumline" style="border:none;"> <tr> <td width="50%" valign="top" style="padding-right:2px;"> <table width="100%" cellpadding="0" cellspacing="0" border="0" class="forumline"> <tr> <th class="thHead" align="center"> {L_TITLE1} </th> </tr> <tr> <td> <table width="100%" cellpadding="4" cellspacing="1" border="0" class="forumline" style="border:none;"> <tr> <td class="catHead" align="center" width="5%" ><b>{L_RANK}</b></td> <td class="catHead" align="center" width="20%"><b>{L_RATE}</b></td> <td class="catHead" align="center" width="75%"><b>{L_TOPIC}</b></td> </tr> <!-- BEGIN datarow1 --> <tr> <td class="{datarow1.CLASS}" align="center"><span class="{TEXT_CLASS}">{datarow1.RANK}</span></td> <td class="{datarow1.CLASS}" align="center"><span class="{TEXT_CLASS}">{datarow1.RATE}</span></td> <td class="{datarow1.CLASS}" align="left" ><span class="{TEXT_CLASS}"><a href="{datarow1.URL}">{datarow1.TITLE}</a></span></td> </tr> <!-- END datarow1 --> </table> </td> </tr> </table> </td> <td width="50%" valign="top" style="padding-left:2px;"> <table width="100%" cellpadding="0" cellspacing="0" border="0" class="forumline"> <tr> <th class="thHead" align="center"> {L_TITLE2} </th> </tr> <tr> <td> <table width="100%" cellpadding="4" cellspacing="1" border="0" class="forumline" style="border:none;"> <tr> <td class="catHead" align="center" width="5%" ><b>{L_RANK}</b></td> <td class="catHead" align="center" width="20%"><b>{L_RATE}</b></td> <td class="catHead" align="center" width="75%"><b>{L_TOPIC}</b></td> </tr> <!-- BEGIN datarow2 --> <tr> <td class="{datarow2.CLASS}" align="center"><span class="{TEXT_CLASS}">{datarow2.RANK}</span></td> <td class="{datarow2.CLASS}" align="center"><span class="{TEXT_CLASS}">{datarow2.RATE}</span></td> <td class="{datarow2.CLASS}" align="left" ><span class="{TEXT_CLASS}"><a href="{datarow2.URL}">{datarow2.TITLE}</a></span></td> </tr> <!-- END datarow2 --> </table> </td> </tr> </table> </td> </tr> </table> --- NEW FILE: sitestats_adminstats_body.tpl --- <table width="100%" cellpadding="0" cellspacing="0" border="0" class="forumline"> <!-- <tr> <th class="thHead" align="center"> {L_TITLE} </th> </tr> --> <tr> <td> <table width="100%" cellpadding="4" cellspacing="1" border="0" class="forumline" style="border:none;"> <tr> <td class="catHead" align="center" width="25%"><b>{L_STATISTIC}</b></td> <td class="catHead" align="center" width="25%"><b>{L_VALUE}</b></td> <td class="catHead" align="center" width="25%"><b>{L_STATISTIC}</b></td> <td class="catHead" align="center" width="25%"><b>{L_VALUE}</b></td> </tr> <!-- BEGIN datarow --> <tr> <td class="row2" align="center"><span class="{TEXT_CLASS}">{datarow.STATISTIC}</span></td> <td class="row1" align="center"><span class="{TEXT_CLASS}">{datarow.VALUE}</span></td> <td class="row2" align="center"><span class="{TEXT_CLASS}">{datarow.STATISTIC2}</span></td> <td class="row1" align="center"><span class="{TEXT_CLASS}">{datarow.VALUE2}</span></td> </tr> <!-- END datarow --> </table> </td> </tr> </table> --- NEW FILE: sitestats_usersranks_body.tpl --- <script language="javascript" type="text/javascript"> <!-- if( typeof(mix_preloadImage) == 'undefined' ) function mix_preloadImage(arg) { if( document.images ) { i = new Image(); i.src = arg; return i; } return null; } if( typeof(mix_imgGraph_Left ) == 'undefined' ) mix_imgGraph_Left = mix_preloadImage("{LEFT_GRAPH_IMAGE}"); if( typeof(mix_imgGraph_Center) == 'undefined' ) mix_imgGraph_Center = mix_preloadImage("{GRAPH_IMAGE}"); if( typeof(mix_imgGraph_Right ) == 'undefined' ) mix_imgGraph_Right = mix_preloadImage("{RIGHT_GRAPH_IMAGE}"); // --> </script> <table width="100%" cellpadding="0" cellspacing="0" border="0" class="forumline"> <!-- <tr> <th class="thHead" align="center"> {L_TITLE} </th> </tr> --> <tr> <td> <table width="100%" cellpadding="4" cellspacing="1" border="0" class="forumline" style="border:none;"> <tr> <td class="catHead" align="center" width="15%"><b>{L_RANK_TITLE_IMAGE}</b></td> <td class="catHead" align="center" width="15%"><b>{L_RANK_RANGE}</b></td> <td class="catHead" align="center" width="10%"><b>{L_USERS}</b></td> <td class="catHead" align="center" width="10%"><b>{L_PERCENTAGE}</b></td> <td class="catHead" align="center" width="50%"><b>{L_GRAPH}</b></td> </tr> <!-- BEGIN datarow --> <tr> <td class="{datarow.CLASS}" align="center"><span class="{TEXT_CLASS}">{datarow.RANK_TITLE_IMAGE}</span></td> <td class="{datarow.CLASS}" align="center"><span class="{TEXT_CLASS}">{datarow.RANK_RANGE}</span></td> <td class="{datarow.CLASS}" align="center"><span class="{TEXT_CLASS}">{datarow.USERS}</span></td> <td class="{datarow.CLASS}" align="center"><span class="{TEXT_CLASS}">{datarow.PERCENTAGE}%</span></td> <td class="{datarow.CLASS}" align="left"> <table cellspacing="0" cellpadding="0" border="0" align="left"> <tr> <td align="right"><img src="{LEFT_GRAPH_IMAGE}" width="4" height="12" alt="{datarow.PERCENTAGE}%" /></td> </tr> </table> <table cellspacing="0" cellpadding="0" border="0" align="left" width="{datarow.BAR}%"> <tr> <td><img src="{GRAPH_IMAGE}" width="100%" height="12" alt="{datarow.PERCENTAGE}%" /></td> </tr> </table> <table cellspacing="0" cellpadding="0" border="0" align="left"> <tr> <td align="left"><img src="{RIGHT_GRAPH_IMAGE}" width="4" height="12" alt="{datarow.PERCENTAGE}%" /></td> </tr> </table> </td> </tr> <!-- END datarow --> </table> </td> </tr> </table> --- NEW FILE: sitestats_topsmilies_body.tpl --- <script language="javascript" type="text/javascript"> <!-- if( typeof(mix_preloadImage) == 'undefined' ) function mix_preloadImage(arg) { if( document.images ) { i = new Image(); i.src = arg; return i; } return null; } if( typeof(mix_imgGraph_Left ) == 'undefined' ) mix_imgGraph_Left = mix_preloadImage("{LEFT_GRAPH_IMAGE}"); if( typeof(mix_imgGraph_Center) == 'undefined' ) mix_imgGraph_Center = mix_preloadImage("{GRAPH_IMAGE}"); if( typeof(mix_imgGraph_Right ) == 'undefined' ) mix_imgGraph_Right = mix_preloadImage("{RIGHT_GRAPH_IMAGE}"); // --> </script> <table width="100%" cellpadding="0" cellspacing="0" border="0" class="forumline"> <!-- <tr> <th class="thHead" align="center"> {L_TITLE} </th> </tr> --> <tr> <td> <table width="100%" cellpadding="4" cellspacing="1" border="0" class="forumline" style="border:none;"> <tr> <td class="catHead" align="center" width="5%" ><b>{L_RANK}</b></td> <td class="catHead" align="center" width="10%"><b>{L_IMAGE}</b></td> <td class="catHead" align="center" width="15%"><b>{L_CODE}</b></td> <td class="catHead" align="center" width="10%" ><b>{L_USES}</b></td> <td class="catHead" align="center" width="10%"><b>{L_PERCENTAGE}</b></td> <td class="catHead" align="center" width="50%"><b>{L_GRAPH}</b></td> </tr> <!-- BEGIN datarow --> <tr> <td class="{datarow.CLASS}" align="center"><span class="{TEXT_CLASS}">{datarow.RANK}</span></td> <td class="{datarow.CLASS}" align="center"><span class="{TEXT_CLASS}">{datarow.URL}</span></td> <td class="{datarow.CLASS}" align="center"><span class="{TEXT_CLASS}">{datarow.CODE}</span></td> <td class="{datarow.CLASS}" align="center"><span class="{TEXT_CLASS}">{datarow.USES}</span></td> <td class="{datarow.CLASS}" align="center"><span class="{TEXT_CLASS}">{datarow.PERCENTAGE}%</span></td> <td class="{datarow.CLASS}" align="left"> <table cellspacing="0" cellpadding="0" border="0" align="left"> <tr> <td align="right"><img src="{LEFT_GRAPH_IMAGE}" width="4" height="12" alt="{datarow.PERCENTAGE}%" /></td> </tr> </table> <table cellspacing="0" cellpadding="0" border="0" align="left" width="{datarow.BAR}%"> <tr> <td><img src="{GRAPH_IMAGE}" width="100%" height="12" alt="{datarow.PERCENTAGE}%" /></td> </tr> </table> <table cellspacing="0" cellpadding="0" border="0" align="left"> <tr> <td align="left"><img src="{RIGHT_GRAPH_IMAGE}" width="4" height="12" alt="{datarow.PERCENTAGE}%" /></td> </tr> </table> </td> </tr> <!-- END datarow --> </table> </td> </tr> </table> --- NEW FILE: sitestats_toptopics_body.tpl --- <table width="100%" cellpadding="0" cellspacing="0" border="0" class="forumline" style="border:none;"> <tr> <td width="50%" valign="top" style="padding-right:2px;"> <table width="100%" cellpadding="0" cellspacing="0" border="0" class="forumline"> <tr> <th class="thHead" align="center"> {L_TITLE1} </th> </tr> <tr> <td> <table width="100%" cellpadding="4" cellspacing="1" border="0" class="forumline" style="border:none;"> <tr> <td class="catHead" align="center" width="5%" ><b>{L_RANK}</b></td> <td class="catHead" align="center" width="20%"><b>{L_VIEWS}</b></td> <td class="catHead" align="center" width="75%"><b>{L_TOPIC}</b></td> </tr> <!-- BEGIN datarow1 --> <tr> <td class="{datarow1.CLASS}" align="center"><span class="{TEXT_CLASS}">{datarow1.RANK}</span></td> <td class="{datarow1.CLASS}" align="center"><span class="{TEXT_CLASS}">{datarow1.VIEWS}</span></td> <td class="{datarow1.CLASS}" align="left" ><span class="{TEXT_CLASS}"><a href="{datarow1.URL}">{datarow1.TITLE}</a></span></td> </tr> <!-- END datarow1 --> </table> </td> </tr> </table> </td> <td width="50%" valign="top" style="padding-left:2px;"> <table width="100%" cellpadding="0" cellspacing="0" border="0" class="forumline"> <tr> <th class="thHead" align="center"> {L_TITLE2} </th> </tr> <tr> <td> <table width="100%" cellpadding="4" cellspacing="1" border="0" class="forumline" style="border:none;"> <tr> <td class="catHead" align="center" width="5%" ><b>{L_RANK}</b></td> <td class="catHead" align="center" width="20%"><b>{L_REPLIES}</b></td> <td class="catHead" align="center" width="75%"><b>{L_TOPIC}</b></td> </tr> <!-- BEGIN datarow2 --> <tr> <td class="{datarow2.CLASS}" align="center"><span class="{TEXT_CLASS}">{datarow2.RANK}</span></td> <td class="{datarow2.CLASS}" align="center"><span class="{TEXT_CLASS}">{datarow2.REPLIES}</span></td> <td class="{datarow2.CLASS}" align="left" ><span class="{TEXT_CLASS}"><a href="{datarow2.URL}">{datarow2.TITLE}</a></span></td> </tr> <!-- END datarow2 --> </table> </td> </tr> </table> </td> </tr> </table> --- NEW FILE: sitestats_topreferers_body.tpl --- <table width="100%" cellpadding="0" cellspacing="0" border="0" class="forumline"> <!-- <tr> <th class="thHead" align="center"> {L_TITLE} </th> </tr> --> <tr> <td> <table width="100%" cellpadding="4" cellspacing="1" border="0" class="forumline" style="border:none;"> <!-- BEGIN datarow --> <tr> <td class="{datarow.CLASS}" align="left" ><span class="gensmall"><a href="{datarow.U_HTTP_HOST}" target="_blank">{datarow.L_HTTP_HOST}</a></span></td> <td class="{datarow.CLASS}" align="right"><span class="gensmall">{datarow.L_HITS}</span></td> </tr> <!-- END datarow --> </table> </td> </tr> </table> --- NEW FILE: sitestats_topavatars_body.tpl --- <script language="javascript" type="text/javascript"> <!-- if( typeof(mix_preloadImage) == 'undefined' ) function mix_preloadImage(arg) { if( document.images ) { i = new Image(); i.src = arg; return i; } return null; } if( typeof(mix_imgGraph_Left ) == 'undefined' ) mix_imgGraph_Left = mix_preloadImage("{LEFT_GRAPH_IMAGE}"); if( typeof(mix_imgGraph_Center) == 'undefined' ) mix_imgGraph_Center = mix_preloadImage("{GRAPH_IMAGE}"); if( typeof(mix_imgGraph_Right ) == 'undefined' ) mix_imgGraph_Right = mix_preloadImage("{RIGHT_GRAPH_IMAGE}"); // --> </script> <table width="100%" cellpadding="0" cellspacing="0" border="0" class="forumline"> <!-- <tr> <th class="thHead" align="center"> {L_TITLE} </th> </tr> --> <tr> <td> <table width="100%" cellpadding="4" cellspacing="1" border="0" class="forumline" style="border:none;"> <tr> <td class="catHead" align="center" width="5%" ><b>{L_RANK}</b></td> <td class="catHead" align="center" width="25%"><b>{L_AVATAR}</b></td> <td class="catHead" align="center" width="10%" ><b>{L_USES}</b></td> <td class="catHead" align="center" width="10%"><b>{L_PERCENTAGE}</b></td> <td class="catHead" align="center" width="50%"><b>{L_GRAPH}</b></td> </tr> <!-- BEGIN datarow --> <tr> <td class="{datarow.CLASS}" align="center"><span class="{TEXT_CLASS}">{datarow.RANK}</span></td> <td class="{datarow.CLASS}" align="center"><span class="{TEXT_CLASS}">{datarow.URL}</span></td> <td class="{datarow.CLASS}" align="center"><span class="{TEXT_CLASS}">{datarow.USES}</span></td> <td class="{datarow.CLASS}" align="center"><span class="{TEXT_CLASS}">{datarow.PERCENTAGE}%</span></td> <td class="{datarow.CLASS}" align="left"> <table cellspacing="0" cellpadding="0" border="0" align="left"> <tr> <td align="right"><img src="{LEFT_GRAPH_IMAGE}" width="4" height="12" alt="{datarow.PERCENTAGE}%" /></td> </tr> </table> <table cellspacing="0" cellpadding="0" border="0" align="left" width="{datarow.BAR}%"> <tr> <td><img src="{GRAPH_IMAGE}" width="100%" height="12" alt="{datarow.PERCENTAGE}%" /></td> </tr> </table> <table cellspacing="0" cellpadding="0" border="0" align="left"> <tr> <td align="left"><img src="{RIGHT_GRAPH_IMAGE}" width="4" height="12" alt="{datarow.PERCENTAGE}%" /></td> </tr> </table> </td> </tr> <!-- END datarow --> </table> </td> </tr> </table> --- NEW FILE: sitestats_topstarters_body.tpl --- <script language="javascript" type="text/javascript"> <!-- if( typeof(mix_preloadImage) == 'undefined' ) function mix_preloadImage(arg) { if( document.images ) { i = new Image(); i.src = arg; return i; } return null; } if( typeof(mix_imgGraph_Left ) == 'undefined' ) mix_imgGraph_Left = mix_preloadImage("{LEFT_GRAPH_IMAGE}"); if( typeof(mix_imgGraph_Center) == 'undefined' ) mix_imgGraph_Center = mix_preloadImage("{GRAPH_IMAGE}"); if( typeof(mix_imgGraph_Right ) == 'undefined' ) mix_imgGraph_Right = mix_preloadImage("{RIGHT_GRAPH_IMAGE}"); // --> </script> <table width="100%" cellpadding="0" cellspacing="0" border="0" class="forumline"> <!-- <tr> <th class="thHead" align="center"> {L_TITLE} </th> </tr> --> <tr> <td> <table width="100%" cellpadding="4" cellspacing="1" border="0" class="forumline" style="border:none;"> <tr> <td class="catHead" align="center" width="10%"><b>{L_RANK}</b></td> <td class="catHead" align="center" width="20%"><b>{L_USERNAME}</b></td> <td class="catHead" align="center" width="10%"><b>{L_TOPICS}</b></td> <td class="catHead" align="center" width="10%"><b>{L_PERCENTAGE}</b></td> <td class="catHead" align="center" width="50%"><b>{L_GRAPH}</b></td> </tr> <!-- BEGIN datarow --> <tr> <td class="{datarow.CLASS}" align="center"><span class="{TEXT_CLASS}">{datarow.RANK}</span></td> <td class="{datarow.CLASS}" align="center"><span class="{TEXT_CLASS}"><a href="{datarow.URL}">{datarow.USERNAME}</a></span></td> <td class="{datarow.CLASS}" align="center"><span class="{TEXT_CLASS}">{datarow.TOPICS}</span></td> <td class="{datarow.CLASS}" align="center"><span class="{TEXT_CLASS}">{datarow.PERCENTAGE}%</span></td> <td class="{datarow.CLASS}" align="left"> <table cellspacing="0" cellpadding="0" border="0" align="left"> <tr> <td align="right"><img src="{LEFT_GRAPH_IMAGE}" width="4" height="12" alt="{datarow.PERCENTAGE}%" /></td> </tr> </table> <table cellspacing="0" cellpadding="0" border="0" align="left" width="{datarow.BAR}%"> <tr> <td><img src="{GRAPH_IMAGE}" width="100%" height="12" alt="{datarow.PERCENTAGE}%" /></td> </tr> </table> <table cellspacing="0" cellpadding="0" border="0" align="left"> <tr> <td align="left"><img src="{RIGHT_GRAPH_IMAGE}" width="4" height="12" alt="{datarow.PERCENTAGE}%" /></td> </tr> </table> </td> </tr> <!-- END datarow --> </table> </td> </tr> </table> --- NEW FILE: sitestats_counter_body.tpl --- <table width="100%" cellpadding="0" cellspacing="0" border="0" class="forumline"> <!-- <tr> <th class="thHead" align="center"> {L_TITLE} </th> </tr> --> <tr> <td class="row1"> <table width="100%" border="0" cellpadding="4" cellspacing="0"> <tr> <td align="center"> <table width="100%" border="0" cellpadding="2" cellspacing="0"> <!-- BEGIN counters_toshow_hits_sw --> <tr> <td align="center"> <div class="{L_TEXT_CLASS}" style="padding-bottom:4px;">{L_PAGE_HITS_TEXT}</div> <!-- BEGIN text_counter_on --> <span class="{L_COUNTER_CLASS}" style="{L_COUNTER_STYLE}">{L_PAGE_HITS_COUNTER}</span> <!-- END text_counter_on --> <!-- BEGIN text_counter_off --> {IMG_PAGE_HITS_COUNTER} <!-- END text_counter_off --> <br /> </td> </tr> <!-- END counters_toshow_hits_sw --> <!-- BEGIN counters_toshow_sess_sw --> <tr> <td align="center"> <div class="{L_TEXT_CLASS}" style="padding:4px;">{L_PAGE_SESS_TEXT}</div> <!-- BEGIN text_counter_on --> <span class="{L_COUNTER_CLASS}" style="{L_COUNTER_STYLE}">{L_PAGE_SESS_COUNTER}</span> <!-- END text_counter_on --> <!-- BEGIN text_counter_off --> {IMG_PAGE_SESS_COUNTER} <!-- END text_counter_off --> </td> </tr> <!-- END counters_toshow_sess_sw --> <!-- BEGIN more_stats_sw --> <tr> <td align="center"> <div class="{L_TEXT_CLASS}" style="padding:4px;">{L_MORE_STATS}:</div> <a href="{U_MORE_STATS}"><img src="{IMG_MORE_STATS}" border="0" alt="{L_MORE_STATS}..." /></a> </td> </tr> <!-- END more_stats_sw --> </table> </td> </tr> </table> </td> </tr> </table> --- NEW FILE: sitestats_topposters_tiny.tpl --- <table width="100%" cellpadding="0" cellspacing="0" border="0" class="forumline"> <!-- <tr> <th class="thHead" align="center"> {L_TITLE} </th> </tr> --> <tr> <td> <table width="100%" cellpadding="4" cellspacing="1" border="0" class="forumline" style="border:none;"> <!-- BEGIN datarow --> <tr> <td class="{datarow.CLASS}" align="left" ><span class="{TEXT_CLASS}"><a href="{datarow.URL}">{datarow.USERNAME}</a></span></td> <td class="{datarow.CLASS}" align="right"><span class="{TEXT_CLASS}">{datarow.POSTS}</span></td> </tr> <!-- END datarow --> </table> </td> </tr> </table> --- NEW FILE: sitestats_fastestusers_body.tpl --- <script language="javascript" type="text/javascript"> <!-- if( typeof(mix_preloadImage) == 'undefined' ) function mix_preloadImage(arg) { if( document.images ) { i = new Image(); i.src = arg; return i; } return null; } if( typeof(mix_imgGraph_Left ) == 'undefined' ) mix_imgGraph_Left = mix_preloadImage("{LEFT_GRAPH_IMAGE}"); if( typeof(mix_imgGraph_Center) == 'undefined' ) mix_imgGraph_Center = mix_preloadImage("{GRAPH_IMAGE}"); if( typeof(mix_imgGraph_Right ) == 'undefined' ) mix_imgGraph_Right = mix_preloadImage("{RIGHT_GRAPH_IMAGE}"); // --> </script> <table width="100%" cellpadding="0" cellspacing="0" border="0" class="forumline"> <!-- <tr> <th class="thHead" align="center"> {L_TITLE} </th> </tr> --> <tr> <td> <table width="100%" cellpadding="4" cellspacing="1" border="0" class="forumline" style="border:none;"> <tr> <td class="catHead" align="center" width="10%"><b>{L_RANK}</b></td> <td class="catHead" align="center" width="20%"><b>{L_USERNAME}</b></td> <td class="catHead" align="center" width="10%"><b>{L_TIME}</b></td> <td class="catHead" align="center" width="10%"><b>{L_POST_PER_DAY}</b></td> <td class="catHead" align="center" width="50%"><b>{L_GRAPH}</b></td> </tr> <!-- BEGIN datarow --> <tr> <td class="{datarow.CLASS}" align="center"><span class="{TEXT_CLASS}">{datarow.RANK}</span></td> <td class="{datarow.CLASS}" align="center"><span class="{TEXT_CLASS}"><a href="{datarow.URL}">{datarow.USERNAME}</a></span></td> <td class="{datarow.CLASS}" align="center"><span class="{TEXT_CLASS}">{datarow.TIME}</span></td> <td class="{datarow.CLASS}" align="center"><span class="{TEXT_CLASS}">{datarow.RATE}</span></td> <td class="{datarow.CLASS}" align="left"> <table cellspacing="0" cellpadding="0" border="0" align="left"> <tr> <td align="right"><img src="{LEFT_GRAPH_IMAGE}" width="4" height="12" alt="{datarow.PERCENTAGE}" /></td> </tr> </table> <table cellspacing="0" cellpadding="0" border="0" align="left" width="{datarow.BAR}%"> <tr> <td><img src="{GRAPH_IMAGE}" width="100%" height="12" alt="{datarow.PERCENTAGE}" /></td> </tr> </table> <table cellspacing="0" cellpadding="0" border="0" align="left"> <tr> <td align="left"><img src="{RIGHT_GRAPH_IMAGE}" width="4" height="12" alt="{datarow.PERCENTAGE}" /></td> </tr> </table> </td> </tr> <!-- END datarow --> </table> </td> </tr> </table> --- NEW FILE: sitestats_monthlystats_body.tpl --- <table width="100%" cellpadding="0" cellspacing="0" border="0" class="forumline"> <!-- <tr> <th class="thHead" align="center"> {L_TITLE} </th> </tr> --> <tr> <td> <table width="100%" cellpadding="4" cellspacing="1" border="0" class="forumline" style="border:none;"> <tr> <td class="catHead" align="center"><b>{L_YEAR}</b></td> <td class="catHead" align="center"><b>{L_JAN}</b></td> <td class="catHead" align="center"><b>{L_FEB}</b></td> <td class="catHead" align="center"><b>{L_MAR}</b></td> <td class="catHead" align="center"><b>{L_APR}</b></td> <td class="catHead" align="center"><b>{L_MAY}</b></td> <td class="catHead" align="center"><b>{L_JUN}</b></td> <td class="catHead" align="center"><b>{L_JUL}</b></td> <td class="catHead" align="center"><b>{L_AUG}</b></td> <td class="catHead" align="center"><b>{L_SEP}</b></td> <td class="catHead" align="center"><b>{L_OCT}</b></td> <td class="catHead" align="center"><b>{L_NOV}</b></td> <td class="catHead" align="center"><b>{L_DEC}</b></td> </tr> <!-- BEGIN datarow --> <tr> <td class="{datarow.CLASS}" align="center"><span class="{TEXT_CLASS}">{datarow.YEAR}</span></td> <td class="{datarow.CLASS}" align="center"><span class="{TEXT_CLASS}">{datarow.M01}</span></td> <td class="{datarow.CLASS}" align="center"><span class="{TEXT_CLASS}">{datarow.M02}</span></td> <td class="{datarow.CLASS}" align="center"><span class="{TEXT_CLASS}">{datarow.M03}</span></td> <td class="{datarow.CLASS}" align="center"><span class="{TEXT_CLASS}">{datarow.M04}</span></td> <td class="{datarow.CLASS}" align="center"><span class="{TEXT_CLASS}">{datarow.M05}</span></td> <td class="{datarow.CLASS}" align="center"><span class="{TEXT_CLASS}">{datarow.M06}</span></td> <td class="{datarow.CLASS}" align="center"><span class="{TEXT_CLASS}">{datarow.M07}</span></td> <td class="{datarow.CLASS}" align="center"><span class="{TEXT_CLASS}">{datarow.M08}</span></td> <td class="{datarow.CLASS}" align="center"><span class="{TEXT_CLASS}">{datarow.M09}</span></td> <td class="{datarow.CLASS}" align="center"><span class="{TEXT_CLASS}">{datarow.M10}</span></td> <td class="{datarow.CLASS}" align="center"><span class="{TEXT_CLASS}">{datarow.M11}</span></td> <td class="{datarow.CLASS}" align="center"><span class="{TEXT_CLASS}">{datarow.M12}</span></td> </tr> <!-- END datarow --> </table> </td> </tr> </table> --- NEW FILE: sitestats_topwords_body.tpl --- <script language="javascript" type="text/javascript"> <!-- if( typeof(mix_preloadImage) == 'undefined' ) function mix_preloadImage(arg) { if( document.images ) { i = new Image(); i.src = arg; return i; } return null; } if( typeof(mix_imgGraph_Left ) == 'undefined' ) mix_imgGraph_Left = mix_preloadImage("{LEFT_GRAPH_IMAGE}"); if( typeof(mix_imgGraph_Center) == 'undefined' ) mix_imgGraph_Center = mix_preloadImage("{GRAPH_IMAGE}"); if( typeof(mix_imgGraph_Right ) == 'undefined' ) mix_imgGraph_Right = mix_preloadImage("{RIGHT_GRAPH_IMAGE}"); // --> </script> <table width="100%" cellpadding="0" cellspacing="0" border="0" class="forumline"> <!-- <tr> <th class="thHead" align="center"> {L_TITLE} </th> </tr> --> <tr> <td> <table width="100%" cellpadding="4" cellspacing="1" border="0" class="forumline" style="border:none;"> <tr> <td class="catHead" align="center" width="5%" ><b>{L_RANK}</b></td> <td class="catHead" align="center" width="25%"><b>{L_WORD}</b></td> <td class="catHead" align="center" width="10%" ><b>{L_USES}</b></td> <td class="catHead" align="center" width="10%"><b>{L_PERCENTAGE}</b></td> <td class="catHead" align="center" width="50%"><b>{L_GRAPH}</b></td> </tr> <!-- BEGIN datarow --> <tr> <td class="{datarow.CLASS}" align="center"><span class="{TEXT_CLASS}">{datarow.RANK}</span></td> <td class="{datarow.CLASS}" align="center"><span class="{TEXT_CLASS}">{datarow.WORD}</span></td> <td class="{datarow.CLASS}" align="center"><span class="{TEXT_CLASS}">{datarow.USES}</span></td> <td class="{datarow.CLASS}" align="center"><span class="{TEXT_CLASS}">{datarow.PERCENTAGE}%</span></td> <td class="{datarow.CLASS}" align="left"> <table cellspacing="0" cellpadding="0" border="0" align="left"> <tr> <td align="right"><img src="{LEFT_GRAPH_IMAGE}" width="4" height="12" alt="{datarow.PERCENTAGE}%" /></td> </tr> </table> <table cellspacing="0" cellpadding="0" border="0" align="left" width="{datarow.BAR}%"> <tr> <td><img src="{GRAPH_IMAGE}" width="100%" height="12" alt="{datarow.PERCENTAGE}%" /></td> </tr> </table> <table cellspacing="0" cellpadding="0" border="0" align="left"> <tr> <td align="left"><img src="{RIGHT_GRAPH_IMAGE}" width="4" height="12" alt="{datarow.PERCENTAGE}%" /></td> </tr> </table> </td> </tr> <!-- END datarow --> </table> </td> </tr> </table> |
|
From: Jon O. <jon...@us...> - 2005-10-15 22:18:37
|
Update of /cvsroot/mxbb/mx_sitestats/templates/subSilver/admin In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv29610/templates/subSilver/admin Added Files: sitestats_counter_admin.tpl sitestats_referers_admin.tpl sitestats_settings.tpl Log Message: readded this module... --- NEW FILE: sitestats_referers_admin.tpl --- <h1>{L_TITLE}</h1> <p>{L_EXPLAIN}</p> <script language="javascript" type="text/javascript"> <!-- function switchMarks(status) { for( var i=0; i < document.referers_admin.length; i++ ) if( document.referers_admin.elements[i].type == 'checkbox' ) document.referers_admin.elements[i].checked = status; } function IsMarked() { for( var i=0; i < document.referers_admin.length; i++ ) if( document.referers_admin.elements[i].type == 'checkbox' && document.referers_admin.elements[i].checked ) return true; alert("{L_NO_ITEMS_MARKED}"); return false; } function confirmOperation() { return( IsMarked() && confirm("{L_PLEASE_CONFIRM}") ); } function confirmDeleteAll() { return( confirm("{L_PLEASE_CONFIRM}") ); } // --> </script> <form action="{U_FORM_ACTION}" method="post" name="referers_admin"> <table width="100%" cellpadding="4" cellspacing="1" border="0"> <tr> <td align="left" valign="middle"> <span class="gensmall"><b>{L_SELECT_FILTER}:</b> <input type="radio" name="filter" value="enabled" id="enabled" {ENABLED_SELECTED}><label for="enabled">{L_ENABLED}</label> <input type="radio" name="filter" value="disabled" id="disabled" {DISABLED_SELECTED}><label for="disabled">{L_DISABLED}</label> <input type="submit" value="{L_GO}" class="liteoption"> </span> </td> <td align="right" valign="middle"> <span class="gensmall"><b>{L_SELECT_SORT_METHOD}:</b> <select name="sort">{S_SORT_METHOD}</select> <b>{L_ORDER}:</b> <select name="order"> <option value="" {ASC_SELECTED} >{L_SORT_ASCENDING}</option> <option value="DESC" {DESC_SELECTED} >{L_SORT_DESCENDING}</option> </select> <input type="submit" value="{L_SORT}" class="liteoption"> </span> </td> </tr> </table> <!-- BEGIN ok_referers_sw --> <table width="100%" cellpadding="4" cellspacing="1" border="0"> <tr> <td align="left" valign="middle"><span class="nav">{PAGE_NUMBER}</span></td> <td align="right" valign="middle"><span class="nav">{PAGINATION}</span></td> </tr> </table> <!-- END ok_referers_sw --> <table width="100%" cellpadding="4" cellspacing="1" border="0" class="forumline"> <tr> <th class="thHead" colspan="5">{L_TITLE}</th> </tr> <tr> <td class="cat" align="center" valign="middle"><span class="gen"><b>{L_REFERER_HOST}</b></span></td> <td class="cat" align="center" valign="middle"><span class="gen"><b>{L_REFERER_HITS}</b></span></td> <td class="cat" align="center" valign="middle"><span class="gen"><b>{L_FIRST_VISIT}</b></span></td> <td class="cat" align="center" valign="middle"><span class="gen"><b>{L_LAST_VISIT}</b></span></td> <td class="cat" align="center" valign="middle"><span class="gen"><b>{L_MARK}</b></span></td> </tr> <!-- BEGIN datarow --> <tr> <td class="{datarow.ROW_CLASS}" align="left" valign="middle"><a href="http://{datarow.HOST}" target="_blank"><span class="genmed">{datarow.HOST}</span></a></td> <td class="{datarow.ROW_CLASS}" align="right" valign="middle"><span class="genmed">{datarow.HITS}</span></td> <td class="{datarow.ROW_CLASS}" align="center" valign="middle"><span class="genmed">{datarow.FIRST_VISIT}</span></td> <td class="{datarow.ROW_CLASS}" align="center" valign="middle"><span class="genmed">{datarow.LAST_VISIT}</span></td> <td class="{datarow.ROW_CLASS}" align="center" valign="middle"><input type="checkbox" name="id_list[]" value="{datarow.ID}"></td> </tr> <!-- END datarow --> <!-- BEGIN no_referers_sw --> <tr> <td class="row1" colspan="5" align="center" valign="middle"><span class="gen">{L_NO_REFERERS}</span></td> </tr> <!-- END no_referers_sw --> <tr> <td class="cat" colspan="5" align="center" valign="middle"> <table width="100%" cellpadding="0" cellspacing="0" border="0"> <td align="left" valign="middle"> <input type="button" name="mark_all" value="{L_MARK_ALL}" class="liteoption" onClick="switchMarks(true);" /> <input type="button" name="unmark_all" value="{L_UNMARK_ALL}" class="liteoption" onClick="switchMarks(false);" /> </td> <td align="right" valign="middle"> <input type="submit" name="enable" value="{L_ENABLE_MARKED}" class="liteoption" onClick="return confirmOperation();" /> <input type="submit" name="delete" value="{L_DELETE_MARKED}" class="liteoption" onClick="return confirmOperation();" /> <input type="submit" name="deleteall" value="{L_DELETE_ALL}" class="liteoption" onClick="return confirmDeleteAll();" /> </td> </tr> </table> </td> </tr> </table> <!-- BEGIN ok_referers_sw --> <table width="100%" cellpadding="4" cellspacing="1" border="0"> <tr> <td align="left" valign="middle"><span class="nav">{PAGE_NUMBER}</span></td> <td align="right" valign="middle"><span class="nav">{PAGINATION}</span></td> </tr> </table> <!-- END ok_referers_sw --> </form> --- NEW FILE: sitestats_counter_admin.tpl --- <h1>{L_PAGE_TITLE}</h1> <p>{L_PAGE_EXPLAIN}</p> <table width="100%" cellspacing="1" cellpadding="4" border="0" align="center" class="forumline"> <tr> <th class="thCornerL">{L_COUNTER_ID}</th> <th class="thTop">{L_COUNTER_PAGE}</th> <th class="thTop">{L_COUNTER_HITS}</th> <th class="thTop">{L_COUNTER_SESS}</th> <th class="thCornerR" colspan="2">{L_ACTION}</th> </tr> <!-- BEGIN counter_rows --> <tr> <td class="row1" align="center">{counter_rows.COUNTER_ID}</td> <td class="row1" align="left" >{counter_rows.COUNTER_PAGE}</td> <td class="row1" align="right" >{counter_rows.COUNTER_HITS}</td> <td class="row1" align="right" >{counter_rows.COUNTER_SESS}</td> <td class="row2" align="center"><a href="{counter_rows.U_EDIT}">{L_EDIT}</a></td> <td class="row2" align="center"><a href="{counter_rows.U_DELETE}">{L_DELETE}</a></td> </tr> <!-- END counter_rows --> <tr> <td class="catBottom" colspan="6" align="center"> [<a href="{U_ADD}">{L_ADD}</a>] </td> </tr> </table> <br clear="all" /> --- NEW FILE: sitestats_settings.tpl --- <h1>{L_SITESTATS_SETTINGS}</h1> <p>{L_SITESTATS_SETTINGS_EXPLAIN}<br /></p> <script language="javascript" type="text/javascript"> <!-- var aImgExts = new Array(); var iImgExts = 0; aImgExts[iImgExts++] = ""; // First element is RenderAsText! <!-- BEGIN imginfo --> aImgExts[iImgExts++] = "{imginfo.EXTENSION}"; <!-- END imginfo --> function updateImages() { var oSelect, iImage, sImageType, sExtension; if( !document.images ) return; oSelect = document.sitestats_form.elements['counter_type']; iImage = (oSelect.selectedIndex >= 0 && oSelect.selectedIndex < aImgExts.length ? oSelect.selectedIndex : -1); if( iImage >= 0 ) { sImageType = oSelect.options[iImage].value; sExtension = aImgExts[iImage]; } else { sImageType = ''; sExtension = ''; } for( var i=0; i < 10; i++ ) { document.images['img_'+i].src = ( sImageType == '' ) ? "{SPACER}" : "{DIGITS_PATH}"+sImageType+"/"+i+"."+sExtension; } } // --> </script> <form action="{S_ACTION}" method="post" name="sitestats_form"> <table width="99%" cellpadding="4" cellspacing="1" border="0" align="center" class="forumline"> <tr> <th class="thHead" colspan="2">{L_COUNTER_SETTINGS}</th> </tr> <tr> <td class="row1" valign="middle"><p><b>{L_COUNTER_TYPE}:</b><br><span class="gensmall">{L_COUNTER_TYPE_EXPLAIN}</span></p></td> <td class="row2"><select name="counter_type" onChange="updateImages();">{SELECT_COUNTER_TYPE}</select><br />{SAMPLE_DIGITS}</td> </tr> <tr> <td class="row1" valign="middle"><p><b>{L_TEXT_CLASS}:</b><br><span class="gensmall">{L_TEXT_CLASS_EXPLAIN}</span></p></td> <td class="row2"><select name="text_class">{SELECT_TEXT_CLASS}</select></td> </tr> <tr> <td class="row1" valign="middle"><p><b>{L_COUNTER_CLASS}:</b><br><span class="gensmall">{L_COUNTER_CLASS_EXPLAIN}</span></p></td> <td class="row2"><select name="counter_class">{SELECT_COUNTER_CLASS}</select></td> </tr> <tr> <td class="row1" valign="middle"><p><b>{L_COUNTER_STYLE}:</b><br><span class="gensmall">{L_COUNTER_STYLE_EXPLAIN}</span></p></td> <td class="row2"><input type="text" maxlength="150" size="40" name="counter_style" value="{COUNTER_STYLE}" /></td> </tr> <tr> <td class="row1" valign="middle"><p><b>{L_COUNTER_SIZE}:</b><br><span class="gensmall">{L_COUNTER_SIZE_EXPLAIN}</span></p></td> <td class="row2"><input type="text" maxlength="5" size="5" name="counter_size" value="{COUNTER_SIZE}" /></td> </tr> <tr> <td class="row1"><p><b>{L_COUNTER_TOSHOW}:</b><br><span class="gensmall">{L_COUNTER_TOSHOW_EXPLAIN}</span></p></td> <td class="row2"> <input type="radio" name="counters_toshow" value="1" id="counters_toshow_hits" {COUNTER_TOSHOW_HITS} /> <label for="counters_toshow_hits">{L_HITS}</label> <input type="radio" name="counters_toshow" value="2" id="counters_toshow_sess" {COUNTER_TOSHOW_SESS} /> <label for="counters_toshow_sess">{L_SESSIONS}</label> <input type="radio" name="counters_toshow" value="0" id="counters_toshow_both" {COUNTER_TOSHOW_BOTH} /> <label for="counters_toshow_both">{L_BOTH}</label> </td> </tr> <tr> <td class="row1" valign="middle"><p><b>{L_MORE_STATS_PAGE}:</b><br><span class="gensmall">{L_MORE_STATS_PAGE_EXPLAIN}</span></p></td> <td class="row2"><input type="text" maxlength="5" size="5" name="more_stats_page" value="{MORE_STATS_PAGE}" /></td> </tr> <tr> <td class="spaceRow" colspan="2" height="1"><img src="{SPACER}" alt="" width="1" height="1" /></td> </tr> <tr> <th class="thHead" colspan="2">{L_REFERERS_SETTINGS}</th> </tr> <tr> <td class="row1"><p><b>{L_REFERERS_LOGGING}:</b><br><span class="gensmall">{L_REFERERS_LOGGING_EXPLAIN}</span></p></td> <td class="row2"> <input type="radio" name="referers_logging" value="1" id="logging_on" {REFERERS_LOGGING_ON} /> <label for="logging_on">{L_ON}</label> <input type="radio" name="referers_logging" value="0" id="logging_off" {REFERERS_LOGGING_OFF} /> <label for="logging_off">{L_OFF}</label> </td> </tr> <tr> <td class="row1" valign="middle"><p><b>{L_REFERERS_COUNT}:</b><br><span class="gensmall">{L_REFERERS_COUNT_EXPLAIN}</span></p></td> <td class="row2"><input type="text" maxlength="5" size="5" name="referers_count" value="{REFERERS_COUNT}" /></td> </tr> <tr> <td class="row1"><p><b>{L_REFERERS_SHOWDIS}:</b><br><span class="gensmall">{L_REFERERS_SHOWDIS_EXPLAIN}</span></p></td> <td class="row2"> <input type="radio" name="referers_show_disabled" value="1" id="showdis_on" {REFERERS_SHOWDIS_ON} /> <label for="showdis_on">{L_ON}</label> <input type="radio" name="referers_show_disabled" value="0" id="showdis_off" {REFERERS_SHOWDIS_OFF} /> <label for="showdis_off">{L_OFF}</label> </td> </tr> <tr> <td class="spaceRow" colspan="2" height="1"><img src="{SPACER}" alt="" width="1" height="1" /></td> </tr> <tr> <td class="catBottom" colspan="2" align="center">{S_HIDDEN_FIELDS} <input type="submit" name="submit" value="{L_SUBMIT}" class="mainoption" /> <input type="reset" value="{L_RESET}" class="liteoption" onClick="setTimeout('updateImages();',500);" /> </td> </tr> </table> </form> <br clear="all" /> |
|
From: Jon O. <jon...@us...> - 2005-10-15 22:18:37
|
Update of /cvsroot/mxbb/mx_sitestats/language/lang_english In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv29610/language/lang_english Added Files: lang_admin.php lang_main.php Log Message: readded this module... --- NEW FILE: lang_main.php --- <?php /** ------------------------------------------------------------------------ * Subject : mxBB - a fully modular portal and CMS (for phpBB) * Author : Jon Ohlsson and the mxBB Team * Credits : The phpBB Group & Marc Morisette, Marc Ferran (www.phpmix.com) * Copyright : (C) 2002-2005 mxBB Portal, phpMiX (c) 2004 * Email : jo...@mx... * Project site : www.mxbb-portal.com * ------------------------------------------------------------------------- * * $Id: lang_main.php,v 1.1 2005/10/15 22:18:28 jonohlsson Exp $ */ /** * 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, or * (at your option) any later version. */ // // The format of this file is: // // ---> $lang["message"] = "text"; // // Specify your language character encoding... [optional] // // setlocale(LC_ALL, "en"); // // SiteStats Counter (v.1.0.0) // $lang['SiteStats'] = "Site Statistics"; $lang['SiteStats_Page_Hits_Counter'] = "Hits Counter:"; $lang['SiteStats_Page_Sess_Counter'] = "Sessions:"; // Added v.1.3.0 // // SiteStats SiteStaff block (v.1.1.0) // $lang['SiteStats_Staff'] = "Site Staff"; $lang['SiteStats_Staff_Forums'] = "Forums"; $lang['SiteStats_Staff_Mod'] = "Moderator"; $lang['SiteStats_Staff_Admin'] = "Administrator"; $lang['SiteStats_Staff_Super'] = "Super Moderator"; $lang['SiteStats_Staff_Junior'] = "Junior Admin"; $lang['SiteStats_Staff_Period'] = "since <b>%d</b> days"; // %d = days $lang['SiteStats_Staff_Messenger'] = "Messenger"; // // SiteStats several statistics blocks (v.1.2.0) // $lang['Admin_Stats'] = "ggAdministrative Statistics"; $lang['Statistic'] = "Statistic"; $lang['Value'] = "Value"; $lang['Board_Up_Days'] = "Board Up Days"; $lang['Latest_Reg_User'] = "Latest User Registered"; $lang['Latest_Reg_User_Date'] = "Latest User Registered Date"; $lang['Most_Ever_Online'] = "Most Users Ever Online"; $lang['Most_Ever_Online_Date'] = "Most Users Ever Online Date"; $lang['Disk_usage'] = "Disk Usage"; $lang['Staff'] = "Site Staff"; $lang['Top_Posters'] = "Top Posters"; $lang['Top_Starters'] = "Most Active Topic Starters"; $lang['Fastest_Users'] = "Fastest Users"; $lang['Most_In_Topics'] = "Topic Interest"; $lang['Most_Viewed_Topics'] = "Most Viewed Topics"; $lang['Most_Active_Topics'] = "Most Active Topics"; $lang['Most_Interesting_Topics'] = "Most Interesting Topics"; $lang['Least_Interesting_Topics'] = "Least Interesting Topics"; $lang['Top_Topics'] = "Topic Stats"; $lang['Top_Smilies'] = "Top Used Smilies"; $lang['Top_Avatars'] = "Top Used Avatars"; $lang['Top_Words'] = "Top Used Words"; $lang['Users_Ranks'] = "Users Ranks"; $lang['Monthly_Topics'] = "Number of New Topics by Month"; $lang['Monthly_Posts'] = "Number of New Posts by Month"; $lang['Monthly_Users'] = "Number of New Users by Month"; $lang['Rank'] = "Rank"; $lang['Percent'] = "Percent"; $lang['Graph'] = "Graph"; $lang['Uses'] = "Uses"; $lang['time_on_forum'] = "Days on forum"; $lang['posts_day'] = "Messages per day"; $lang['views_per_replies'] = "Rate (views/replies)"; $lang['Word'] = "Word"; $lang['Rank_Title_Image'] = "Rank Title/Image"; $lang['Rank_range'] = "Rank Range"; $lang['Special_Rank'] = "Special Rank"; $lang['Year'] = "Year"; $lang['Month'] = "Month"; $lang['Number'] = "Number"; // // SiteStats Referer (v.1.3.0) // $lang['SiteStats_TopReferers'] = "Top Referers"; // // That's all Folks! // ------------------------------------------------- ?> --- NEW FILE: lang_admin.php --- <?php /** ------------------------------------------------------------------------ * Subject : mxBB - a fully modular portal and CMS (for phpBB) * Author : Jon Ohlsson and the mxBB Team * Credits : The phpBB Group & Marc Morisette, Marc Ferran (www.phpmix.com) * Copyright : (C) 2002-2005 mxBB Portal, phpMiX (c) 2004 * Email : jo...@mx... * Project site : www.mxbb-portal.com * ------------------------------------------------------------------------- * * $Id: lang_admin.php,v 1.1 2005/10/15 22:18:28 jonohlsson Exp $ */ /** * 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, or * (at your option) any later version. */ // // The format of this file is: // // ---> $lang["message"] = "text"; // // Specify your language character encoding... [optional] // // setlocale(LC_ALL, "en"); // // SiteStats v.1.0.0 // $lang['SiteStats_Text_Class'] = "CSS Class for Text"; $lang['SiteStats_Text_Classinfo'] = "Use this parameter to select the CSS class for the Counter Text."; $lang['SiteStats_Counter_Class'] = "CSS Class for Counter"; $lang['SiteStats_Counter_Classinfo'] = "Use this parameter to select the CSS class for the Counter Number."; $lang['SiteStats_Counter_Style'] = "Additional CSS Style for Counter"; $lang['SiteStats_Counter_Styleinfo'] = "Use this parameter to select additional CSS styles for the Counter Number (do not use quotes).<br />For instance:<br />font-weight:bold;color:white;background-color:black;border:solid blue 1px;"; $lang['SiteStats_Counter_Size'] = "Counter Size"; $lang['SiteStats_Counter_Sizeinfo'] = "Specify number of digits (padding with leading zeros) to display for your counter."; // // SiteStats v.1.0.1 // $lang['SiteStats'] = "Site Statistics"; $lang['Counter_Settings'] = "Counter Block Settings"; $lang['Counter_Settings_explain'] = "Use this form to configure Counter Block Settings."; $lang['Counter_Management'] = "Counter Management"; $lang['Counter_Management_explain'] = "Use this form to add, edit or delete page counters."; $lang['SiteStats_Counter_id'] = "Id."; $lang['SiteStats_Counter_page'] = "Page"; $lang['SiteStats_Counter_hits'] = "Hits"; $lang['SiteStats_Counter_sess'] = "Sessions"; $lang['Counter_Config_updated'] = "Counter Configuration Updated Successfully."; $lang['Click_return_Counter_admin'] = "Click %sHere%s to return to Counter Management."; $lang['Confirm_delete_counter'] = "Are you sure you want to delete this counter?"; $lang['Error_page_empty'] = "Sorry, Page is empty. Please, retry."; // // SiteStats (v.1.3.0) // $lang['SiteStats_Settings'] = "SiteStats Settings"; $lang['SiteStats_Settings_explain'] = "Use this form to configure SiteStats features."; $lang['SiteStats_Settings_updated'] = "SiteStats Settings Updated Sucessfully."; $lang['SiteStats_Settings_return'] = "Click %sHere%s to return to SiteStats Settings."; $lang['SiteStats_Counter_Type'] = "Counter Type"; $lang['SiteStats_Counter_Typeinfo'] = "Specify to Render the counter as Text or select the Digits style."; $lang['SiteStats_Counter_TypeText'] = "Render as text"; $lang['SiteStats_Counter_ToShow'] = "Counters to Show"; $lang['SiteStats_Counter_ToShowinfo'] = "Specify which counters you wish to show on the block."; $lang['SiteStats_MoreStats_Page'] = "More Statistics Page"; $lang['SiteStats_MoreStats_Pageinfo'] = "Specify the Number of the portal page which contains your SiteStats blocks. This feature will add a link to that page under the Counters.<br />If you do not wish to show this link, just enter <b>0</b> or leave this field blank."; $lang['SiteStats_MoreStats'] = "More Statistics"; $lang['Text'] = "Text"; $lang['Referers_Settings'] = "Referers Settings"; $lang['Referers_Settings_explain'] = "Use this form to configure TopReferers Block Settings."; $lang['Referers_Logging'] = "Enable Referers Logging"; $lang['Referers_Logginginfo'] = "Use this parameter to enable or disable the HTTP Referers Log (information will be stored into your database)."; $lang['SiteStats_TopReferers_Count'] = "Top Referers Count"; $lang['SiteStats_TopReferers_Countinfo'] = "Specify how many Referers you wish to show on the TopReferers block."; $lang['SiteStats_TopReferers_ShowDisabled'] = "Show Disabled Referers"; $lang['SiteStats_TopReferers_ShowDisabledinfo'] = "This feature allows you to control (using <b>Referers Management</b>) which hosts are eligible to be shown on your site."; $lang['On'] = "On"; $lang['Off'] = "Off"; $lang['Referers_Management'] = "Referers Management"; $lang['Referers_Management_explain'] = "Use this form to manage HTTP Referers stored in your database. Total number of records: "; $lang['Host'] = "Host"; $lang['Hits'] = "Hits"; $lang['First_visit'] = "First visit"; $lang['Last_visit'] = "Last visit"; $lang['Select_filter'] = "Select filter"; $lang['Enabled'] = "Enabled"; $lang['Disabled'] = "Disabled"; $lang['No_Enabled_Referers'] = "No <b>ENABLED</b> Referers in your database, yet!"; $lang['No_Disabled_Referers'] = "No <b>DISABLED</b> Referers in your database, yet!"; $lang['Enable_marked'] = "Enable Marked"; $lang['Disable_marked'] = "Disable Marked"; $lang['Please_confirm'] = "Are you sure you want to perform this operation?"; $lang['No_items_marked'] = "Please, mark one or more items to perform this operation."; $lang['Add'] = "Add"; $lang['Both'] = "Both"; // // That's all Folks! // ------------------------------------------------- ?> |
|
From: Jon O. <jon...@us...> - 2005-10-15 22:18:37
|
Update of /cvsroot/mxbb/mx_sitestats/admin In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv29610/admin Added Files: admin_counter.php admin_referers.php admin_sitestats.php Log Message: readded this module... --- NEW FILE: admin_referers.php --- <?php /** ------------------------------------------------------------------------ * Subject : mxBB - a fully modular portal and CMS (for phpBB) * Author : Jon Ohlsson and the mxBB Team * Credits : The phpBB Group & Marc Morisette, Marc Ferran (www.phpmix.com) * Copyright : (C) 2002-2005 mxBB Portal, phpMiX (c) 2004 * Email : jo...@mx... * Project site : www.mxbb-portal.com * ------------------------------------------------------------------------- * * $Id: admin_referers.php,v 1.1 2005/10/15 22:18:28 jonohlsson Exp $ */ /** * 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, or * (at your option) any later version. */ // ====================================================== // [ ADMINCP COMMON INITIALIZATION ] // ====================================================== // This is how we add an entry to the phpBB Administration Control Panel... if ( !empty( $setmodules ) ) { $module['SiteStats']['Referers_Management'] = 'modules/mx_sitestats/admin/' . basename( __FILE__ ); return; } // Setup basic portal stuff... define( 'IN_PORTAL', 1 ); $mx_root_path = '../../../'; $module_root_path = '../'; // Security and page header... require( $mx_root_path . 'extension.inc' ); $no_page_header = true; require( $mx_root_path . 'admin/pagestart.' . $phpEx ); // Include common module stuff... require( $module_root_path . 'includes/common.' . $phpEx ); // ====================================================== // [ MAIN PROCESS ] // ====================================================== // Get POST/GET variables... $start = intval( ( isset( $_POST['start'] ) ) ? $_POST['start'] : ( ( isset( $_GET['start'] ) ) ? $_GET['start'] : 0 ) ); $sort_method = ( ( isset( $_POST['sort'] ) ) ? $_POST['sort'] : ( ( isset( $_GET['sort'] ) ) ? $_GET['sort'] : 'hits' ) ); $sort_order = ( ( isset( $_POST['order'] ) ) ? $_POST['order'] : ( ( isset( $_GET['order'] ) ) ? $_GET['order'] : 'DESC' ) ); $filter_flag = ( ( isset( $_POST['filter'] ) ) ? $_POST['filter'] : ( ( isset( $_GET['filter'] ) ) ? $_GET['filter'] : 'disabled' ) ); $enable = ( isset( $_POST['enable'] ) ) ? true : 0; $delete = ( isset( $_POST['delete'] ) ) ? true : 0; $delete_all = ( isset( $_POST['deleteall'] ) ) ? true : 0; $id_list = ( !empty( $_POST['id_list'] ) ) ? $_POST['id_list'] : array(); // Check which mode we should operate in... if ( $enable ) { for( $i = 0; $i < count( $id_list ); $i++ ) { $sql = 'UPDATE ' . SITESTATS_REFERER_TABLE . " SET enabled = " . ( ( $filter_flag == 'enabled' ) ? 0 : 1 ) . " WHERE id = " . $id_list[$i]; if ( !$result = $db->sql_query( $sql ) ) { message_die( GENERAL_ERROR, "Couldn't update HTTP Referer (id=" . $id_list[$i] . ") from database", '', __LINE__, __FILE__, $sql ); } } } else if ( $delete ) { for( $i = 0; $i < count( $id_list ); $i++ ) { $sql = 'DELETE FROM ' . SITESTATS_REFERER_TABLE . " WHERE id = " . $id_list[$i]; if ( !$result = $db->sql_query( $sql ) ) { message_die( GENERAL_ERROR, "Couldn't delete HTTP Referer (id=" . $id_list[$i] . ") from database", '', __LINE__, __FILE__, $sql ); } } } else if ( $delete_all ) { $sql = 'DELETE FROM ' . SITESTATS_REFERER_TABLE . ' WHERE enabled = ' . ( ( $filter_flag == 'enabled' ) ? 1 : 0 ); if ( !$result = $db->sql_query( $sql ) ) { message_die( GENERAL_ERROR, "Couldn't delete HTTP Referers from database", '', __LINE__, __FILE__, $sql ); } } // ====================================================== // [ DEFAULT PROCESS ] // ====================================================== // Get TopReferers Block Settings... $sql = "SELECT block_id FROM " . BLOCK_TABLE . " WHERE block_title = 'SiteStats TopReferers' LIMIT 1"; if ( !$result = $db->sql_query( $sql ) ) { message_die( GENERAL_ERROR, "Could not query SiteStats TopReferers block information", "", __LINE__, __FILE__, $sql ); } $row = $db->sql_fetchrow( $result ); $block_id = $row['block_id']; $block_config = read_block_config( $block_id ); $rows_per_page = $block_config[$block_id]['SiteStats_TopReferers_Count']['parameter_value']; if ( !is_numeric( $rows_per_page ) ) { $rows_per_page = 10; } $rows_per_page *= 2; // Setup report variables... $a_sort_method = array( 'host' => $lang['Host'], 'hits' => $lang['Hits'], 'firstvisit' => $lang['First_visit'], 'lastvisit' => $lang['Last_visit'] ); $s_sort_method = ''; foreach( $a_sort_method as $s_value => $s_text ) { $selected = ( $s_value == $sort_method ) ? ' selected' : ''; $s_sort_method .= '<option value="' . $s_value . '"' . $selected . '>' . $s_text . '</option>'; } // Get total records count, for pagination... $total_rows = array(); $sql = 'SELECT COUNT(*) AS total FROM ' . SITESTATS_REFERER_TABLE . ' WHERE enabled = 0'; if ( !$result = $db->sql_query( $sql ) ) { message_die( GENERAL_ERROR, "Couldn't query HTTP Referers Count", '', __LINE__, __FILE__, $sql ); } $row = $db->sql_fetchrow( $result ); $total_rows[0] = $row['total']; $sql = 'SELECT COUNT(*) AS total FROM ' . SITESTATS_REFERER_TABLE . ' WHERE enabled = 1'; if ( !$result = $db->sql_query( $sql ) ) { message_die( GENERAL_ERROR, "Couldn't query HTTP Referers Count", '', __LINE__, __FILE__, $sql ); } $row = $db->sql_fetchrow( $result ); $total_rows[1] = $row['total']; $total_now = ( $filter_flag == 'enabled' ) ? 1 : 0; // Default process is report... switch ( $sort_method ) { case 'host': $order_by = 'host ' . $sort_order; break; case 'firstvisit': $order_by = 'firstvisit ' . $sort_order; break; case 'lastvisit': $order_by = 'lastvisit ' . $sort_order; break; default: case 'hits': $order_by = 'hits ' . $sort_order . ', lastvisit DESC'; break; } $sql = 'SELECT * FROM ' . SITESTATS_REFERER_TABLE . ' WHERE enabled = ' . ( ( $filter_flag == 'enabled' ) ? 1 : 0 ) . ' ORDER BY ' . $order_by . ' LIMIT ' . $start . ', ' . $rows_per_page; if ( !$result = $db->sql_query( $sql ) ) { message_die( GENERAL_ERROR, "Couldn't query HTTP Referers Information", '', __LINE__, __FILE__, $sql ); } $rowset = $db->sql_fetchrowset( $result ); $rowset_count = count( $rowset ); // Set template variables and send to browser... $template->set_filenames( array( 'body' => 'admin/sitestats_referers_admin.tpl' ) ); if ( $rowset_count > 0 ) { for( $i = 0; $i < $rowset_count; $i++ ) { $template->assign_block_vars( 'datarow', array( 'ROW_CLASS' => ( !( $i % 2 ) ) ? $theme['td_class1'] : $theme['td_class2'], 'ID' => $rowset[$i]['id'], 'HOST' => $rowset[$i]['host'], 'HITS' => $rowset[$i]['hits'], 'FIRST_VISIT' => create_date( 'Y-m-d H:i:s', $rowset[$i]['firstvisit'], $board_config['board_timezone'] ), 'LAST_VISIT' => create_date( 'Y-m-d H:i:s', $rowset[$i]['lastvisit'], $board_config['board_timezone'] ) ) ); } $template->assign_block_vars( 'ok_referers_sw', array() ); } else { $template->assign_block_vars( 'no_referers_sw', array() ); } $template->assign_vars( array( 'L_TITLE' => $lang['Referers_Management'], 'L_EXPLAIN' => $lang['Referers_Management_explain'] . $lang['Enabled'] . '(' . $total_rows[1] . '), ' . $lang['Disabled'] . '(' . $total_rows[0] . ')', 'U_FORM_ACTION' => append_sid( @basename( __FILE__ ) ), 'L_SELECT_FILTER' => $lang['Select_filter'], 'L_ENABLED' => $lang['Enabled'], 'L_DISABLED' => $lang['Disabled'], 'L_GO' => $lang['Go'], 'ENABLED_SELECTED' => ( $filter_flag == 'enabled' ) ? 'checked="checked"' : '', 'DISABLED_SELECTED' => ( $filter_flag != 'enabled' ) ? 'checked="checked"' : '', 'L_SELECT_SORT_METHOD' => $lang['Select_sort_method'], 'S_SORT_METHOD' => $s_sort_method, 'L_SORT' => $lang['Sort'], 'L_ORDER' => $lang['Order'], 'L_SORT_DESCENDING' => $lang['Sort_Descending'], 'L_SORT_ASCENDING' => $lang['Sort_Ascending'], 'ASC_SELECTED' => ( $sort_order != 'DESC' ) ? 'selected="selected"' : '', 'DESC_SELECTED' => ( $sort_order == 'DESC' ) ? 'selected="selected"' : '', 'L_REFERER_HOST' => $lang['Host'], 'L_REFERER_HITS' => $lang['Hits'], 'L_FIRST_VISIT' => $lang['First_visit'], 'L_LAST_VISIT' => $lang['Last_visit'], 'L_NO_REFERERS' => ( $filter_flag == 'enabled' ) ? $lang['No_Enabled_Referers'] : $lang['No_Disabled_Referers'], 'L_MARK' => $lang['Mark'], 'L_MARK_ALL' => $lang['Mark_all'], 'L_UNMARK_ALL' => $lang['Unmark_all'], 'L_ENABLE_MARKED' => ( $filter_flag == 'enabled' ) ? $lang['Disable_marked'] : $lang['Enable_marked'], 'L_DELETE_MARKED' => $lang['Delete_marked'], 'L_DELETE_ALL' => $lang['Delete_all'], 'L_NO_ITEMS_MARKED' => $lang['No_items_marked'], 'L_PLEASE_CONFIRM' => $lang['Please_confirm'], 'PAGINATION' => generate_pagination( append_sid( @basename( __FILE__ ) . "?filter=$filter_flag&sort=$sort_method&order=$sort_order" ), $total_rows[$total_now], $rows_per_page, $start ), 'PAGE_NUMBER' => sprintf( $lang['Page_of'], ( floor( $start / $rows_per_page ) + 1 ), ceil( $total_rows[$total_now] / $rows_per_page ) ) ) // end array ); include_once( $mx_root_path . 'admin/page_header_admin.' . $phpEx ); $template->pparse( 'body' ); // ========== // // DEBUG ONLY // // ========== // // foreach( $_POST as $key => $val ) echo "POST[$key]=(".(is_array($val)?implode(',',$val):$val).")<br />"; // foreach( $_GET as $key => $val ) echo "GET[$key]=($val)<br />"; // ========== // include_once( $mx_root_path . 'admin/page_footer_admin.' . $phpEx ); exit; ?> --- NEW FILE: admin_sitestats.php --- <?php /** ------------------------------------------------------------------------ * Subject : mxBB - a fully modular portal and CMS (for phpBB) * Author : Jon Ohlsson and the mxBB Team * Credits : The phpBB Group & Marc Morisette, Marc Ferran (www.phpmix.com) * Copyright : (C) 2002-2005 mxBB Portal, phpMiX (c) 2004 * Email : jo...@mx... * Project site : www.mxbb-portal.com * ------------------------------------------------------------------------- * * $Id: admin_sitestats.php,v 1.1 2005/10/15 22:18:28 jonohlsson Exp $ */ /** * 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, or * (at your option) any later version. */ // ====================================================== // [ ADMINCP COMMON INITIALIZATION ] // ====================================================== // Add our entry to the Administration Control Panel... if ( !empty( $setmodules ) ) { $module['SiteStats']['SiteStats_Settings'] = 'modules/mx_sitestats/admin/' . @basename( __FILE__ ); return; } // Setup basic portal stuff... define( 'IN_PORTAL', true ); $mx_root_path = '../../../'; $module_root_path = "../"; // Security and page header... require( $mx_root_path . 'extension.inc' ); require( $mx_root_path . '/admin/pagestart.' . $phpEx ); // Include common module stuff... require( $module_root_path . 'includes/common.' . $phpEx ); $sitestats_counter = new sitestats_counter(); $digits_path = $module_root_path . 'images/digits/'; $sitestats_digary = $sitestats_counter->getDigitStyles( $digits_path ); // Send page header... include_once( $mx_root_path . 'admin/page_header_admin.' . $phpEx ); // ====================================================== // [ MAIN PROCESS ] // ====================================================== // Read the module settings... $sql = "SELECT * FROM " . SITESTATS_CONFIG_TABLE; if ( !$result = $db->sql_query( $sql ) ) { message_die( GENERAL_ERROR, "Couldn't query SiteStats config table", "", __LINE__, __FILE__, $sql ); } while ( $row = $db->sql_fetchrow( $result ) ) { $config_name = $row['config_name']; $config_value = $row['config_value']; $default_config[$config_name] = $config_value; $new[$config_name] = ( isset( $HTTP_POST_VARS[$config_name] ) ) ? $HTTP_POST_VARS[$config_name] : $default_config[$config_name]; if ( isset( $HTTP_POST_VARS['submit'] ) ) { $sql = "UPDATE " . SITESTATS_CONFIG_TABLE . " SET config_value = '" . str_replace( "\'", "''", $new[$config_name] ) . "'" . " WHERE config_name = '$config_name'"; if ( !$db->sql_query( $sql ) ) { message_die( GENERAL_ERROR, "Failed to update SiteStats configuration for $config_name", "", __LINE__, __FILE__, $sql ); } } } // If the form was submitted, display the update successful message... if ( isset( $HTTP_POST_VARS['submit'] ) ) { $message = $lang['SiteStats_Settings_updated'] . '<br /><br />' . sprintf( $lang['SiteStats_Settings_return'], '<a href="' . append_sid( @basename( __FILE__ ) ) . '">', '</a>' ) . '<br /><br />' . sprintf( $lang['Click_return_admin_index'], '<a href="' . append_sid( $mx_root_path . "admin/index.$phpEx?pane=right" ) . '">', '</a>' ); message_die( GENERAL_MESSAGE, $message ); } // Prepare the Settings form... $template->set_filenames( array( 'body' => 'admin/sitestats_settings.tpl' ) ); // Counter Settings... $select_class_ary = array( 'cattitle', 'gen', 'genmed', 'gensmall', 'maintitle', 'postbody', 'topictitle' ); $select_text_class = ''; for( $i = 0; $i < count( $select_class_ary ); $i++ ) { $selected = ( $new['text_class'] == $select_class_ary[$i] ) ? 'selected="selected"' : ''; $select_text_class .= '<option value="' . $select_class_ary[$i] . '" ' . $selected . '>' . $select_class_ary[$i] . '</option>'; } $select_counter_class = ''; for( $i = 0; $i < count( $select_class_ary ); $i++ ) { $selected = ( $new['counter_class'] == $select_class_ary[$i] ) ? 'selected="selected"' : ''; $select_counter_class .= '<option value="' . $select_class_ary[$i] . '" ' . $selected . '>' . $select_class_ary[$i] . '</option>'; } $selected = ( empty( $new['counter_type'] ) ) ? 'selected="selected"' : ''; $select_counter_type = '<option value="" ' . $selected . '>' . $lang['SiteStats_Counter_TypeText'] . '</option>'; $counter_type_key = ''; foreach( $sitestats_digary as $key => $val ) { if ( $new['counter_type'] == $key ) { $selected = 'selected="selected"'; $counter_type_key = $key; $counter_type_val = $val; } else { $selected = ''; } $select_counter_type .= '<option value="' . $key . '" ' . $selected . '>' . $key . '</option>'; $template->assign_block_vars( 'imginfo', array( 'EXTENSION' => $val ) ); } $sample_digits = ''; if ( empty( $counter_type_key ) ) { for( $i = 0; $i < 10; $i++ ) { $sample_digits .= '<img name="img_' . $i . '" src="' . $digits_path . 'spacer.gif' . '" border="0" />'; } } else { for( $i = 0; $i < 10; $i++ ) { $sample_digits .= '<img name="img_' . $i . '" src="' . $digits_path . $counter_type_key . '/' . $i . '.' . $counter_type_val . '" border="0" />'; } } $counters_toshow_both = ( $new['counters_toshow'] == 0 ) ? 'checked="checked"' : ''; $counters_toshow_hits = ( $new['counters_toshow'] == 1 ) ? 'checked="checked"' : ''; $counters_toshow_sess = ( $new['counters_toshow'] == 2 ) ? 'checked="checked"' : ''; // Referers Settings... $referers_logging_off = ( !$new['referers_logging'] ) ? 'checked="checked"' : ''; $referers_logging_on = ( $new['referers_logging'] ) ? 'checked="checked"' : ''; $referers_showdis_off = ( !$new['referers_show_disabled'] ) ? 'checked="checked"' : ''; $referers_showdis_on = ( $new['referers_show_disabled'] ) ? 'checked="checked"' : ''; // Setup template vars and send the HTML... $template->assign_vars( array( 'S_ACTION' => append_sid( @basename( __FILE__ ) ), 'L_SITESTATS_SETTINGS' => $lang['SiteStats_Settings'], 'L_SITESTATS_SETTINGS_EXPLAIN' => $lang['SiteStats_Settings_explain'], 'DIGITS_PATH' => $digits_path, 'SAMPLE_DIGITS' => $sample_digits, 'SPACER' => $digits_path . 'spacer.gif', 'L_COUNTER_SETTINGS' => $lang['Counter_Settings'], 'L_COUNTER_TYPE' => $lang['SiteStats_Counter_Type'], 'L_COUNTER_TYPE_EXPLAIN' => $lang['SiteStats_Counter_Typeinfo'], 'SELECT_COUNTER_TYPE' => $select_counter_type, 'L_TEXT_CLASS' => $lang['SiteStats_Text_Class'], 'L_TEXT_CLASS_EXPLAIN' => $lang['SiteStats_Text_Classinfo'], 'SELECT_TEXT_CLASS' => $select_text_class, 'L_COUNTER_CLASS' => $lang['SiteStats_Counter_Class'], 'L_COUNTER_CLASS_EXPLAIN' => $lang['SiteStats_Counter_Classinfo'], 'SELECT_COUNTER_CLASS' => $select_counter_class, 'L_COUNTER_STYLE' => $lang['SiteStats_Counter_Style'], 'L_COUNTER_STYLE_EXPLAIN' => $lang['SiteStats_Counter_Styleinfo'], 'COUNTER_STYLE' => $new['counter_style'], 'L_COUNTER_SIZE' => $lang['SiteStats_Counter_Size'], 'L_COUNTER_SIZE_EXPLAIN' => $lang['SiteStats_Counter_Sizeinfo'], 'COUNTER_SIZE' => $new['counter_size'], 'L_COUNTER_TOSHOW' => $lang['SiteStats_Counter_ToShow'], 'L_COUNTER_TOSHOW_EXPLAIN' => $lang['SiteStats_Counter_ToShowinfo'], 'COUNTER_TOSHOW' => $new['counters_toshow'], 'COUNTER_TOSHOW_HITS' => $counters_toshow_hits, 'COUNTER_TOSHOW_SESS' => $counters_toshow_sess, 'COUNTER_TOSHOW_BOTH' => $counters_toshow_both, 'L_MORE_STATS_PAGE' => $lang['SiteStats_MoreStats_Page'], 'L_MORE_STATS_PAGE_EXPLAIN' => $lang['SiteStats_MoreStats_Pageinfo'], 'MORE_STATS_PAGE' => $new['more_stats_page'], 'L_REFERERS_SETTINGS' => $lang['Referers_Settings'], 'L_REFERERS_LOGGING' => $lang['Referers_Logging'], 'L_REFERERS_LOGGING_EXPLAIN' => $lang['Referers_Logginginfo'], 'REFERERS_LOGGING' => $new['referers_logging'], 'REFERERS_LOGGING_ON' => $referers_logging_on, 'REFERERS_LOGGING_OFF' => $referers_logging_off, 'L_REFERERS_COUNT' => $lang['SiteStats_TopReferers_Count'], 'L_REFERERS_COUNT_EXPLAIN' => $lang['SiteStats_TopReferers_Countinfo'], 'REFERERS_COUNT' => $new['referers_count'], 'L_REFERERS_SHOWDIS' => $lang['SiteStats_TopReferers_ShowDisabled'], 'L_REFERERS_SHOWDIS_EXPLAIN' => $lang['SiteStats_TopReferers_ShowDisabledinfo'], 'REFERERS_SHOWDIS' => $new['referers_show_disabled'], 'REFERERS_SHOWDIS_ON' => $referers_showdis_on, 'REFERERS_SHOWDIS_OFF' => $referers_showdis_off, 'L_HITS' => $lang['SiteStats_Counter_hits'], 'L_SESSIONS' => $lang['SiteStats_Counter_sess'], 'L_BOTH' => $lang['Both'], 'L_ON' => $lang['On'], 'L_OFF' => $lang['Off'], 'L_SUBMIT' => $lang['Submit'], 'L_RESET' => $lang['Reset'] ) ); $template->pparse( 'body' ); include_once( $mx_root_path . 'admin/page_footer_admin.' . $phpEx ); ?> --- NEW FILE: admin_counter.php --- <?php /** ------------------------------------------------------------------------ * Subject : mxBB - a fully modular portal and CMS (for phpBB) * Author : Jon Ohlsson and the mxBB Team * Credits : The phpBB Group & Marc Morisette, Marc Ferran (www.phpmix.com) * Copyright : (C) 2002-2005 mxBB Portal, phpMiX (c) 2004 * Email : jo...@mx... * Project site : www.mxbb-portal.com * ------------------------------------------------------------------------- * * $Id: admin_counter.php,v 1.1 2005/10/15 22:18:28 jonohlsson Exp $ */ /** * 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, or * (at your option) any later version. */ // ====================================================== // [ ADMINCP COMMON INITIALIZATION ] // ====================================================== // This is how we add an entry to the phpBB Administration Control Panel... if ( !empty( $setmodules ) ) { $module['SiteStats']['Counter_Management'] = 'modules/mx_sitestats/admin/' . basename( __FILE__ ); return; } // Setup basic portal stuff... define( 'IN_PORTAL', 1 ); $mx_root_path = '../../../'; $module_root_path = "../"; // Security and page header... require( $mx_root_path . 'extension.inc' ); $no_page_header = true; require( $mx_root_path . 'admin/pagestart.' . $phpEx ); // Include common module stuff... require( $module_root_path . 'includes/common.' . $phpEx ); // ====================================================== // [ GLOBAL DATA ] // ====================================================== $my_script_name = basename( __FILE__ ); $my_script_title = $lang['SiteStats'] . ': ' . $lang['Counter_Management']; // ====================================================== // [ MAIN PROCESS ] // ====================================================== // Send page header and set the main template... include_once( $mx_root_path . 'admin/page_header_admin.' . $phpEx ); $template->set_filenames( array( "body" => "admin/sitestats_counter_admin.tpl" ) ); // Check out which mode we operate in... if ( isset( $_POST['cancel'] ) ) { $mode = ''; } else { $mode = ( isset( $_POST['mode'] ) ? $_POST['mode'] : ( isset( $_GET['mode'] ) ? $_GET['mode'] : '' ) ); $myid = ( isset( $_POST['id'] ) ? $_POST['id'] : ( isset( $_GET['id'] ) ? $_GET['id'] : '' ) ); $mypg = ( isset( $_POST['pg'] ) ? $_POST['pg'] : ( isset( $_GET['pg'] ) ? $_GET['pg'] : '' ) ); $mych = ( isset( $_POST['ch'] ) ? $_POST['ch'] : ( isset( $_GET['ch'] ) ? $_GET['ch'] : '' ) ); $mycs = ( isset( $_POST['cs'] ) ? $_POST['cs'] : ( isset( $_GET['cs'] ) ? $_GET['cs'] : '' ) ); } // Deal with each mode of operation... switch ( $mode ) { case 'add': case 'edit': dialog_addedit( $mode == 'add' ? 'db_insert' : 'db_update' ); break; case 'delete': dialog_confirm_delete(); break; case 'db_insert': case 'db_update': if ( empty( $mypg ) ) { dialog_addedit( $mode, $lang['Error_page_empty'] ); } $sitestats_counter = new sitestats_counter(); $sitestats_counter->id = ( $mode == 'db_insert' ? 0 : $myid ); $sitestats_counter->page = $mypg; $sitestats_counter->hits_counter = intval( $mych ); $sitestats_counter->sess_counter = intval( $mycs ); if ( !$sitestats_counter->updateCounter() ) { message_die( GENERAL_ERROR, "Couldn't update SiteStats counter for page: " . $sitestats_counter->page, "", __LINE__, __FILE__, $sitestats_counter->sql ); } dialog_updated( $mode ); break; case 'db_delete': $sitestats_counter = new sitestats_counter(); $sitestats_counter->id = $myid; if ( !$sitestats_counter->deleteCounter() ) { message_die( GENERAL_ERROR, "Couldn't delete SiteStats counter for page: " . $sitestats_counter->page, "", __LINE__, __FILE__, $sitestats_counter->sql ); } dialog_updated( $mode ); break; default: break; } // Display counter report... $sql = "SELECT * FROM " . SITESTATS_COUNTER_TABLE . " ORDER BY page"; if ( !$result = $db->sql_query( $sql ) ) { message_die( GENERAL_ERROR, "Couldn't read counter data", "", __LINE__, __FILE__, $sql ); } $rs_counter = $db->sql_fetchrowset( $result ); for( $i = 0; $i < count( $rs_counter ); $i++ ) { $get_vars = '&id=' . $rs_counter[$i]['id'] . '&pg=' . $rs_counter[$i]['page'] . '&ch=' . $rs_counter[$i]['hits_counter'] . '&cs=' . $rs_counter[$i]['sess_counter']; $template->assign_block_vars( "counter_rows", array( 'COUNTER_ID' => $rs_counter[$i]['id'], 'COUNTER_PAGE' => $rs_counter[$i]['page'], 'COUNTER_HITS' => $rs_counter[$i]['hits_counter'], 'COUNTER_SESS' => $rs_counter[$i]['sess_counter'], 'U_EDIT' => append_sid( $my_script_name . '?mode=edit' . $get_vars ), 'U_DELETE' => append_sid( $my_script_name . '?mode=delete' . $get_vars ) ) ); } $template->assign_vars( array( 'L_PAGE_TITLE' => $my_script_title, 'L_PAGE_EXPLAIN' => $lang['Counter_Management_explain'], 'L_COUNTER_ID' => $lang['SiteStats_Counter_id'], 'L_COUNTER_PAGE' => $lang['SiteStats_Counter_page'], 'L_COUNTER_HITS' => $lang['SiteStats_Counter_hits'], 'L_COUNTER_SESS' => $lang['SiteStats_Counter_sess'], 'L_ADD' => $lang['Add'], 'U_ADD' => append_sid( $my_script_name . '?mode=add' ), 'L_EDIT' => $lang['Edit'], 'L_DELETE' => $lang['Delete'], 'L_ACTION' => $lang['Action'] ) ); // Send page body/footer and exit... $template->pparse( "body" ); include_once( $mx_root_path . 'admin/page_footer_admin.' . $phpEx ); exit; // ====================================================== // [ FUNCTIONS ] // ====================================================== // ------------ // Dialogs (without templates =:-P) ... function dialog_addedit( $newmode, $errmsg = '' ) { global $lang, $my_script_name, $my_script_title, $myid, $mypg, $mych, $mycs; $s_hidden_fields = '<input type="hidden" name="mode" value="' . $newmode . '" />'; if ( $newmode == 'db_update' ) { $s_hidden_fields .= '<input type="hidden" name="id" value="' . $myid . '" />'; $s_field_id = '<tr><td><b>' . $lang['SiteStats_Counter_id'] . ':</b> </td><td>' . '[ ' . $myid . ' ]</td></tr>'; } else { $s_field_id = ''; $mych = 0; $mycs = 0; } $message = '<br />' . ( empty( $errmsg ) ? ' ' : '<div style="width:80%; padding:10px; border:solid red 1px;">' . $errmsg . '</div>' ) . '<br />' . '<script>function doOnLoad() {document.forms[0].elements[0].focus();} window.onload=doOnLoad;</script>' . '<form method="post" action="' . $my_script_name . '">' . '<table border="0" cellpadding="4" cellspacing="0">' . $s_field_id . '<tr><td><b>' . $lang['SiteStats_Counter_page'] . ':</b> </td><td>' . '<input type="text" name="pg" size="100" value="' . $mypg . '" class="post" /></td></tr>' . '<tr><td><b>' . $lang['SiteStats_Counter_hits'] . ':</b> </td><td>' . '<input type="text" name="ch" size="100" value="' . $mych . '" class="post" /></td></tr>' . '<tr><td><b>' . $lang['SiteStats_Counter_sess'] . ':</b> </td><td>' . '<input type="text" name="cs" size="100" value="' . $mycs . '" class="post" /></td></tr>' . '</table> <br /> <br />' . $s_hidden_fields . '<input type="submit" name="cancel" value="' . $lang['Cancel'] . '" class="liteoption" /> ' . '<input type="submit" name="submit" value="' . $lang['Submit'] . '" class="liteoption" />' . '</form>'; message_die( GENERAL_MESSAGE, $message, $my_script_title ); } function dialog_confirm_delete() { global $lang, $my_script_name, $my_script_title, $myid, $mypg, $mych, $mycs; $s_hidden_fields = '<input type="hidden" name="mode" value="db_delete" />'; $s_hidden_fields .= '<input type="hidden" name="id" value="' . $myid . '" />'; $s_hidden_fields .= '<input type="hidden" name="pg" value="' . $mypg . '" />'; $s_hidden_fields .= '<input type="hidden" name="ch" value="' . $mych . '" />'; $s_hidden_fields .= '<input type="hidden" name="cs" value="' . $mycs . '" />'; $message = '<form method="post" action="' . $my_script_name . '">' . '<table border="0" cellpadding="4" cellspacing="0">' . '<tr><td><b>' . $lang['SiteStats_Counter_id'] . ':</b> </td><td>[ ' . $myid . ' ]</td></tr>' . '<tr><td><b>' . $lang['SiteStats_Counter_page'] . ':</b> </td><td>[ ' . $mypg . ' ]</td></tr>' . '<tr><td><b>' . $lang['SiteStats_Counter_hits'] . ':</b> </td><td>[ ' . $mych . ' ]</td></tr>' . '<tr><td><b>' . $lang['SiteStats_Counter_sess'] . ':</b> </td><td>[ ' . $mycs . ' ]</td></tr>' . '</table> <br /> <br />' . '<div style="width:80%; padding:10px; border:solid red 1px;">' . $lang['Confirm_delete_counter'] . '<br /> <br />' . $s_hidden_fields . '<input type="submit" name="cancel" value="' . $lang['No'] . '" class="liteoption" /> ' . '<input type="submit" name="submit" value="' . $lang['Yes'] . '" class="liteoption" />' . '</div><br /> ' . '</form>'; message_die( GENERAL_MESSAGE, $message, $my_script_title ); } function dialog_updated( $mode ) { global $lang, $my_script_name, $my_script_title, $myid, $mypg, $mych, $mycs; if ( $mode == 'db_insert' ) { $s_field_id = ''; } else { $s_field_id = '<tr><td><b>' . $lang['SiteStats_Counter_id'] . ':</b> </td><td>[ ' . $myid . ' ]</td></tr>'; } $message = '<table border="0" cellpadding="4" cellspacing="0">' . $s_field_id . '<tr><td><b>' . $lang['SiteStats_Counter_page'] . ':</b> </td><td>[ ' . $mypg . ' ]</td></tr>' . '<tr><td><b>' . $lang['SiteStats_Counter_hits'] . ':</b> </td><td>[ ' . intval( $mych ) . ' ]</td></tr>' . '<tr><td><b>' . $lang['SiteStats_Counter_sess'] . ':</b> </td><td>[ ' . intval( $mycs ) . ' ]</td></tr>' . '</table> <br /> <br />' . '<div style="width:80%; padding:10px; border:solid blue 1px;">' . $lang['Counter_Config_updated'] . '<br /> <br />' . sprintf( $lang['Click_return_Counter_admin'], '<a href="' . append_sid( $my_script_name ) . '">', '</a>' ) . '</div><br /> '; message_die( GENERAL_MESSAGE, $message, $my_script_title ); } ?> |
|
From: Jon O. <jon...@us...> - 2005-10-15 22:18:36
|
Update of /cvsroot/mxbb/mx_sitestats/images In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv29610/images Added Files: icon_stat.gif Log Message: readded this module... --- NEW FILE: icon_stat.gif --- (This appears to be a binary file; contents omitted.) |
|
From: Jon O. <jon...@us...> - 2005-10-15 22:18:36
|
Update of /cvsroot/mxbb/mx_sitestats/images/digits/mb In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv29610/images/digits/mb Added Files: 0.gif 1.gif 2.gif 3.gif 4.gif 5.gif 6.gif 7.gif 8.gif 9.gif Log Message: readded this module... --- NEW FILE: 8.gif --- (This appears to be a binary file; contents omitted.) --- NEW FILE: 6.gif --- (This appears to be a binary file; contents omitted.) --- NEW FILE: 1.gif --- (This appears to be a binary file; contents omitted.) --- NEW FILE: 4.gif --- (This appears to be a binary file; contents omitted.) --- NEW FILE: 3.gif --- (This appears to be a binary file; contents omitted.) --- NEW FILE: 2.gif --- (This appears to be a binary file; contents omitted.) --- NEW FILE: 9.gif --- (This appears to be a binary file; contents omitted.) --- NEW FILE: 7.gif --- (This appears to be a binary file; contents omitted.) --- NEW FILE: 0.gif --- (This appears to be a binary file; contents omitted.) --- NEW FILE: 5.gif --- (This appears to be a binary file; contents omitted.) |
|
From: Jon O. <jon...@us...> - 2005-10-15 22:18:36
|
Update of /cvsroot/mxbb/mx_sitestats/includes In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv29610/includes Added Files: common.php Log Message: readded this module... --- NEW FILE: common.php --- <?php /** ------------------------------------------------------------------------ * Subject : mxBB - a fully modular portal and CMS (for phpBB) * Author : Jon Ohlsson and the mxBB Team * Credits : The phpBB Group & Marc Morisette, Marc Ferran (www.phpmix.com) * Copyright : (C) 2002-2005 mxBB Portal, phpMiX (c) 2004 * Email : jo...@mx... * Project site : www.mxbb-portal.com * ------------------------------------------------------------------------- * * $Id: common.php,v 1.1 2005/10/15 22:18:28 jonohlsson Exp $ */ /** * 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, or * (at your option) any later version. */ define( '_SITESTATS_VERSION', 'v1.3.0' ); // Define table names. if ( empty( $mx_table_prefix ) ) { // Workaround to retrieve MX config data from phpBB scope... if ( !function_exists( 'get_mx_table_prefix' ) ) { function get_mx_table_prefix( $mx_root_path ) { global $phpEx; include( $mx_root_path . 'config.' . $phpEx ); return $mx_table_prefix; } } $mx_table_prefix = get_mx_table_prefix( $mx_root_path ); } define( 'SITESTATS_CONFIG_TABLE', $mx_table_prefix . 'sitestats_config' ); define( 'SITESTATS_COUNTER_TABLE', $mx_table_prefix . 'sitestats_counter' ); define( 'SITESTATS_REFERER_TABLE', $mx_table_prefix . 'sitestats_referer' ); // Load language files. if ( file_exists( $module_root_path . 'language/lang_' . $board_config['default_lang'] . '/lang_admin.' . $phpEx ) ) { include_once( $module_root_path . 'language/lang_' . $board_config['default_lang'] . '/lang_admin.' . $phpEx ); } else { include_once( $module_root_path . 'language/lang_english/lang_admin.' . $phpEx ); } if ( file_exists( $module_root_path . 'language/lang_' . $board_config['default_lang'] . '/lang_main.' . $phpEx ) ) { include_once( $module_root_path . 'language/lang_' . $board_config['default_lang'] . '/lang_main.' . $phpEx ); } else { include_once( $module_root_path . 'language/lang_english/lang_main.' . $phpEx ); } // ================================================================================ // [ SITESTATS CONFIG ] // ================================================================================ // Get SiteStats Settings from config table if ( defined( '_SITESTATS_CONFIG' ) ) { $sitestats_config = array(); $sql = 'SELECT * FROM ' . SITESTATS_CONFIG_TABLE; if ( !( $result = $db->sql_query( $sql ) ) ) { message_die( GENERAL_ERROR, "Couldn't query SiteStats config table", "", __LINE__, __FILE__, $sql ); } else { while ( $row = $db->sql_fetchrow( $result ) ) { $sitestats_config[$row['config_name']] = $row['config_value']; } } // Set Default Configuration (safety)... if ( empty( $sitestats_config['text_class'] ) ) { $sitestats_config['text_class'] = 'gensmall'; } if ( empty( $sitestats_config['counter_class'] ) ) { $sitestats_config['counter_class'] = 'gen'; } if ( !is_numeric( $sitestats_config['counter_size'] ) ) { $sitestats_config['counter_size'] = 8; } if ( !is_numeric( $sitestats_config['referers_count'] ) ) { $sitestats_config['referers_count'] = 10; } if ( !is_numeric( $sitestats_config['more_stats_page'] ) ) { $sitestats_config['more_stats_page'] = 0; } $sitestats_config['referers_logging'] = ( $sitestats_config['referers_logging'] == 1 ) ? true : false; $sitestats_config['referers_show_disabled'] = ( $sitestats_config['referers_show_disabled'] == 1 ) ? true : false; } // ================================================================================ // [ COMMON CLASSES ] // ================================================================================ // -------------------------------------------------------------------------------- // Site Statistics Classes // Base class with DB Utilities class sitestats { var $sql; // Last SQL query executed. function dbQuery( $sql ) { global $db; $this->sql = $sql; $result = $db->sql_query( $sql ); return $result; } function dbFetchRow( $sql ) { global $db; $this->sql = $sql; if ( !$result = $db->sql_query( $sql ) ) return false; if ( !$row = $db->sql_fetchrow( $result ) ) return false; return $row; } function dbMaxId( $table_name, $table_key ) { global $db; $sql = "SELECT MAX($table_key) AS max_id FROM $table_name"; $this->sql = $sql; if ( !$row = $this->dbFetchRow( $sql ) ) return -1; return $row['max_id']; } } //class sitestats // SiteStats Counter. class sitestats_counter extends sitestats { // Public Properties var $id, // Internal page identifier. $page, // Human page identifier. $hits_counter, // Hits Counter. $sess_counter; // Sessions Counter. var $digits_path, // Current relative path to digits path. $digits_ext; // File Extension for current digit images. // Constructor... function sitestats_counter() { @session_start(); global $HTTP_SESSION_VARS, $HTTP_SERVER_VARS; if ( isset( $HTTP_SERVER_VARS ) ) { $this->SESSION = &$HTTP_SESSION_VARS; $this->SERVER = &$HTTP_SERVER_VARS; } else { $this->SESSION = &$_SESSION; $this->SERVER = &$_SERVER; } } // Public Methods related to the Counter... function readCounter( $page ) { $this->page = $page; $sql = 'SELECT * FROM ' . SITESTATS_COUNTER_TABLE . " WHERE page = '" . $this->page . "'"; if ( !$row = $this->dbFetchRow( $sql ) ) { $this->id = 0; $this->hits_counter = 0; $this->sess_counter = 0; return false; } $this->id = $row['id']; $this->hits_counter = $row['hits_counter']; $this->sess_counter = $row['sess_counter']; return true; } function incrementCounter() { $sess_varname = 'sitestats_sess_counter_' . $this->page; $this->hits_counter++; if ( !isset( $this->SESSION[$sess_varname] ) ) { $this->SESSION[$sess_varname] = 1; $this->sess_counter++; } } function updateCounter() { if ( $this->id == 0 ) { // There is still no counter for this page? $this->id = $this->dbMaxId( SITESTATS_COUNTER_TABLE, 'id' ); if ( empty( $this->id ) ) $this->id = 0; $this->id++; $sql = 'INSERT INTO ' . SITESTATS_COUNTER_TABLE . ' (id, page, hits_counter, sess_counter)' . ' VALUES (' . $this->id . " , '" . $this->page . "' , " . $this->hits_counter . ' , ' . $this->sess_counter . ' )'; } else { // Update the hits counter for this page... $sql = 'UPDATE ' . SITESTATS_COUNTER_TABLE . " SET page = '" . $this->page . "' , " . ' hits_counter = ' . $this->hits_counter . ' , ' . ' sess_counter = ' . $this->sess_counter . ' WHERE id = ' . $this->id; } return $this->dbQuery( $sql ) ? true : false; } function deleteCounter() { $sql = 'DELETE FROM ' . SITESTATS_COUNTER_TABLE . ' WHERE id = ' . $this->id; return $this->dbQuery( $sql ) ? true : false; } // Public Methods related to Counter Images... function _getDigitsExt() { static $extens_ary = array( 'png', 'gif', 'jpg' ); for( $i = 0; $i < count( $extens_ary ); $i++ ) if ( file_exists( $this->digits_path . '0.' . $extens_ary[$i] ) ) return $extens_ary[$i]; return ''; } function setDigitParms( $digits_path, $digits_style ) { $this->digits_path = $digits_path . $digits_style . '/'; $this->digits_ext = $this->_getDigitsExt(); if ( empty( $this->digits_ext ) ) { return false; } return true; } function getCounterImages( $counter, $size, $get_image_size ) { if ( $get_image_size ) { $imgsize = @getimagesize( $this->digits_path . '0.' . $this->digits_ext ); // returns [w,h] $imgsize = ( $imgsize ) ? ' width="' . $imgsize[0] . '" height="' . $imgsize[1] . '"' : ''; } else { $imgsize = ''; } $s = sprintf( ( '%0' . $size . 'd' ), $counter ); $r = ''; for( $i = 0; $i < strlen( $s ); $i++ ) { $r .= '<img src="' . PORTAL_URL . $this->digits_path . substr( $s, $i, 1 ) . '.' . $this->digits_ext . '"' . $imgsize . ' border="0" alt="Powered by phpMiX SiteStats ' . _SITESTATS_VERSION . ' ;-)" />'; } return $r; } function getDigitStyles( $digits_path ) { $digits_ary = array(); $dir_handle = @opendir( $digits_path ); while ( $digits_style = @readdir( $dir_handle ) ) { if ( $digits_style <> '.' && $digits_style <> '..' ) { $this->digits_path = $digits_path . $digits_style . '/'; $extension = $this->_getDigitsExt(); if ( !empty( $extension ) ) { $digits_ary[$digits_style] = $extension; } } } @closedir( $dir_handle ); ksort( $digits_ary ); return $digits_ary; } // Public Methods related to HTTP Referer... function updateReferer() { $http_referer = $this->SERVER['HTTP_REFERER']; if ( empty( $http_referer ) ) // Do we have any referer? return true; $http_host = $this->SERVER['HTTP_HOST']; if ( eregi( $http_host, $http_referer ) ) // Is it an internal referer? return true; $http_url = parse_url( $http_referer ); $http_host = $http_url['host']; if ( empty( $http_host ) ) // Do we have a host in the URL? return true; $http_time = time(); $sql = 'SELECT * FROM ' . SITESTATS_REFERER_TABLE . " WHERE host = '" . $http_host . "'"; if ( !$row = $this->dbFetchRow( $sql ) ) { $sql = 'INSERT INTO ' . SITESTATS_REFERER_TABLE . ' (host, hits, firstvisit, lastvisit, enabled)' . " VALUES ('" . $http_host . "' , 1 , " . $http_time . ' , ' . $http_time . ' , 0 )'; } else { $sql = 'UPDATE ' . SITESTATS_REFERER_TABLE . ' SET hits = ' . ( $row['hits'] + 1 ) . ' , ' . ' lastvisit = ' . $http_time . " WHERE host = '" . $http_host . "'"; } return $this->dbQuery( $sql ) ? true : false; } } //class sitestats_counter // SiteStats phpBB Statistics. class sitestats_phpbb { var $usercount, $newestuser, $postcount, $topiccount; // get_db_stat var $return_limit; var $text_class; // Constructor function sitestats_phpbb() { $this->text_class = 'genmed'; $this->return_limit = 10; $this->usercount = -1; $this->newestuser = -1; $this->postcount = -1; $this->topiccount = -1; } // Basic phpBB statistics... function get_db_stat( $mode ) { if ( $this->$mode < 0 ) { $this->$mode = get_db_stat( $mode ); } return $this->$mode; } // Compute the percent math... function do_percent_math( $firstval, $value, $total ) { static $percent_array = array(); $cst = ( $firstval > 0 ) ? 90 / $firstval : 90; $percentage = ( $value == 0 ? 0 : ( $total ? min( 100, ( $value / $total ) * 100 ) : 0 ) ); $percent_array['percentage'] = number_format( $percentage, 2 ); $percent_array['bar_percent'] = max( 1, round( $value * $cst ) ); return $percent_array; } // Get voting bar info and Set templates variables... function set_voting_bar() { static $current_template_path = ''; global $board_config, $userdata, $db, $template; $vote_left = 'images/vote_lcap.gif'; $vote_right = 'images/vote_rcap.gif'; $vote_bar = 'images/voting_bar.gif'; if ( empty( $current_template_path ) ) { if ( !$board_config['override_user_style'] ) { if ( ( $userdata['user_id'] != ANONYMOUS ) && ( isset( $userdata['user_style'] ) ) ) { $style = $userdata['user_style']; if ( !$theme ) { $style = $board_config['default_style']; } } else { $style = $board_config['default_style']; } } else { $style = $board_config['default_style']; } $sql = 'SELECT * FROM ' . THEMES_TABLE . ' WHERE themes_id = ' . $style; if ( !( $result = $db->sql_query( $sql ) ) ) { message_die( CRITICAL_ERROR, 'Couldn\'t query database for theme info.' ); } if ( !$row = $db->sql_fetchrow( $result ) ) { message_die( CRITICAL_ERROR, 'Couldn\'t get theme data for themes_id=' . $style . '.' ); } $current_template_path = PHPBB_URL . 'templates/' . $row['template_name'] . '/'; } $template->assign_vars( array( 'LEFT_GRAPH_IMAGE' => $current_template_path . $vote_left, 'RIGHT_GRAPH_IMAGE' => $current_template_path . $vote_right, 'GRAPH_IMAGE' => $current_template_path . $vote_bar ) ); } } //class sitestats_phpbb $mxbb_footer_addup[] = 'mxBB Sitestats Module'; ?> |
Update of /cvsroot/mxbb/mx_sitestats In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv29610 Added Files: SiteStats.pak adminstats.php collector.php counter.php db_install.php db_uninstall.php db_upgrade.php fastestusers.php monthlyposts.php monthlytopics.php monthlyusers.php mostintopics.php mx_install_readme.htm sitestaff.php topavatars.php topposters.php topposters_tiny.php topreferers.php topsmilies.php topstarters.php toptopics.php topwords.php usersranks.php version_history.txt Log Message: readded this module... --- NEW FILE: topstarters.php --- <?php /** ------------------------------------------------------------------------ * Subject : mxBB - a fully modular portal and CMS (for phpBB) * Author : Jon Ohlsson and the mxBB Team * Credits : The phpBB Group & Marc Morisette, Marc Ferran (www.phpmix.com) * based on : Most Active Topic Starter MOD v.1.2.0 by RustyDragon * Copyright : (C) 2002-2005 mxBB Portal, phpMiX (c) 2004 * Email : jo...@mx... * Project site : www.mxbb-portal.com * ------------------------------------------------------------------------- * * $Id: topstarters.php,v 1.1 2005/10/15 22:18:27 jonohlsson Exp $ */ /** * 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, or * (at your option) any later version. */ // -------------------------------------------------------------------------------- // Block Initialization // -------------------------------------------------------------------------------- if ( !defined( 'IN_PORTAL' ) ) { die( "Hacking attempt !!!" ); } // Include common module stuff... include_once( $module_root_path . 'includes/common.' . $phpEx ); $block_config = read_block_config( $block_id ); $title = !empty($lang[$block_config[$block_id]['block_title']]) ? $lang[$block_config[$block_id]['block_title']] : $block_config[$block_id]['block_title']; if ( !isset( $ss_phpbb ) ) { $ss_phpbb = new sitestats_phpbb(); } // -------------------------------------------------------------------------------- // Block Procedure // -------------------------------------------------------------------------------- // This is the template used to render this block. $template->set_filenames( array( 'body' => 'sitestats_topstarters_body.tpl' ) ); // Most Active Topic Starters $sql = 'SELECT u.user_id, u.username, COUNT(t.topic_poster) AS num_topics FROM ' . USERS_TABLE . ' u, ' . TOPICS_TABLE . ' t WHERE (t.topic_poster <> ' . ANONYMOUS . ' ) AND (u.user_posts > 0) AND (u.user_id = t.topic_poster) GROUP BY t.topic_poster ORDER BY num_topics DESC LIMIT ' . $ss_phpbb->return_limit; if ( !( $result = $db->sql_query( $sql ) ) ) { message_die( GENERAL_ERROR, "Couldn't retrieve users data", '', __LINE__, __FILE__, $sql ); } $user_count = $db->sql_numrows( $result ); $user_data = $db->sql_fetchrowset( $result ); $firstcount = $user_data[0]['num_topics']; $total_topics = $ss_phpbb->get_db_stat( 'topiccount' ); for( $i = 0; $i < $user_count; $i++ ) { $percent_array = $ss_phpbb->do_percent_math( $firstcount, $user_data[$i]['num_topics'], $total_topics ); $template->assign_block_vars( 'datarow', array( 'RANK' => $i + 1, 'CLASS' => ( !( $i + 1 % 2 ) ) ? $theme['td_class2'] : $theme['td_class1'], 'USERNAME' => $user_data[$i]['username'], 'PERCENTAGE' => $percent_array['percentage'], 'BAR' => $percent_array['bar_percent'], 'URL' => append_sid( PHPBB_URL . 'profile.php?mode=viewprofile&u=' . $user_data[$i]['user_id'] ), 'TOPICS' => $user_data[$i]['num_topics'] ) ); } // Setup voting bar images... $ss_phpbb->set_voting_bar(); // Setup common template vars and display the block. $template->assign_vars( array( 'L_TOPICS' => $lang['Topics'], 'L_RANK' => $lang['Rank'], 'L_PERCENTAGE' => $lang['Percent'], 'L_GRAPH' => $lang['Graph'], 'L_USERNAME' => $lang['Username'], 'TEXT_CLASS' => $ss_phpbb->text_class, 'L_TITLE' => $lang['Top_Starters'] ) ); $template->pparse( 'body' ); ?> --- NEW FILE: version_history.txt --- ################################################################# ## ## mx_sitestats module v.1.3.1 for MX-System Portal 2.7+ ## ## mx_sitestats Author: ## - markus_petrux ## ## NOTE: ## - Be sure to apply the MODs to page_header.php (see section below). ## - For further information, please visit http://www.phpmix.com ## ## Editor TabSize = 4 ## v.1.3.1 - 2004/07/13 (markus_petrux) - Fixed a problem related to PHP Session Management. v.1.3.0 - 2004/06/12 (markus_petrux) - Final? - Added width and height to counter images using getimagesize. - Fixed a small bug with the HTTP Referers parser. - Added new parameter to allow link from Counter block to SiteStats page. v.1.3.0 - 2004/06/02 (markus_petrux) - Beta 2 - Added option to decide which counter to show: hits, session or both. - Fixed db_uninstall.php, config table was missing in beta 1. v.1.3.0 - 2004/06/02 (markus_petrux) - Beta 1 - Added option to display the counter with graphics. - Removed block parameters for the Counter. - Added new AdminCP script to manage Counter/Referer settings. - Changed the way collector.php works. - Now page_header.php MOD is required to activate the collector !!! - Added TopPosters (Tiny) block (only shows username and posts). v.1.3.0 - 2004/05/22 (markus_petrux) - Alfa 2 (self testing) - Added db_upgrade.php script. - Added Top HTTP Referers functionality. v.1.3.0 - 2004/01/15 (markus_petrux) - Alfa 1 (self testing) - Added unique session counter (now, we can count hits and sessions). - Added javascript function to preload graph images. v.1.2.0 - 2003/09/12 (markus_petrux) - Added AdminStats block (based on Administrative Statistics v.2.1.0 by Nivisec, Acyd Burn). - Added MonthlyPosts block (based on New Posts By Month v.1.0.0 by Tommy Jensen). - Added MonthlyTopics block (based on New Topics By Month v.1.0.0 by Tommy Jensen). - Added MonthlyUsers block (based on New Users By Month v.1.0.0 by Tommy Jensen). - Added TopPosters block (based on Top Posters v.2.1.0 by Nivisec, Acyd Burn). - Added TopStarters block (based on Most Active Topic Starter v.1.2.0 by Rusty Dragon). - Added FastestUsers block (based on Fastest Users v.1.1.0 by Rusty Dragon). - Added TopTopics block (based on Most Viewed/Active Topics v.2.1.0 by Nivisec, Acyd Burn). - Added MostInTopics block (based on Most Intersenting Topics v.1.3.0 by Rusty Dragon). - Added TopSmilies block (based on Top Smilies v.2.1.0 by Acyd Burn). - Added TopAvatars block (based on Top Avatars v.1.5.0 by Rusty Dragon). - Added TopWords block (based on Top Words v.1.2.0 by Rusty Dragon). - Added UsersRanks block (based on Users Ranks v.1.3.1 by Rusty Dragon). v.1.1.0 - 2003/09/07 (markus_petrux) - Added SiteStaff block (based on Staff v.2.0.3 by Acid). v.1.0.2 - 2003/07/31 (markus_petrux) - Fixed problem with collector.php and $module_root_path. v.1.0.1 - 2003/07/22 (markus_petrux) - Added db_uninstall.php script. - Added AdminCP option to manage counters. - General cleanup of common classes. - Added collector.php which should be included in page_header.php - Please, apply the MODs at the end of this file. v.1.0.0 - 2003/07/10 (markus_petrux) - Very first beta. ## ## /Markus ## ################################################################# ################################################################# ## ## M M OOO DDDD SSS ## MM MM O O D D S ## M M M O O D D SSS ## M M M O O D D S ## M M OOO DDDD SSS ## ################################################################# ## ## # #---[ OPEN ]---------- # mxroot/includes/page_header.php # #---[ FIND ]---------- # ?> # #---[ BEFORE, ADD ]---------- # // ------------------------------ // MOD:mx_sitestats:begin // include_once( $mx_root_path . 'modules/mx_sitestats/collector.' . $phpEx ); // //MOD:mx_sitestats:end // ------------------------------ # #---[ SAVE ]---------- # ## ## ################################################################# ## ## # #---[ OPEN ]---------- # phpbb/includes/page_header.php # #---[ FIND ]---------- # ?> # #---[ BEFORE, ADD ]---------- # // ------------------------------ // MOD:mx_sitestats:begin // // Select (or edit) to match relative path to your mx root !!! $mx_root_path = '../portal/'; $mx_root_path = '../'; include_once( $mx_root_path . 'modules/mx_sitestats/collector.' . $phpEx ); // //MOD:mx_sitestats:end // ------------------------------ # #---[ SAVE ]---------- # ## ## ## ################################################################# --- NEW FILE: SiteStats.pak --- module=+:48=+:SiteStats=+:modules/mx_sitestats/=+:Site Statistics module v1.3.1=+:1 New_function=+:---------------------------=+:0=+:0=+:0=+:0=+:0 function=+:48=+:62=+:SiteStats Administrative=+:=+:adminstats.php=+: parameter=+:0=+:0=+:0=+:endoflist=+:0=+:0 block=+:=+:Demo - SiteStats Administrative=+:Demo block=+:62=+:0=+:5=+:0=+:0=+:0=+:0=+:1=+:1 New_function=+:---------------------------=+:0=+:0=+:0=+:0=+:0 function=+:48=+:60=+:Counter=+:=+:counter.php=+: parameter=+:0=+:0=+:0=+:endoflist=+:0=+:0 block=+:=+:Demo - Counter=+:Demo block=+:60=+:0=+:5=+:0=+:0=+:0=+:0=+:1=+:1 New_function=+:---------------------------=+:0=+:0=+:0=+:0=+:0 function=+:48=+:68=+:SiteStats FastestUsers=+:=+:fastestusers.php=+: parameter=+:0=+:0=+:0=+:endoflist=+:0=+:0 block=+:=+:Demo - SiteStats FastestUsers=+:Demo block=+:68=+:0=+:5=+:0=+:0=+:0=+:0=+:1=+:1 New_function=+:---------------------------=+:0=+:0=+:0=+:0=+:0 function=+:48=+:63=+:SiteStats MonthlyPosts=+:=+:monthlyposts.php=+: parameter=+:0=+:0=+:0=+:endoflist=+:0=+:0 block=+:=+:Demo - SiteStats MonthlyPosts=+:Demo block=+:63=+:0=+:5=+:0=+:0=+:0=+:0=+:1=+:1 New_function=+:---------------------------=+:0=+:0=+:0=+:0=+:0 function=+:48=+:64=+:SiteStats MonthlyTopics=+:=+:monthlytopics.php=+: parameter=+:0=+:0=+:0=+:endoflist=+:0=+:0 block=+:=+:Demo - SiteStats MonthlyTopics=+:Demo block=+:64=+:0=+:5=+:0=+:0=+:0=+:0=+:1=+:1 New_function=+:---------------------------=+:0=+:0=+:0=+:0=+:0 function=+:48=+:65=+:SiteStats MonthlyUsers=+:=+:monthlyusers.php=+: parameter=+:0=+:0=+:0=+:endoflist=+:0=+:0 block=+:=+:Demo - SiteStats MonthlyUsers=+:Demo block=+:65=+:0=+:5=+:0=+:0=+:0=+:0=+:1=+:1 New_function=+:---------------------------=+:0=+:0=+:0=+:0=+:0 function=+:48=+:70=+:SiteStats MostInTopics=+:=+:mostintopics.php=+: parameter=+:0=+:0=+:0=+:endoflist=+:0=+:0 block=+:=+:Demo - SiteStats MostInTopics=+:Demo block=+:70=+:0=+:5=+:0=+:0=+:0=+:0=+:1=+:1 New_function=+:---------------------------=+:0=+:0=+:0=+:0=+:0 function=+:48=+:75=+:SiteStats Staff=+:=+:sitestaff.php=+: parameter=+:0=+:0=+:0=+:endoflist=+:0=+:0 block=+:=+:Demo - SiteStats Staff=+:Demo block=+:75=+:0=+:5=+:0=+:0=+:0=+:0=+:1=+:1 New_function=+:---------------------------=+:0=+:0=+:0=+:0=+:0 function=+:48=+:72=+:SiteStats TopAvatars=+:=+:topavatars.php=+: parameter=+:0=+:0=+:0=+:endoflist=+:0=+:0 block=+:=+:Demo - SiteStats TopAvatars=+:Demo block=+:72=+:0=+:5=+:0=+:0=+:0=+:0=+:1=+:1 New_function=+:---------------------------=+:0=+:0=+:0=+:0=+:0 function=+:48=+:66=+:SiteStats TopPosters=+:=+:topposters.php=+: parameter=+:0=+:0=+:0=+:endoflist=+:0=+:0 block=+:=+:Demo - SiteStats TopPosters=+:Demo block=+:66=+:0=+:5=+:0=+:0=+:0=+:0=+:1=+:1 New_function=+:---------------------------=+:0=+:0=+:0=+:0=+:0 function=+:48=+:76=+:SiteStats TopPosters (Tiny)=+:=+:topposters_tiny.php=+: parameter=+:0=+:0=+:0=+:endoflist=+:0=+:0 block=+:=+:Demo - SiteStats TopPosters (Tiny)=+:Demo block=+:76=+:0=+:5=+:0=+:0=+:0=+:0=+:1=+:1 New_function=+:---------------------------=+:0=+:0=+:0=+:0=+:0 function=+:48=+:61=+:SiteStats TopReferers=+:=+:topreferers.php=+: parameter=+:0=+:0=+:0=+:endoflist=+:0=+:0 block=+:=+:Demo - SiteStats TopReferers=+:Demo block=+:61=+:0=+:5=+:0=+:0=+:0=+:0=+:1=+:1 New_function=+:---------------------------=+:0=+:0=+:0=+:0=+:0 function=+:48=+:71=+:SiteStats TopSmilies=+:=+:topsmilies.php=+: parameter=+:0=+:0=+:0=+:endoflist=+:0=+:0 block=+:=+:Demo - SiteStats TopSmilies=+:Demo block=+:71=+:0=+:5=+:0=+:0=+:0=+:0=+:1=+:1 New_function=+:---------------------------=+:0=+:0=+:0=+:0=+:0 function=+:48=+:67=+:SiteStats TopStarters=+:=+:topstarters.php=+: parameter=+:0=+:0=+:0=+:endoflist=+:0=+:0 block=+:=+:Demo - SiteStats TopStarters=+:Demo block=+:67=+:0=+:5=+:0=+:0=+:0=+:0=+:1=+:1 New_function=+:---------------------------=+:0=+:0=+:0=+:0=+:0 function=+:48=+:69=+:SiteStats TopTopics=+:=+:toptopics.php=+: parameter=+:0=+:0=+:0=+:endoflist=+:0=+:0 block=+:=+:Demo - SiteStats TopTopics=+:Demo block=+:69=+:0=+:5=+:0=+:0=+:0=+:0=+:1=+:1 New_function=+:---------------------------=+:0=+:0=+:0=+:0=+:0 function=+:48=+:73=+:SiteStats TopWords=+:=+:topwords.php=+: parameter=+:0=+:0=+:0=+:endoflist=+:0=+:0 block=+:=+:Demo - SiteStats TopWords=+:Demo block=+:73=+:0=+:5=+:0=+:0=+:0=+:0=+:1=+:1 New_function=+:---------------------------=+:0=+:0=+:0=+:0=+:0 function=+:48=+:74=+:SiteStats UsersRanks=+:=+:usersranks.php=+: parameter=+:0=+:0=+:0=+:endoflist=+:0=+:0 block=+:=+:Demo - SiteStats UsersRanks=+:Demo block=+:74=+:0=+:5=+:0=+:0=+:0=+:0=+:1=+:1 function=+:0=+:0=+:0=+:endoflist=+:0=+:0 --- NEW FILE: monthlyposts.php --- <?php /** ------------------------------------------------------------------------ * Subject : mxBB - a fully modular portal and CMS (for phpBB) * Author : Jon Ohlsson and the mxBB Team * Credits : The phpBB Group & Marc Morisette, Marc Ferran (www.phpmix.com) * based on : New Posts By Month MOD v.1.0.0 by Tommy Jensen * Copyright : (C) 2002-2005 mxBB Portal, phpMiX (c) 2004 * Email : jo...@mx... * Project site : www.mxbb-portal.com * ------------------------------------------------------------------------- * * $Id: monthlyposts.php,v 1.1 2005/10/15 22:18:27 jonohlsson Exp $ */ /** * 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, or * (at your option) any later version. */ // -------------------------------------------------------------------------------- // Block Initialization // -------------------------------------------------------------------------------- if ( !defined( 'IN_PORTAL' ) ) { die( "Hacking attempt !!!" ); } // Include common module stuff... include_once( $module_root_path . 'includes/common.' . $phpEx ); $block_config = read_block_config( $block_id ); $title = !empty($lang[$block_config[$block_id]['block_title']]) ? $lang[$block_config[$block_id]['block_title']] : $block_config[$block_id]['block_title']; if ( !isset( $ss_phpbb ) ) { $ss_phpbb = new sitestats_phpbb(); } // -------------------------------------------------------------------------------- // Block Procedure // -------------------------------------------------------------------------------- // This is the template used to render this block. $template->set_filenames( array( 'body' => 'sitestats_monthlystats_body.tpl' ) ); // Number of New Posts by Month $sql = 'SELECT YEAR(FROM_UNIXTIME(post_time)) AS aar, MONTH(FROM_UNIXTIME(post_time)) AS mnd, COUNT(*) AS ant FROM ' . POSTS_TABLE . ' GROUP BY YEAR(FROM_UNIXTIME(post_time)),MONTH(FROM_UNIXTIME(post_time)) ORDER BY post_time'; if ( !( $result = $db->sql_query( $sql ) ) ) { message_die( GENERAL_ERROR, "Couldn't retrieve posts data", '', __LINE__, __FILE__, $sql ); } $posts_count = $db->sql_numrows( $result ); $posts_data = $db->sql_fetchrowset( $result ); for( $i = 0; $i < $posts_count; $i = ( $i + $k ) ) { $year = $posts_data[$i]['aar']; $k = 0; for( $j = 0; $j < 12; $j++ ) { $m[$j + 1] = 0; } for( $j = 0; $j < 12; $j++ ) { if ( $year == $posts_data[$i + $j]['aar'] ) { $month = $posts_data[$i + $j]['mnd']; $m[$month] = $posts_data[$i + $j]['ant']; $k++; } } $template->assign_block_vars( 'datarow', array( 'CLASS' => ( !( $i + 1 % 2 ) ) ? $theme['td_class2'] : $theme['td_class1'], 'YEAR' => $year, 'M01' => $m[1], 'M02' => $m[2], 'M03' => $m[3], 'M04' => $m[4], 'M05' => $m[5], 'M06' => $m[6], 'M07' => $m[7], 'M08' => $m[8], 'M09' => $m[9], 'M10' => $m[10], 'M11' => $m[11], 'M12' => $m[12] ) ); } // Setup common template vars and display the block. $template->assign_vars( array( 'L_YEAR' => $lang['Year'], 'L_MONTH' => $lang['Month'], 'L_NUMBER' => $lang['Number'], 'L_JAN' => $lang['datetime']['Jan'], 'L_FEB' => $lang['datetime']['Feb'], 'L_MAR' => $lang['datetime']['Mar'], 'L_APR' => $lang['datetime']['Apr'], 'L_MAY' => $lang['datetime']['May'], 'L_JUN' => $lang['datetime']['Jun'], 'L_JUL' => $lang['datetime']['Jul'], 'L_AUG' => $lang['datetime']['Aug'], 'L_SEP' => $lang['datetime']['Sep'], 'L_OCT' => $lang['datetime']['Oct'], 'L_NOV' => $lang['datetime']['Nov'], 'L_DEC' => $lang['datetime']['Dec'], 'TEXT_CLASS' => $ss_phpbb->text_class, 'L_TITLE' => $lang['Monthly_Posts'] ) ); $template->pparse( 'body' ); ?> --- NEW FILE: adminstats.php --- <?php /** ------------------------------------------------------------------------ * Subject : mxBB - a fully modular portal and CMS (for phpBB) * Author : Jon Ohlsson and the mxBB Team * Credits : The phpBB Group & Marc Morisette, Marc Ferran (www.phpmix.com) * based on : Administrative Stats MOD v.2.1.0 by Nivisec, Acyd Burn * Copyright : (C) 2002-2005 mxBB Portal, phpMiX (c) 2004 * Email : jo...@mx... * Project site : www.mxbb-portal.com * ------------------------------------------------------------------------- * * $Id: adminstats.php,v 1.1 2005/10/15 22:18:27 jonohlsson Exp $ */ /** * 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, or * (at your option) any later version. */ // -------------------------------------------------------------------------------- // Block Initialization // -------------------------------------------------------------------------------- if ( !defined( 'IN_PORTAL' ) ) { die( "Hacking attempt !!!" ); } // Include common module stuff... include_once( $module_root_path . 'includes/common.' . $phpEx ); $block_config = read_block_config( $block_id ); $title = !empty($lang[$block_config[$block_id]['block_title']]) ? $lang[$block_config[$block_id]['block_title']] : $block_config[$block_id]['block_title']; if ( !isset( $ss_phpbb ) ) { $ss_phpbb = new sitestats_phpbb(); } // Load language files, required for several Administrative Statistics... if ( file_exists( $phpbb_root_path . 'language/lang_' . $board_config['default_lang'] . '/lang_admin.' . $phpEx ) ) { include_once( $phpbb_root_path . 'language/lang_' . $board_config['default_lang'] . '/lang_admin.' . $phpEx ); } else { include_once( $phpbb_root_path . 'language/lang_english/lang_admin.' . $phpEx ); } // -------------------------------------------------------------------------------- // Block Procedure // -------------------------------------------------------------------------------- // This is the template used to render this block. $template->set_filenames( array( 'body' => 'sitestats_adminstats_body.tpl' ) ); // Administrative Statistics $attachment_mod_installed = ( defined( 'ATTACH_VERSION' ) ) ? true : false; $attachment_version = ( $attachment_mod_installed ) ? ATTACH_VERSION : ''; if ( $attachment_mod_installed ) { include( $phpbb_root_path . 'attach_mod/includes/functions_admin.' . $phpEx ); } $total_posts = $ss_phpbb->get_db_stat( 'postcount' ); $total_users = $ss_phpbb->get_db_stat( 'usercount' ); $total_topics = $ss_phpbb->get_db_stat( 'topiccount' ); $start_date = create_date( $board_config['default_dateformat'], $board_config['board_startdate'], $board_config['board_timezone'] ); $boarddays = max( 1, round( ( time() - $board_config['board_startdate'] ) / 86400 ) ); $posts_per_day = sprintf( '%.2f', $total_posts / $boarddays ); $topics_per_day = sprintf( '%.2f', $total_topics / $boarddays ); $users_per_day = sprintf( '%.2f', $total_users / $boarddays ); $avatar_dir_size = 0; if ( $avatar_dir = @opendir( $phpbb_root_path . $board_config['avatar_path'] ) ) { while ( $file = @readdir( $avatar_dir ) ) { if ( $file != '.' && $file != '..' ) { $avatar_dir_size += @filesize( $phpbb_root_path . $board_config['avatar_path'] . '/' . $file ); } } @closedir( $avatar_dir ); // This bit of code translates the avatar directory size into human readable format // Borrowed the code from the PHP.net annoted manual, origanally written by: // Jesse (je...@je...) if ( !$attachment_mod_installed ) { if ( $avatar_dir_size >= 1048576 ) { $avatar_dir_size = round( $avatar_dir_size / 1048576 * 100 ) / 100 . ' MB'; } else if ( $avatar_dir_size >= 1024 ) { $avatar_dir_size = round( $avatar_dir_size / 1024 * 100 ) / 100 . ' KB'; } else { $avatar_dir_size = $avatar_dir_size . ' Bytes'; } } else { if ( $avatar_dir_size >= 1048576 ) { $avatar_dir_size = round( $avatar_dir_size / 1048576 * 100 ) / 100 . ' ' . $lang['MB']; } else if ( $avatar_dir_size >= 1024 ) { $avatar_dir_size = round( $avatar_dir_size / 1024 * 100 ) / 100 . ' ' . $lang['KB']; } else { $avatar_dir_size = $avatar_dir_size . ' ' . $lang['Bytes']; } } } else { $avatar_dir_size = $lang['Not_available']; } if ( $posts_per_day > $total_posts ) { $posts_per_day = $total_posts; } if ( $topics_per_day > $total_topics ) { $topics_per_day = $total_topics; } if ( $users_per_day > $total_users ) { $users_per_day = $total_users; } // DB size ... MySQL only // This code is heavily influenced by a similar routine // in phpMyAdmin 2.2.0 if ( preg_match( "/^mysql/", SQL_LAYER ) ) { $sql = "SELECT VERSION() AS mysql_version"; if ( $result = $db->sql_query( $sql ) ) { $row = $db->sql_fetchrow( $result ); $version = $row['mysql_version']; if ( preg_match( "/^(3\.23|4\.)/", $version ) ) { $db_name = ( preg_match( "/^(3\.23\.[6-9])|(3\.23\.[1-9][1-9])|(4\.)/", $version ) ) ? "`$dbname`" : $dbname; $sql = "SHOW TABLE STATUS FROM " . $db_name; if ( $result = $db->sql_query( $sql ) ) { $tabledata_ary = $db->sql_fetchrowset( $result ); $dbsize = 0; for( $i = 0; $i < count( $tabledata_ary ); $i++ ) { if ( $tabledata_ary[$i]['Type'] != "MRG_MyISAM" ) { if ( $table_prefix != "" ) { if ( strstr( $tabledata_ary[$i]['Name'], $table_prefix ) ) { $dbsize += $tabledata_ary[$i]['Data_length'] + $tabledata_ary[$i]['Index_length']; } } else { $dbsize += $tabledata_ary[$i]['Data_length'] + $tabledata_ary[$i]['Index_length']; } } } if ( $attachment_mod_installed ) { if ( $dbsize >= 1048576 ) { $dbsize = sprintf( '%.2f ' . $lang['MB'], ( $dbsize / 1048576 ) ); } else if ( $dbsize >= 1024 ) { $dbsize = sprintf( '%.2f ' . $lang['KB'], ( $dbsize / 1024 ) ); } else { $dbsize = sprintf( '%.2f ' . $lang['Bytes'], $dbsize ); } } else { if ( $dbsize >= 1048576 ) { $dbsize = sprintf( '%.2f MB', ( $dbsize / 1048576 ) ); } else if ( $dbsize >= 1024 ) { $dbsize = sprintf( '%.2f KB', ( $dbsize / 1024 ) ); } else { $dbsize = sprintf( '%.2f Bytes', $dbsize ); } } } // Else we couldn't get the table status. } else { $dbsize = $lang['Not_available']; } } else { $dbsize = $lang['Not_available']; } } else { $dbsize = $lang['Not_available']; } // Newest user data $newest_userdata = $ss_phpbb->get_db_stat( 'newestuser' ); $newest_user = $newest_userdata['username']; $newest_uid = $newest_userdata['user_id']; $sql = 'SELECT user_regdate FROM ' . USERS_TABLE . ' WHERE user_id = ' . $newest_uid . ' LIMIT 1'; if ( !( $result = $db->sql_query( $sql ) ) ) { message_die( GENERAL_ERROR, "Couldn't retrieve users data", '', __LINE__, __FILE__, $sql ); } $row = $db->sql_fetchrow( $result ); $newest_user_date = $row['user_regdate']; // Most Online data $sql = "SELECT * FROM " . CONFIG_TABLE . " WHERE config_name = 'record_online_users' OR config_name = 'record_online_date'"; if ( !$result = $db->sql_query( $sql ) ) { message_die( GENERAL_ERROR, "Couldn't retrieve configuration data", '', __LINE__, __FILE__, $sql ); } $row = $db->sql_fetchrowset( $result ); $most_users_date = $lang['Not_available']; $most_users = $lang['Not_available']; for( $i = 0; $i < count( $row ); $i++ ) { if ( ( intval( $row[$i]['config_value'] ) > 0 ) && ( $row[$i]['config_name'] == 'record_online_date' ) ) { $most_users_date = create_date( $board_config['default_dateformat'], intval( $row[$i]['config_value'] ), $board_config['board_timezone'] ); } else if ( ( intval( $row[$i]['config_value'] ) > 0 ) && ( $row[$i]['config_name'] == 'record_online_users' ) ) { $most_users = intval( $row[$i]['config_value'] ); } } $statistic_array = array( $lang['Number_posts'], $lang['Posts_per_day'], $lang['Number_topics'], $lang['Topics_per_day'], $lang['Number_users'], $lang['Users_per_day'], $lang['Board_started'], $lang['Board_Up_Days'], $lang['Database_size'], $lang['Avatar_dir_size'], $lang['Latest_Reg_User_Date'], $lang['Latest_Reg_User'], $lang['Most_Ever_Online_Date'], $lang['Most_Ever_Online'], $lang['Gzip_compression'] ); $value_array = array( $total_posts, $posts_per_day, $total_topics, $topics_per_day, $total_users, $users_per_day, $start_date, sprintf( '%.2f', $boarddays ), $dbsize, $avatar_dir_size, create_date( $board_config['default_dateformat'], $newest_user_date, $board_config['board_timezone'] ), sprintf( '<a href="' . append_sid( PHPBB_URL . 'profile.' . $phpEx . '?mode=viewprofile&' . POST_USERS_URL . '=' . $newest_uid ) . '">' . $newest_user . '</a>' ), $most_users_date, $most_users, ( $board_config['gzip_compress'] ) ? $lang['Enabled'] : $lang['Disabled'] ); // Disk Usage, if Attachment Mod is installed if ( $attachment_mod_installed ) { $disk_usage = get_formatted_dirsize(); $statistic_array[] = $lang['Disk_usage']; $value_array[] = $disk_usage; } for( $i = 0; $i < count( $statistic_array ); $i += 2 ) { $template->assign_block_vars( 'datarow', array( 'STATISTIC' => $statistic_array[$i], 'VALUE' => $value_array[$i], 'STATISTIC2' => ( isset( $statistic_array[$i + 1] ) ) ? $statistic_array[$i + 1] : '', 'VALUE2' => ( isset( $value_array[$i + 1] ) ) ? $value_array[$i + 1] : '' ) ); } // Setup common template vars and display the block. $template->assign_vars( array( 'L_STATISTIC' => $lang['Statistic'], 'L_VALUE' => $lang['Value'], 'TEXT_CLASS' => $ss_phpbb->text_class, 'L_TITLE' => $lang['Admin_Stats'] ) ); $template->pparse( 'body' ); ?> --- NEW FILE: topreferers.php --- <?php /** ------------------------------------------------------------------------ * Subject : mxBB - a fully modular portal and CMS (for phpBB) * Author : Jon Ohlsson and the mxBB Team * Credits : The phpBB Group & Marc Morisette, Marc Ferran (www.phpmix.com) * Copyright : (C) 2002-2005 mxBB Portal, phpMiX (c) 2004 * Email : jo...@mx... * Project site : www.mxbb-portal.com * ------------------------------------------------------------------------- * * $Id: topreferers.php,v 1.1 2005/10/15 22:18:27 jonohlsson Exp $ */ /** * 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, or * (at your option) any later version. */ // -------------------------------------------------------------------------------- // Block Initialization // -------------------------------------------------------------------------------- if ( !defined( 'IN_PORTAL' ) ) { die( "Hacking attempt !!!" ); } // Include common module stuff... include_once( $module_root_path . 'includes/common.' . $phpEx ); $block_config = read_block_config( $block_id ); $title = !empty($lang[$block_config[$block_id]['block_title']]) ? $lang[$block_config[$block_id]['block_title']] : $block_config[$block_id]['block_title']; // -------------------------------------------------------------------------------- // Block Procedure // -------------------------------------------------------------------------------- // This is the template used to render this block. $template->set_filenames( array( 'body' => 'sitestats_topreferers_body.tpl' ) ); // Top Referers $sql = 'SELECT * FROM ' . SITESTATS_REFERER_TABLE . ( $sitestats_config['referers_show_disabled'] ? '' : ' WHERE enabled = 1' ) . ' ORDER BY hits DESC, lastvisit DESC LIMIT ' . $sitestats_config['referers_count']; if ( !( $result = $db->sql_query( $sql ) ) ) { message_die( GENERAL_ERROR, "Couldn't retrieve HTTP Referers data", '', __LINE__, __FILE__, $sql ); } $numrows = $db->sql_numrows( $result ); $rowset = $db->sql_fetchrowset( $result ); for( $i = 0; $i < $numrows; $i++ ) { $template->assign_block_vars( 'datarow', array( 'CLASS' => ( !( $i + 1 % 2 ) ) ? $theme['td_class2'] : $theme['td_class1'], 'L_HTTP_HOST' => $rowset[$i]['host'], 'U_HTTP_HOST' => 'http://' . $rowset[$i]['host'], 'L_HITS' => $rowset[$i]['hits'] ) ); } // Setup common template vars and display the block. $template->assign_vars( array( 'L_TITLE' => $lang['SiteStats_TopReferers'] ) ); $template->pparse( 'body' ); ?> --- NEW FILE: collector.php --- <?php /** ------------------------------------------------------------------------ * Subject : mxBB - a fully modular portal and CMS (for phpBB) * Author : Jon Ohlsson and the mxBB Team * Credits : The phpBB Group & Marc Morisette, Marc Ferran (www.phpmix.com) * Copyright : (C) 2002-2005 mxBB Portal, phpMiX (c) 2004 * Email : jo...@mx... * Project site : www.mxbb-portal.com * ------------------------------------------------------------------------- * * $Id: collector.php,v 1.1 2005/10/15 22:18:27 jonohlsson Exp $ */ /** * 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, or * (at your option) any later version. */ // Security check... if ( !defined( 'IN_PORTAL' ) && !defined( 'IN_PHPBB' ) ) { die( "Hacking attempt !!!" ); } // Common Includes and Read Static Module Settings define( '_SITESTATS_CONFIG', true ); $module_root_save = $module_root_path; $module_root_path = $mx_root_path . 'modules/mx_sitestats/'; include_once( $module_root_path . 'includes/common.' . $phpEx ); $block_config = read_block_config( $block_id ); $title = !empty($lang[$block_config[$block_id]['block_title']]) ? $lang[$block_config[$block_id]['block_title']] : $block_config[$block_id]['block_title']; $module_root_path = $module_root_save; // Update the Counters... $sitestats_counter = new sitestats_counter(); $sitestats_counter->readCounter( $board_config['sitename'] ); $sitestats_counter->incrementCounter(); if ( !$sitestats_counter->updateCounter() ) { if ( $userdata['user_level'] == ADMIN ) { // message_die(GENERAL_ERROR, "Could not update SiteStats counter information for page: " . $sitestats_counter->page, // "", __LINE__, __FILE__, $sitestats_counter->sql); } } // Update HTTP Referer... if ( $sitestats_config['referers_logging'] ) { if ( !$sitestats_counter->updateReferer() ) { if ( $userdata['user_level'] == ADMIN ) { // message_die(GENERAL_ERROR, "Couldn't insert new referer", "", __LINE__, __FILE__, $sql); } } } ?> --- NEW FILE: usersranks.php --- <?php /** ------------------------------------------------------------------------ * Subject : mxBB - a fully modular portal and CMS (for phpBB) * Author : Jon Ohlsson and the mxBB Team * Credits : The phpBB Group & Marc Morisette, Marc Ferran (www.phpmix.com) * based on : Users Ranks MOD v.1.3.1 by RustyDragon * Copyright : (C) 2002-2005 mxBB Portal, phpMiX (c) 2004 * Email : jo...@mx... * Project site : www.mxbb-portal.com * ------------------------------------------------------------------------- * * $Id: usersranks.php,v 1.1 2005/10/15 22:18:27 jonohlsson Exp $ */ /** * 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, or * (at your option) any later version. */ // -------------------------------------------------------------------------------- // Block Initialization // -------------------------------------------------------------------------------- if ( !defined( 'IN_PORTAL' ) ) { die( "Hacking attempt !!!" ); } // Include common module stuff... include_once( $module_root_path . 'includes/common.' . $phpEx ); $block_config = read_block_config( $block_id ); $title = !empty($lang[$block_config[$block_id]['block_title']]) ? $lang[$block_config[$block_id]['block_title']] : $block_config[$block_id]['block_title']; if ( !isset( $ss_phpbb ) ) { $ss_phpbb = new sitestats_phpbb(); } // -------------------------------------------------------------------------------- // Block Procedure // -------------------------------------------------------------------------------- // This is the template used to render this block. $template->set_filenames( array( 'body' => 'sitestats_usersranks_body.tpl' ) ); // Users Ranks $sql = 'SELECT * FROM ' . RANKS_TABLE . ' ORDER BY rank_min, rank_title'; if ( !$result = $db->sql_query( $sql ) ) { message_die( GENERAL_ERROR, "Couldn't retrieve ranks data", '', __LINE__, __FILE__, $sql ); } $ranks_count = $db->sql_numrows( $result ); $ranks_data = $db->sql_fetchrowset( $result ); $total_users = $ss_phpbb->get_db_stat( 'usercount' ); $firstcount = 0; for( $i = 0; $i < $ranks_count; $i++ ) { if ( $ranks_data[$i]['rank_special'] == 1 ) { $sql = 'SELECT COUNT(user_id) AS used_counter FROM ' . USERS_TABLE . ' WHERE user_rank = ' . $ranks_data[$i]['rank_id']; $ranks_data[$i]['posts_range'] = $lang['Special_Rank']; } else { $rank_min = $ranks_data[$i]['rank_min']; if ( $i == ( $ranks_count - 1 ) ) { $sql = 'SELECT COUNT(user_id) AS used_counter FROM ' . USERS_TABLE . ' WHERE user_posts >= ' . $rank_min; $ranks_data[$i]['posts_range'] = ' + ' . $rank_min; } else { $rank_max = $ranks_data[$i + 1]['rank_min']; $sql = 'SELECT COUNT(user_id) AS used_counter FROM ' . USERS_TABLE . ' WHERE user_posts >= ' . $rank_min . ' AND user_posts < ' . $rank_max; $ranks_data[$i]['posts_range'] = $rank_min . ' - ' . ( $rank_max - 1 ); } } if ( !$result = $db->sql_query( $sql ) ) { message_die( GENERAL_ERROR, "Couldn't retrieve users data", '', __LINE__, __FILE__, $sql ); } $user_data = $db->sql_fetchrowset( $result ); $user_count = $user_data[0]['used_counter']; $ranks_data[$i]['used_counter'] = $user_data[0]['used_counter']; if ( $firstcount < $ranks_data[$i]['used_counter'] ) { $firstcount = $ranks_data[$i]['used_counter']; } if ( $ranks_data[$i]['rank_image'] ) { $ranks_data[$i]['rank_img'] = '<img src="' . PHPBB_URL . $ranks_data[$i]['rank_image'] . '" border="0" alt="' . $ranks_data[$i]['rank_title'] . '" />'; } else { $ranks_data[$i]['rank_img'] = ''; } } for( $i = 0; $i < $ranks_count; $i++ ) { if ( $ranks_data[$i]['rank_special'] == 1 ) { $percent_array = $ss_phpbb->do_percent_math( $firstcount, $ranks_data[$i]['used_counter'], $total_users ); $template->assign_block_vars( 'datarow', array( 'RANK' => $i + 1, 'CLASS' => ( !( $i + 1 % 2 ) ) ? $theme['td_class2'] : $theme['td_class1'], 'RANK_TITLE_IMAGE' => $ranks_data[$i]['rank_title'] . '<br />' . $ranks_data[$i]['rank_img'], 'RANK_RANGE' => $ranks_data[$i]['posts_range'], 'USERS' => $ranks_data[$i]['used_counter'], 'PERCENTAGE' => $percent_array['percentage'], 'BAR' => $percent_array['bar_percent'] ) ); } } for( $i = ( $ranks_count-1 ); $i > 0; $i-- ) { if ( $ranks_data[$i]['rank_special'] != 1 ) { $percent_array = $ss_phpbb->do_percent_math( $firstcount, $ranks_data[$i]['used_counter'], $total_users ); $template->assign_block_vars( 'datarow', array( 'RANK' => $i + 1, 'CLASS' => ( !( $i + 1 % 2 ) ) ? $theme['td_class2'] : $theme['td_class1'], 'RANK_TITLE_IMAGE' => $ranks_data[$i]['rank_title'] . '<br />' . $ranks_data[$i]['rank_img'], 'RANK_RANGE' => $ranks_data[$i]['posts_range'], 'USERS' => $ranks_data[$i]['used_counter'], 'PERCENTAGE' => $percent_array['percentage'], 'BAR' => $percent_array['bar_percent'] ) ); } } // Setup voting bar images... $ss_phpbb->set_voting_bar(); // Setup common template vars and display the block. $template->assign_vars( array( 'L_RANK' => $lang['Rank'], 'L_RANK_TITLE_IMAGE' => $lang['Rank_Title_Image'], 'L_RANK_RANGE' => $lang['Rank_range'], 'L_USERS' => $lang['Uses'], 'L_PERCENTAGE' => $lang['Percent'], 'L_GRAPH' => $lang['Graph'], 'TEXT_CLASS' => $ss_phpbb->text_class, 'L_TITLE' => $lang['Users_Ranks'] ) ); $template->pparse( 'body' ); ?> --- NEW FILE: db_uninstall.php --- <?php /** ------------------------------------------------------------------------ * Subject : mxBB - a fully modular portal and CMS (for phpBB) * Author : Jon Ohlsson and the mxBB Team * Credits : The phpBB Group & Marc Morisette, Marc Ferran (www.phpmix.com) * Copyright : (C) 2002-2005 mxBB Portal, phpMiX (c) 2004 * Email : jo...@mx... * Project site : www.mxbb-portal.com * ------------------------------------------------------------------------- * * $Id: db_uninstall.php,v 1.1 2005/10/15 22:18:27 jonohlsson Exp $ */ /** * 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, or * (at your option) any later version. */ define( 'IN_PORTAL', true ); if ( !defined( 'IN_ADMIN' ) ) { $mx_root_path = './../../'; include( $mx_root_path . 'extension.inc' ); include( $mx_root_path . 'common.' . $phpEx ); // Start session management $userdata = session_pagestart( $user_ip, PAGE_INDEX ); mx_init_userprefs( $userdata ); if ( !$userdata['session_logged_in'] ) { die( "Hacking attempt(1)" ); } if ( $userdata['user_level'] != ADMIN ) { die( "Hacking attempt(2)" ); } // End session management } // Read module constants... $module_root_path = dirname( __FILE__ ) . '/'; include_once( $module_root_path . 'includes/common.' . $phpEx ); if ( !defined( 'SITESTATS_COUNTER_TABLE' ) ) { message_die( GENERAL_ERROR, "Couldn't load file includes/common.$phpEx", "", __LINE__, __FILE__ ); } // SQL statements to drop module tables... $sql = array( "DROP TABLE " . SITESTATS_COUNTER_TABLE, "DROP TABLE " . SITESTATS_REFERER_TABLE, "DROP TABLE " . SITESTATS_CONFIG_TABLE ); echo "<br /><br />"; echo "<table width=\"90%\" align=\"center\" cellpadding=\"4\" cellspacing=\"1\" border=\"0\" class=\"forumline\">"; echo "<tr><th class=\"thHead\" align=\"center\">Module Installation/Upgrading/Uninstalling Information - module specific db tables</th></tr>"; echo "<tr><td class=\"row1\" align=\"left\"><span class=\"gen\">" . mx_do_install_upgrade( $sql ) . "</span></td></tr>"; echo "</table><br />"; ?> --- NEW FILE: topavatars.php --- <?php /** ------------------------------------------------------------------------ * Subject : mxBB - a fully modular portal and CMS (for phpBB) * Author : Jon Ohlsson and the mxBB Team * Credits : The phpBB Group & Marc Morisette, Marc Ferran (www.phpmix.com) * based on : Top Avatars v.1.5.0 MOD by RustyDragon * Copyright : (C) 2002-2005 mxBB Portal, phpMiX (c) 2004 * Email : jo...@mx... * Project site : www.mxbb-portal.com * ------------------------------------------------------------------------- * * $Id: topavatars.php,v 1.1 2005/10/15 22:18:27 jonohlsson Exp $ */ /** * 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, or * (at your option) any later version. */ // -------------------------------------------------------------------------------- // Block Initialization // -------------------------------------------------------------------------------- if ( !defined( 'IN_PORTAL' ) ) { die( "Hacking attempt !!!" ); } // Include common module stuff... include_once( $module_root_path . 'includes/common.' . $phpEx ); $block_config = read_block_config( $block_id ); $title = !empty($lang[$block_config[$block_id]['block_title']]) ? $lang[$block_config[$block_id]['block_title']] : $block_config[$block_id]['block_title']; if ( !isset( $ss_phpbb ) ) { $ss_phpbb = new sitestats_phpbb(); } // -------------------------------------------------------------------------------- // Block Procedure // -------------------------------------------------------------------------------- // This is the template used to render this block. $template->set_filenames( array( 'body' => 'sitestats_topavatars_body.tpl' ) ); // Top Avatars $sql = "SELECT COUNT(user_avatar) AS used_counter, user_avatar FROM " . USERS_TABLE . " WHERE user_avatar_type = " . USER_AVATAR_GALLERY . " GROUP BY user_avatar ORDER BY used_counter DESC LIMIT " . $ss_phpbb->return_limit; if ( !$result = $db->sql_query( $sql ) ) { message_die( GENERAL_ERROR, "Couldn't retrieve users data", "", __LINE__, __FILE__, $sql ); } $user_count = $db->sql_numrows( $result ); $user_data = $db->sql_fetchrowset( $result ); $firstcount = $user_data[0]['used_counter']; for( $i = 0; $i < $user_count; $i++ ) { $percent_array = $ss_phpbb->do_percent_math( $firstcount, $user_data[$i]['used_counter'], $user_count ); $template->assign_block_vars( 'datarow', array( 'RANK' => $i + 1, 'CLASS' => ( !( $i + 1 % 2 ) ) ? $theme['td_class2'] : $theme['td_class1'], 'USES' => $user_data[$i]['used_counter'], 'PERCENTAGE' => $percent_array['percentage'], 'BAR' => $percent_array['bar_percent'], 'URL' => '<img src="' . PHPBB_URL . $board_config['avatar_gallery_path'] . '/' . $user_data[$i]['user_avatar'] . '" alt="' . $user_data[$i]['user_avatar'] . '" border="0" />' ) ); } // Setup voting bar images... $ss_phpbb->set_voting_bar(); // Setup common template vars and display the block. $template->assign_vars( array( 'L_USES' => $lang['Uses'], 'L_RANK' => $lang['Rank'], 'L_PERCENTAGE' => $lang['Percent'], 'L_GRAPH' => $lang['Graph'], 'L_AVATAR' => $lang['Avatar'], 'TEXT_CLASS' => $ss_phpbb->text_class, 'L_TITLE' => $lang['Top_Avatars'] ) ); $template->pparse( 'body' ); ?> --- NEW FILE: monthlytopics.php --- <?php /** ------------------------------------------------------------------------ * Subject : mxBB - a fully modular portal and CMS (for phpBB) * Author : Jon Ohlsson and the mxBB Team * Credits : The phpBB Group & Marc Morisette, Marc Ferran (www.phpmix.com) * based on : New Posts By Month MOD v.1.0.0 by Tommy Jensen * Copyright : (C) 2002-2005 mxBB Portal, phpMiX (c) 2004 * Email : jo...@mx... * Project site : www.mxbb-portal.com * ------------------------------------------------------------------------- * * $Id: monthlytopics.php,v 1.1 2005/10/15 22:18:27 jonohlsson Exp $ */ /** * 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, or * (at your option) any later version. */ // -------------------------------------------------------------------------------- // Block Initialization // -------------------------------------------------------------------------------- if ( !defined( 'IN_PORTAL' ) ) { die( "Hacking attempt !!!" ); } // Include common module stuff... include_once( $module_root_path . 'includes/common.' . $phpEx ); $block_config = read_block_config( $block_id ); $title = !empty($lang[$block_config[$block_id]['block_title']]) ? $lang[$block_config[$block_id]['block_title']] : $block_config[$block_id]['block_title']; if ( !isset( $ss_phpbb ) ) { $ss_phpbb = new sitestats_phpbb(); } // -------------------------------------------------------------------------------- // Block Procedure // -------------------------------------------------------------------------------- // This is the template used to render this block. $template->set_filenames( array( 'body' => 'sitestats_monthlystats_body.tpl' ) ); // Number of New Topics by Month $sql = 'SELECT YEAR(FROM_UNIXTIME(topic_time)) AS aar, MONTH(FROM_UNIXTIME(topic_time)) AS mnd, COUNT(*) AS ant FROM ' . TOPICS_TABLE . ' GROUP BY YEAR(FROM_UNIXTIME(topic_time)),MONTH(FROM_UNIXTIME(topic_time)) ORDER BY topic_time'; if ( !( $result = $db->sql_query( $sql ) ) ) { message_die( GENERAL_ERROR, "Couldn't retrieve topics data", '', __LINE__, __FILE__, $sql ); } $topics_count = $db->sql_numrows( $result ); $topics_data = $db->sql_fetchrowset( $result ); for( $i = 0; $i < $topics_count; $i = ( $i + $k ) ) { $year = $topics_data[$i]['aar']; $k = 0; for( $j = 0; $j < 12; $j++ ) { $m[$j + 1] = 0; } for( $j = 0; $j < 12; $j++ ) { if ( $year == $topics_data[$i + $j]['aar'] ) { $month = $topics_data[$i + $j]['mnd']; $m[$month] = $topics_data[$i + $j]['ant']; $k++; } } $template->assign_block_vars( 'datarow', array( 'CLASS' => ( !( $i + 1 % 2 ) ) ? $theme['td_class2'] : $theme['td_class1'], 'YEAR' => $year, 'M01' => $m[1], 'M02' => $m[2], 'M03' => $m[3], 'M04' => $m[4], 'M05' => $m[5], 'M06' => $m[6], 'M07' => $m[7], 'M08' => $m[8], 'M09' => $m[9], 'M10' => $m[10], 'M11' => $m[11], 'M12' => $m[12] ) ); } // Setup common template vars and display the block. $template->assign_vars( array( 'L_YEAR' => $lang['Year'], 'L_MONTH' => $lang['Month'], 'L_NUMBER' => $lang['Number'], 'L_JAN' => $lang['datetime']['Jan'], 'L_FEB' => $lang['datetime']['Feb'], 'L_MAR' => $lang['datetime']['Mar'], 'L_APR' => $lang['datetime']['Apr'], 'L_MAY' => $lang['datetime']['May'], 'L_JUN' => $lang['datetime']['Jun'], 'L_JUL' => $lang['datetime']['Jul'], 'L_AUG' => $lang['datetime']['Aug'], 'L_SEP' => $lang['datetime']['Sep'], 'L_OCT' => $lang['datetime']['Oct'], 'L_NOV' => $lang['datetime']['Nov'], 'L_DEC' => $lang['datetime']['Dec'], 'TEXT_CLASS' => $ss_phpbb->text_class, 'L_TITLE' => $lang['Monthly_Topics'] ) ); $template->pparse( 'body' ); ?> --- NEW FILE: topposters_tiny.php --- <?php /** ------------------------------------------------------------------------ * Subject : mxBB - a fully modular portal and CMS (for phpBB) * Author : Jon Ohlsson and the mxBB Team * Credits : The phpBB Group & Marc Morisette, Marc Ferran (www.phpmix.com) * Copyright : (C) 2002-2005 mxBB Portal, phpMiX (c) 2004 * Email : jo...@mx... * Project site : www.mxbb-portal.com * ------------------------------------------------------------------------- * * $Id: topposters_tiny.php,v 1.1 2005/10/15 22:18:27 jonohlsson Exp $ */ /** * 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, or * (at your option) any later version. */ // -------------------------------------------------------------------------------- // Block Initialization // -------------------------------------------------------------------------------- if ( !defined( 'IN_PORTAL' ) ) { die( "Hacking attempt !!!" ); } // Include common module stuff... include_once( $module_root_path . 'includes/common.' . $phpEx ); $block_config = read_block_config( $block_id ); $title = !empty($lang[$block_config[$block_id]['block_title']]) ? $lang[$block_config[$block_id]['block_title']] : $block_config[$block_id]['block_title']; if ( !isset( $ss_phpbb ) ) { $ss_phpbb = new sitestats_phpbb(); } // -------------------------------------------------------------------------------- // Block Procedure // -------------------------------------------------------------------------------- // This is the template used to render this block. $template->set_filenames( array( 'body' => 'sitestats_topposters_tiny.tpl' ) ); // Top Posters $sql = 'SELECT user_id, username, user_posts FROM ' . USERS_TABLE . ' WHERE (user_id <> ' . ANONYMOUS . ') AND (user_posts > 0) ORDER BY user_posts DESC, username ASC LIMIT ' . $ss_phpbb->return_limit; if ( !( $result = $db->sql_query( $sql ) ) ) { message_die( GENERAL_ERROR, "Couldn't retrieve users data", '', __LINE__, __FILE__, $sql ); } $user_count = $db->sql_numrows( $result ); $user_data = $db->sql_fetchrowset( $result ); for ( $i = 0; $i < $user_count; $i++ ) { $template->assign_block_vars( 'datarow', array( 'CLASS' => ( !( $i + 1 % 2 ) ) ? $theme['td_class2'] : $theme['td_class1'], 'USERNAME' => $user_data[$i]['username'], 'URL' => append_sid( PHPBB_URL . 'profile.php?mode=viewprofile&u=' . $user_data[$i]['user_id'] ), 'POSTS' => $user_data[$i]['user_posts'] ) ); } // Setup common template vars and display the block. $template->assign_vars( array( 'L_USERNAME' => $lang['Username'], 'L_POSTS' => $lang['Posts'], 'TEXT_CLASS' => $ss_phpbb->text_class, 'L_TITLE' => $lang['Top_Posters'] ) ); $template->pparse( 'body' ); ?> --- NEW FILE: toptopics.php --- <?php /** ------------------------------------------------------------------------ * Subject : mxBB - a fully modular portal and CMS (for phpBB) * Author : Jon Ohlsson and the mxBB Team * Credits : The phpBB Group & Marc Morisette, Marc Ferran (www.phpmix.com) * based on : Top Topics MOD v.2.1.0 by Nivisec, Acyd Burn * Copyright : (C) 2002-2005 mxBB Portal, phpMiX (c) 2004 * Email : jo...@mx... * Project site : www.mxbb-portal.com * ------------------------------------------------------------------------- * * $Id: toptopics.php,v 1.1 2005/10/15 22:18:27 jonohlsson Exp $ */ /** * 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, or * (at your option) any later version. */ // -------------------------------------------------------------------------------- // Block Initialization // -------------------------------------------------------------------------------- if ( !defined( 'IN_PORTAL' ) ) { die( "Hacking attempt !!!" ); } // Include common module stuff... include_once( $module_root_path . 'includes/common.' . $phpEx ); $block_config = read_block_config( $block_id ); $title = !empty($lang[$block_config[$block_id]['block_title']]) ? $lang[$block_config[$block_id]['block_title']] : $block_config[$block_id]['block_title']; if ( !isset( $ss_phpbb ) ) { $ss_phpbb = new sitestats_phpbb(); } // -------------------------------------------------------------------------------- // Block Procedure // -------------------------------------------------------------------------------- // This is the template used to render this block. $template->set_filenames( array( 'body' => 'sitestats_toptopics_body.tpl' ) ); // Retrieve list of Forums with View Permission... $auth_data_sql = get_auth_forum(); // Most Viewed Topics $sql = 'SELECT topic_id, topic_title, topic_views FROM ' . TOPICS_TABLE . ' WHERE forum_id IN (' . $auth_data_sql . ') AND (topic_status <> 2) AND (topic_views > 0) ORDER BY topic_views DESC LIMIT ' . $ss_phpbb->return_limit; if ( !( $result = $db->sql_query( $sql ) ) ) { message_die( GENERAL_ERROR, 'Couldn\'t retrieve topic data', '', __LINE__, __FILE__, $sql ); } $topic_count = $db->sql_numrows( $result ); $topic_data = $db->sql_fetchrowset( $result ); for( $i = 0; $i < $topic_count; $i++ ) { $class = ( !( $i + 1 % 2 ) ) ? $theme['td_class2'] : $theme['td_class1']; $template->assign_block_vars( 'datarow1', array( 'RANK' => $i + 1, 'CLASS' => $class, 'TITLE' => $topic_data[$i]['topic_title'], 'VIEWS' => $topic_data[$i]['topic_views'], 'URL' => append_sid( PHPBB_URL . 'viewtopic.php?t=' . $topic_data[$i]['topic_id'] ) ) ); } // Most Active Topics $sql = 'SELECT topic_id, topic_title, topic_replies FROM ' . TOPICS_TABLE . ' WHERE forum_id IN (' . $auth_data_sql . ') AND (topic_status <> 2) AND (topic_replies > 0) ORDER BY topic_replies DESC LIMIT ' . $ss_phpbb->return_limit; if ( !( $result = $db->sql_query( $sql ) ) ) { message_die( GENERAL_ERROR, 'Couldn\'t retrieve topic data', '', __LINE__, __FILE__, $sql ); } $topic_count = $db->sql_numrows( $result ); $topic_data = $db->sql_fetchrowset( $result ); for( $i = 0; $i < $topic_count; $i++ ) { $class = ( !( $i + 1 % 2 ) ) ? $theme['td_class2'] : $theme['td_class1']; $template->assign_block_vars( 'datarow2', array( 'RANK' => $i + 1, 'CLASS' => $class, 'TITLE' => $topic_data[$i]['topic_title'], 'REPLIES' => $topic_data[$i]['topic_replies'], 'URL' => append_sid( PHPBB_URL . 'viewtopic.php?t=' . $topic_data[$i]['topic_id'] ) ) ); } // Setup common template vars and display the block. $template->assign_vars( array( 'L_RANK' => $lang['Rank'], 'L_VIEWS' => $lang['Views'], 'L_REPLIES' => $lang['Replies'], 'L_TOPIC' => $lang['Topic'], 'TEXT_CLASS' => $ss_phpbb->text_class, 'L_TITLE1' => $lang['Most_Viewed_Topics'], 'L_TITLE2' => $lang['Most_Active_Topics'] ) ); $template->pparse( 'body' ); ?> --- NEW FILE: db_upgrade.php --- <?php /** ------------------------------------------------------------------------ * Subject : mxBB - a fully modular portal and CMS (for phpBB) * Author : Jon Ohlsson and the mxBB Team * Credits : The phpBB Group & Marc Morisette, Marc Ferran (www.phpmix.com) * Copyright : (C) 2002-2005 mxBB Portal, phpMiX (c) 2004 * Email : jo...@mx... * Project site : www.mxbb-portal.com * ------------------------------------------------------------------------- * * $Id: db_upgrade.php,v 1.1 2005/10/15 22:18:27 jonohlsson Exp $ */ /** * 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, or * (at your option) any later version. */ define( 'IN_PORTAL', true ); if ( !defined( 'IN_ADMIN' ) ) { $mx_root_path = './../../'; include( $mx_root_path . 'extension.inc' ); include( $mx_root_path . 'common.' . $phpEx ); // Start session management $userdata = session_pagestart( $user_ip, PAGE_INDEX ); mx_init_userprefs( $userdata ); if ( !$userdata['session_logged_in'] ) { die( "Hacking attempt(1)" ); } if ( $userdata['user_level'] != ADMIN ) { die( "Hacking attempt(2)" ); } // End session management } $mx_module_version = 'mxBB Sitestats Module 2.0.0'; $mx_module_copy = 'Written by <a href="http://www.phpmix.com" target="_phpbb" >Markus</a>'; $sql = array(); $message = "<b>You are upgrading the module!</b><br/><br/>"; $sql[] = "UPDATE " . $mx_table_prefix . "module" . " SET module_version = '" . $mx_module_version . "', module_copy = '" . $mx_module_copy . "' WHERE module_id = '" . $mx_module_id . "'"; $message .= mx_do_install_upgrade( $sql ); echo "<br /><br />"; echo "<table width=\"90%\" align=\"center\" cellpadding=\"4\" cellspacing=\"1\" border=\"0\" class=\"forumline\">"; echo "<tr><th class=\"thHead\" align=\"center\">Module Installation/Upgrading/Uninstalling Information - module specific db tables</th></tr>"; echo "<tr><td class=\"row1\" align=\"left\"><span class=\"gen\">" . $message . "</span></td></tr>"; echo "</table><br />"; ?> --- NEW FILE: topposters.php --- <?php /** ------------------------------------------------------------------------ * Subject : mxBB - a fully modular portal and CMS (for phpBB) * Author : Jon Ohlsson and the mxBB Team * Credits : The phpBB Group & Marc Morisette, Marc Ferran (www.phpmix.com) * based on : Top Posters MOD v.2.1.0 by Nivisec, Acyd Burn * Copyright : (C) 2002-2005 mxBB Portal, phpMiX (c) 2004 * Email : jo...@mx... * Project site : www.mxbb-portal.com * ------------------------------------------------------------------------- * * $Id: topposters.php,v 1.1 2005/10/15 22:18:27 jonohlsson Exp $ */ /** * 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, or * (at your option) any later version. */ // -------------------------------------------------------------------------------- // Block Initialization // -------------------------------------------------------------------------------- if ( !defined( 'IN_PORTAL' ) ) { die( "Hacking attempt !!!" ); } // Include common module stuff... include_once( $module_root_path . 'includes/common.' . $phpEx ); $block_config = read_block_config( $block_id ); $title = !empty($lang[$block_config[$block_id]['block_title']]) ? $lang[$block_config[$block_id]['block_title']] : $block_config[$block_id]['block_title']; if ( !isset( $ss_phpbb ) ) { $ss_phpbb = new sitestats_phpbb(); } // -------------------------------------------------------------------------------- // Block Procedure // -------------------------------------------------------------------------------- // This is the template used to render this block. $template->set_filenames( array( 'body' => 'sitestats_topposters_body.tpl' ) ); // Top Posters $sql = 'SELECT user_id, username, user_posts FROM ' . USERS_TABLE . ' WHERE (user_id <> ' . ANONYMOUS . ') AND (user_posts > 0) ORDER BY user_posts DESC LIMIT ' . $ss_phpbb->return_limit; if ( !( $result = $db->sql_query( $sql ) ) ) { message_die( GENERAL_ERROR, "Couldn't retrieve users data", '', __LINE__, __FILE__, $sql ); } $user_count = $db->sql_numrows( $result ); $user_data = $db->sql_fetchrowset( $result ); $firstcount = $user_data[0]['user_posts']; $total_posts = $ss_phpbb->get_db_stat( 'postcount' ); for ( $i = 0; $i < $user_count; $i++ ) { $percent_array = $ss_phpbb->do_percent_math( $firstcount, $user_data[$i]['user_posts'], $total_posts ); $template->assign_block_vars( 'datarow', array( 'RANK' => $i + 1, 'CLASS' => ( !( $i + 1 % 2 ) ) ? $theme['td_class2'] : $theme['td_class1'], 'USERNAME' => $user_data[$i]['username'], 'PERCENTAGE' => $percent_array['percentage'], 'BAR' => $percent_array['bar_percent'], 'URL' => append_sid( PHPBB_URL . 'profile.php?mode=viewprofile&u=' . $user_data[$i]['user_id'] ), 'POSTS' => $user_data[$i]['user_posts'] ) ); } // Setup voting bar images... $ss_phpbb->set_voting_bar(); // Setup common template vars and display the block. $template->assign_vars( array( 'L_POSTS' => $lang['Posts'], 'L_RANK' => $lang['Rank'], 'L_PERCENTAGE' => $lang['Percent'], 'L_GRAPH' => $lang['Graph'], 'L_USERNAME' => $lang['Username'], 'TEXT_CLASS' => $ss_phpbb->text_class, 'L_TITLE' => $lang['Top_Posters'] ) ); $template->pparse( 'body' ); ?> --- NEW FILE: sitestaff.php --- <?php /** ------------------------------------------------------------------------ * Subject : mxBB - a fully modular portal and CMS (for phpBB) * Author : Jon Ohlsson and the mxBB Team * Credits : The phpBB Group & Marc Morisette, Marc Ferran (www.phpmix.com) * based on : Staff MOD v.2.0.3 by Acid * Copyright : (C) 2002-2005 mxBB Portal, phpMiX (c) 2004 * Email : jo...@mx... * Project site : www.m... [truncated message content] |
|
From: Jon O. <jon...@us...> - 2005-10-15 22:18:00
|
Update of /cvsroot/mxbb/mx_sitestats/templates/subSilver/admin In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv29529/admin Log Message: Directory /cvsroot/mxbb/mx_sitestats/templates/subSilver/admin added to the repository |
|
From: Jon O. <jon...@us...> - 2005-10-15 22:17:48
|
Update of /cvsroot/mxbb/mx_sitestats/templates/subSilver In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv29505/subSilver Log Message: Directory /cvsroot/mxbb/mx_sitestats/templates/subSilver added to the repository |
|
From: Jon O. <jon...@us...> - 2005-10-15 22:17:30
|
Update of /cvsroot/mxbb/mx_sitestats/language/lang_english In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv29446/lang_english Log Message: Directory /cvsroot/mxbb/mx_sitestats/language/lang_english added to the repository |
|
From: Jon O. <jon...@us...> - 2005-10-15 22:17:00
|
Update of /cvsroot/mxbb/mx_sitestats/images/digits/mb In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv29304/mb Log Message: Directory /cvsroot/mxbb/mx_sitestats/images/digits/mb added to the repository |
|
From: Jon O. <jon...@us...> - 2005-10-15 22:16:39
|
Update of /cvsroot/mxbb/mx_sitestats/images/digits In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv29233/digits Log Message: Directory /cvsroot/mxbb/mx_sitestats/images/digits added to the repository |
|
From: Jon O. <jon...@us...> - 2005-10-15 22:16:25
|
Update of /cvsroot/mxbb/mx_sitestats/images In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv29139/images Log Message: Directory /cvsroot/mxbb/mx_sitestats/images added to the repository |
|
From: Jon O. <jon...@us...> - 2005-10-15 22:16:25
|
Update of /cvsroot/mxbb/mx_sitestats/includes In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv29139/includes Log Message: Directory /cvsroot/mxbb/mx_sitestats/includes added to the repository |
|
From: Jon O. <jon...@us...> - 2005-10-15 22:16:25
|
Update of /cvsroot/mxbb/mx_sitestats/language In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv29139/language Log Message: Directory /cvsroot/mxbb/mx_sitestats/language added to the repository |
|
From: Jon O. <jon...@us...> - 2005-10-15 22:16:25
|
Update of /cvsroot/mxbb/mx_sitestats/admin In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv29139/admin Log Message: Directory /cvsroot/mxbb/mx_sitestats/admin added to the repository |
|
From: Jon O. <jon...@us...> - 2005-10-15 22:16:25
|
Update of /cvsroot/mxbb/mx_sitestats/templates In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv29139/templates Log Message: Directory /cvsroot/mxbb/mx_sitestats/templates added to the repository |