tomlelab wrote:Thank you
ps: I have once played tennis in croydon
Well you dont want to be here now, Weather is crap.
Well as far as I remember, it was already playing that day
You are not logged in. Please login or register.
PunBB Forums → Posts by tomlelab
tomlelab wrote:Thank you
ps: I have once played tennis in croydon
Well you dont want to be here now, Weather is crap.
Well as far as I remember, it was already playing that day
Thank you
ps: I have once played tennis in croydon
no ?
Is there already an extension or add on for punbb which allows you to have:
-> The orginal post
Below: the list of answers, not expanded and the possibility to expand all replies.
I think, you need to modify in admin->settings>attachment options, the display small images values:
it will only show the images that are smaller than the values you set.
Hello
Is there a tool to migrate the database from my old punbb 1.2.8 to 1.3 ?
Or advices ?
Or good luck ?
Thanks
Hi
I tried it but I was surprised and upset: it actually is an attachment function (!): I thought it would automatically show the uploaded file (if it is an image) in the post.
Is there an option to do this or another extension ?
Oops, ok I have found the option to do that in the admin panel, need to modify the size of "display small images".
Good and ouf!:D
Hi
I tried it but I was surprised and upset: it actually is an attachment function (!): I thought it would automatically show the uploaded file (if it is an image) in the post.
Is there an option to do this or another extension ?
yeah , come on let us know we can't stand it anymore
Hello
I had punbb 1.2.8 installed and had integrated it with my website :
- get last topics
- setcookie method to automate login
Is this different with 1.3 ?
Hello
I'm a bit lost
is the attachment extension ready for pun 1.3 ?
if not are there previous / other mods that will do the job ?
Thanks
Hi
I have PunBB 1.2.8, will try to find where I got the script, I think it was called addsmiley
no one has a clue ? or how to debug ?
Hi everyone
I installed some times ago the addsmiley script which automatically insert smilies in the the textbox when you click on a smiley.
Now the script doesn't work anymore.
When clicking on simley iconand, IE gives this error: createTextrange is NULL or is not an object
Firefox says: txtarea is undefined.
I may have made some modification in the post.php file since but I can't figure out what makes it not work.
If somebody could help^, that would be great.
below is my post.php code
<?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
************************************************************************/
$norefresh=1;
define('PUN_ROOT', './');
require PUN_ROOT.'include/common.php';
if ($pun_user['g_read_board'] == '0')
message($lang_common['No view']);
$ptype = isset($_POST['ptype']) ? intval($_POST['ptype']) : 0;
$tid = isset($_GET['tid']) ? intval($_GET['tid']) : 0;
$fid = isset($_GET['fid']) ? intval($_GET['fid']) : 0;
if ($tid < 1 && $fid < 1 || $tid > 0 && $fid > 0)
message($lang_common['Bad request']);
// Fetch some info about the topic and/or the forum
if ($tid)
$result = $db->query('SELECT f.id, f.forum_name, f.moderators, f.redirect_url, fp.post_replies, fp.post_topics, fp.post_polls, t.subject, t.closed, t.question 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='.$tid) or error('Impossible de retrouver les informations forum', __FILE__, __LINE__, $db->error());
else
$result = $db->query('SELECT f.id, f.forum_name, f.moderators, f.redirect_url, fp.post_replies, fp.post_topics, fp.post_polls FROM '.$db->prefix.'forums AS f 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 f.id='.$fid) or error('Impossible de retrouver les informations forum', __FILE__, __LINE__, $db->error());
if (!$db->num_rows($result))
message($lang_common['Bad request']);
$cur_posting = $db->fetch_assoc($result);
// Is someone trying to post into a redirect forum?
if ($cur_posting['redirect_url'] != '')
message($lang_common['Bad request']);
// Sort out who the moderators are and if we are currently a moderator (or an admin)
$mods_array = ($cur_posting['moderators'] != '') ? unserialize($cur_posting['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;
// Do we have permission to post?
if ((($tid && (($cur_posting['post_replies'] == '' && $pun_user['g_post_replies'] == '0') || $cur_posting['post_replies'] == '0')) ||
($fid && ((!isset($_GET['type']) && $ptype == '0')) && (($cur_posting['post_topics'] == '' && $pun_user['g_post_topics'] == '0') || $cur_posting['post_topics'] == '0')) ||
($fid && (isset($_GET['type']) || $ptype != '0') && (($cur_posting['post_polls'] == '' && $pun_user['g_post_polls'] == '0') || $cur_posting['post_polls'] == '0')) ||
(isset($cur_posting['closed']) && $cur_posting['closed'] == '1')) &&
!$is_admmod)
message($lang_common['No permission']);
// Load the post.php language file
require PUN_ROOT.'lang/'.$pun_user['language'].'/post.php';
require PUN_ROOT . 'lang/' . $pun_user['language'] . '/polls.php';
// Start with a clean slate
$errors = array();
// Did someone just hit "Submit" or "Preview"?
if (isset($_POST['form_sent']))
{
// Make sure form_user is correct
if (($pun_user['is_guest'] && $_POST['form_user'] != 'Guest') || (!$pun_user['is_guest'] && $_POST['form_user'] != $pun_user['username']))
message($lang_common['Bad request']);
// Flood protection
if (!$pun_user['is_guest'] && !isset($_POST['preview']) && $pun_user['last_post'] != '' && (time() - $pun_user['last_post']) < $pun_user['g_post_flood'])
$errors[] = $lang_post['Flood start'].' '.$pun_user['g_post_flood'].' '.$lang_post['flood end'];
// If it's a new topic
if ($fid)
{
$subject = pun_trim($_POST['req_subject']);
if ($subject == '')
$errors[] = $lang_post['No subject'];
else if (pun_strlen($subject) > 70)
$errors[] = $lang_post['Too long subject'];
else if ($pun_config['p_subject_all_caps'] == '0' && strtoupper($subject) == $subject && $pun_user['g_id'] > PUN_MOD)
$subject = ucwords(strtolower($subject));
// Mod poll begin
if(isset($ptype) && $ptype != '0')
{
// Get the question
$question = pun_trim($_POST['req_question']);
if ($question == '')
$errors[] = $lang_polls['No question'];
else if (pun_strlen($question) > 70)
$errors[] = $lang_polls['Too long question'];
else if ($pun_config['p_subject_all_caps'] == '0' && strtoupper($question) == $question && ($pun_user['g_id'] > PUN_MOD && !$pun_user['g_global_moderation']))
$question = ucwords(strtolower($question));
// If its a multislect yes/no poll then we need to make sure they have the right values
if ($ptype == 3)
{
$yesval = pun_trim($_POST['poll_yes']);
if ($yesval == '')
$errors[] = $lang_polls['No yes'];
else if (pun_strlen($yesval) > 35)
$errors[] = $lang_polls['Too long yes'];
else if ($pun_config['p_subject_all_caps'] == '0' && strtoupper($yesval) == $yesval && ($pun_user['g_id'] > PUN_MOD && !$pun_user['g_global_moderation']))
$yesval = ucwords(strtolower($yesval));
$noval = pun_trim($_POST['poll_no']);
if ($noval == '')
$errors[] = $lang_polls['No no'];
else if (pun_strlen($noval) > 35)
$errors[] = $lang_polls['Too long no'];
else if ($pun_config['p_subject_all_caps'] == '0' && strtoupper($noval) == $noval && ($pun_user['g_id'] > PUN_MOD && !$pun_user['g_global_moderation']))
$noval = ucwords(strtolower($noval));
}
// This isn't exactly a good way todo it, but it works. I may rethink this code later
$option = array();
$lastoption = "null";
while (list($key, $value) = each($_POST['poll_option']))
{
$value = pun_trim($value);
if ($value != "")
{
if ($lastoption == '')
$errors[] = $lang_polls['Empty option'];
else
{
$option[$key] = pun_trim($value);
if (pun_strlen($option[$key]) > 55)
$errors[] = $lang_polls['Too long option'];
else if ($key > $pun_config['poll_max_fields'])
message($lang_common['Bad request']);
else if ($pun_config['p_subject_all_caps'] == '0' && strtoupper($option[$key]) == $option[$key] && ($pun_user['g_id'] > PUN_MOD && !$pun_user['g_global_moderation']))
$option[$key] = ucwords(strtolower($option[$key]));
}
}
$lastoption = pun_trim($value);
}
// People are naughty
if (empty($option))
$errors[] = $lang_polls['No options'];
if (!array_key_exists(2,$option))
$errors[] = $lang_polls['Low options'];
}
// Mod poll end
}
// If the user is logged in we get the username and e-mail from $pun_user
if (!$pun_user['is_guest'])
{
$username = $pun_user['username'];
$email = $pun_user['email'];
}
// Otherwise it should be in $_POST
else
{
$username = trim($_POST['req_username']);
$email = strtolower(trim(($pun_config['p_force_guest_email'] == '1') ? $_POST['req_email'] : $_POST['email']));
// Load the register.php/profile.php language files
require PUN_ROOT.'lang/'.$pun_user['language'].'/prof_reg.php';
require PUN_ROOT.'lang/'.$pun_user['language'].'/register.php';
// It's a guest, so we have to validate the username
if (strlen($username) < 2)
$errors[] = $lang_prof_reg['Username too short'];
else if (!strcasecmp($username, 'Guest') || !strcasecmp($username, $lang_common['Guest']))
$errors[] = $lang_prof_reg['Username guest'];
else if (preg_match('/[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}/', $username))
$errors[] = $lang_prof_reg['Username IP'];
if ((strpos($username, '[') !== false || strpos($username, ']') !== false) && strpos($username, '\'') !== false && strpos($username, '"') !== false)
$errors[] = $lang_prof_reg['Username reserved chars'];
if (preg_match('#\[b\]|\[/b\]|\[u\]|\[/u\]|\[i\]|\[/i\]|\[color|\[/color\]|\[quote\]|\[quote=|\[/quote\]|\[code\]|\[/code\]|\[img\]|\[/img\]|\[url|\[/url\]|\[email|\[/email\]#i', $username))
$errors[] = $lang_prof_reg['Username BBCode'];
// Check username for any censored words
$temp = censor_words($username);
if ($temp != $username)
$errors[] = $lang_register['Username censor'];
// Check that the username (or a too similar username) is not already registered
$result = $db->query('SELECT username FROM '.$db->prefix.'users WHERE username=\''.$db->escape($username).'\' OR username=\''.$db->escape(preg_replace('/[^\w]/', '', $username)).'\'') or error('Unable to fetch user info', __FILE__, __LINE__, $db->error());
if ($db->num_rows($result))
{
$busy = $db->result($result);
$errors[] = $lang_register['Username dupe 1'].' '.pun_htmlspecialchars($busy).'. '.$lang_register['Username dupe 2'];
}
if ($pun_config['p_force_guest_email'] == '1' || $email != '')
{
require PUN_ROOT.'include/email.php';
if (!is_valid_email($email))
$errors[] = $lang_common['Invalid e-mail'];
}
}
// Clean up message from POST
$message = pun_linebreaks(pun_trim($_POST['req_message']));
if ($message == '')
$errors[] = $lang_post['No message'];
else if (strlen($message) > 65535)
$errors[] = $lang_post['Too long message'];
else if ($pun_config['p_message_all_caps'] == '0' && strtoupper($message) == $message && $pun_user['g_id'] > PUN_MOD)
$message = ucwords(strtolower($message));
// Validate BBCode syntax
if ($pun_config['p_message_bbcode'] == '1' && strpos($message, '[') !== false && strpos($message, ']') !== false)
{
require PUN_ROOT.'include/parser.php';
$message = preparse_bbcode($message, $errors);
}
require PUN_ROOT.'include/search_idx.php';
$hide_smilies = isset($_POST['hide_smilies']) ? 1 : 0;
$subscribe = isset($_POST['subscribe']) ? 1 : 0;
$now = time();
// Did everything go according to plan?
if (empty($errors) && !isset($_POST['preview']))
{
// If it's a reply
if ($tid)
{
if (!$pun_user['is_guest'])
{
// Insert the new post
$db->query('INSERT INTO '.$db->prefix.'posts (poster, poster_id, poster_ip, message, hide_smilies, posted, topic_id) VALUES(\''.$db->escape($username).'\', '.$pun_user['id'].', \''.get_remote_address().'\', \''.$db->escape($message).'\', \''.$hide_smilies.'\', '.$now.', '.$tid.')') or error('Unable to create post', __FILE__, __LINE__, $db->error());
$new_pid = $db->insert_id();
// To subscribe or not to subscribe, that ...
if ($pun_config['o_subscriptions'] == '1' && $subscribe)
{
$result = $db->query('SELECT 1 FROM '.$db->prefix.'subscriptions WHERE user_id='.$pun_user['id'].' AND topic_id='.$tid) or error('Unable to fetch subscription info', __FILE__, __LINE__, $db->error());
if (!$db->num_rows($result))
$db->query('INSERT INTO '.$db->prefix.'subscriptions (user_id, topic_id) VALUES('.$pun_user['id'].' ,'.$tid.')') or error('Unable to add subscription', __FILE__, __LINE__, $db->error());
}
}
else
{
// It's a guest. Insert the new post
$email_sql = ($pun_config['p_force_guest_email'] == '1' || $email != '') ? '\''.$email.'\'' : 'NULL';
$db->query('INSERT INTO '.$db->prefix.'posts (poster, poster_ip, poster_email, message, hide_smilies, posted, topic_id) VALUES(\''.$db->escape($username).'\', \''.get_remote_address().'\', '.$email_sql.', \''.$db->escape($message).'\', \''.$hide_smilies.'\', '.$now.', '.$tid.')') or error('Unable to create post', __FILE__, __LINE__, $db->error());
$new_pid = $db->insert_id();
}
// Count number of replies in the topic
$result = $db->query('SELECT COUNT(id) FROM '.$db->prefix.'posts WHERE topic_id='.$tid) or error('Unable to fetch post count for topic', __FILE__, __LINE__, $db->error());
$num_replies = $db->result($result, 0) - 1;
// Update topic
$db->query('UPDATE '.$db->prefix.'topics SET num_replies='.$num_replies.', last_post='.$now.', last_post_id='.$new_pid.', last_poster=\''.$db->escape($username).'\' WHERE id='.$tid) or error('Unable to update topic', __FILE__, __LINE__, $db->error());
update_search_index('post', $new_pid, $message);
update_forum($cur_posting['id']);
// Should we send out notifications?
if ($pun_config['o_subscriptions'] == '1')
{
// Get the post time for the previous post in this topic
$result = $db->query('SELECT posted FROM '.$db->prefix.'posts WHERE topic_id='.$tid.' ORDER BY id DESC LIMIT 1, 1') or error('Unable to fetch post info', __FILE__, __LINE__, $db->error());
$previous_post_time = $db->result($result);
// Get any subscribed users that should be notified (banned users are excluded)
$result = $db->query('SELECT u.id, u.email, u.notify_with_post, u.language FROM '.$db->prefix.'users AS u INNER JOIN '.$db->prefix.'subscriptions AS s ON u.id=s.user_id LEFT JOIN '.$db->prefix.'forum_perms AS fp ON (fp.forum_id='.$cur_posting['id'].' AND fp.group_id=u.group_id) LEFT JOIN '.$db->prefix.'online AS o ON u.id=o.user_id LEFT JOIN '.$db->prefix.'bans AS b ON u.username=b.username WHERE b.username IS NULL AND COALESCE(o.logged, u.last_visit)>'.$previous_post_time.' AND (fp.read_forum IS NULL OR fp.read_forum=1) AND s.topic_id='.$tid.' AND u.id!='.intval($pun_user['id'])) or error('Unable to fetch subscription info', __FILE__, __LINE__, $db->error());
if ($db->num_rows($result))
{
require_once PUN_ROOT.'include/email.php';
$notification_emails = array();
// Loop through subscribed users and send e-mails
while ($cur_subscriber = $db->fetch_assoc($result))
{
// Is the subscription e-mail for $cur_subscriber['language'] cached or not?
if (!isset($notification_emails[$cur_subscriber['language']]))
{
if (file_exists(PUN_ROOT.'lang/'.$cur_subscriber['language'].'/mail_templates/new_reply.tpl'))
{
// Load the "new reply" template
$mail_tpl = trim(file_get_contents(PUN_ROOT.'lang/'.$cur_subscriber['language'].'/mail_templates/new_reply.tpl'));
// Load the "new reply full" template (with post included)
$mail_tpl_full = trim(file_get_contents(PUN_ROOT.'lang/'.$cur_subscriber['language'].'/mail_templates/new_reply_full.tpl'));
// The first row contains the subject (it also starts with "Subject:")
$first_crlf = strpos($mail_tpl, "\n");
$mail_subject = trim(substr($mail_tpl, 8, $first_crlf-8));
$mail_message = trim(substr($mail_tpl, $first_crlf));
$first_crlf = strpos($mail_tpl_full, "\n");
$mail_subject_full = trim(substr($mail_tpl_full, 8, $first_crlf-8));
$mail_message_full = trim(substr($mail_tpl_full, $first_crlf));
$mail_subject = str_replace('<topic_subject>', '\''.$cur_posting['subject'].'\'', $mail_subject);
$mail_message = str_replace('<topic_subject>', '\''.$cur_posting['subject'].'\'', $mail_message);
$mail_message = str_replace('<replier>', $username, $mail_message);
$mail_message = str_replace('<post_url>', $pun_config['o_base_url'].'/viewtopic.php?pid='.$new_pid.'#p'.$new_pid, $mail_message);
$mail_message = str_replace('<unsubscribe_url>', $pun_config['o_base_url'].'/misc.php?unsubscribe='.$tid, $mail_message);
$mail_message = str_replace('<board_mailer>', $pun_config['o_board_title'].' '.$lang_common['Mailer'], $mail_message);
$mail_subject_full = str_replace('<topic_subject>', '\''.$cur_posting['subject'].'\'', $mail_subject_full);
$mail_message_full = str_replace('<topic_subject>', '\''.$cur_posting['subject'].'\'', $mail_message_full);
$mail_message_full = str_replace('<replier>', $username, $mail_message_full);
$mail_message_full = str_replace('<message>', $message, $mail_message_full);
$mail_message_full = str_replace('<post_url>', $pun_config['o_base_url'].'/viewtopic.php?pid='.$new_pid.'#p'.$new_pid, $mail_message_full);
$mail_message_full = str_replace('<unsubscribe_url>', $pun_config['o_base_url'].'/misc.php?unsubscribe='.$tid, $mail_message_full);
$mail_message_full = str_replace('<board_mailer>', $pun_config['o_board_title'].' '.$lang_common['Mailer'], $mail_message_full);
$notification_emails[$cur_subscriber['language']][0] = $mail_subject;
$notification_emails[$cur_subscriber['language']][1] = $mail_message;
$notification_emails[$cur_subscriber['language']][2] = $mail_subject_full;
$notification_emails[$cur_subscriber['language']][3] = $mail_message_full;
$mail_subject = $mail_message = $mail_subject_full = $mail_message_full = null;
}
}
// We have to double check here because the templates could be missing
if (isset($notification_emails[$cur_subscriber['language']]))
{
if ($cur_subscriber['notify_with_post'] == '0')
pun_mail($cur_subscriber['email'], $notification_emails[$cur_subscriber['language']][0], $notification_emails[$cur_subscriber['language']][1]);
else
pun_mail($cur_subscriber['email'], $notification_emails[$cur_subscriber['language']][2], $notification_emails[$cur_subscriber['language']][3]);
}
}
}
}
}
// If it's a new topic
else if ($fid)
{
if(isset($ptype)) // Si c'est un sondage
{
if ($ptype == 3)
$db->query('INSERT INTO ' . $db->prefix . 'topics (poster, subject, posted, last_post, last_poster, forum_id, question, yes, no) VALUES(\'' . $db->escape($username) . '\', \'' . $db->escape($subject) . '\', ' . $now . ', ' . $now . ', \'' . $db->escape($username) . '\', ' . $fid . ', \'' . $db->escape($question) . '\', \'' . $db->escape($yesval) . '\', \'' . $db->escape($noval) . '\')') or error('Unable to create topic', __FILE__, __LINE__, $db->error());
else
$db->query('INSERT INTO ' . $db->prefix . 'topics (poster, subject, posted, last_post, last_poster, forum_id, question) VALUES(\'' . $db->escape($username) . '\', \'' . $db->escape($subject) . '\', ' . $now . ', ' . $now . ', \'' . $db->escape($username) . '\', ' . $fid . ', \'' . $db->escape($question) . '\')') or error('Unable to create topic', __FILE__, __LINE__, $db->error());
$new_tid = $db->insert_id();
if ($ptype != 0)
$db->query('INSERT INTO ' . $db->prefix . 'polls (pollid, options, ptype) VALUES(' . $new_tid . ', \'' . $db->escape(serialize($option)) . '\', ' . $ptype . ')') or error('Unable to create poll', __FILE__, __LINE__, $db->error());
}
else
{
// Create the topic
$db->query('INSERT INTO '.$db->prefix.'topics (poster, subject, posted, last_post, last_poster, forum_id) VALUES(\''.$db->escape($username).'\', \''.$db->escape($subject).'\', '.$now.', '.$now.', \''.$db->escape($username).'\', '.$fid.')') or error('Unable to create topic', __FILE__, __LINE__, $db->error());
$new_tid = $db->insert_id();
}
if (!$pun_user['is_guest'])
{
// To subscribe or not to subscribe, that ...
if ($pun_config['o_subscriptions'] == '1' && (isset($_POST['subscribe']) && $_POST['subscribe'] == '1'))
$db->query('INSERT INTO '.$db->prefix.'subscriptions (user_id, topic_id) VALUES('.$pun_user['id'].' ,'.$new_tid.')') or error('Unable to add subscription', __FILE__, __LINE__, $db->error());
// Create the post ("topic post")
// thomas mot clé
$db->query('INSERT INTO '.$db->prefix.'posts (poster, poster_id, poster_ip, message, hide_smilies, posted, topic_id, mc) VALUES(\''.$db->escape($username).'\', '.$pun_user['id'].', \''.get_remote_address().'\', \''.$db->escape($message).'\', \''.$hide_smilies.'\', '.$now.', '.$new_tid.', \''.$val_code.'\')') or error('INSERT INTO '.$db->prefix.'posts (poster, poster_id, poster_ip, message, hide_smilies, posted, topic_id,mc) VALUES(\''.$db->escape($username).'\', '.$pun_user['id'].', \''.get_remote_address().'\', \''.$db->escape($message).'\', \''.$hide_smilies.'\', '.$now.', '.$new_tid.', \''.$val_code.'\')', __FILE__, __LINE__, $db->error());
}
else
{
// Create the post ("topic post")
$email_sql = ($pun_config['p_force_guest_email'] == '1' || $email != '') ? '\''.$email.'\'' : 'NULL';
$db->query('INSERT INTO '.$db->prefix.'posts (poster, poster_ip, poster_email, message, hide_smilies, posted, topic_id) VALUES(\''.$db->escape($username).'\', \''.get_remote_address().'\', '.$email_sql.', \''.$db->escape($message).'\', \''.$hide_smilies.'\', '.$now.', '.$new_tid.')') or error('Unable to create post', __FILE__, __LINE__, $db->error());
}
$new_pid = $db->insert_id();
// Update the topic with last_post_id
$db->query('UPDATE '.$db->prefix.'topics SET last_post_id='.$new_pid.' WHERE id='.$new_tid) or error('Unable to update topic', __FILE__, __LINE__, $db->error());
update_search_index('post', $new_pid, $message, $subject);
update_forum($fid);
}
// If the posting user is logged in, increment his/her post count
if (!$pun_user['is_guest'])
{
$low_prio = ($db_type == 'mysql') ? 'LOW_PRIORITY ' : '';
$db->query('UPDATE '.$low_prio.$db->prefix.'users SET num_posts=num_posts+1, last_post='.$now.' WHERE id='.$pun_user['id']) or error('Unable to update user', __FILE__, __LINE__, $db->error());
}
redirect('viewtopic.php?pid='.$new_pid.'#p'.$new_pid, $lang_post['Post redirect']);
}
}
// If a topic id was specified in the url (it's a reply).
if ($tid)
{
$action = $lang_post['Post a reply'];
$form = '<form id="post" method="post" name="post" action="post.php?action=post&tid='.$tid.'" onsubmit="this.submit.disabled=true;if(process_form(this)){return true;}else{this.submit.disabled=false;return false;}">';
// If a quote-id was specified in the url.
if (isset($_GET['qid']))
{
$qid = intval($_GET['qid']);
if ($qid < 1)
message($lang_common['Bad request']);
$result = $db->query('SELECT poster, message FROM '.$db->prefix.'posts WHERE id='.$qid) or error('Unable to fetch quote info', __FILE__, __LINE__, $db->error());
if (!$db->num_rows($result))
message($lang_common['Bad request']);
list($q_poster, $q_message) = $db->fetch_row($result);
$q_message = str_replace('[img]', '[url]', $q_message);
$q_message = str_replace('[/img]', '[/url]', $q_message);
$q_message = pun_htmlspecialchars($q_message);
if ($pun_config['p_message_bbcode'] == '1')
{
// If username contains a square bracket, we add "" or '' around it (so we know when it starts and ends)
if (strpos($q_poster, '[') !== false || strpos($q_poster, ']') !== false)
{
if (strpos($q_poster, '\'') !== false)
$q_poster = '"'.$q_poster.'"';
else
$q_poster = '\''.$q_poster.'\'';
}
else
{
// Get the characters at the start and end of $q_poster
$ends = substr($q_poster, 0, 1).substr($q_poster, -1, 1);
// Deal with quoting "Username" or 'Username' (becomes '"Username"' or "'Username'")
if ($ends == '\'\'')
$q_poster = '"'.$q_poster.'"';
else if ($ends == '""')
$q_poster = '\''.$q_poster.'\'';
}
$quote = '[quote='.$q_poster.']'.$q_message.'[/quote]'."\n";
}
else
$quote = '> '.$q_poster.' '.$lang_common['wrote'].':'."\n\n".'> '.$q_message."\n";
}
$forum_name = '<a href="viewforum.php?id='.$cur_posting['id'].'">'.pun_htmlspecialchars($cur_posting['forum_name']).'</a>';
}
// If a forum_id was specified in the url (new topic).
else if ($fid)
{
$action = $lang_post['Post new topic'];
$form = '<form id="post" method="post" name="post" action="post.php?action=post&fid='.$fid.'" onsubmit="return process_form(this)">';
$forum_name = pun_htmlspecialchars($cur_posting['forum_name']);
}
else
message($lang_common['Bad request']);
?>
<script type="text/javascript">
function AddSmiley(text) {
var txtarea = document.post.msg;
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>
<?php
// Mod poll begin
if((isset($_GET['type']) && $ptype == '0') || ($ptype == 1 || $ptype == 2 || $ptype == 3)) // Si c'est un sondage
{
$page_title = pun_htmlspecialchars($pun_config['o_board_title']) . ' / ' . $action;
$cur_index = 1;
if ($fid)
{
if ($ptype == 0)
{
$form = '<form id="post" method="post" action="post.php?&fid=' . $fid . '">';
$required_fields = array('req_email' => $lang_common['E-mail'], 'req_question' => $lang_polls['Question'], 'req_subject' => $lang_common['Subject'], 'req_message' => $lang_common['Message']);
$focus_element = array('post');
if (!$pun_user['is_guest'])
$focus_element[] = 'req_question';
else {
$required_fields['req_username'] = $lang_post['Guest name'];
$focus_element[] = 'req_question';
}
require PUN_ROOT . 'header.php';
?>
<div class="linkst">
<div class="inbox">
<ul>
<li><a href="index.php"><?php echo $lang_common['Index'] ?></a></li><li> » <?php echo $forum_name ?></li>
</ul>
</div>
</div>
<div class="blockform">
<h2><span><?php echo $action ?></span></h2>
<div class="box">
<?php echo $form . "\n" ?>
<div class="inform">
<fieldset>
<legend><?php echo $lang_polls['Poll select'] ?></legend>
<div class="infldset txtarea">
<select tabindex="<?php echo $cur_index++ ?>" name="ptype">
<option value="1"><?php echo $lang_polls['Regular'] ?></option>
<option value="2"><?php echo $lang_polls['Multiselect'] ?></option>
<option value="3"><?php echo $lang_polls['Yesno'] ?></option>
</select>
</div>
</fieldset>
</div>
<p><input type="submit" name="submit" value="<?php echo $lang_common['Submit'] ?>" tabindex="<?php echo $cur_index++ ?>" accesskey="s" /> <a href="javascript:history.go(-1)"><?php echo $lang_common['Go back'] ?></a></p>
</form>
</div>
</div>
<?php
}
elseif ($ptype == 1 || $ptype == 2 || $ptype == 3)
{
$required_fields = array('req_email' => $lang_common['E-mail'], 'req_question' => $lang_polls['Question'], 'req_subject' => $lang_common['Subject'], 'req_message' => $lang_common['Message']);
$focus_element = array('post');
if (!$pun_user['is_guest'])
$focus_element[] = 'req_question';
else {
$required_fields['req_username'] = $lang_post['Guest name'];
$focus_element[] = 'req_question';
}
require PUN_ROOT . 'header.php';
?>
<div class="linkst">
<div class="inbox">
<ul>
<li><a href="index.php"><?php echo $lang_common['Index'] ?></a></li><li> » <?php echo $forum_name ?></li>
</ul>
</div>
</div>
<?php
// If there are errors, we display them
if (!empty($errors))
{
?>
<div id="posterror" class="block">
<h2><span><?php echo $lang_post['Post errors'] ?></span></h2>
<div class="box">
<div class="inbox">
<p><?php echo $lang_post['Post errors info'] ?></p>
<ul>
<?php
while (list(, $cur_error) = each($errors))
echo "\t\t\t\t" . '<li><strong>' . $cur_error . '</strong></li>' . "\n";
?>
</ul>
</div>
</div>
</div>
<?php
}
else if (isset($_POST['preview']))
{
require_once PUN_ROOT . 'include/parser.php';
$preview_message = parse_message(trim($_POST['req_message']), $hide_smilies);
?>
<div id="postpreview" class="blockpost">
<h2><span><?php echo $lang_polls['Poll preview'] ?></span></h2>
<div class="box">
<div class="inbox">
<div class="postright">
<div class="postmsg">
<?php
if ($ptype == 1)
{
?>
<form action="" method="POST">
<fieldset>
<legend><?php echo pun_htmlspecialchars($question); ?></legend>
<?php
while (list($key, $value) = each($option))
{
if (!empty($value))
{
echo '<br /><input type="radio" /><span>' . pun_htmlspecialchars($value) . '</span><br />';
}
}
?><br />
</fieldset>
</form>
<?php
}
elseif ($ptype == 2)
{
?>
<form action="" method="POST">
<fieldset>
<legend><?php echo pun_htmlspecialchars($question); ?></legend>
<?php
while (list($key, $value) = each($option))
{
if (!empty($value))
{
echo '<br /><input type="checkbox" /><span>' . pun_htmlspecialchars($value) . '</span><br />';
}
}
?><br />
</fieldset>
</form>
<?php
}
elseif ($ptype == 3)
{
?>
<form action="" method="POST">
<fieldset>
<legend><?php echo pun_htmlspecialchars($question); ?></legend>
<?php
while (list($key, $value) = each($option))
{
if (!empty($value))
{
echo '<br />' . pun_htmlspecialchars($value) . '<br />
<input type="radio" /><span>' . pun_htmlspecialchars($yesval) . '</span><br />
<input type="radio" /><span>' . pun_htmlspecialchars($noval) . '</span><br />';
}
}
?><br />
</fieldset>
</form>
<?php
}
?>
</div>
</div>
</div>
</div>
</div>
<div id="postpreview" class="blockpost">
<h2><span><?php echo $lang_post['Post preview'] ?></span></h2>
<div class="box">
<div class="inbox">
<div class="postright">
<div class="postmsg">
<?php echo $preview_message . "\n" ?>
</div>
</div>
</div>
</div>
</div>
<?php
}
?>
<div class="blockform">
<h2><span><?php echo $action ?></span></h2>
<div class="box">
<?php echo $form . "\n" ?>
<div class="inform">
<fieldset>
<?php
// Regular Poll Type
if ($ptype == 1)
{
?>
<legend><?php echo $lang_polls['New poll legend'] ?></legend>
<div class="infldset">
<input type="hidden" name="ptype" value="1" />
<label><strong><?php echo $lang_polls['Question'] ?></strong><br /><input type="text" name="req_question" value="<?php if (isset($_POST['req_question'])) echo pun_htmlspecialchars($question); ?>" size="80" maxlength="70" tabindex="<?php echo $cur_index++ ?>" /><br /><br /></label>
<?php
for ($x = 1; $x <= $pun_config['poll_max_fields'] ;$x++)
{
?>
<label><strong><?php echo $lang_polls['Option'] ?></strong><br /> <input type="text" name="poll_option[<?php echo $x; ?>]" value="<?php if (isset($_POST['poll_option'][$x])) echo pun_htmlspecialchars($option[$x]); ?>" size="60" maxlength="55" tabindex="<?php echo $cur_index++ ?>" /><br /></label>
<?php
}
?></div></fieldset></div><?php
}
// Multiselect poll type
elseif ($ptype == 2)
{
?>
<legend><?php echo $lang_polls['New poll legend multiselect'] ?></legend>
<div class="infldset">
<input type="hidden" name="ptype" value="2" />
<label><strong><?php echo $lang_polls['Question'] ?></strong><br /><input type="text" name="req_question" value="<?php if (isset($_POST['req_question'])) echo pun_htmlspecialchars($question); ?>" size="80" maxlength="70" tabindex="<?php echo $cur_index++ ?>" /><br /><br /></label>
<?php
for ($x = 1; $x <= $pun_config['poll_max_fields']; $x++)
{
?>
<label><strong><?php echo $lang_polls['Option'] ?></strong><br /> <input type="text" name="poll_option[<?php echo $x; ?>]" value="<?php if (isset($_POST['poll_option'][$x])) echo pun_htmlspecialchars($option[$x]); ?>" size="60" maxlength="55" tabindex="<?php echo $cur_index++ ?>" /><br /></label>
<?php
}
?></div></fieldset></div><?php
}
elseif ($ptype == 3)
{
?>
<legend><?php echo $lang_polls['New poll legend yesno'] ?></legend>
<div class="infldset">
<input type="hidden" name="ptype" value="3" />
<label><strong><?php echo $lang_polls['Question'] ?></strong><br /><input type="text" name="req_question" value="<?php if (isset($_POST['req_question'])) echo pun_htmlspecialchars($question); ?>" size="80" maxlength="70" tabindex="<?php echo $cur_index++ ?>" /><br /><br /></label>
<label><strong><?php echo $lang_polls['Yes'] ?></strong><br /> <input type="text" name="poll_yes" value="<?php if (isset($_POST['poll_yes'])) echo pun_htmlspecialchars($yesval); ?>" size="40" maxlength="35" tabindex="<?php echo $cur_index++ ?>" /></label>
<label><strong><?php echo $lang_polls['No'] ?></strong><br /> <input type="text" name="poll_no" value="<?php if (isset($_POST['poll_no'])) echo pun_htmlspecialchars($noval); ?>" size="40" maxlength="35" tabindex="<?php echo $cur_index++ ?>" /><br /><br /></label>
<?php
for ($x = 1; $x <= $pun_config['poll_max_fields']; $x++)
{
?>
<label><strong><?php echo $lang_polls['Option'] ?></strong><br /> <input type="text" name="poll_option[<?php echo $x; ?>]" value="<?php if (isset($_POST['poll_option'][$x])) echo pun_htmlspecialchars($option[$x]); ?>" size="60" maxlength="55" tabindex="<?php echo $cur_index++ ?>" /><br /></label>
<?php
}
?></div></fieldset></div><?php
}
else
message($lang_common['Bad request']);
} else
message($lang_common['Bad request']);
}
}
else
{
// Mod poll end
$page_title = pun_htmlspecialchars($pun_config['o_board_title']).' / '.$action;
$required_fields = array('req_email' => $lang_common['E-mail'], 'req_subject' => $lang_common['Subject'], 'req_message' => $lang_common['Message']);
$focus_element = array('post');
if (!$pun_user['is_guest'])
$focus_element[] = ($fid) ? 'req_subject' : 'req_message';
else
{
$required_fields['req_username'] = $lang_post['Guest name'];
$focus_element[] = 'req_username';
}
require PUN_ROOT.'header.php';
?>
<div class="linkst">
<div class="inbox">
<ul><li><a href="index.php"><?php echo $lang_common['Index'] ?></a></li><li> » <?php echo $forum_name ?><?php if (isset($cur_posting['subject'])) echo '</li><li> » '.pun_htmlspecialchars($cur_posting['subject']) ?></li></ul>
</div>
</div>
<?php
// If there are errors, we display them
if (!empty($errors))
{
?>
<div id="posterror" class="block">
<h2><span><?php echo $lang_post['Post errors'] ?></span></h2>
<div class="box">
<div class="inbox">
<p><?php echo $lang_post['Post errors info'] ?></p>
<ul>
<?php
while (list(, $cur_error) = each($errors))
echo "\t\t\t\t".'<li><strong>'.$cur_error.'</strong></li>'."\n";
?>
</ul>
</div>
</div>
</div>
<?php
}
else if (isset($_POST['preview']))
{
require_once PUN_ROOT.'include/parser.php';
$preview_message = parse_message($message, $hide_smilies);
?>
<div id="postpreview" class="blockpost">
<h2><span><?php echo $lang_post['Post preview'] ?></span></h2>
<div class="box">
<div class="inbox">
<div class="postright">
<div class="postmsg">
<?php echo $preview_message."\n" ?>
</div>
</div>
</div>
</div>
</div>
<?php
}
}
if (!isset($_GET['type']))
{
$cur_index = 100;
if($ptype == '0')
{
?>
<div class="blockform">
<h2><span><?php echo $action ?></span></h2>
<div class="box">
<?php echo $form."\n" ?>
<?php
}
?>
<div class="inform">
<fieldset>
<legend><?php echo $lang_common['Write message legend'] ?></legend>
<!-- Start of smilies list -->
<fieldset style="margin-left:4px; line-height:1.5em; width:20%; float:right; margin-top:16px; text-align:left; text-decoration:none">
<legend>Smileys</legend>
<?php
# Display all smilies
require_once PUN_ROOT.'include/parser.php';
$smilies = "";
$images = array();
foreach($smiley_text as $key => $value)
{
$smiley_text[$key] = str_replace("</p>"," ",$smiley_text[$key]);
$smiley_text[$key] = str_replace("<p>"," ",$smiley_text[$key]);
if(in_array($smiley_img[$key],$images))
{
continue;
}
$images[] = $smiley_img[$key];
$smilies .= "<tt OnClick=\"javascript:AddSmiley('".$smiley_text[$key]."')\">" . parse_message($smiley_text[$key],0) . "</tt>";
}
$smilies = str_replace(array("<p>","</p>")," ",$smilies);
echo $smilies;
?>
</fieldset>
<!-- End of smilies list -->
<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
if ($pun_user['is_guest'])
{
$email_label = ($pun_config['p_force_guest_email'] == '1') ? '<strong>'.$lang_common['E-mail'].'</strong>' : $lang_common['E-mail'];
$email_form_name = ($pun_config['p_force_guest_email'] == '1') ? 'req_email' : 'email';
?> <label class="conl"><strong><?php echo $lang_post['Guest name'] ?></strong><br /><input type="text" name="req_username" value="<?php if (isset($_POST['req_username'])) echo pun_htmlspecialchars($username); ?>" size="25" maxlength="25" tabindex="<?php echo $cur_index++ ?>" /><br /></label>
<label class="conl"><?php echo $email_label ?><br /><input type="text" name="<?php echo $email_form_name ?>" value="<?php if (isset($_POST[$email_form_name])) echo pun_htmlspecialchars($email); ?>" size="50" maxlength="50" tabindex="<?php echo $cur_index++ ?>" /><br /></label>
<div class="clearer"></div>
<?php
}
if ($fid): ?>
<strong><?php echo $lang_common['Subject'] ?></strong><br /><input class="longinput" type="text" name="req_subject" value="<?php if (isset($_POST['req_subject'])) echo pun_htmlspecialchars($subject); ?>" size="80" maxlength="70" tabindex="<?php echo $cur_index++ ?>" /><br />
<?php endif; ?>
<!-- thomas-->
<br>
<strong>Codes Mnémos des valeurs concernées </strong>(séparées par une virgule ou un espace)
<input class="shortinput" type="text" name="val_code" value="<?php if (isset($_POST['val_code'])) echo pun_htmlspecialchars($val_code); ?>" size="20" maxlength="100" tabindex="<?php echo $cur_index++ ?>" />
<br /><br />
<strong><?php echo $lang_common['Message'] ?></strong><br />
<textarea name="req_message" id="req_message" rows="20" cols="95" tabindex="<?php echo $cur_index++ ?>"><?php echo isset($_POST['req_message']) ? pun_htmlspecialchars($message) : (isset($quote) ? $quote : ''); ?></textarea><br /></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>
<?php
$checkboxes = array();
if (!$pun_user['is_guest'])
{
if ($pun_config['o_smilies'] == '1')
$checkboxes[] = '<label><input type="checkbox" name="hide_smilies" value="1" tabindex="'.($cur_index++).'"'.(isset($_POST['hide_smilies']) ? ' checked="checked"' : '').' />'.$lang_post['Hide smilies'];
if ($pun_config['o_subscriptions'] == '1')
$checkboxes[] = '<label><input type="checkbox" name="subscribe" value="1" tabindex="'.($cur_index++).'"'.(isset($_POST['subscribe']) ? ' checked="checked"' : '').' />'.$lang_post['Subscribe'];
}
else if ($pun_config['o_smilies'] == '1')
$checkboxes[] = '<label><input type="checkbox" name="hide_smilies" value="1" tabindex="'.($cur_index++).'"'.(isset($_POST['hide_smilies']) ? ' checked="checked"' : '').' />'.$lang_post['Hide smilies'];
?>
<?php
if (!empty($checkboxes))
{
You're right, don't know why it was there in first place, maybe it was trendy some years ago
no idea ? maybe I'm not clear enough ?
Board index: http://www.boursematch.com/forum.php
Integration with existing user avatar and database: http://www.boursematch.com/forum/viewto … 555#p13555
Hi guys
I want to reduce size of the left column (where you have username and avatar), but I'm not too good in css and I tried with changing value for DIV.postleft, but did not work .
Where should I do that ?
I run punbb 1.2.8
Thanks !
Thanks:
File: /home.2/boursema/www/forum/viewtopic.php
Line: 426
PunBB reported: Unable to update topic
Database reported: Lost connection to MySQL server during query (Errno: 2013)
Il s'agit de cette ligne:
// 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());
Hello everybody,
I frequently get this error on my forum when trying to access a topic. I guess it has something to do with my server load, but is it possible to change any parameters to decrease the chances to get this message ?
Any ideas where I should look at ?
Thanks
Thank you for your fast answers. That helps already.
Hello,
sorry if this questions seems stupid because obvious for some of you but as one says, the one who asks a question can look stupid, but the one who doesn't will remain stupid.
I have searched but could not find the answer and I am so tired ...
I just want to get rid of those bullets in extern.php (I'm using punbb 1.2.8) and replace with something nice(r).
Thanks a lot
Well, for example, a member will be more likely to pay a great attention to a private message when he arrives on the site especially if there is a 'you have got a private message', than to an annoucement on the forum page. And You can customize some messages (ex people who haven't vote for a poll etc.).
Umm.. that's a bit different, but thanks for the answer...
Thomas
any info about mass private messaging for admins ?...(sorry to disturb this debate)
PunBB Forums → Posts by tomlelab
Powered by PunBB, supported by Informer Technologies, Inc.