551

(21 replies, posted in PunBB 1.2 troubleshooting)

but why it is inline yesterday when there were a lot of users online today ...

552

(21 replies, posted in PunBB 1.2 troubleshooting)

there isnt much users online today so i cant tell you if it worked or not ...

553

(21 replies, posted in PunBB 1.2 troubleshooting)

ok ... let see

554

(21 replies, posted in PunBB 1.2 troubleshooting)

Paul wrote:

Looks fine to me as well
FF2, Seamonkey, Opera 9, IE6, IE7, Safari 3 (win)

thats impossible .. i use IE7:

here i will post a picture: http://img28.picoodle.com/img/img28/4/4 … 711c52.jpg

http://img28.picoodle.com/img/img28/4/4/16/f_untitledm_3711c52.jpg

but at the morning where there were only 5 or 6 people in the list it was fine but when the user list got bigger it became like that ... so any hint

555

(18 replies, posted in PunBB 1.2 discussion)

Mark wrote:
SuperMAG wrote:
StevenBullen wrote:

Its nearly complete.

My TO DO list is just way to long. tongue

you got me intrested ....

what is your to do list

its a list of jobs he has to do which when he gets one done i go and be picky at it wink

i know that ... but i want to see what is his list ... or what extensions he will do after that ...

thanks

556

(18 replies, posted in PunBB 1.2 discussion)

StevenBullen wrote:
SuperMAG wrote:

hello steven bullen ...what happened to you arcade extension .. are u gonno realease it soon .. that will be great extension

Its nearly complete.

My TO DO list is just way to long. tongue

you got me intrested ....

what is your to do list

557

(21 replies, posted in PunBB 1.2 troubleshooting)

you mean the user dosent show by line ...

which browser do u use ..

558

(18 replies, posted in PunBB 1.3 troubleshooting)

can you tell me your punbb root directory ... because ...

if  public_ html/punbb/ directory ...

then you need to change your htaccess file line to

from
RewriteBase /
to
RewriteBase /punbb

559

(18 replies, posted in PunBB 1.2 discussion)

hello steven bullen ...what happened to you arcade extension .. are u gonno realease it soon .. that will be great extension

560

(21 replies, posted in PunBB 1.2 troubleshooting)

Smartys wrote:

Make sure you made the CSS tweaks it asks for.

yes i did exatly as the readme said ...

561

(21 replies, posted in PunBB 1.2 troubleshooting)

i installed online today mod 1.1 fixed but got a problem ...

the list of users are shown in by line wise : example:

Online:  danialkhan, SuperMAG 

Online today: 
danialkhan, 
shshs786, 
sg4u28, 
jchow, 
crickettv, 
SuperMAG, 
fevilz, 
nabhutta, 
mamunahmed, 
fahdnoor, 
ghettostan, 
pakistan_cricket, 
obaid32, 
wasib, 
HEATIT02, 
Rob_van_Triet, 
ozzy, 
titu, 
asfand, 
jonsim, 
athir88, 
Hamzah786, 
eparadigm, 
pawan, 
imi66, 
muswellbrook, 
ibnmaqsood, 
salu95, 
awaisakram, 
nazakat100, 
paki008, 
jaggar, 
atariq7, 
rohan.manchester, 
sigma192, 
chamman, 
braveheart99, 
khan, 
fighter, 
aaljobair, 
saifmalik87, 
waqas123, 
Chuni, 
amirat, 
Salam, 
alert_84, 
omer4481, 
iqqi92465, 
niazarifin@yahoo.com, 
imhassanus, 
triple300, 
wildaboy456, 
Yont, 
sony12345, 
disturbeddawg, 
usm17n, 
anan, 
rifat2tasbeeh, 
solo77, 
grahamsccs, 
ciccio11, 
cupid

my forum.php is this:

<?php
/***********************************************************************

  Copyright (C) 2002-2005  Rickard Andersson (rickard@punbb.org)

  This file is part of PunBB.

  PunBB 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.

  PunBB is distributed in the hope that it will be useful, but
  WITHOUT ANY WARRANTY; without even the implied warranty of
  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  GNU General Public License for more details.

  You should have received a copy of the GNU General Public License
  along with this program; if not, write to the Free Software
  Foundation, Inc., 59 Temple Place, Suite 330, Boston,
  MA  02111-1307  USA

************************************************************************/

define('PUN_ALT3',1); 
define('PUN_ROOT', './');
require PUN_ROOT.'include/common.php';


if ($pun_user['g_read_board'] == '0')
    message($lang_common['No view']);


// Load the index.php language file
require PUN_ROOT.'lang/'.$pun_user['language'].'/index.php';

$page_title = pun_htmlspecialchars($pun_config['o_board_title']);
define('PUN_ALLOW_INDEX', 1);
require PUN_ROOT.'header.php';
include PUN_ROOT.'/include/user/newsbox.php';
//include('mod_active_topics.php');

$sfcount=0;
$sfdb = array($_parent_id_, $_topics_, $_posts_, $_last_post_id_, $_last_poster_, $_last_post_);
$forums_info = $db->query('SELECT f.num_topics, f.num_posts, f.parent_forum_id, f.last_post_id, f.last_poster, f.last_post, f.id, f.forum_name, p.poster_id as last_poster_id, t.subject FROM '.$db->prefix.'forums AS f LEFT JOIN '.$db->prefix.'posts AS p ON (p.id=f.last_post_id) LEFT JOIN '.$db->prefix.'topics AS t ON t.last_post_id=f.last_post_id ORDER BY disp_position') or error(implode($db->error(),''),__FILE__,__LINE__,$db->error());

while($current = $db->fetch_assoc($forums_info)) {
 if ($current['parent_forum_id'] != 0)
  {
   $sfdb[$sfcount][0] = $current['parent_forum_id'];
   $sfdb[$sfcount][1] = $current['num_topics'];
   $sfdb[$sfcount][2] = $current['num_posts'];
   $sfdb[$sfcount][3] = $current['last_post_id'];
   $sfdb[$sfcount][4] = $current['last_poster'];
   $sfdb[$sfcount][5] = $current['last_post'];
   $sfdb[$sfcount][6] = $current['id'];
   $sfdb[$sfcount][7] = $current['forum_name'];
   $sfdb[$sfcount][8] = $current['last_poster_id'];
   $sfdb[$sfcount][9] = $current['subject'];

   $sfcount++;
  }
}
echo '<script type="text/javascript" src="include/global.js"></script>';

// MOD: MARK TOPICS AS READ - 1 LINE NEW CODE FOLLOWS
$new_topics = get_all_new_topics();

// Print the categories and forums
$result = $db->query('SELECT c.id AS cid, c.cat_name, f.id AS fid, f.forum_name, f.forum_desc, f.redirect_url, f.moderators, f.num_topics, f.num_posts, f.last_post, f.last_post_id, f.last_poster, f.parent_forum_id, p.poster_id as last_poster_id, t.subject FROM '.$db->prefix.'categories AS c INNER JOIN '.$db->prefix.'forums AS f ON c.id=f.cat_id LEFT JOIN '.$db->prefix.'topics AS t ON t.last_post_id=f.last_post_id LEFT JOIN '.$db->prefix.'forum_perms AS fp ON (fp.forum_id=f.id AND fp.group_id='.$pun_user['g_id'].') LEFT JOIN '.$db->prefix.'posts AS p ON (p.id=f.last_post_id) WHERE (fp.read_forum IS NULL OR fp.read_forum=1) AND (f.parent_forum_id IS NULL OR f.parent_forum_id=0) ORDER BY c.disp_position, c.id, f.disp_position', true) or error('Unable to fetch category/forum list', __FILE__, __LINE__, $db->error());

$cur_category = 0;
$cat_count = 0;
// stuff for toggling categories
$cat_ids = (isset($_COOKIE['collapseprefs']))? $_COOKIE['collapseprefs'].',': FALSE;

// added for forum row differnetial colors
$alt = true;
// added for forum row differnetial colors
while ($cur_forum = $db->fetch_assoc($result))
{
// added for forum row differnetial colors
    $alt = !$alt;
// added for forum row differnetial colors

    $moderators = '';

    if ($cur_forum['cid'] != $cur_category)    // A new category since last iteration?
    {
        if ($cur_category != 0)
            echo "\t\t\t".'</tbody>'."\n\t\t\t".'</table>'."\n\t\t".'</div>'."\n\t".'</div>'."\n".'</div>'."\n\n";

        ++$cat_count;

        // Setting varibles for toggling categories
        $div_box = strstr($cat_ids, $cat_count.',')? ' style="display:none"' : '';
        $exp_img = (is_file('img/'.$pun_user['style'].'/misc/exp_down.png')? 'img/'.$pun_user['style'].'/misc/': 'img/') . (strpos($div_box,'none') ? 'exp_down.png' : 'exp_up.png');
?>
<div id="idx<?php echo $cat_count ?>" class="blocktable open">
    <h2>
        <a href="javascript:togglecategory(<?php echo $cat_count?>);"><img style="float: right;" src="<?php echo $exp_img?>" alt="Collapse" id="img_<?php echo $cat_count?>" /></a>
        <span><?php echo pun_htmlspecialchars($cur_forum['cat_name']) ?></span>
    </h2>
    <div class="box close" id="box_<?php echo $cat_count ?>"<?php echo $div_box?>>
        <div class="inbox">
            <table cellspacing="0">
            <thead>
                <tr><th style="border-left: 0;" class="tc0" scope="col"> </th>

                    <th class="tcl" scope="col"><?php echo $lang_common['Forum'] ?></th>
                    <th class="tc2" scope="col"><?php echo $lang_index['Topics'] ?></th>
                    <th class="tc3" scope="col"><?php echo $lang_common['Posts'] ?></th>
                    <th class="tcr" scope="col"><?php echo $lang_common['Last post'] ?></th>
                </tr>
            </thead>
            <tbody>
<?php

        $cur_category = $cur_forum['cid'];
    }

    $item_status = '';
    $icon_text = $lang_common['Normal icon'];
    $icon_type = 'icon';

    // Are there new posts?
        // MOD: MARK TOPICS AS READ - 1 LINE MODIFIED CODE FOLLOWS
    if (!$pun_user['is_guest'] && forum_is_new($cur_forum['fid'], $cur_forum['last_post']))

    {
        $item_status = 'inew';
        $icon_text = $lang_common['New icon'];
        $icon_type = 'icon inew';
    }

    // Is this a redirect forum?
    if ($cur_forum['redirect_url'] != '')
    {
        $forum_field = '<h3><a href="'.pun_htmlspecialchars($cur_forum['redirect_url']).'" title="'.$lang_index['Link to'].' '.pun_htmlspecialchars($cur_forum['redirect_url']).'">'.pun_htmlspecialchars($cur_forum['forum_name']).'</a></h3>';
        $num_topics = $num_posts = ' ';
        $item_status = 'iredirect';
        $icon_text = $lang_common['Redirect icon'];
        $icon_type = 'icon';
    }
    else
    {
        $forum_field = '<h3><a href="extern.php?type=rss&action=active&fid='.$cur_forum['fid'].'"><img src="img/rss.gif" alt="RSS" style="float: right;" /></a><a href="viewforum.php?id='.$cur_forum['fid'].'">'.pun_htmlspecialchars($cur_forum['forum_name']).'</a></h3>';

################################################################################
########################### Sub Forum MOD (start) ##############################
################################################################################
  $n_t = 0;
  $n_p = 0;
  $l_pid = $cur_forum['last_post_id'];
  $l_pr = $cur_forum['last_poster'];
  $l_pr_id = $cur_forum['last_poster_id'];
  $l_pr_su = $cur_forum['subject'];
  $l_post = $cur_forum['last_post'];
  for ($i = 0; $i < $sfcount; $i++)
  {
   if ($sfdb[$i][0] == $cur_forum['fid'])
    {
     $n_t = $n_t + $sfdb[$i][1];
     $n_p = $n_p + $sfdb[$i][2];
     if ($l_pid < $sfdb[$i][3])
      {
       $l_pid = $sfdb[$i][3];
       $l_pr = $sfdb[$i][4];
     $l_pr_id = $sfdb[$i][8];
       $l_post = $sfdb[$i][5];
       $l_pr_su = $sfdb[$i][9];
      }
    }
  }
  $num_topics = $n_t + $cur_forum['num_topics'];
  $num_posts = $n_p + $cur_forum['num_posts'];
################################################################################
########################### Sub Forum MOD ( end ) ##############################
################################################################################
    }

    if ($cur_forum['forum_desc'] != '')
        $forum_field .= "\n\t\t\t\t\t\t\t\t".$cur_forum['forum_desc'];


    // Display the last topic
    $idm = $l_pr_su;
    if(strlen($idm) > 25) {
        $idmComp = str_replace('"', "''", $idm);
        $idm = substr($idm, 0, 25).'...';
    } else
        $idmComp = '';

    // If there is a last_post/last_poster.
    if ($l_post != '') {
        $idmT = (isset($idmComp)) ? ' title="'.$idmComp.'"' : '';
    $last_post = 'Re: <a href="viewtopic.php?pid='.$l_pid.'#p'.$l_pid.'"'.$idmT.'>'.$idm.'</a><br />'.format_time($l_post).'<br /><span class="byuser">'.$lang_common['by'].' <a href="profile.php?id='.$l_pr_id.'"><span style="font-weight: normal;">'.pun_htmlspecialchars($l_pr).'</span></a></span>';
    } else
        $last_post = ' ';

    if ($cur_forum['moderators'] != '')
    {
        $mods_array = unserialize($cur_forum['moderators']);
        $moderators = array();

        while (list($mod_username, $mod_id) = @each($mods_array))
            $moderators[] = '<a href="profile.php?id='.$mod_id.'"><span style="font-weight: normal;">'.pun_htmlspecialchars($mod_username).'</span></a>';

        $moderators = "\t\t\t\t\t\t\t\t".'<p><strong>'.$lang_common['Moderated by'].':</strong> '.implode(', ', $moderators).'</p>'."\n";
    }

    if (!empty($sfdb)) {
        foreach ($sfdb as $sub_forums) {

            if (!$pun_user['is_guest']) {
                if ($cur_forum['fid'] == $sub_forums[0]) {
                    if (forum_is_new($cur_forum['fid'], $cur_forum['last_post']) || forum_is_new($sub_forums[6], $sub_forums[5])) {
                        $item_status = 'inew';
                        $icon_text = $lang_common['New icon'];
                        $icon_type = 'icon inew';
                    }
                }
            }
        }
    }
// added for forum row differnetial colors
if ($alt)
{
    $item_status .= ' alt';
}
// added for forum row differnetial colors

?>
                <tr<?php if ($item_status != '') echo ' class="'.trim($item_status).'"'; ?>><td style="border-left: 0;" class="tc0"><div class="<?php echo $icon_type ?>"> </div></td>
                    <td class="tc1">
                <?php echo $forum_field."\n".$moderators ?>
<?php
                        $sub_forums_list = array();
                        if(!empty($sfdb)) {
                           foreach ($sfdb as $sub_forums) {
                                 if($cur_forum['fid'] == $sub_forums[0]) {
                                          $sub_forums_list[] = '<a class="sub_name" href="viewforum.php?id='.$sub_forums[6].'"><img src="img/'.$pun_user['style'].'/misc/sub_image.gif" alt="" /></a> <a class="sub_name" href="viewforum.php?id='.$sub_forums[6].'"><span class="sub_name">'.pun_htmlspecialchars($sub_forums[7]).'</span></a>';
                                 }
                             }

                           if(!empty($sub_forums_list)) {
                                 // Leave one $sub_forums_list commented out to use the other (between the ###..)
                                 ################################
                                 // This is Single Line Wrap Style
                                 $sub_forums_list = "\t\t\t\t\t\t\t\t".'<span class="sub_title">'.$lang_common['Sub Forums'].':</span> '.implode(', ', $sub_forums_list)."\n";
                                 // This is List Style
                                 //$sub_forums_list = "\n".'<b><em>Sub Forums:</em></b><br />  --  '.implode('<br />  --  ', $sub_forums_list)."\n";
                                 ################################
                                             if ($cur_forum['forum_desc'] != NULL) {
                                                echo "<div style='margin-top: 4px;'>";
                                             }
                                 echo "$sub_forums_list</div>";
                           }
                        }
?>
                    </td>
                    <td class="tc2"><?php echo $num_topics ?></td>
                    <td class="tc3"><?php echo $num_posts ?></td>
                    <td class="tcr"><?php echo $last_post ?></td>
                </tr>
<?php

}

// Did we output any categories and forums?
if ($cur_category > 0)
    echo "\t\t\t".'</tbody>'."\n\t\t\t".'</table>'."\n\t\t".'</div>'."\n\t".'</div>'."\n".'</div>'."\n\n";
else
    echo '<div id="idx0" class="block"><div class="box"><div class="inbox"><p>'.$lang_index['Empty board'].'</p></div></div></div>';


// Collect some statistics from the database
$result = $db->query('SELECT COUNT(id)-1 FROM '.$db->prefix.'users') or error('Unable to fetch total user count', __FILE__, __LINE__, $db->error());
$stats['total_users'] = $db->result($result);

$result = $db->query('SELECT id, username FROM '.$db->prefix.'users ORDER BY registered DESC LIMIT 1') or error('Unable to fetch newest registered user', __FILE__, __LINE__, $db->error());
$stats['last_user'] = $db->fetch_assoc($result);

$result = $db->query('SELECT SUM(num_topics), SUM(num_posts) FROM '.$db->prefix.'forums') or error('Unable to fetch topic/post count', __FILE__, __LINE__, $db->error());
list($stats['total_topics'], $stats['total_posts']) = $db->fetch_row($result);
$result = $db->query('SELECT COUNT(id) FROM '.$db->prefix.'blogs') or error('Unable to fetch total user count', __FILE__, __LINE__, $db->error());
$stats['total_blogs'] = $db->result($result);
$result = $db->query('SELECT COUNT(id) FROM '.$db->prefix.'polls') or error('Impossible de reFIND le nombre total de sondage', __FILE__, __LINE__, $db->error());
$stats['total_polls'] = $db->result($result);

?>
<div class="block">
                        <h2><span><?php echo $lang_index['Board info'] ?></span></h2>
    <div class="box">
        <div id="brdstats" class="inbox">
            <dl class="conr">
                <dt><strong><?php echo $lang_index['Board stats'] ?></strong></dt>
                <dd><?php echo $lang_index['No of users'].': <strong>'. $stats['total_users'] ?></strong></dd>
                <dd><?php echo $lang_index['No of topics'].': <strong>'.$stats['total_topics'] ?></strong></dd>
                <dd><?php echo $lang_index['No of polls'].': <strong>'.$stats['total_polls'] ?></strong></dd>
                <dd><?php echo $lang_index['No of posts'].': <strong>'.$stats['total_posts'] ?></strong></dd>
                <dd><?php echo $lang_index['No of blogs'].': <strong>'.$stats['total_blogs'] ?></strong></dd>
            </dl>
            <dl class="con1">
                <dt><strong><?php echo $lang_index['User info'] ?></strong></dt>
                <dd><?php echo $lang_index['Newest user'] ?>: <a href="profile.php?id=<?php echo $stats['last_user']['id'] ?>"><?php echo pun_htmlspecialchars($stats['last_user']['username']) ?></a></dd>
<?php

if ($pun_config['o_users_online'] == '1')
{
    // Fetch users online info and generate strings for output
    $num_guests = 0;
    $users = array();
    $result = $db->query('SELECT user_id, ident, color FROM '.$db->prefix.'online WHERE idle=0 ORDER BY ident', true) or error('Unable to fetch online list', __FILE__, __LINE__, $db->error());

    while ($pun_user_online = $db->fetch_assoc($result))
    {
        if ($pun_user_online['user_id'] > 1)
            $users[] = "\n\t\t\t\t".'<dd><a href="profile.php?id='.$pun_user_online['user_id'].'"><span style="color: '.$pun_user_online['color'].'">'.pun_htmlspecialchars($pun_user_online['ident']).'</span></a>';
        else
            ++$num_guests;
    }

?>
<dt>
<?php

    $num_users = count($users);





    // users on line today 
    $date = getdate(time());
    $todaystamp = mktime(0,0,0, $date['mon'], $date['mday'], $date['year']);

$result = $db->query("SELECT username, id, last_visit from ".$db->prefix."users WHERE last_visit >= '".$todaystamp."' ORDER by last_visit DESC") or error("Unable to find the list of the users online today", __FILE__, __LINE__, $db->error());

    $users_today = array();
    while ($pun_user_online_today = $db->fetch_assoc($result))
        $users_today[] .=  "\n\t\t\t\t".'<dd><a href="profile.php?id='.$pun_user_online_today['id'].'" title="Last visit of '.$pun_user_online_today['username'].' : '.format_time($pun_user_online_today['last_visit']).'">'.$pun_user_online_today['username'].'</a>';
        
    $num_users_today = count($users_today);







    echo "\t\t\t\t".'<dd>'. $lang_index['Users online'].': <strong>'.$num_users.'</strong></dd>'."\n\t\t\t\t".'<dd>'.$lang_index['Users today'].': <strong>'.$num_users_today.'</strong></dd>'."\n\t\t\t\t".'<dd>'.$lang_index['Guests online'].': <strong>'.$num_guests.'</strong></dd>'."\n\t\t\t".'</dl>'."\n";



    include('botdetect.php');
    $botStatus = isBotOnline();

    if ($num_users > 0 || $botStatus != '') {
       echo "\t\t\t".'<dl id="onlinelist" class= "clearb">'."\n\t\t\t\t".'<dt><strong>'.$lang_index['Online'].': </strong></dt>'."\t\t\t\t".implode(',</dd> ', $users);
    if($botStatus != '' & $num_users == 0)
        echo substr($botStatus, 1);
    else
        echo $botStatus;    

    echo '</dd>'."\n\t\t\t".'</dl>'."\n";
    }

        echo "\t\t\t".'<div class="clearer"></div>'."\n";






// list users on line today
    echo "\t\t\t".'<dl id="onlinetodaylist" class="clearb">'."\n\t\t\t\t".'<dt><strong>'.$lang_index['Online today'].': </strong></dt>';
            
    if ($num_users_today > 0) 
        echo implode(',</dd> ', $users_today).'</dd>'."\n\t\t\t".'</dl>'."\n";
    else
        echo '<dd><em></em></dd>'."\n\t\t\t".'</dl>'."\n";






}
else
    echo "\t\t".'</dl>'."\n\t\t\t".'<div class="clearer"></div>'."\n";


?>
        </div>
    </div><br />



<div id="stats" class="block">
    <h2><span><?php echo $lang_index['board_legend'] ?></span></h2>
    <div class="box">
        <div style="padding-top: 10px; text-align: center;" class="inbox">
<?php
if(file_exists('img/'.$pun_user['style'].'/new.gif')) {

?><img style="vertical-align: middle;" src="img/<?php echo $pun_user['style'] ?>/new.gif" alt="New posts" />  <small><?php echo $lang_index['New posts']; ?></small>   
<?php }else {
?><img style="vertical-align: middle;" src="img/<?php echo $pun_user['style'] ?>/new.png" alt="New posts" />  <small><?php echo $lang_index['New posts']; ?></small>   
<?php }?>


<?php
if(file_exists('img/'.$pun_user['style'].'/normal.gif')) {

?><img style="vertical-align: middle;" src="img/<?php echo $pun_user['style'] ?>/normal.gif" alt="No new posts" /><small>  <?php echo $lang_index['No new posts']; ?></small>   
<?php }else {
?><img style="vertical-align: middle;" src="img/<?php echo $pun_user['style'] ?>/normal.png" alt="No new posts" /><small>  <?php echo $lang_index['No new posts']; ?></small>   
<?php }?>


<?php
if(file_exists('img/'.$pun_user['style'].'/sticky.gif')) {

?><img style="vertical-align: middle;" src="img/<?php echo $pun_user['style'] ?>/sticky.gif" alt="Sticky thread" /><small>  <?php echo $lang_index['Sticky thread']; ?></small>   
<?php }else {
?><img style="vertical-align: middle;" src="img/<?php echo $pun_user['style'] ?>/sticky.png" alt="Sticky thread" /><small>  <?php echo $lang_index['Sticky thread']; ?></small>   
<?php }?>


<?php
if(file_exists('img/'.$pun_user['style'].'/closed.gif')) {

?><img style="vertical-align: middle;" src="img/<?php echo $pun_user['style'] ?>/closed.gif" alt="Closed thread" /><small>  <?php echo $lang_index['Closed thread']; ?></small>   
<?php }else {
?><img style="vertical-align: middle;" src="img/<?php echo $pun_user['style'] ?>/closed.png" alt="Closed thread" /><small>  <?php echo $lang_index['Closed thread']; ?></small>   
<?php }?>                               

                                
<?php
if(file_exists('img/'.$pun_user['style'].'/closed.gif')) {

?><img style="vertical-align: middle;" src="img/<?php echo $pun_user['style'] ?>/moved.gif" alt="Moved thread" /><small>  <?php echo $lang_index['Moved thread']; ?></small><br /><br />
<?php }else {
?><img style="vertical-align: middle;" src="img/<?php echo $pun_user['style'] ?>/moved.png" alt="Moved thread" /><small>  <?php echo $lang_index['Moved thread']; ?></small><br /><br />
<?php }?> 


                                
</div></div>
</div></div>

<?php

$footer_style = 'index';
require PUN_ROOT.'footer.php';
?>

and my base.css is this:

 
/****************************************************************/
/* 1. initial settings */
/****************************************************************/
.pun table, .pun div, .pun form, .pun p, .pun h1, .pun h2, .pun h3, .pun h4, .pun pre, .pun blockquote, .pun ul, .pun ol, .pun li, .pun dl, .pun dt, .pun dd, .pun th, .pun td, .pun fieldset, .pun img {
margin:0;
padding:0;
font-weight:400;
list-style:none;
}

.pun img {
border:none;
}

.pun input, .pun select, .pun textarea, .pun optgroup {
margin:0;
}

/****************************************************************/
/* 2. structural settings - very important - do not change */
/****************************************************************/
/* 2.1 clearing floats and invisible items */
.pun .clearer, .pun .nosize {
height:0;
width:0;
line-height:0;
font-size:0;
overflow:hidden;
}

.pun .clearer, .pun .clearb {
clear:both;
}

.pun .nosize {
position:absolute;
left:-10000px;
}

/* 2.2 overflow settings for posts */
div.blockpost div.box, div.postleft, div.postsignature, div.postmsg {
overflow:hidden;
}

/****************************************************************/
/* 3. bug fixes - very important - do not change */
/****************************************************************/
/* 3.1 this attempts to eliminate rounding errors in gecko browsers. */
div>div>div.postfootleft, div>div>div.postfootright {
padding-top:1px;
margin-top:-1px;
}

/* 3.2 this is only visible to ie6 windows and cures various bugs. do not alter comments */
/* begin ie6win fix \*/
* html .inbox, * html .inform, * html .pun, * html .intd, * html .tclcon {
height:1px;
}

* html .inbox div.postmsg {
width:98%;
}

/* end of ie6win fix */
/* 3.3 this is the equivelant of 3.2 but for ie7. it is visible to other browsers
but does no harm */
/*begin ie7win fix */
.pun, .pun .inbox, .pun .inform, .pun .intd, .pun .tclcon {
min-height:1px;
}

/* end of ie7win fix */
/****************************************************************/
/* 4. hidden elements */
/****************************************************************/
/* these are hidden in normal display. add comments to make them visible */
#brdfooter h2, #brdstats h2, #brdstats .conl dt, #brdstats .conr dt, #modcontrols dt, #searchlinks dt, div.postright h3 {
position:absolute;
display:block;
width:1em;
left:-999em;
}

/****************************************************************/
/* 5. box containers and floats */
/****************************************************************/
/* 5.1. setup all left and right content using floats. */
.conr {
float:right;
text-align:right;
clear:right;
width:40%;
}

.conl {
float:left;
width:55%;
overflow:hidden;
white-space:nowrap;
}

label.conl {
width:auto;
overflow:visible;
margin-right:10px;
}

/* 5.2 set up page numbering and posts links */
div.linkst .conl, div.linksb .conl, div.postlinksb .conl {
width:18em;
}

div.linkst .conr, div.linksb .conr, div.postlinksb .conr {
width:16em;
}

form div.linksb .conr {
width:32em;
}

/* 5.3 keep breadcrumbs from shifting to the right when wrapping */
.linkst ul, linksb ul, .postlinksb ul {
margin-left:18em;
}

/* 5.4 settings for profile and admin interface.*/
div.block2col {
padding-bottom:1px;
}

div.block2col div.blockform, div.block2col div.block, #viewprofile dd {
margin-left:14em;
}

div.blockmenu, #viewprofile dt {
float:left;
width:13em;
}

#profileavatar img {
float:right;
margin-left:1em;
}

#viewprofile dl {
float:left;
width:100%;
overflow:hidden;
}

/****************************************************************/
/* 6. table setup */
/****************************************************************/
/* 6.1 table basic setup */
.pun table {
width:100%;
}

/* 6.2 fixed table setup */
#punindex table, #vf table {
table-layout:fixed;
}

.tcl {
text-align:left;
width:50%;
}

.tc2, .tc3, .tcmod {
width:9%;
text-align:center;
}

.tcr {
width:32%;
text-align:left;
}

#punsearch #vf .tcl, #punmoderate #vf .tcl {
width:41%;
}

#punsearch #vf .tc2 {
width:18%;
text-align:left;
}

.tcl, .tcr {
overflow:hidden;
}

/* 6.3 other table setup */
#users1 .tcl {
width:35%;
text-align:center;
}

#users1 .tcr {
width:20%;
text-align:center;
}

#users1 .tc2 {
width:20%;
text-align:center;
}

#users1 .tc3 {
width:10%;
text-align:center;
}

#users1 .tc4 {
width:15%;
text-align:center;
}

#debug .tcr {
width:85%;
white-space:normal;
}

#punindex td.tcr span.byuser {
display:block;
}

/****************************************************************/
/* 7. viewtopic setup */
/****************************************************************/
/* 7.1 this is the basic structure. */
div.postleft, div.postfootleft {
float:left;
width:18em;
overflow:hidden;
position:relative;
}

div.postright, div.postfootright {
border-left-width:18em;
border-left-style:solid;
}

div.postfootright, p.multidelete {
text-align:right;
}

div.blockpost>div>div.inbox {
padding-bottom:1px;
}

/* 7.3 this is the div which actually contains the post and is inside .postright */
div.postmsg {
width:100%;
}

/* 7.4 these items control overflow and scrolling within posts. */
div.incqbox {
width:100%;
overflow:hidden;
}

div.scrollbox {
width:100%;
overflow:auto;
}

img.postimg {
max-width:100%;
}

a .postimg {
max-width:100%;
}

/* 7.5 turn off the poster information column for preview */
#postpreview div.postright {
border-left:none;
}

/* 7.6 create the horizontal line above signatures */
div.postsignature hr {
margin-left:0;
width:200px;
text-align:left;
height:1px;
border:none;
}

/* 7.7 maximum height for search results as posts. position go to post link */
div.searchposts div.postmsg {
height:8em;
}

div.searchposts dd p {
padding-top:3em;
}

/* 7.8 class for bbcode [u] */
span.bbu {
text-decoration:underline;
}

/****************************************************************/
/* 8. lists special settings */
/****************************************************************/
/* 8.1 horizontal display of online list, main navigation menu and breadcrumbs */
    #onlinelist DD, #onlinelist DT, #onlinetodaylist DD, #onlinetodaylist DT,
    #brdmenu LI, DIV.linkst LI, DIV.linksb LI, DIV.postlinksb LI,
    DIV.postfootright LI, UL.bblinks LI {
        DISPLAY: inline;
        HEIGHT: 0

}

/* 8.2 turn on square icon for posterror list */
#posterror ul li {
list-style:square inside;
}

/* 8.3 right alignment of descriptions in ordinary member view of other members profiles */
#viewprofile dt {
text-align:right;
}

/****************************************************************/
/* 9. form settings */
/****************************************************************/
/* 9.1 makes textareas and long text inputs shrink with page */
div.txtarea {
width:75%;
}

div.txtarea textarea, input.longinput {
width:100%;
}

.pun label {
display:block;
}

#qjump select {
width:50%;
}

/****************************************************************/
/* 10. help files and misc. */
/****************************************************************/
/* 10.1 put some space between sections of the help file */
#helpfile h2 {
margin-top:12px;
}

/* 10.2 internal padding */
#helpfile div.box {
padding:10px;
}

/* 10.3 other templates */
#punredirect div.block, #punmaint div.block {
margin:50px 20% 12px;
}

/****************************************************************/
/* 11 user blogs extra */
/****************************************************************/
#blogmain {
margin-left:0;
padding-top:12px;
}

#blogwrap {
width:100%;
float:right;
margin-left:-180px!important;
margin-left:-215px;
}

.blogmenu fieldset {
padding:0 12px;
}

div.blogform {
padding:30px 12px 12px;
}

.blogcat {
float:left;
text-align:left;
clear:right;
font-size:1em;
margin-left:0;
}

.blog_menu {
text-align:left;
font-size:1em;
margin-right:2em;
}

div.blog_menu {
margin-right:1em;
margin-left:1em;
}

div.linkbl .conl, div.linkbl .conl, div.postlinkbl .conl {
width:18em;
}

div.linkbl .conr, div.linkbl .conr, div.postlinkbl .conr {
width:16em;
}

form div.linkbl .conr {
width:32em;
}

.linkbl ul, linkbl ul, .postlinkbl ul {
margin-left:2em;
}

div.blogleft dt a:link, div.blogleft dd a:link, div.blogleft dt a:visited, div.blogleft dd a:visited, .blog_menu dt a:link, .blog_menu dd a:link, .blog_menu dt a:visited, .blog_menu dd a:visited, #blogmenu a:link, #blogmenu a:visited {
text-decoration:none;
}

#blogmenu li, div.linkbt li, div.linkbb li, div.postlinkbb li {
display:inline;
height:0;
}

.blogr {
float:left;
text-align:left;
clear:right;
margin-left:10em;
font-size:2em;
}

div.blogleft {
float:left;
width:18em;
overflow:hidden;
position:relative;
}

div.blogright {
border-left-width:18em;
border-left-style:none;
}

div.blog_menu dd {
font-size:1em;
line-height:1.3em;
}

#google_adsense_1 {
text-align:center;
}

#google_adsense_2 {
text-align:center;
}

/* accordian nav menu */
#accordion {
padding:0 0 4px;
text-align:left;
margin:0;
}

.toggler {
cursor:pointer;
}

.mySuperbColor span {
/* differentiate the colors when opened or closed on the accordian menu */
color:#E30C0C;
}

#h0, #h1, #h2, #h3, #h4, #h5, #h6, #h7, #h8, #h9, #h10 {
padding:10px;
}

.block.accordian {
margin-top:2px;
}

.mod_warn {
color: #1D69E7;
}

.mod_warn_text {
color: #E71D1D;
}

Can any one help ... here you can see the problem online : http://www.sportstv.co.cc/forum.html


thanks in advance

562

(18 replies, posted in PunBB 1.3 troubleshooting)

i think he has installed the delete log old version extension ... that was the problem with me too but it is fixed in the new version of that extension....


and can u post ur location of the root directory and the htaccess file ...

563

(18 replies, posted in PunBB 1.2 discussion)

my old forums will remain the same as i am not good at mysql stuff which will cause the problem for my site before and since i like my old style so it will not be changed ...

but all the forums that i will do in the future will be 1.3 ... since extension system maked it easy to install etc ...

site fixed

is it only me or some thing is wrong with punres.org ... it is showing a blank page since the afternoon ...

does any one have this too ...

MattF wrote:
SuperMAG wrote:

no i dont have any experience in that ... if thats what you meant :d

That was obvious from your post. It was sarcasm. big_smile

what is sarcasm??

oh forget it ...

but if u still look closely and test every feature of the beta fourm ... and i mean every single one of them ... i think all the bugs will be fixed ...

oh well ... enjoy your time guys ...

MattF wrote:
SuperMAG wrote:

looking at the every code line and testing it in the demo place will make you found almost all the bugs

Speaking from experience are you?

no i dont have any experience in that ... if thats what you meant :d

looking at the every code line and testing it in the demo place will make you found almost all the bugs

[just a suggestion]

wouldnt it be easier to completely check the files ... including every word and sentence and query that is related to that file ... like completely rewriting the punbb (but checking) ... that way you will found all the errors and bugs ....

its a loot of checking for one person so you can distrubute it to members to check every files lines and quries etc ...

--------------------------------------------------

and can any developer mension the list of all bugs that have been found but not fixed ...
just wanted to see that ... may be some talanted members have a solution for it ... (not me afcource tongue )
the only bug i know that has not been fixed is the dublication of urls ... other then that only developers know ...

thanks

Smartys wrote:

delete from prefixconfig where conf_name="o_max_users_online" or conf_name="o_max_guests_online"
where prefix is your db prefix

didnt realy understand that ... isnt there any easy way to just paste and excute these things ....

but what i dont understand is why there is no restore button in install_mod.php ... all the other mods have restore buttons ...

Thanks

never mind i removed it completely from files but cant remove it from database ... can any one help me with that ....

this is the install_mod.php of that file ....

 
<?php
/***********************************************************************/

// Some info about your mod.
$mod_title      = 'Most users online at one time';
$mod_version    = '1.2';
$release_date   = '2006-12-21';
$author         = 'El Bekko';
$author_email   = 'elbekko@gmail.com';

// Versions of PunBB this mod was created for. Minor variations (i.e. 1.2.4 vs 1.2.5) will be allowed, but a warning will be displayed.
$punbb_versions    = array('1.2.8','1.2.9','1.2.10','1.2.11', '1.2.12', '1.2.13', '1.2.14', '1.2.17');

// Set this to false if you haven't implemented the restore function (see below)
$mod_restore    = false;

// This following function will be called when the user presses the "Install" button
function install()
{
    global $db, $db_type, $pun_config;

    switch ($db_type)
    {
        default:
        case 'mysql':
        case 'mysqli':
            $db->query("INSERT INTO `".$db->prefix."config` ( `conf_name` , `conf_value` ) VALUES ('o_max_users_online', '0')") or error('Unable to insert into config', __FILE__, __LINE__, $db->error());
            $db->query("INSERT INTO `".$db->prefix."config` ( `conf_name` , `conf_value` ) VALUES ('o_max_guests_online', '0')") or error('Unable to insert into config', __FILE__, __LINE__, $db->error());
        break;
    }
    
    // Delete config cache
    unlink(PUN_ROOT.'cache/cache_config.php');
}

// This following function will be called when the user presses the "Restore" button (only if $mod_uninstall is true (see above))
/*
function restore()
{
    global $db, $db_type, $pun_config;


    DO DATABASE RESTORE HERE

    switch ($db_type)
    {
        default:
            $db->query("ALTER TABLE ".$db->prefix."forums DROP subscribed_groups") or error('Unable to drop column "$subscribed groups" from table "forums"', __FILE__, __LINE__, $db->error());
            break;
    }

}*/

/***********************************************************************/

// DO NOT EDIT ANYTHING BELOW THIS LINE!


// Circumvent maintenance mode
define('PUN_TURN_OFF_MAINT', 1);
define('PUN_ROOT', './');
require PUN_ROOT.'include/common.php';

// We want the complete error message if the script fails
if (!defined('PUN_DEBUG'))
    define('PUN_DEBUG', 1);

// Make sure we are running a PunBB version that this mod works with
// Use decent version checking, it works on all 1.2
$version_warning = false;
if(!in_array($pun_config['o_cur_version'], $punbb_versions))
{
    foreach ($punbb_versions as $temp)
    {
        if (substr($temp, 0, 3) != substr($pun_config['o_cur_version'], 0, 3))
        {
            $version_warning = true;
            break;
        }
    }

    if (!$version_warning)
        exit('You are running a version of PunBB ('.$pun_config['o_cur_version'].') that this mod does not support. This mod supports PunBB versions: '.implode(', ', $punbb_versions));
}


$style = (isset($cur_user)) ? $cur_user['style'] : $pun_config['o_default_style'];

?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<html dir="ltr">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title><?php echo $mod_title ?> installation</title>
<link rel="stylesheet" type="text/css" href="style/<?php echo $pun_config['o_default_style'].'.css' ?>" />
</head>
<body>

<div id="punwrap">
<div id="puninstall" class="pun" style="margin: 10% 20% auto 20%">

<?php

if (isset($_POST['form_sent']))
{
    if (isset($_POST['install']))
    {
        // Run the install function (defined above)
        install();

?>
<div class="block">
    <h2><span>Installation successful</span></h2>
    <div class="box">
        <div class="inbox">
            <p>Your database has been successfully prepared for <?php echo pun_htmlspecialchars($mod_title) ?>. See readme.txt for further instructions.</p>
        </div>
    </div>
</div>
<?php

    }
    else
    {
        // Run the restore function (defined above)
        restore();

?>
<div class="block">
    <h2><span>Restore successful</span></h2>
    <div class="box">
        <div class="inbox">
            <p>Your database has been successfully restored.</p>
        </div>
    </div>
</div>
<?php

    }
}
else
{

?>
<div class="blockform">
    <h2><span>Mod installation</span></h2>
    <div class="box">
        <form method="post" action="<?php echo $_SERVER['PHP_SELF'] ?>?foo=bar">
            <div><input type="hidden" name="form_sent" value="1" /></div>
            <div class="inform">
                <p>This script will update your database to work with the following modification:</p>
                <p><strong>Mod title:</strong> <?php echo pun_htmlspecialchars($mod_title).' '.$mod_version ?></p>
                <p><strong>Author:</strong> <?php echo pun_htmlspecialchars($author) ?> (<a href="mailto:<?php echo pun_htmlspecialchars($author_email) ?>"><?php echo pun_htmlspecialchars($author_email) ?></a>)</p>
                <p><strong>Disclaimer:</strong> Mods are not officially supported by PunBB. Mods generally can't be uninstalled without running SQL queries manually against the database. Make backups of all data you deem necessary before installing.</p>
<?php if ($mod_restore): ?>                <p>If you've previously installed this mod and would like to uninstall it, you can click the restore button below to restore the database.</p>
<?php endif; ?><?php if ($version_warning): ?>                <p style="color: #a00"><strong>Warning:</strong> The mod you are about to install was not made specifically to support your current version of PunBB (<?php echo $pun_config['o_cur_version']; ?>). However, in most cases this is not a problem and the mod will most likely work with your version as well. If you are uncertain about installning the mod due to this potential version conflict, contact the mod author.</p>
<?php endif; ?>            </div>
            <p><input type="submit" name="install" value="Install" /><?php if ($mod_restore): ?><input type="submit" name="restore" value="Restore" /><?php endif; ?></p>
        </form>
    </div>
</div>
<?php

}

?>

</div>
</div>

</body>
</html>

what quries do i need to excute ot unistall that mod from database ...

THANKs

but there is too many different code .... i can understand any thing ...  can any one help with that forum.php file please

573

(1,382 replies, posted in General discussion)

invencible

Smartys wrote:

Because $num_users is never initialized anywhere but you use it in your code as if it is.

so .... what should i add or remove or edit

my site's (Most registered users online at one time was) meter is not working ... it always shows 4:

here look: http://www.sportstv.co.cc/forum.html

my forum.php is this:

<?php
/***********************************************************************

  Copyright (C) 2002-2005  Rickard Andersson (rickard@punbb.org)

  This file is part of PunBB.

  PunBB 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.

  PunBB is distributed in the hope that it will be useful, but
  WITHOUT ANY WARRANTY; without even the implied warranty of
  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  GNU General Public License for more details.

  You should have received a copy of the GNU General Public License
  along with this program; if not, write to the Free Software
  Foundation, Inc., 59 Temple Place, Suite 330, Boston,
  MA  02111-1307  USA

************************************************************************/

define('PUN_ALT3',1); 
define('PUN_ROOT', './');
require PUN_ROOT.'include/common.php';


if ($pun_user['g_read_board'] == '0')
    message($lang_common['No view']);


// Load the index.php language file
require PUN_ROOT.'lang/'.$pun_user['language'].'/index.php';

$page_title = pun_htmlspecialchars($pun_config['o_board_title']);
define('PUN_ALLOW_INDEX', 1);
require PUN_ROOT.'header.php';
include PUN_ROOT.'/include/user/newsbox.php';
//include('mod_active_topics.php');

$sfcount=0;
$sfdb = array($_parent_id_, $_topics_, $_posts_, $_last_post_id_, $_last_poster_, $_last_post_);
$forums_info = $db->query('SELECT f.num_topics, f.num_posts, f.parent_forum_id, f.last_post_id, f.last_poster, f.last_post, f.id, f.forum_name, p.poster_id as last_poster_id, t.subject FROM '.$db->prefix.'forums AS f LEFT JOIN '.$db->prefix.'posts AS p ON (p.id=f.last_post_id) LEFT JOIN '.$db->prefix.'topics AS t ON t.last_post_id=f.last_post_id ORDER BY disp_position') or error(implode($db->error(),''),__FILE__,__LINE__,$db->error());

while($current = $db->fetch_assoc($forums_info)) {
 if ($current['parent_forum_id'] != 0)
  {
   $sfdb[$sfcount][0] = $current['parent_forum_id'];
   $sfdb[$sfcount][1] = $current['num_topics'];
   $sfdb[$sfcount][2] = $current['num_posts'];
   $sfdb[$sfcount][3] = $current['last_post_id'];
   $sfdb[$sfcount][4] = $current['last_poster'];
   $sfdb[$sfcount][5] = $current['last_post'];
   $sfdb[$sfcount][6] = $current['id'];
   $sfdb[$sfcount][7] = $current['forum_name'];
   $sfdb[$sfcount][8] = $current['last_poster_id'];
   $sfdb[$sfcount][9] = $current['subject'];

   $sfcount++;
  }
}
echo '<script type="text/javascript" src="include/global.js"></script>';

// MOD: MARK TOPICS AS READ - 1 LINE NEW CODE FOLLOWS
$new_topics = get_all_new_topics();

// Print the categories and forums
$result = $db->query('SELECT c.id AS cid, c.cat_name, f.id AS fid, f.forum_name, f.forum_desc, f.redirect_url, f.moderators, f.num_topics, f.num_posts, f.last_post, f.last_post_id, f.last_poster, f.parent_forum_id, p.poster_id as last_poster_id, t.subject FROM '.$db->prefix.'categories AS c INNER JOIN '.$db->prefix.'forums AS f ON c.id=f.cat_id LEFT JOIN '.$db->prefix.'topics AS t ON t.last_post_id=f.last_post_id LEFT JOIN '.$db->prefix.'forum_perms AS fp ON (fp.forum_id=f.id AND fp.group_id='.$pun_user['g_id'].') LEFT JOIN '.$db->prefix.'posts AS p ON (p.id=f.last_post_id) WHERE (fp.read_forum IS NULL OR fp.read_forum=1) AND (f.parent_forum_id IS NULL OR f.parent_forum_id=0) ORDER BY c.disp_position, c.id, f.disp_position', true) or error('Unable to fetch category/forum list', __FILE__, __LINE__, $db->error());

$cur_category = 0;
$cat_count = 0;
// stuff for toggling categories
$cat_ids = (isset($_COOKIE['collapseprefs']))? $_COOKIE['collapseprefs'].',': FALSE;

// added for forum row differnetial colors
$alt = true;
// added for forum row differnetial colors
while ($cur_forum = $db->fetch_assoc($result))
{
// added for forum row differnetial colors
    $alt = !$alt;
// added for forum row differnetial colors

    $moderators = '';

    if ($cur_forum['cid'] != $cur_category)    // A new category since last iteration?
    {
        if ($cur_category != 0)
            echo "\t\t\t".'</tbody>'."\n\t\t\t".'</table>'."\n\t\t".'</div>'."\n\t".'</div>'."\n".'</div>'."\n\n";

        ++$cat_count;

        // Setting varibles for toggling categories
        $div_box = strstr($cat_ids, $cat_count.',')? ' style="display:none"' : '';
        $exp_img = (is_file('img/'.$pun_user['style'].'/misc/exp_down.png')? 'img/'.$pun_user['style'].'/misc/': 'img/') . (strpos($div_box,'none') ? 'exp_down.png' : 'exp_up.png');
?>
<div id="idx<?php echo $cat_count ?>" class="blocktable open">
    <h2>
        <a href="javascript:togglecategory(<?php echo $cat_count?>);"><img style="float: right;" src="<?php echo $exp_img?>" alt="Collapse" id="img_<?php echo $cat_count?>" /></a>
        <span><?php echo pun_htmlspecialchars($cur_forum['cat_name']) ?></span>
    </h2>
    <div class="box close" id="box_<?php echo $cat_count ?>"<?php echo $div_box?>>
        <div class="inbox">
            <table cellspacing="0">
            <thead>
                <tr><th style="border-left: 0;" class="tc0" scope="col"> </th>

                    <th class="tcl" scope="col"><?php echo $lang_common['Forum'] ?></th>
                    <th class="tc2" scope="col"><?php echo $lang_index['Topics'] ?></th>
                    <th class="tc3" scope="col"><?php echo $lang_common['Posts'] ?></th>
                    <th class="tcr" scope="col"><?php echo $lang_common['Last post'] ?></th>
                </tr>
            </thead>
            <tbody>
<?php

        $cur_category = $cur_forum['cid'];
    }

    $item_status = '';
    $icon_text = $lang_common['Normal icon'];
    $icon_type = 'icon';

    // Are there new posts?
        // MOD: MARK TOPICS AS READ - 1 LINE MODIFIED CODE FOLLOWS
    if (!$pun_user['is_guest'] && forum_is_new($cur_forum['fid'], $cur_forum['last_post']))

    {
        $item_status = 'inew';
        $icon_text = $lang_common['New icon'];
        $icon_type = 'icon inew';
    }

    // Is this a redirect forum?
    if ($cur_forum['redirect_url'] != '')
    {
        $forum_field = '<h3><a href="'.pun_htmlspecialchars($cur_forum['redirect_url']).'" title="'.$lang_index['Link to'].' '.pun_htmlspecialchars($cur_forum['redirect_url']).'">'.pun_htmlspecialchars($cur_forum['forum_name']).'</a></h3>';
        $num_topics = $num_posts = ' ';
        $item_status = 'iredirect';
        $icon_text = $lang_common['Redirect icon'];
        $icon_type = 'icon';
    }
    else
    {
        $forum_field = '<h3><a href="extern.php?type=rss&action=active&fid='.$cur_forum['fid'].'"><img src="img/rss.gif" alt="RSS" style="float: right;" /></a><a href="viewforum.php?id='.$cur_forum['fid'].'">'.pun_htmlspecialchars($cur_forum['forum_name']).'</a></h3>';

################################################################################
########################### Sub Forum MOD (start) ##############################
################################################################################
  $n_t = 0;
  $n_p = 0;
  $l_pid = $cur_forum['last_post_id'];
  $l_pr = $cur_forum['last_poster'];
  $l_pr_id = $cur_forum['last_poster_id'];
  $l_pr_su = $cur_forum['subject'];
  $l_post = $cur_forum['last_post'];
  for ($i = 0; $i < $sfcount; $i++)
  {
   if ($sfdb[$i][0] == $cur_forum['fid'])
    {
     $n_t = $n_t + $sfdb[$i][1];
     $n_p = $n_p + $sfdb[$i][2];
     if ($l_pid < $sfdb[$i][3])
      {
       $l_pid = $sfdb[$i][3];
       $l_pr = $sfdb[$i][4];
     $l_pr_id = $sfdb[$i][8];
       $l_post = $sfdb[$i][5];
       $l_pr_su = $sfdb[$i][9];
      }
    }
  }
  $num_topics = $n_t + $cur_forum['num_topics'];
  $num_posts = $n_p + $cur_forum['num_posts'];
################################################################################
########################### Sub Forum MOD ( end ) ##############################
################################################################################
    }

    if ($cur_forum['forum_desc'] != '')
        $forum_field .= "\n\t\t\t\t\t\t\t\t".$cur_forum['forum_desc'];


    // Display the last topic
    $idm = $l_pr_su;
    if(strlen($idm) > 25) {
        $idmComp = str_replace('"', "''", $idm);
        $idm = substr($idm, 0, 25).'...';
    } else
        $idmComp = '';

    // If there is a last_post/last_poster.
    if ($l_post != '') {
        $idmT = (isset($idmComp)) ? ' title="'.$idmComp.'"' : '';
    $last_post = 'Re: <a href="viewtopic.php?pid='.$l_pid.'#p'.$l_pid.'"'.$idmT.'>'.$idm.'</a><br />'.format_time($l_post).'<br /><span class="byuser">'.$lang_common['by'].' <a href="profile.php?id='.$l_pr_id.'"><span style="font-weight: normal;">'.pun_htmlspecialchars($l_pr).'</span></a></span>';
    } else
        $last_post = ' ';

    if ($cur_forum['moderators'] != '')
    {
        $mods_array = unserialize($cur_forum['moderators']);
        $moderators = array();

        while (list($mod_username, $mod_id) = @each($mods_array))
            $moderators[] = '<a href="profile.php?id='.$mod_id.'"><span style="font-weight: normal;">'.pun_htmlspecialchars($mod_username).'</span></a>';

        $moderators = "\t\t\t\t\t\t\t\t".'<p><strong>'.$lang_common['Moderated by'].':</strong> '.implode(', ', $moderators).'</p>'."\n";
    }

    if (!empty($sfdb)) {
        foreach ($sfdb as $sub_forums) {

            if (!$pun_user['is_guest']) {
                if ($cur_forum['fid'] == $sub_forums[0]) {
                    if (forum_is_new($cur_forum['fid'], $cur_forum['last_post']) || forum_is_new($sub_forums[6], $sub_forums[5])) {
                        $item_status = 'inew';
                        $icon_text = $lang_common['New icon'];
                        $icon_type = 'icon inew';
                    }
                }
            }
        }
    }
// added for forum row differnetial colors
if ($alt)
{
    $item_status .= ' alt';
}
// added for forum row differnetial colors

?>
                <tr<?php if ($item_status != '') echo ' class="'.trim($item_status).'"'; ?>><td style="border-left: 0;" class="tc0"><div class="<?php echo $icon_type ?>"> </div></td>
                    <td class="tc1">
                <?php echo $forum_field."\n".$moderators ?>
<?php
                        $sub_forums_list = array();
                        if(!empty($sfdb)) {
                           foreach ($sfdb as $sub_forums) {
                                 if($cur_forum['fid'] == $sub_forums[0]) {
                                          $sub_forums_list[] = '<a class="sub_name" href="viewforum.php?id='.$sub_forums[6].'"><img src="img/'.$pun_user['style'].'/misc/sub_image.gif" alt="" /></a> <a class="sub_name" href="viewforum.php?id='.$sub_forums[6].'"><span class="sub_name">'.pun_htmlspecialchars($sub_forums[7]).'</span></a>';
                                 }
                             }

                           if(!empty($sub_forums_list)) {
                                 // Leave one $sub_forums_list commented out to use the other (between the ###..)
                                 ################################
                                 // This is Single Line Wrap Style
                                 $sub_forums_list = "\t\t\t\t\t\t\t\t".'<span class="sub_title">'.$lang_common['Sub Forums'].':</span> '.implode(', ', $sub_forums_list)."\n";
                                 // This is List Style
                                 //$sub_forums_list = "\n".'<b><em>Sub Forums:</em></b><br />  --  '.implode('<br />  --  ', $sub_forums_list)."\n";
                                 ################################
                                             if ($cur_forum['forum_desc'] != NULL) {
                                                echo "<div style='margin-top: 4px;'>";
                                             }
                                 echo "$sub_forums_list</div>";
                           }
                        }
?>
                    </td>
                    <td class="tc2"><?php echo $num_topics ?></td>
                    <td class="tc3"><?php echo $num_posts ?></td>
                    <td class="tcr"><?php echo $last_post ?></td>
                </tr>
<?php

}

// Did we output any categories and forums?
if ($cur_category > 0)
    echo "\t\t\t".'</tbody>'."\n\t\t\t".'</table>'."\n\t\t".'</div>'."\n\t".'</div>'."\n".'</div>'."\n\n";
else
    echo '<div id="idx0" class="block"><div class="box"><div class="inbox"><p>'.$lang_index['Empty board'].'</p></div></div></div>';


// Collect some statistics from the database
$result = $db->query('SELECT COUNT(id)-1 FROM '.$db->prefix.'users') or error('Unable to fetch total user count', __FILE__, __LINE__, $db->error());
$stats['total_users'] = $db->result($result);

$result = $db->query('SELECT id, username FROM '.$db->prefix.'users ORDER BY registered DESC LIMIT 1') or error('Unable to fetch newest registered user', __FILE__, __LINE__, $db->error());
$stats['last_user'] = $db->fetch_assoc($result);

$result = $db->query('SELECT SUM(num_topics), SUM(num_posts) FROM '.$db->prefix.'forums') or error('Unable to fetch topic/post count', __FILE__, __LINE__, $db->error());
list($stats['total_topics'], $stats['total_posts']) = $db->fetch_row($result);
$result = $db->query('SELECT COUNT(id) FROM '.$db->prefix.'blogs') or error('Unable to fetch total user count', __FILE__, __LINE__, $db->error());
$stats['total_blogs'] = $db->result($result);
$result = $db->query('SELECT COUNT(id) FROM '.$db->prefix.'polls') or error('Impossible de reFIND le nombre total de sondage', __FILE__, __LINE__, $db->error());
$stats['total_polls'] = $db->result($result);

?>
<div class="block">
                        <h2><span><?php echo $lang_index['Board info'] ?></span></h2>
    <div class="box">
        <div id="brdstats" class="inbox">
            <dl class="conr">
                <dt><strong><?php echo $lang_index['Board stats'] ?></strong></dt>
                <dd><?php echo $lang_index['No of users'].': <strong>'. $stats['total_users'] ?></strong></dd>
                <dd><?php echo $lang_index['No of topics'].': <strong>'.$stats['total_topics'] ?></strong></dd>
                <dd><?php echo $lang_index['No of polls'].': <strong>'.$stats['total_polls'] ?></strong></dd>
                <dd><?php echo $lang_index['No of posts'].': <strong>'.$stats['total_posts'] ?></strong></dd>
                <dd><?php echo $lang_index['No of blogs'].': <strong>'.$stats['total_blogs'] ?></strong></dd>
            </dl>
            <dl class="con1">
                <dt><strong><?php echo $lang_index['User info'] ?></strong></dt>
                <dd><?php echo $lang_index['Newest user'] ?>: <a href="profile.php?id=<?php echo $stats['last_user']['id'] ?>"><?php echo pun_htmlspecialchars($stats['last_user']['username']) ?></a></dd>
<?php

if ($pun_config['o_users_online'] == '1')
{
    // Fetch users online info and generate strings for output
    $num_guests = 0;
    $users = array();
    $result = $db->query('SELECT user_id, ident, color FROM '.$db->prefix.'online WHERE idle=0 ORDER BY ident', true) or error('Unable to fetch online list', __FILE__, __LINE__, $db->error());

    while ($pun_user_online = $db->fetch_assoc($result))
    {
        if ($pun_user_online['user_id'] > 1)
            $users[] = "\n\t\t\t\t".'<dd><a href="profile.php?id='.$pun_user_online['user_id'].'"><span style="color: '.$pun_user_online['color'].'">'.pun_htmlspecialchars($pun_user_online['ident']).'</span></a>';
        else
            ++$num_guests;
    }
    if($num_users > $pun_config['o_max_users_online'])
    {
        $db->query("UPDATE ".$db->prefix."config SET conf_value = '".$num_users."' WHERE conf_name = 'o_max_users_online'");
        echo $lang_index['Max users online'].": <strong>".$num_users."</strong>\n";
        unlink(PUN_ROOT.'cache/cache_config.php');
    }
    else
?>
<dt>
<?php
        echo $lang_index['Max users online'].": [<strong>".$pun_config['o_max_users_online']."</strong>]\n";
    
    /* To disable guest counting, remove the last 2 characters of this line
    if($num_guests > $pun_config['o_max_guests_online'])
    {
        $db->query("UPDATE ".$db->prefix."config SET conf_value = '".$num_users."' WHERE conf_name = 'o_max_guests_online'");
        echo "<br />".$lang_index['Max guests online'].": <strong>".$num_guests."</strong>\n";
        unlink(PUN_ROOT.'cache/cache_config.php');
    }
    else
        echo $lang_index['Max guests online'].": <strong>".$pun_config['o_max_guests_online']."</strong>\n";
    // */
    $num_users = count($users);
    echo "\t\t\t\t".''. $lang_index['Users online'].': <strong>'.$num_users.'</strong>'."\n\t\t\t\t".'<br />'.$lang_index['Guests online'].': <strong>'.$num_guests.'</strong>'."\n\t\t\t".'</dt></dl>'."\n";


    include('botdetect.php');
    $botStatus = isBotOnline();

    if ($num_users > 0 || $botStatus != '') {
       echo "\t\t\t".'<dl id="onlinelist" class= "clearb">'."\n\t\t\t\t".'<dt><strong>'.$lang_index['Online'].': </strong></dt>'."\t\t\t\t".implode(',</dd> ', $users);
    if($botStatus != '' & $num_users == 0)
        echo substr($botStatus, 1);
    else
        echo $botStatus;    

    echo '</dd>'."\n\t\t\t".'</dl>'."\n";
    }
        echo "\t\t\t".'<div class="clearer"></div>'."\n";

}
else
    echo "\t\t".'</dl>'."\n\t\t\t".'<div class="clearer"></div>'."\n";


?>
        </div>
    </div><br />



<div id="stats" class="block">
    <h2><span><?php echo $lang_index['board_legend'] ?></span></h2>
    <div class="box">
        <div style="padding-top: 10px; text-align: center;" class="inbox">
<?php
if(file_exists('img/'.$pun_user['style'].'/new.gif')) {

?><img style="vertical-align: middle;" src="img/<?php echo $pun_user['style'] ?>/new.gif" alt="New posts" />  <small><?php echo $lang_index['New posts']; ?></small>   
<?php }else {
?><img style="vertical-align: middle;" src="img/<?php echo $pun_user['style'] ?>/new.png" alt="New posts" />  <small><?php echo $lang_index['New posts']; ?></small>   
<?php }?>


<?php
if(file_exists('img/'.$pun_user['style'].'/normal.gif')) {

?><img style="vertical-align: middle;" src="img/<?php echo $pun_user['style'] ?>/normal.gif" alt="No new posts" /><small>  <?php echo $lang_index['No new posts']; ?></small>   
<?php }else {
?><img style="vertical-align: middle;" src="img/<?php echo $pun_user['style'] ?>/normal.png" alt="No new posts" /><small>  <?php echo $lang_index['No new posts']; ?></small>   
<?php }?>


<?php
if(file_exists('img/'.$pun_user['style'].'/sticky.gif')) {

?><img style="vertical-align: middle;" src="img/<?php echo $pun_user['style'] ?>/sticky.gif" alt="Sticky thread" /><small>  <?php echo $lang_index['Sticky thread']; ?></small>   
<?php }else {
?><img style="vertical-align: middle;" src="img/<?php echo $pun_user['style'] ?>/sticky.png" alt="Sticky thread" /><small>  <?php echo $lang_index['Sticky thread']; ?></small>   
<?php }?>


<?php
if(file_exists('img/'.$pun_user['style'].'/closed.gif')) {

?><img style="vertical-align: middle;" src="img/<?php echo $pun_user['style'] ?>/closed.gif" alt="Closed thread" /><small>  <?php echo $lang_index['Closed thread']; ?></small>   
<?php }else {
?><img style="vertical-align: middle;" src="img/<?php echo $pun_user['style'] ?>/closed.png" alt="Closed thread" /><small>  <?php echo $lang_index['Closed thread']; ?></small>   
<?php }?>                               

                                
<?php
if(file_exists('img/'.$pun_user['style'].'/closed.gif')) {

?><img style="vertical-align: middle;" src="img/<?php echo $pun_user['style'] ?>/moved.gif" alt="Moved thread" /><small>  <?php echo $lang_index['Moved thread']; ?></small><br /><br />
<?php }else {
?><img style="vertical-align: middle;" src="img/<?php echo $pun_user['style'] ?>/moved.png" alt="Moved thread" /><small>  <?php echo $lang_index['Moved thread']; ?></small><br /><br />
<?php }?> 


                                
</div></div>
</div></div>

<?php

$footer_style = 'index';
require PUN_ROOT.'footer.php';
?>