It's been a while since we've worked on it
501 2007-09-11 06:58
Re: Pun Demo - A place for checking 'live' mods/projects out... (BETA) (30 replies, posted in PunBB 1.2 discussion)
502 2007-09-09 12:53
Re: CSS (11 replies, posted in PunBB 1.2 troubleshooting)
Those lines look like they're part of the background
503 2007-09-08 11:54
Re: extern.php not w3c compliant (4 replies, posted in PunBB 1.2 troubleshooting)
No, I used the normal validator, which validates XML too.
If I validate it through the feed thing, it 'complains' about the end of the CDATA tag. Which is a bug in the damn thing.
504 2007-09-08 11:46
Re: extern.php not w3c compliant (4 replies, posted in PunBB 1.2 troubleshooting)
It looks more like a bug in the validator, anything inside CDATA shouldn't be parsed.
EDIT: I just ran it through the validator, it came out fine
Congratulations
The document located at <http://punbb.org/forums/extern.php?action=new&type=RSS&fid=48> was checked and found to be valid -//Netscape Communications//DTD RSS 0.91//EN. This means that the resource in question identified itself as "-//Netscape Communications//DTD RSS 0.91//EN" and that we successfully performed a formal validation using an SGML or XML Parser (depending on the markup language used).
505 2007-09-07 18:26
Re: Where is that piece of CSS Code ??? (2 replies, posted in PunBB 1.2 troubleshooting)
.postright border I believe.
506 2007-09-06 21:27
Re: my forum along with www.mypunbb.com (3 replies, posted in General discussion)
This is not a bug in PunBB, report it on the mypunbb support forums.
507 2007-09-05 19:44
Re: Double posts and online users (38 replies, posted in PunBB 1.2 bug reports)
My point was that the query was lacking the THEN and END IF; parts. I don't know how pgsql parses queries tho, so can't tell if that's the error.
508 2007-09-05 19:28
Re: Forum languages (5 replies, posted in PunBB 1.2 discussion)
So? You can use the language pack on your own forum, but on this one it's in english. It's all quite simple
509 2007-09-05 19:27
Re: Double posts and online users (38 replies, posted in PunBB 1.2 bug reports)
From the pgsql site:
37.7.2.2. IF-THEN-ELSE
IF boolean-expression THEN
statements
ELSE
statements
END IF;IF-THEN-ELSE statements add to IF-THEN by letting you specify an alternative set of statements that should be executed if the condition evaluates to false.
Examples:
IF parentid IS NULL OR parentid = ''
THEN
RETURN fullname;
ELSE
RETURN hp_true_filename(parentid) || '/' || fullname;
END IF;IF v_count > 0 THEN
INSERT INTO users_count (count) VALUES (v_count);
RETURN 't';
ELSE
RETURN 'f';
END IF;
510 2007-09-05 17:08
Re: Double posts and online users (38 replies, posted in PunBB 1.2 bug reports)
Try resetting your IP during a session.
511 2007-09-05 16:12
Re: Forum languages (5 replies, posted in PunBB 1.2 discussion)
Because this is an english support forum for english software?
512 2007-09-05 12:30
Re: Alternate 15x15 smilie (emoticon) set (17 replies, posted in PunBB 1.2 discussion)
Can you name even one modern graphical web browser that will not properly display a GIF file even if it has the extension PNG? If you can, I would consider that to be a very poorly designed browser.
That wouldn't be bad design, that would be following standards. Which browsers don't seem to want to do (but should do).
513 2007-09-05 12:28
Re: Problem in IE6 with forum (6 replies, posted in PunBB 1.2 troubleshooting)
Hrmm, seems to be a problem with the footer. Search the CSS, maybe you have it the wrong fixed width (or a for IE unreadable entry).
514 2007-09-04 17:30
Re: Users' Passwords (8 replies, posted in PunBB 1.2 troubleshooting)
I don't mean those, I mean the spam filters on for example Gmail or Hotmail
515 2007-09-04 16:22
Re: Users' Passwords (8 replies, posted in PunBB 1.2 troubleshooting)
Well, it might be a problem with your mail server or those users' spam filter is blocking the mails.
516 2007-09-01 19:02
Re: Alternate 15x15 smilie (emoticon) set (17 replies, posted in PunBB 1.2 discussion)
http://www.vbulletin.com/forum/misc.php?do=showsmilies
Seems I was right. Resizing them isn't that hard now is it
517 2007-09-01 17:58
Re: Alternate 15x15 smilie (emoticon) set (17 replies, posted in PunBB 1.2 discussion)
These look awfully familiar. Aren't these the vBulletin smilies?
518 2007-08-28 22:17
Re: PunBB 1.3 bug (3 replies, posted in PunBB 1.2 troubleshooting)
Well, 1.3 is not even in alpha, so they're not taking bug reports yet
519 2007-08-28 16:23
Re: Ripping data from the database w/o access to the DB (2 replies, posted in PunBB 1.2 discussion)
Just ask the administrator of pun.pl to give you the dump.
520 2007-08-27 18:40
Re: Question (1 replies, posted in PunBB 1.2 discussion)
If it's a phpBB 2 forum, then yes, there's a converter on the front page.
521 2007-08-26 20:37
Re: ? Easy Poll + - working English 1.2.15 viewtopic.php.txt link ??? (3 replies, posted in PunBB 1.2 troubleshooting)
This is my only successful install I have of it. It's heavily modified in other ways too, but don't mind that
<?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_ROOT', './');
require PUN_ROOT.'include/common.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';
// Load the topic rating language file
if(file_exists(PUN_ROOT.'lang/'.$pun_user['language'].'/topic_rating.php'))
require PUN_ROOT.'lang/'.$pun_user['language'].'/topic_rating.php';
else
require PUN_ROOT.'lang/English/topic_rating.php';
// Load poll language file
if(file_exists(PUN_ROOT.'lang/'.$pun_user['language'].'/polls.php'))
require PUN_ROOT.'lang/'.$pun_user['language'].'/polls.php';
else
require PUN_ROOT.'lang/English/polls.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') 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 t.subject, t.closed, t.num_replies, t.sticky, t.question, t.yes, t.no, t.rating, f.id AS forum_id, f.forum_name, f.moderators, f.min_posts, 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'].') 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 t.subject, t.closed, t.num_replies, t.sticky, t.question, t.yes, t.no, t.rating, f.id AS forum_id, f.forum_name, f.moderators, f.min_posts, 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'].') 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;
if(($pun_user['num_posts'] < $cur_topic['min_posts']) && $pun_user['g_id'] != PUN_ADMIN)
message($lang_common['No view']);
// 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="post.php?tid='.$id.'">'.$lang_topic['Post reply'].'</a>';
else
$post_link = ' ';
}
else
{
$post_link = $lang_topic['Topic closed'];
if ($is_admmod)
$post_link .= ' / <a href="post.php?tid='.$id.'">'.$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">'.$lang_topic['Is subscribed'].' - <a href="misc.php?unsubscribe='.$id.'">'.$lang_topic['Unsubscribe'].'</a></p>'."\n";
else
$subscraction = '<p class="subscribelink clearb"><a href="misc.php?subscribe='.$id.'">'.$lang_topic['Subscribe'].'</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>
<ul><li><a href="index.php"><?php echo $lang_common['Index'] ?></a></li><li> » <a href="viewforum.php?id=<?php echo $cur_topic['forum_id'] ?>"><?php echo pun_htmlspecialchars($cur_topic['forum_name']) ?></a></li><li> » <?php echo 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="post" 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 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 type="submit" name="submit" tabindex="2" value="' . $lang_common['Submit'] . '" accesskey="s" /> <input 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 u.email, u.title, u.url, u.location, u.use_avatar, u.signature, u.email_setting, u.num_posts, u.registered, u.admin_note, 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, 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) WHERE p.topic_id='.$id.' ORDER BY p.id 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 = '';
// If the poster is a registered user.
if ($cur_post['poster_id'] > 1)
{
$username = '<a href="profile.php?id='.$cur_post['poster_id'].'">'.pun_htmlspecialchars($cur_post['username']).'</a>';
$user_title = get_title($cur_post);
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['Online'].'</strong>' : $lang_topic['Offline'];
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 = '<img src="'.$pun_config['o_avatars_dir'].'/'.$cur_post['poster_id'].'.gif" '.$img_size[3].' alt="" />';
else if ($img_size = @getimagesize($pun_config['o_avatars_dir'].'/'.$cur_post['poster_id'].'.jpg'))
$user_avatar = '<img src="'.$pun_config['o_avatars_dir'].'/'.$cur_post['poster_id'].'.jpg" '.$img_size[3].' alt="" />';
else if ($img_size = @getimagesize($pun_config['o_avatars_dir'].'/'.$cur_post['poster_id'].'.png'))
$user_avatar = '<img src="'.$pun_config['o_avatars_dir'].'/'.$cur_post['poster_id'].'.png" '.$img_size[3].' alt="" />';
}
else
$user_avatar = '';
// 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'];
// Now let's deal with the contact links (E-mail and URL)
if (($cur_post['email_setting'] == '0' && !$pun_user['is_guest']) || $pun_user['g_id'] < PUN_GUEST)
$user_contacts[] = '<a href="mailto:'.$cur_post['email'].'">'.$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'].'">'.$lang_common['E-mail'].'</a>';
require(PUN_ROOT.'include/pms/viewtopic_PM-link.php');
if ($cur_post['url'] != '')
$user_contacts[] = '<a href="'.pun_htmlspecialchars($cur_post['url']).'">'.$lang_topic['Website'].'</a>';
}
if ($pun_user['g_id'] < PUN_GUEST)
{
$user_info[] = '<dd>IP: <a href="moderate.php?get_host='.$cur_post['id'].'">'.$cur_post['poster_ip'].'</a>';
if ($cur_post['admin_note'] != '')
$user_info[] = '<dd>'.$lang_topic['Note'].': <strong>'.pun_htmlspecialchars($cur_post['admin_note']).'</strong>';
}
}
// If the poster is a guest (or a user that has been deleted)
else
{
$username = pun_htmlspecialchars($cur_post['username']);
$user_title = get_title($cur_post);
if ($pun_user['g_id'] < PUN_GUEST)
$user_info[] = '<dd>IP: <a href="moderate.php?get_host='.$cur_post['id'].'">'.$cur_post['poster_ip'].'</a>';
if ($pun_config['o_show_user_info'] == '1' && $cur_post['poster_email'] != '' && !$pun_user['is_guest'])
$user_contacts[] = '<a href="mailto:'.$cur_post['poster_email'].'">'.$lang_common['E-mail'].'</a>';
}
// Generation post action array (quote, edit, delete etc.)
if (!$is_admmod)
{
if (!$pun_user['is_guest'])
$post_actions[] = '<li class="postreport"><a href="misc.php?report='.$cur_post['id'].'">'.$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'].'">'.$lang_topic['Delete'].'</a>';
if ($pun_user['g_edit_posts'] == '1')
$post_actions[] = '<li class="postedit"><a href="edit.php?id='.$cur_post['id'].'">'.$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'].'">'.$lang_topic['Quote'].'</a>';
}
}
else
$post_actions[] = '<li class="postreport"><a href="misc.php?report='.$cur_post['id'].'">'.$lang_topic['Report'].'</a>'.$lang_topic['Link separator'].'</li><li class="postdelete"><a href="delete.php?id='.$cur_post['id'].'">'.$lang_topic['Delete'].'</a>'.$lang_topic['Link separator'].'</li><li class="postedit"><a href="edit.php?id='.$cur_post['id'].'">'.$lang_topic['Edit'].'</a>'.$lang_topic['Link separator'].'</li><li class="postquote"><a href="post.php?tid='.$id.'&qid='.$cur_post['id'].'">'.$lang_topic['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;
}
}
?>
<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 ($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="postavatar"><?php echo $user_avatar ?></dd>
<?php if (count($user_info)) echo "\t\t\t\t\t".implode('</dd>'."\n\t\t\t\t\t", $user_info).'</dd>'."\n"; ?>
<?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 echo $cur_post['message']."\n" ?>
<?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 '<p>'.$is_online.'</p>'; ?></div>
<div class="postfootright"><?php echo (count($post_actions)) ? '<ul>'.implode($lang_topic['Link separator'].'</li>', $post_actions).'</li></ul></div>'."\n" : '<div> </div></div>'."\n" ?>
</div>
</div>
</div>
<?php
if ($post_count == '1' && $forum_config['ads'] == 1)
{
?>
<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>Adsense</strong></dt>
<dd class="usertitle">Bot</dd>
</dl>
</div>
<div class="postright">
<div class="postmsg">
<div style="text-align: center">
<script type="text/javascript"><!--
google_ad_client = "pub-9153750230791525";
google_ad_width = 728;
google_ad_height = 90;
google_ad_format = "728x90_as";
google_ad_type = "text";
google_ad_channel = "";
google_color_border = "336699";
google_color_bg = "FFFFFF";
google_color_link = "0000FF";
google_color_text = "000000";
google_color_url = "008000";
//--></script>
<script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
</div>
</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>
<ul><li><a href="index.php"><?php echo $lang_common['Index'] ?></a></li><li> » <a href="viewforum.php?id=<?php echo $cur_topic['forum_id'] ?>"><?php echo pun_htmlspecialchars($cur_topic['forum_name']) ?></a></li><li> » <?php echo pun_htmlspecialchars($cur_topic['subject']) ?></li></ul>
<?php echo $subscraction ?>
</div>
</div>
<?php
// Display quick post if enabled
if ($quickpost)
{
?>
<div class="blockform">
<h2><span><?php echo $lang_topic['Quick post'] ?></span></h2>
<div class="box">
<form 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'; ?>" />
<label><textarea 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 type="submit" name="submit" tabindex="2" value="<?php echo $lang_common['Submit'] ?>" accesskey="s" /></p>
</form>
</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';
522 2007-08-24 17:20
Re: what's the fastest data storing/access to small amounts of data? (1 replies, posted in Programming)
Just do it like PunBB. Use var_dump() to output it to a file.
523 2007-08-24 11:26
Re: Allow users to put widgets on profile pages (19 replies, posted in PunBB 1.2 modifications, plugins and integrations)
The best way I see is to have a predefined list of 'widgets' that users can select to add.
But it's overall a silly idea. If you need stuff like this, get a blog, not a forum profile.
524 2007-08-23 17:30
Re: div class="postfootleft" should follow div class="postleft" (4 replies, posted in Feature requests)
Correct me if I'm wrong, but I think issues like this are fixed in 1.3.
525 2007-08-16 21:40
Re: Quick post (2 replies, posted in PunBB 1.2 troubleshooting)
Check your CSS?