1 (edited by Spider 2007-10-12 22:05)

Topic: Problem with links of topics

Hello

There is a problem when trying to reference a topic, for example for Digg!
The following code is to be inserted in viewtopic  (after // I apologize for the variable naming here. It's a mix of subscription and action I guess :-) )

<img src="img/'.$pun_user['style'].'/misc/icon_arrow.gif" alt="·" title="·" /> <img src="img/digg_icon.gif" alt="Digg!" title="Digg!" /> <a style="font-weight: normal;" href="http://digg.com/submit?phase=2&url='.$pun_config['o_base_url'].'/viewtopic.php?pid='.$cur_topic['id'].'&title='.urlencode($cur_topic['subject']).'">Digg It</a>

Result with a version without mod is bad because the number of the topic does not appear

This code works perfectly with MegaPun yet :

http://digg.com/submit?phase=2&url= … yourdomain /megapun/viewtopic.php?id=2&title=Test+post

I looked into the code, but I did not find an explanation for this error.
Do you have any idea?

Thank you.

Re: Problem with links of topics

You should use $id, not $cur_topic['id'], which doesn't exist in an unmodded copy of PunBB.

Re: Problem with links of topics

Works fine so! Thanks Smartys.

Re: Problem with links of topics

I am confused here. I have always used the code below to submit articles to Digg, but then I tried today and it does not work anymore. Can someone please help me here. I've posted the code below that always worked in the past:

        $subscraction = '<p class="subscribelink clearb"><img src="img/'.$pun_user['style'].'/misc/icon_arrow.gif" alt="·" title="·" /> <a href="misc.php?subscribe='.$id.'">'.$lang_topic['Subscribe'].'</a> <br /><img src="img/'.$pun_user['style'].'/misc/icon_arrow.gif" alt="·" title="·" /> <a href="viewprintable.php?id='.$id.'">'.$lang_common['Print version'].'</a><br /><img src="img/'.$pun_user['style'].'/misc/icon_arrow.gif" alt="·" title="·" /> <img src="../img/digg_icon.gif" alt="Digg!" title="Digg!" /> <a style="font-weight: normal;" href="http://digg.com/submit?phase=2&url='.$pun_config['o_base_url'].'/viewtopic.php?pid='.$cur_topic['id'].'&title='.urlencode($cur_topic['subject']).'">Digg It</a> | <img src="../img/delicious_icon.gif" alt="del.icio.us" title="del.icio.us" /> <a style="font-weight: normal;" href="http://del.icio.us/post?url='.$pun_config['o_base_url'].'/viewtopic.php?pid='.$cur_topic['id'].'&title='.urlencode($cur_topic['subject']).'">del.icio.us</a></p>'."\n";

Re: Problem with links of topics

I don't know why that code would work, it uses a non-existent title parameter for viewtopic.php and tries to use a topic ID as a post ID.

        $subscraction = '<p class="subscribelink clearb"><img src="img/'.$pun_user['style'].'/misc/icon_arrow.gif" alt="·" title="·" /> <a href="misc.php?subscribe='.$id.'">'.$lang_topic['Subscribe'].'</a> <br /><img src="img/'.$pun_user['style'].'/misc/icon_arrow.gif" alt="·" title="·" /> <a href="viewprintable.php?id='.$id.'">'.$lang_common['Print version'].'</a><br /><img src="img/'.$pun_user['style'].'/misc/icon_arrow.gif" alt="·" title="·" /> <img src="../img/digg_icon.gif" alt="Digg!" title="Digg!" /> <a style="font-weight: normal;" href="http://digg.com/submit?phase=2&url='.$pun_config['o_base_url'].'/viewtopic.php?id='.$cur_topic['id'].'">Digg It</a> | <img src="../img/delicious_icon.gif" alt="del.icio.us" title="del.icio.us" /> <a style="font-weight: normal;" href="http://del.icio.us/post?url='.$pun_config['o_base_url'].'/viewtopic.php?id='.$cur_topic['id'].'">del.icio.us</a></p>'."\n";

That should fix it

6 (edited by bingiman 2007-12-05 02:58)

Re: Problem with links of topics

That didn't work either. This is the error I get, and I swear the old code worked 100% before. I've submitted content using the same link in Mega Pun.

This link does not appear to be a working link. Please check the URL and try again.

This guys own seems to work:

http://reviewstash.com/viewtopic.php?id=3

Re: Problem with links of topics

Hi Smartys,

If the whole code is wrong, then why does it work for the  del.icio.us link?

8 (edited by bingiman 2007-12-05 03:55)

Re: Problem with links of topics

Here is my complete viewtopic.php file

I honestly believe that Digg changed something on their site. I even tested this one out which I know also worked:
http://www.punres.org/viewtopic.php?id=3493 and all the other bookmarks work except for Digg.


<?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';
require PUN_ROOT.'include/image_upload/image_upload.php';

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


$action = isset($_GET['action']) ? $_GET['action'] : null;
$id = isset($_GET['id']) ? intval($_GET['id']) : 0;
$pid = isset($_GET['pid']) ? intval($_GET['pid']) : 0;
if ($id < 1 && $pid < 1)
    message($lang_common['Bad request']);

// Load the viewtopic.php language file
require PUN_ROOT.'lang/'.$pun_user['language'].'/topic.php';
require PUN_ROOT.'lang/'.$pun_user['language'].'/reputation.php';
require PUN_ROOT.'lang/'.$pun_user['language'].'/topic_rating.php';

// If a post ID is specified we determine topic ID and page number so we can redirect to the correct message
if ($pid)
{
    $result = $db->query('SELECT topic_id FROM '.$db->prefix.'posts WHERE id='.$pid) or error('Unable to fetch post info', __FILE__, __LINE__, $db->error());
    if (!$db->num_rows($result))
        message($lang_common['Bad request']);

    $id = $db->result($result);

    // Determine on what page the post is located (depending on $pun_user['disp_posts'])
    $result = $db->query('SELECT id FROM '.$db->prefix.'posts WHERE topic_id='.$id.' ORDER BY posted'.($pun_user['reverse_posts']? ' DESC':'')) or error('Unable to fetch post info', __FILE__, __LINE__, $db->error());
    $num_posts = $db->num_rows($result);

    for ($i = 0; $i < $num_posts; ++$i)
    {
        $cur_id = $db->result($result, $i);
        if ($cur_id == $pid)
            break;
    }
    ++$i;    // we started at 0

    $_GET['p'] = ceil($i / $pun_user['disp_posts']);
}

// If action=new, we redirect to the first new post (if any)
else if ($action == 'new' && !$pun_user['is_guest'])
{
    $result = $db->query('SELECT MIN(id) FROM '.$db->prefix.'posts WHERE topic_id='.$id.' AND posted>'.$pun_user['last_visit']) or error('Unable to fetch post info', __FILE__, __LINE__, $db->error());
    $first_new_post_id = $db->result($result);

    if ($first_new_post_id)
        header('Location: viewtopic.php?pid='.$first_new_post_id.'#p'.$first_new_post_id);
    else    // If there is no new post, we go to the last post
        header('Location: viewtopic.php?id='.$id.'&action=last');

    exit;
}

// If action=last, we redirect to the last post
else if ($action == 'last')
{
    $result = $db->query('SELECT MAX(id) FROM '.$db->prefix.'posts WHERE topic_id='.$id) or error('Unable to fetch post info', __FILE__, __LINE__, $db->error());
    $last_post_id = $db->result($result);

    if ($last_post_id)
    {
        header('Location: viewtopic.php?pid='.$last_post_id.'#p'.$last_post_id);
        exit;
    }
}

    // Increase rating of the topic
    else if ($action == 'incr_rating')
    {
        if(($pun_user['last_rating'] > time() - $pun_config['o_rating_timeout']) || $pun_user['is_guest'])
            message(str_replace('%d', $pun_config['o_rating_timeout'], $lang_topic_rating['Unallowed rate']));
        
        $db->query("UPDATE ".$db->prefix."topics SET rating = rating + 1 WHERE id=".$id) or error('Unable to update thread rating', __FILE__, __LINE__, $db->error());
        $db->query("UPDATE ".$db->prefix."users SET last_rating = ".time()." WHERE id=".$pun_user['id']) or error('Unable to update user timeout', __FILE__, __LINE__, $db->error());
        
        redirect(PUN_ROOT.'viewtopic.php?id='.$id, $lang_topic_rating['Topic rating increased']);
    }
    // Decrease rating of the topic
    else if ($action == 'decr_rating')
    {
        if(($pun_user['last_rating'] > time() - $pun_config['o_rating_timeout']) || $pun_user['is_guest'])
            message(str_replace('%d', $pun_config['o_rating_timeout'], $lang_topic_rating['Unallowed rate']));
        
        $db->query("UPDATE ".$db->prefix."topics SET rating = rating - 1 WHERE id=".$id) or error('Unable to update thread rating', __FILE__, __LINE__, $db->error());
        $db->query("UPDATE ".$db->prefix."users SET last_rating = ".time()." WHERE id=".$pun_user['id']) or error('Unable to update user timeout', __FILE__, __LINE__, $db->error());
        
        redirect(PUN_ROOT.'viewtopic.php?id='.$id, $lang_topic_rating['Topic rating decreased']);
    }

// Fetch some info about the topic
if (!$pun_user['is_guest'])
    $result = $db->query('SELECT pf.forum_name AS parent_forum, f.parent_forum_id, t.subject, t.closed, t.num_replies, t.sticky, t.rating, f.id, t.question, t.yes, t.no, f.id AS forum_id, f.forum_name, f.moderators, fp.post_replies, s.user_id AS is_subscribed FROM '.$db->prefix.'topics AS t INNER JOIN '.$db->prefix.'forums AS f ON f.id=t.forum_id LEFT JOIN '.$db->prefix.'subscriptions AS s ON (t.id=s.topic_id AND s.user_id='.$pun_user['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.'forums AS pf ON f.parent_forum_id=pf.id WHERE (fp.read_forum IS NULL OR fp.read_forum=1) AND t.id='.$id.' AND t.moved_to IS NULL') or error('Unable to fetch topic info', __FILE__, __LINE__, $db->error());
else
    $result = $db->query('SELECT pf.forum_name AS parent_forum, f.parent_forum_id, t.subject, t.closed, t.num_replies, t.sticky, t.rating, t.labels, f.id, t.question, t.yes, t.no, f.id AS forum_id, f.forum_name, f.moderators, fp.post_replies, 0 FROM '.$db->prefix.'topics AS t INNER JOIN '.$db->prefix.'forums AS f ON f.id=t.forum_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.'forums AS pf ON f.parent_forum_id=pf.id WHERE (fp.read_forum IS NULL OR fp.read_forum=1) AND t.id='.$id.' AND t.moved_to IS NULL') or error('Unable to fetch topic info', __FILE__, __LINE__, $db->error());

if (!$db->num_rows($result))
    message($lang_common['Bad request']);

$cur_topic = $db->fetch_assoc($result);

// Sort out who the moderators are and if we are currently a moderator (or an admin)
$mods_array = ($cur_topic['moderators'] != '') ? unserialize($cur_topic['moderators']) : array();
$is_admmod = ($pun_user['g_id'] == PUN_ADMIN || ($pun_user['g_id'] == PUN_MOD && array_key_exists($pun_user['username'], $mods_array))) ? true : false;

// Can we or can we not post replies?
if ($cur_topic['closed'] == '0')
{

    if (($cur_topic['post_replies'] == '' && $pun_user['g_post_replies'] == '1') || $cur_topic['post_replies'] == '1' || $is_admmod) $post_link = '<a href="javascript:void(0)" onClick="document.getElementById(\'show_quick\').style.display = \'none\' ? \'block\' : \'none\'; insert_text(\'\',\'\');" rel="nofollow"><img src="img/'.$pun_user['style'].'/buttons/btn_quick.png" title="'.$lang_topic['Quick reply'].'" alt="'.$lang_topic['Quick reply'].'" /></a> <a href="post.php?tid='.$id.'" rel="nofollow" title="'.$lang_topic['Post reply'].'"><img src="img/'.$pun_user['style'].'/buttons/new_reply.png" alt="'.$lang_topic['Post reply'].'" /></a>';
    else $post_link = '<a href="login.php" title="'.$lang_topic['Post reply'].'"><img src="img/'.$pun_user['style'].'/buttons/new_reply.png" alt="'.$lang_topic['Post reply'].'" /></a>'; 
}




else
{

    $post_link = '<img src="img/'.$pun_user['style'].'/buttons/topic_closed.png" alt="'.$lang_topic['Topic closed'].'" />';
    if ($is_admmod) 
    $post_link .= ' <a href="post.php?tid='.$id.'" title="'.$lang_topic['Post reply'].'"><img src="img/'.$pun_user['style'].'/buttons/new_reply.png" alt="'.$lang_topic['Post reply'].'" /></a>';
}


// Determine the post offset (based on $_GET['p'])
$num_pages = ceil(($cur_topic['num_replies'] + 1) / $pun_user['disp_posts']);

$p = (!isset($_GET['p']) || $_GET['p'] <= 1 || $_GET['p'] > $num_pages) ? 1 : $_GET['p'];
$start_from = $pun_user['disp_posts'] * ($p - 1);

// Generate paging links
$paging_links = $lang_common['Pages'].': '.paginate($num_pages, $p, 'viewtopic.php?id='.$id);


if ($pun_config['o_censoring'] == '1')
    $cur_topic['subject'] = censor_words($cur_topic['subject']);


$quickpost = false;
if ($pun_config['o_quickpost'] == '1' &&
    !$pun_user['is_guest'] &&
    ($cur_topic['post_replies'] == '1' || ($cur_topic['post_replies'] == '' && $pun_user['g_post_replies'] == '1')) &&
    ($cur_topic['closed'] == '0' || $is_admmod))
{
    $required_fields = array('req_message' => $lang_common['Message']);
    $quickpost = true;
}

if (!$pun_user['is_guest'] && $pun_config['o_subscriptions'] == '1')
{
    if ($cur_topic['is_subscribed'])
        // I apologize for the variable naming here. It's a mix of subscription and action I guess :-)
        $subscraction = '<p class="subscribelink clearb"><img src="img/'.$pun_user['style'].'/misc/icon_arrow.gif" alt="·" title="·" /> '.$lang_topic['Is subscribed'].' - <a href="misc.php?unsubscribe='.$id.'">'.$lang_topic['Unsubscribe'].'</a> <br /><img src="img/'.$pun_user['style'].'/misc/icon_arrow.gif" alt="·" title="·" /> <a href="viewprintable.php?id='.$id.'">'.$lang_common['Print version'].'</a><br /><img src="img/'.$pun_user['style'].'/misc/icon_arrow.gif" alt="·" title="·" /> <img src="../img/digg_icon.gif" alt="Digg!" title="Digg!" /> <a style="font-weight: normal;" href="http://digg.com/submit?phase=2&url='.$pun_config['o_base_url'].'/viewtopic.php?pid='.$cur_topic['id'].'&title='.urlencode($cur_topic['subject']).'">Digg It</a> | <img src="../img/delicious_icon.gif" alt="del.icio.us" title="del.icio.us" /> <a style="font-weight: normal;" href="http://del.icio.us/post?url='.$pun_config['o_base_url'].'/viewtopic.php?pid='.$cur_topic['id'].'&title='.urlencode($cur_topic['subject']).'">del.icio.us</a></p>'."\n";
    else
        $subscraction = '<p class="subscribelink clearb"><img src="img/'.$pun_user['style'].'/misc/icon_arrow.gif" alt="·" title="·" /> <a href="misc.php?subscribe='.$id.'">'.$lang_topic['Subscribe'].'</a> <br /><img src="img/'.$pun_user['style'].'/misc/icon_arrow.gif" alt="·" title="·" /> <a href="viewprintable.php?id='.$id.'">'.$lang_common['Print version'].'</a><br /><img src="img/'.$pun_user['style'].'/misc/icon_arrow.gif" alt="·" title="·" /> <img src="../img/digg_icon.gif" alt="Digg!" title="Digg!" /> <a style="font-weight: normal;" href="http://digg.com/submit?phase=2&url='.$pun_config['o_base_url'].'/viewtopic.php?pid='.$cur_topic['id'].'&title='.urlencode($cur_topic['subject']).'">Digg It</a> | <img src="../img/delicious_icon.gif" alt="del.icio.us" title="del.icio.us" /> <a style="font-weight: normal;" href="http://del.icio.us/post?url='.$pun_config['o_base_url'].'/viewtopic.php?pid='.$cur_topic['id'].'&title='.urlencode($cur_topic['subject']).'">del.icio.us</a></p>'."\n";
}
else
    $subscraction = '<div class="clearer"></div>'."\n";

if ($cur_topic['question'])
    $cur_topic_question = $cur_topic['question'].' - ';
else
    $cur_topic_question = '';

$page_title = pun_htmlspecialchars($pun_config['o_board_title'].' / '.$cur_topic_question . $cur_topic['subject']);
define('PUN_ALLOW_INDEX', 1);
require PUN_ROOT.'header.php';

?>
<div class="linkst">
    <div class="inbox">
        <p class="pagelink conl"><?php echo $paging_links ?></p>
        <p class="postlink conr"><?php echo $post_link ?></p>
<?php

if($cur_topic['parent_forum'])
    echo "\t\t".'<ul><li><a href="index.php">'.$lang_common['Index'].'</a> </li><li>» <a href="viewforum.php?id='.$cur_topic['parent_forum_id'].'">'.pun_htmlspecialchars($cur_topic['parent_forum']).'</a> </li><li>» <a href="viewforum.php?id='.$cur_topic['forum_id'].'">'.pun_htmlspecialchars($cur_topic['forum_name']).'</a> </li><li>» '.pun_htmlspecialchars($cur_topic['subject']).'</li></ul>';
else
    echo "\t\t".'<ul><li><a href="index.php">'.$lang_common['Index'].'</a></li><li> » <a href="viewforum.php?id='.$cur_topic['forum_id'].'">'.pun_htmlspecialchars($cur_topic['forum_name']).'</a></li><li> » '.pun_htmlspecialchars($cur_topic['subject']).'</li></ul>';

?>
    <?php
    // This was added for topic rating
    if(!$pun_user['is_guest'])
        echo '<span>'.$lang_topic_rating['Topic rating'].' <a href="'.PUN_ROOT.'viewtopic.php?action=incr_rating&id='.$id.'" title="Increase thread rating"><img src="'.PUN_ROOT.'img/rate_topic/warn_add.gif" alt="+" /></a> <strong>'.intval($cur_topic['rating']).'</strong> <a href="'.PUN_ROOT.'viewtopic.php?action=decr_rating&id='.$id.'" title="Decrease thread rating"><img src="'.PUN_ROOT.'img/rate_topic/warn_minus.gif" alt="-" /></a></span>'."\n";
    else
        echo '<span>'.$lang_topic_rating['Topic rating'].' <strong>'.intval($cur_topic['rating']).'</strong></span>'."\n";
    // End topic rating subsection
    ?>
        <div class="clearer"></div>
    </div>
</div>

<?php


require PUN_ROOT.'include/parser.php';

$bg_switch = true;    // Used for switching background color in posts
$post_count = 0;    // Keep track of post numbers
// Mod poll begin
if ($cur_topic['question'])
{
    require PUN_ROOT . 'lang/' . $pun_user['language'] . '/polls.php'; 
    // get the poll data
    $result = $db->query('SELECT ptype,options,voters,votes FROM ' . $db->prefix . 'polls WHERE pollid=' . $id . '') or error('Unable to fetch poll info', __FILE__, __LINE__, $db->error());

    if (!$db->num_rows($result))
        message($lang_common['Bad request']);

    $cur_poll = $db->fetch_assoc($result);

    $options = unserialize($cur_poll['options']);
    if (!empty($cur_poll['voters']))
        $voters = unserialize($cur_poll['voters']);
    else
        $voters = array();

    $ptype = $cur_poll['ptype']; 
    // yay memory!
    // $cur_poll = null;
    $firstcheck = false;
    ?>
<div class="blockform">
    <h2><span><?php echo $lang_polls['Poll'] ?></span></h2>
    <div class="box">
        <?php
    if ((!$pun_user['is_guest']) && (!in_array($pun_user['id'], $voters)) && ($cur_topic['closed'] == '0') && (($cur_topic['post_replies'] == '1' || ($cur_topic['post_replies'] == '' && $pun_user['g_post_replies'] == '1')) || $is_admmod)) 
    {
        $showsubmit = true;
        ?>
        <form id="post2" method="post" action="vote.php">
            <div class="inform">
                <div class="rbox">
                <fieldset>
                    <legend><?php echo pun_htmlspecialchars($cur_topic['question']) ?></legend>
                    <div class="infldset txtarea">
                        <input type="hidden" name="poll_id" value="<?php echo $id; ?>" />
                        <input type="hidden" name="form_sent" value="1" />
                        <input type="hidden" name="form_user" value="<?php echo (!$pun_user['is_guest']) ? pun_htmlspecialchars($pun_user['username']) : 'Guest'; ?>" />
    
                        <?php
                        if ($ptype == 1) 
                        {
                            while (list($key, $value) = each($options)) 
                            {
                            ?>
                                <label><input name="vote" <?php if (!$firstcheck) { echo 'checked="checked"'; $firstcheck = true; }; ?> type="radio" value="<?php echo $key ?>" /> <span><?php echo pun_htmlspecialchars($value); ?></span></label>
                            <?php
                            } 
                        } 
                        elseif ($ptype == 2) 
                        {
                            while (list($key, $value) = each($options)) 
                            {         
                            ?>
                                <label><input name="options[<?php echo $key ?>]" type="checkbox" value="1" /> <span><?php echo pun_htmlspecialchars($value); ?></span></label>
                            <?php
                            } 
                        } 
                        elseif ($ptype == 3) 
                        {
                            
                            while (list($key, $value) = each($options)) 
                            {
                                echo pun_htmlspecialchars($value); ?>
                                <label><input class="button"name="options[<?php echo $key ?>]" checked="checked" type="radio" value="yes" /> <?php echo $cur_topic['yes']; ?></label>
                                <label><input name="options[<?php echo $key ?>]" type="radio" value="no" /> <?php echo $cur_topic['no']; ?></label>
                                <br />
                            <?php
                            } 
                        } 
                        else
                        {
                            message($lang_common['Bad request']);
                        }
            ?></div></fieldset><?php
    } 
    else 
    {
        $showsubmit = false;
        ?>
        <div class="inform">
        <div class="rbox">
            
            <p class="poll_info"><strong><?php echo pun_htmlspecialchars($cur_topic['question']) ?></strong></p>            
            <?php
            if (!empty($cur_poll['votes']))
                    $votes = unserialize($cur_poll['votes']);
            else
                  $votes = array();
        
            if ($ptype == 1 || $ptype == 2) 
            {
                $total = 0;
                $percent = 0;
                $percent_int = 0;
                while (list($key, $val) = each($options)) 
                {
                    if (isset($votes[$key]))
                        $total += $votes[$key];
                }
                reset($options);
            }
            
              while (list($key, $value) = each($options)) {    

                if ($ptype == 1 || $ptype == 2)
                { 
                    if (isset($votes[$key]))
                    {
                        $percent =  $votes[$key] * 100 / $total;
                        $percent_int = floor($percent);
                    }
                    ?>
                        <div class="poll_question"><?php echo pun_htmlspecialchars($value); ?></div>
                        <div class="poll_result">
                            <img src="img/transparent.gif" class="poll_bar" style="width:<?php if (isset($votes[$key])) echo $percent_int/2; else echo '0'; ?>%;" alt="" />
                            <span><?php if (isset($votes[$key])) echo $percent_int . '% - ' . $votes[$key]; else echo '0% - 0'; ?></span>
                        </div>
                <?php
                }
                else if ($ptype == 3) 
                { 
                    $total = 0;
                    $yes_percent = 0;
                    $no_percent = 0;
                    $vote_yes = 0;
                    $vote_no = 0;
                    if (isset($votes[$key]['yes']))
                    {
                        $vote_yes = $votes[$key]['yes'];
                    }

                    if (isset($votes[$key]['no'])) {
                        $vote_no += $votes[$key]['no'];
                    }

                    $total = $vote_yes + $vote_no;
                    if (isset($votes[$key]))
                    {
                        $yes_percent =   floor($vote_yes * 100 / $total);
                        $no_percent = floor($vote_no * 100 / $total);
                    }
                    ?>
                        <div class="poll_question"><?php echo pun_htmlspecialchars($value); ?></div>
                        
                        <div class="poll_result_yesno">
                            <strong><?php echo $cur_topic['yes']; ?></strong>
                                <img src="img/transparent.gif" class="poll_bar" style="width:<?php if (isset($votes[$key]['yes'])) { echo $yes_percent/2; } else { echo '0';  } ?>%;" alt="" />
                                <span><?php if (isset($votes[$key]['yes'])) { echo $yes_percent . "% - " . $votes[$key]['yes']; } else { echo "0% - " . 0; } ?></span>
                        </div>
                        <div class="poll_result_yesno">                        
                            <strong><?php echo $cur_topic['no']; ?></strong>
                                <img src="img/transparent.gif" class="poll_bar" style="width:<?php if (isset($votes[$key]['no'])) { echo $no_percent/2; } else { echo '0';  } ?>%;" alt="" />
                                <span><?php if (isset($votes[$key]['no'])) { echo $no_percent . "% - " . $votes[$key]['no']; } else { echo "0% - " . 0; } ?></span>
                        </div>
                    <?php 
                }
                else
                message($lang_common['Bad request']);
            }     
            ?>
                <p class="poll_info">Total : <?php echo $total; ?></p>
            <?php
        } 
        ?>
            </div>
                
            </div>

            <?php if ($showsubmit == true) 
            { 
                echo '<p><input class="button" type="submit" name="submit" tabindex="2" value="' . $lang_common['Submit'] . '" accesskey="s" /> <input class="button" type="submit" name="null" tabindex="2" value="' . $lang_polls['Null vote']. '" accesskey="n" /></p>
                </form>';
            } 
            ?>
    </div>
</div>
<?php
}
// Mod poll end
// Retrieve the posts (and their respective poster/online status) 
$result = $db->query("SELECT COUNT(*) FROM ".$db->prefix."posts WHERE topic_id=".$id) or error('Unable to count posts in thread', __FILE__, __LINE__, $db->error());
$num_posts = $db->result($result);
$result = $db->query('SELECT u.karma, u.email, u.title, u.url, u.location, u.use_avatar, u.signature, u.email_setting, u.num_posts, u.registered, u.admin_note, u.num_blogs, u.country, SUM(r.rep_plus) AS count_rep_plus, SUM(r.rep_minus) AS count_rep_minus, u.reputation_enable, u.sex, u.imgaward, p.id, p.poster AS username, p.poster_id, p.poster_ip, p.poster_email, p.message, p.hide_smilies, p.posted, p.edited, p.edited_by, g.g_id, g.g_user_title, g.g_color, o.user_id AS is_online FROM '.$db->prefix.'posts AS p INNER JOIN '.$db->prefix.'users AS u ON u.id=p.poster_id INNER JOIN '.$db->prefix.'groups AS g ON g.g_id=u.group_id LEFT JOIN '.$db->prefix.'online AS o ON (o.user_id=u.id AND o.user_id!=1 AND o.idle=0) LEFT JOIN '.$db->prefix.'reputation as r ON (r.user_id=u.id) WHERE p.topic_id='.$id.' GROUP BY p.id ORDER BY p.id '.($pun_user['reverse_posts']? 'DESC ' : '').'LIMIT '.$start_from.','.$pun_user['disp_posts'], true) or error('Unable to fetch post info', __FILE__, __LINE__, $db->error());

while ($cur_post = $db->fetch_assoc($result))
{
    $post_count++;
    $user_avatar = '';
    $user_info = array();
    $user_contacts = array();
    $post_actions = array();
    $is_online = '';
    $signature = '';
    $user_image_award = '';
    $rank_icons = "";
    // If the poster is a registered user.
    if ($cur_post['poster_id'] > 1)
    {
        // Image Award Mod Block Start
        if(strlen($cur_post['imgaward']) > 0){    // if we have something there, figure out what to output...
            //figure out the size of the award (Name of award should be in teh form:  Test_Award_100x20.png ... where png is format, 100x20 is dimensions and Test_Award is name of award (seen in admin interface)
            $awardmod_filename=$cur_post['imgaward'];
            $awardmod_temp=substr($awardmod_filename,strrpos($awardmod_filename,'_')+1); //we still have the file extentsion
            $awardmod_temp=substr($awardmod_temp,0,strpos($awardmod_temp,'.'));
            $awardmod_dimensions = explode('x',$awardmod_temp);    // there ... now the array will hold 100 and 20 in [0] and [1] respecively ... :)
            $awardmod_name=str_replace('_',' ',substr($awardmod_filename,0,strrpos($awardmod_filename,'_')));
            if($pun_config['o_avatars'] == '1' && $pun_user['show_avatars'] != '0')
                $user_image_award = "\t\t\t\t\t".'<dd><img src="img/awards/'.$awardmod_filename.'" width="'.$awardmod_dimensions[0].'" height="'.$awardmod_dimensions[1].'" alt="Award: '.$awardmod_name.'" /></dd>';
            else
                $user_image_award = "\t\t\t\t\t".'<dd>Award: "'.$awardmod_name.'"</dd>';
        }
        // Image Award Mod Block End


            if($cur_post['num_posts'] > 5000) { $num_ranks = 10; }
            elseif($cur_post['num_posts'] > 3000 && $cur_post['num_posts'] < 5000) { $num_ranks = 9; }
            elseif($cur_post['num_posts'] > 2000 && $cur_post['num_posts'] < 3000) { $num_ranks = 8; }
            elseif($cur_post['num_posts'] > 1000 && $cur_post['num_posts'] < 2000) { $num_ranks = 7; }
            elseif($cur_post['num_posts'] > 500 && $cur_post['num_posts'] < 1000) { $num_ranks = 6; }
            elseif($cur_post['num_posts'] > 300 && $cur_post['num_posts'] < 500) { $num_ranks = 5; }
            elseif($cur_post['num_posts'] > 100 && $cur_post['num_posts'] < 300) { $num_ranks = 4; }
            elseif($cur_post['num_posts'] > 50 && $cur_post['num_posts'] < 100) { $num_ranks = 3; }
            elseif($cur_post['num_posts'] > 30 && $cur_post['num_posts'] < 50) { $num_ranks = 2; }
            elseif($cur_post['num_posts'] > 10 && $cur_post['num_posts'] < 50) { $num_ranks = 1; }
            else { $num_ranks = 0; }
            if ($cur_post['g_id'] == 1) 
            $rank_icons = '<img style="border:0;" src="img/'.$pun_user['style'].'/ranks/rank_1.png" title="'.$lang_common['Administrator'].'" alt="'.$lang_common['Administrator'].'" />';
            else if ($cur_post['g_id'] == 2) 
            $rank_icons  = '<img style="border:0;" src="img/'.$pun_user['style'].'/ranks/rank_2.png" title="'.$lang_common['Moderator'].'" alt="'.$lang_common['Moderator'].'" />';
            else if ($img_size = @getimagesize(FORUM_ROOT.'/img/'.$pun_user['style'].'/ranks/rank_'.$cur_post['g_id'].'.png')) 
            $rank_icons  = '<img style="border:0;" src="img/'.$pun_user['style'].'/ranks/rank_'.$cur_post['g_id'].'.png" alt="" />';
            else $rank_icons = '<img style="border:0;" src="img/'.$pun_user['style'].'/ranks/stars_'.$num_ranks.'.png" title="'.$lang_common['Ranks'].'" alt="'.$lang_common['Ranks'].'" />';


        $username = '<a href="profile.php?id=' . $cur_post['poster_id'] . '"><span style="color:'.$cur_post['g_color'].'">' . pun_htmlspecialchars($cur_post['username']) . '</span></a>';
        $user_title = get_title($cur_post);
        $user_country = $cur_post['country'];
        if ($pun_config['o_censoring'] == '1')
            $user_title = censor_words($user_title);

        // Format the online indicator
        $is_online = ($cur_post['is_online'] == $cur_post['poster_id']) ? '<strong>'.$lang_topic[''].'</strong>' : $lang_topic[''];

        if ($pun_config['o_avatars'] == '1' && $cur_post['use_avatar'] == '1' && $pun_user['show_avatars'] != '0')
        {
            if ($img_size = @getimagesize($pun_config['o_avatars_dir'].'/'.$cur_post['poster_id'].'.gif'))
                $user_avatar = '<a href="profile.php?id=' . $cur_post['poster_id'] . '"><img src="'.$pun_config['o_avatars_dir'].'/'.$cur_post['poster_id'].'.gif" '.$img_size[3].' title="'.$cur_post['username'].'\'s Avatar" alt="'.$cur_post['username'].'\'s Avatar" /></a>';
            else if ($img_size = @getimagesize($pun_config['o_avatars_dir'].'/'.$cur_post['poster_id'].'.jpg'))
                $user_avatar = '<a href="profile.php?id=' . $cur_post['poster_id'] . '"><img src="'.$pun_config['o_avatars_dir'].'/'.$cur_post['poster_id'].'.jpg" '.$img_size[3].' title="'.$cur_post['username'].'\'s Avatar" alt="'.$cur_post['username'].'\'s Avatar" /></a>';
            else if ($img_size = @getimagesize($pun_config['o_avatars_dir'].'/'.$cur_post['poster_id'].'.png'))
                $user_avatar = '<a href="profile.php?id=' . $cur_post['poster_id'] . '"><img src="'.$pun_config['o_avatars_dir'].'/'.$cur_post['poster_id'].'.png" '.$img_size[3].' title="'.$cur_post['username'].'\'s Avatar" alt="'.$cur_post['username'].'\'s Avatar" /></a>';
        }
        else
            $user_avatar = '<a href="profile.php?id=' . $cur_post['poster_id'] . '"><img alt="" src="img/noimage.gif" /></a>';

        if ($cur_post['sex'] != '') 
        {
            if ($cur_post['sex'] == 'male') $user_info[] = '<dd class="info">'.Gender.': <img style="border:0;" src="img/'.$pun_user['style'].'/misc/male.png" title="'.$cur_post['sex'].'" alt="'.$cur_post['sex'].'" />';
        else $user_info[] = '<dd class="info">'.Gender.': <img style="border:0;" src="img/'.$pun_user['style'].'/misc/female.png" title="'.$cur_post['sex'].'" alt="'.$cur_post['sex'].'" />';
            }

        // We only show location, register date, post count and the contact links if "Show user info" is enabled
        if ($pun_config['o_show_user_info'] == '1')
        {
            if ($cur_post['location'] != '')
            {
                if ($pun_config['o_censoring'] == '1')
                    $cur_post['location'] = censor_words($cur_post['location']);

                $user_info[] = '<dd>'.$lang_topic['From'].': '.pun_htmlspecialchars($cur_post['location']);
            }

            $user_info[] = '<dd>'.$lang_common['Registered'].': '.date($pun_config['o_date_format'], $cur_post['registered']);

            if ($pun_config['o_show_post_count'] == '1' || $pun_user['g_id'] < PUN_GUEST)
                $user_info[] = '<dd>'.$lang_common['Posts'].': '.$cur_post['num_posts'];
            $user_info[] = '<dd>'.'Karma'.': '.$cur_post['karma'];
            //We only show the blogs link if the user has created a blog
            if ($cur_post['num_blogs'] > '0') 
                $user_info[] = '<dd><a href="blogs.php?bid='.$cur_post['poster_id'].'">'.$lang_common['Blog'].'</a>';
            // Now let's deal with the contact links (E-mail and URL)


            if ($pun_user['g_id'] < PUN_GUEST)  
                $user_contacts[] = '<a href="moderate.php?get_host='.$cur_post['id'].'" title="'.$cur_post['poster_ip'].'"><img src="img/'.$pun_user['style'].'/buttons/btn_icon_ip.png" alt="'.$cur_post['poster_ip'].'" /></a>';


            if (($cur_post['email_setting'] == '0' && !$pun_user['is_guest']) || $pun_user['g_id'] < PUN_GUEST)
                $user_contacts[] = '<a href="mailto:'.$cur_post['email'].'"><img src="img/'.$pun_user['style'].'/buttons/btn_icon_email.png" title="'.$lang_common['E-mail'].'" alt="'.$lang_common['E-mail'].'" /></a>';
            else if ($cur_post['email_setting'] == '1' && !$pun_user['is_guest'])
                $user_contacts[] = '<a href="misc.php?email='.$cur_post['poster_id'].'"><img src="img/'.$pun_user['style'].'/buttons/btn_icon_email.png" title="'.$lang_common['E-mail'].'" alt="'.$lang_common['E-mail'].'" /></a>';


            if($pun_config['o_pms_enabled'] && !$pun_user['is_guest'] && $pun_user['g_pm'] == 1)
            {
                $pid = isset($cur_post['poster_id']) ? $cur_post['poster_id'] : $cur_post['id'];
                $user_contacts[] = '<a href="message_send.php?id='.$pid.'&tid='.$id.'" title="'.$lang_pms['Quick message'].'"><img src="img/'.$pun_user['style'].'/buttons/btn_icon_pm.png" alt="'.$lang_pms['Quick message'].'" /></a>';
            }

            //require(PUN_ROOT.' include/pms/viewtopic_PM-link.php');
            if ($cur_post['url'] != '')
                $user_contacts[] = '<a onclick="window.open(this.href); return false;" href="'.pun_htmlspecialchars($cur_post['url']).'" title="'.$lang_topic['Website'].'"><img src="img/'.$pun_user['style'].'/buttons/btn_icon_www.png" alt="'.$lang_topic['Website'].'" /></a>';
        }

}

            if ($cur_post['admin_note'] != '')
                $user_info[] = '<dd>'.$lang_topic['Note'].': <strong>'.pun_htmlspecialchars($cur_post['admin_note']).'</strong>';

    


    if ($cur_post['poster_id'] > 1&&!$pun_user['is_guest'])    
        $post_actions[] = '<li class="postedit"><br /><a href="karma.php?post='.$cur_post['id'].'&vote=1"><img src="img/'.$pun_user['style'].'/buttons/btn_praise.png" title="'.$lang_topic['Praise User'].'" alt="'.$lang_topic['Praise User'].'" /></a> <a href="karma.php?post='.$cur_post['id'].'&vote=0"><img src="img/'.$pun_user['style'].'/buttons/btn_smite.png" title="'.$lang_topic['Smite User'].'" alt="'.$lang_topic['Smite User'].'" /></a>';

    // Generation post action array (quote, edit, delete etc.)
    if (!$is_admmod)
    {
        if (!$pun_user['is_guest'])
            $post_actions[] = '<li class=""><a href="forward.php?forward='.$pun_user['id'].'&pid='.$cur_post['id'].'"><img src="img/'.$pun_user['style'].'/buttons/btn_forward.png" title="'.$lang_topic['Forward'].'" alt="'.$lang_topic['Forward'].'" /></a></li> <li class="post"><a href="javascript:scrollTo(0,0);"><img src="img/'.$pun_user['style'].'/buttons/btn_icon_top.png" title="'.$lang_topic['Top'].'" alt="'.$lang_topic['Top'].'" /></a></li> <li class="postreport"><a href="misc.php?report='.$cur_post['id'].'" title="'.$lang_topic['Report'].'"><img src="img/'.$pun_user['style'].'/buttons/btn_icon_report.png" alt="'.$lang_topic['Report'].'" /></a>';

        if ($cur_topic['closed'] == '0')
        {
            if ($cur_post['poster_id'] == $pun_user['id'])
            {
                if ((($start_from + $post_count) == 1 && $pun_user['g_delete_topics'] == '1') || (($start_from + $post_count) > 1 && $pun_user['g_delete_posts'] == '1'))
                    $post_actions[] = '<li class="postdelete"><a href="delete.php?id='.$cur_post['id'].'" title="'.$lang_topic['Delete'].'"><img src="img/'.$pun_user['style'].'/buttons/btn_delete.png" alt="'.$lang_topic['Delete'].'" /></a>';
                if ($pun_user['g_edit_posts'] == '1')
                    $post_actions[] = '<li class="postedit"><a href="edit.php?id='.$cur_post['id'].'" title="'.$lang_topic['Edit'].'"><img src="img/'.$pun_user['style'].'/buttons/btn_edit.png" alt="'.$lang_topic['Edit'].'" /></a>';
            }

            if (($cur_topic['post_replies'] == '' && $pun_user['g_post_replies'] == '1') || $cur_topic['post_replies'] == '1')
                $post_actions[] = '<li class="postquote"><a href="post.php?tid='.$id.'&qid='.$cur_post['id'].'" title="'.$lang_topic['Quote'].'"><img src="img/'.$pun_user['style'].'/buttons/btn_quote.png" alt="'.$lang_topic['Quote'].'" /></a><a href="javascript:void(0)" onClick="document.getElementById(\'show_quick\').style.display = \'none\' ? \'block\' : \'none\'; insert_text(\'[quote='.pun_htmlspecialchars($cur_post['username']).']'.$db->escape(pun_htmlspecialchars($cur_post['message'])).'[/quote]
\n\n\',\'\');" rel="nofollow" title="'.$lang_topic['Multi quote'].'"><img src="img/'.$pun_user['style'].'/buttons/btn_quote_m.png" alt="'.$lang_topic['Multi quote'].'" /></a>';
        }
    }
    else
        $post_actions[] = '<li class=""><a href="forward.php?forward='.$pun_user['id'].'&pid='.$cur_post['id'].'"><img src="img/'.$pun_user['style'].'/buttons/btn_forward.png" title="'.$lang_topic['Forward'].'" alt="'.$lang_topic['Forward'].'" /></a></li> <li class="post"><a href="javascript:scrollTo(0,0);"><img src="img/'.$pun_user['style'].'/buttons/btn_icon_top.png" title="'.$lang_topic['Top'].'" alt="'.$lang_topic['Top'].'" /></a></li> <li class="postreport"><a href="misc.php?report='.$cur_post['id'].'" title="'.$lang_topic['Report'].'"><img src="img/'.$pun_user['style'].'/buttons/btn_icon_report.png" alt="'.$lang_topic['Report'].'" /></a></li> <li class="postdelete"><a href="delete.php?id='.$cur_post['id'].'" title="'.$lang_topic['Delete'].'"><img src="img/'.$pun_user['style'].'/buttons/btn_delete.png" alt="'.$lang_topic['Delete'].'" /></a></li> <li class="postedit"><a href="edit.php?id='.$cur_post['id'].'" title="'.$lang_topic['Edit'].'"><img src="img/'.$pun_user['style'].'/buttons/btn_edit.png" alt="'.$lang_topic['Edit'].'" /></a></li> <li class="postquote"><a href="post.php?tid='.$id.'&qid='.$cur_post['id'].'" title="'.$lang_topic['Quote'].'"><img src="img/'.$pun_user['style'].'/buttons/btn_quote.png" alt="'.$lang_topic['Quote'].'" /></a><a href="javascript:void(0)" onClick="document.getElementById(\'show_quick\').style.display = \'none\' ? \'block\' : \'none\'; insert_text(\'[quote='.pun_htmlspecialchars($cur_post['username']).']'.$db->escape(pun_htmlspecialchars($cur_post['message'])).'[/quote]
\n\n\',\'\');" rel="nofollow" title="'.$lang_topic['Multi quote'].'"><img src="img/'.$pun_user['style'].'/buttons/btn_quote_m.png" alt="'.$lang_topic['Multi quote'].'" /></a>';


    // Switch the background color for every message.
    $bg_switch = ($bg_switch) ? $bg_switch = false : $bg_switch = true;
    $vtbg = ($bg_switch) ? ' roweven' : ' rowodd';


    // Perform the main parsing of the message (BBCode, smilies, censor words etc)
    $cur_post['message'] = parse_message($cur_post['message'], $cur_post['hide_smilies']);

    // Do signature parsing/caching
    if ($cur_post['signature'] != '' && $pun_user['show_sig'] != '0')
    {
        if (isset($signature_cache[$cur_post['poster_id']]))
            $signature = $signature_cache[$cur_post['poster_id']];
        else
        {
            $signature = parse_signature($cur_post['signature']);
            $signature_cache[$cur_post['poster_id']] = $signature;
        }
    }
    if (($start_from + $post_count) == 1)
        $labels = (!empty($pun_config['o_topic_labels']))? $cur_topic['labels']: '';
    else
        $labels = '';
?>
<div id="p<?php echo $cur_post['id'] ?>" class="blockpost<?php echo $vtbg ?><?php if (($post_count + $start_from) == 1) echo ' firstpost'; ?>">
    <h2><span><span class="conr">#<?php echo $pun_user['reverse_posts']? ($num_posts+1-($start_from + $post_count)):($start_from + $post_count) ?> </span><a href="viewtopic.php?pid=<?php echo $cur_post['id'].'#p'.$cur_post['id'] ?>"><?php echo format_time($cur_post['posted']) ?></a></span></h2>
    <div class="box">
        <div class="inbox">
            <div class="postleft">
                <dl>
                    <dt><strong><?php echo $username ?></strong></dt>
                    <dd class="usertitle"><strong><?php echo $user_title ?></strong></dd>
                    <dd class="usertitle"><?php echo $rank_icons ?></dd>
                    <?php if ($user_avatar != '') echo "\t\t\t\t\t".'<dd class="postavatar">'.$user_avatar.'</dd>'."\n" ?>
                    <?php if ( $user_country != '') {
                    echo '<dd class="postavatar"><img src="./img/flags/'.$user_country.'.png" alt="'.$user_country.'" title="'.$user_country.'" /></dd>'; } ?>
                    <?php if (strlen($user_image_award)>0) echo $user_image_award;  ## Image Award Mod ?>
<?php if (count($user_info)) echo "\t\t\t\t\t".implode('</dd>'."\n\t\t\t\t\t", $user_info).'</dd>'."\n"; ?>
<?php require(PUN_ROOT.'include/reputation/rep_viewtopic.php'); ?>
<?php if (count($user_contacts)) echo "\t\t\t\t\t".'<dd class="usercontacts">'.implode('  ', $user_contacts).'</dd>'."\n"; ?>
                </dl>
            </div>
            <div class="postright">
                <h3><?php if (($post_count + $start_from) > 1) echo ' Re: '; ?><?php echo pun_htmlspecialchars($cur_topic['subject']) ?></h3>
                <div class="postmsg">
                    <?php if (!empty($labels)) echo '<div class="topiclabels">' . $lang_common['Labels'] . ': ['. show_labels($labels) . ']</div>'; ?>
                    <?php echo $cur_post['message']."\n" ?>
                    <?php show_post_images($cur_post['id']) ?>
<?php if ($cur_post['edited'] != '') echo "\t\t\t\t\t".'<p class="postedit"><em>'.$lang_topic['Last edit'].' '.pun_htmlspecialchars($cur_post['edited_by']).' ('.format_time($cur_post['edited']).')</em></p>'."\n"; ?>
                </div>
<?php if ($signature != '') echo "\t\t\t\t".'<div class="postsignature"><hr />'.$signature.'</div>'."\n"; ?>
            </div>
            <div class="clearer"></div>
            <div class="postfootleft"><?php if ($cur_post['poster_id'] > 1) echo '<br /><p>'.$is_online.'</p>'; ?></div>
            <div class="postfootright"><?php echo (count($post_actions)) ? '<ul>'.implode('</li> ', $post_actions).'</li></ul></div>'."\n" : ' <div> </div> </div>'."\n" ?>
        </div>
    </div>
</div>

<?php
    if ($post_count == '1' && $adsense_config['google_adsense_enabled'] == '1' && strpos($adsense_config['google_exclude_forums'], ','.$cur_topic['forum_id'].',') === FALSE && strpos($adsense_config['google_exclude_groups'], ','.$pun_user['g_id'].',') === FALSE)
    {
?>
<div class="blockpost<?php echo $vtbg ?>">
    <h2><span><?php echo format_time($cur_post['posted']) ?></span></h2>
    <div class="box">
        <div class="inbox">
            <div class="postleft">
                <dl>
                    <dt><strong><?php echo $adsense_config['google_bot_name'] ?></strong></dt>
                    <dd class="usertitle"><?php echo $adsense_config['google_bot_tag'] ?></dd>
                </dl>
            </div>
            <div class="postright">
                <div class="postmsg">
                    <?php echo "<br /><div style=\"TEXT-ALIGN: center\">
    <script type=\"text/javascript\">
    <!--
        google_ad_client = \"".$adsense_config['google_ad_client']."\";
        google_ad_width = ".$adsense_config['google_ad_width'].";
        google_ad_height = ".$adsense_config['google_ad_height'].";
        google_ad_format = \"".$adsense_config['google_ad_format']."\";
        google_ad_channel = \"".$adsense_config['google_ad_channel']."\";
        google_ad_type = \"".$adsense_config['google_ad_type']."\";
        google_color_border = \"".$adsense_config['google_color_border']."\";
        google_color_bg = \"".$adsense_config['google_color_bg']."\";
        google_color_link = \"".$adsense_config['google_color_link']."\";
        google_color_url = \"".$adsense_config['google_color_url']."\";
        google_color_text = \"".$adsense_config['google_color_text']."\";
        google_alternate_color = \"".$adsense_config['google_alternate_color']."\";
    //-->
    </script>
    <script type=\"text/javascript\" src=\"http://pagead2.googlesyndication.com/pagead/show_ads.js\"></script>
</div><br />\n" ?>
                </div>
            </div>
            <div class="clearer"></div>
        </div>
    </div>
</div>
<?php
    }
}

?>
<div class="postlinksb">
    <div class="inbox">
        <p class="postlink conr"><?php echo $post_link ?></p>
        <p class="pagelink conl"><?php echo $paging_links ?></p>
<?php

if($cur_topic['parent_forum'])
    echo "\t\t".'<ul><li><a href="index.php">'.$lang_common['Index'].'</a> </li><li>» <a href="viewforum.php?id='.$cur_topic['parent_forum_id'].'">'.pun_htmlspecialchars($cur_topic['parent_forum']).'</a> </li><li>» <a href="viewforum.php?id='.$cur_topic['forum_id'].'">'.pun_htmlspecialchars($cur_topic['forum_name']).'</a> </li><li>» '.pun_htmlspecialchars($cur_topic['subject']).'</li></ul>';
else
    echo "\t\t".'<ul><li><a href="index.php">'.$lang_common['Index'].'</a></li><li> » <a href="viewforum.php?id='.$cur_topic['forum_id'].'">'.pun_htmlspecialchars($cur_topic['forum_name']).'</a></li><li> » '.pun_htmlspecialchars($cur_topic['subject']).'</li></ul>';

?>
        <?php echo $subscraction ?>
    </div>
</div>

<?php

// Display quick post if enabled
if ($quickpost)
{

?>
    <script type="text/javascript">
    function AddSmiley(text) {
        var txtarea = document.post.req_message;
        text = ' ' + text + ' ';
        if (txtarea.createTextRange && txtarea.caretPos) {
            var caretPos = txtarea.caretPos;
            caretPos.text = caretPos.text.charAt(caretPos.text.length - 1) == ' ' ? caretPos.text + text + ' ' : caretPos.text + text;
            txtarea.focus();
        } else {
            txtarea.value  += text;
            txtarea.focus();
        }
    }
    </script>
<div id="show_quick" style="display: none; padding-top: 6px">
<div class="blockform">
    <h2><span><?php echo $lang_topic['Quick post'] ?></span></h2>
    <div class="box">
    <form name="post" method="post" action="post.php?tid=<?php echo $id ?>" onsubmit="this.submit.disabled=true;if(process_form(this)){return true;}else{this.submit.disabled=false;return false;}">
            <div class="inform">
                <fieldset>
                    <legend><?php echo $lang_common['Write message legend'] ?></legend>
                    <div class="infldset txtarea">
                        <input type="hidden" name="form_sent" value="1" />
                        <input type="hidden" name="form_user" value="<?php echo (!$pun_user['is_guest']) ? pun_htmlspecialchars($pun_user['username']) : 'Guest'; ?>" />
<?php require PUN_ROOT.'mod_easy_bbcode.php'; ?>
                        <label><textarea class="textbox" name="req_message" rows="7" cols="75" tabindex="1"></textarea></label>
                        <ul class="bblinks">
                            <li><a href="help.php#bbcode" onclick="window.open(this.href); return false;"><?php echo $lang_common['BBCode'] ?></a>: <?php echo ($pun_config['p_message_bbcode'] == '1') ? $lang_common['on'] : $lang_common['off']; ?></li>
                            <li><a href="help.php#img" onclick="window.open(this.href); return false;"><?php echo $lang_common['img tag'] ?></a>: <?php echo ($pun_config['p_message_img_tag'] == '1') ? $lang_common['on'] : $lang_common['off']; ?></li>
                            <li><a href="help.php#smilies" onclick="window.open(this.href); return false;"><?php echo $lang_common['Smilies'] ?></a>: <?php echo ($pun_config['o_smilies'] == '1') ? $lang_common['on'] : $lang_common['off']; ?></li>
                        </ul>
                    </div>
                </fieldset>
            </div>
 
            <p><input class="button" type="submit" name="submit" tabindex="2" value="<?php echo $lang_common['Submit'] ?>" accesskey="s" /><input class="button" type="submit" name="preview" value="Preview" tabindex="2" accesskey="p" /><a href="javascript:history.go(-1)"><?php echo $lang_common['Go back'] ?></a></p>
        </form>
    </div>
</div></div>
<?php

}

// Increment "num_views" for topic
$low_prio = ($db_type == 'mysql') ? 'LOW_PRIORITY ' : '';
$db->query('UPDATE '.$low_prio.$db->prefix.'topics SET num_views=num_views+1 WHERE id='.$id) or error('Unable to update topic', __FILE__, __LINE__, $db->error());

$forum_id = $cur_topic['forum_id'];
$footer_style = 'viewtopic';
require PUN_ROOT.'footer.php';

Re: Problem with links of topics

Could you provide a link to your site so I can see what the link is doing wrong?

Re: Problem with links of topics

http://shedrockonline.com

Just view any forum post. The links are at the bottom left of the post.

Re: Problem with links of topics

OK, I had to register to see it wink

       $subscraction = '<p class="subscribelink clearb"><img src="img/'.$pun_user['style'].'/misc/icon_arrow.gif" alt="·" title="·" /> <a href="misc.php?subscribe='.$id.'">'.$lang_topic['Subscribe'].'</a> <br /><img src="img/'.$pun_user['style'].'/misc/icon_arrow.gif" alt="·" title="·" /> <a href="viewprintable.php?id='.$id.'">'.$lang_common['Print version'].'</a><br /><img src="img/'.$pun_user['style'].'/misc/icon_arrow.gif" alt="·" title="·" /> <img src="../img/digg_icon.gif" alt="Digg!" title="Digg!" /> <a style="font-weight: normal;" href="http://digg.com/submit?phase=2&url='.$pun_config['o_base_url'].'/viewtopic.php?id='.$cur_topic['id'].'&title='.urlencode($cur_topic['subject']).'">Digg It</a> | <img src="../img/delicious_icon.gif" alt="del.icio.us" title="del.icio.us" /> <a style="font-weight: normal;" href="http://del.icio.us/post?url='.$pun_config['o_base_url'].'/viewtopic.php?id='.$cur_topic['id'].'&title='.urlencode($cur_topic['subject']).'">del.icio.us</a></p>'."\n";

Use that. It fixes the pid/id issue ($cur_topic['id'] is the topic ID, pid wants a post ID). That code would never have worked properly (although it might have worked simply because the post IDs happened to exist somewhere in the forum).

12 (edited by bingiman 2007-12-05 19:09)

Re: Problem with links of topics

Hi Smartys,

That still doesn't work. All you did was changed the pid to id. I've tried this before and it doesn't work. sad

This seems to be the only thing submitted: http://shedrockonline.com/viewtopic.php?id=2 on any post.

Re: Problem with links of topics

Smartys, when you think about it. This is the one I originally used from you, minus the use of pid.

http://punbb.org/forums/viewtopic.php?id=14748

Re: Problem with links of topics

Your query doesn't have t.id in it, so you're getting the forum ID. Replace $cur_topic['id'] in that code with $id.
As to the digg error, that looks to be a dig problem, not an issue with the link.

15 (edited by bingiman 2007-12-05 19:55)

Re: Problem with links of topics

So you mean use this:

'.$id.'

Re: Problem with links of topics

Find occurrences of $cur_topic['id'] in that little bit of code, replace them with $id. Yes.

17 (edited by bingiman 2007-12-05 19:56)

Re: Problem with links of topics

Also, why does his own work correctly then? Well, he removed the post but I tested it last night and his own submits the way it should. The only thing I saw different on his own was the use of #p

http://reviewstash.com/viewtopic.php?id=3

Re: Problem with links of topics

As I said, ask the Digg people wink

Re: Problem with links of topics

Oh, could the Bad-Behavior mod be blocking the Digg spider? wink

Re: Problem with links of topics

Hmm...Not sure but I dumped it. I will try it again.

Re: Problem with links of topics

Yep, you're absolutely right. It does work now without the BB Mod.