NukeResources :: View topic - phpbb 2.0.20 post_username is empty when members post topics
phpbb 2.0.20 post_username is empty when members post topics
Posted: Sun Jun 11, 2006 4:40 pm
borat
Resource Seeker
Joined: Jun 11, 2006
Posts: 3
Hi
I noticed that from the time I upgraded from 2.0.14 to 2.0.20 the post_username column in the nuke_bbposts table are blank in my database. However I rechecked every file from functions_post to posting.php using Kdiff and there's no difference between the one I got and several other packages.
I really need help on this one because before I posted here I did this:
searched on google and other search engines
posted on ravenphpscripts
searched other forums
and now I'm lost. I'm scratching my head here trying to understand this problem. Hopefully you guys can assist.
regards
Posted: Mon Jun 12, 2006 2:05 am
Guardian
Resource Newbie
Joined: Nov 07, 2004
Posts: 24
Are you saying that the table field is not completely empty or that NEW forum posts are not updating that field?
If it is the latter, did you run all the upgrade.php scripts in order?
Can you post a copy of the table schema (no data).
Posted: Mon Jun 12, 2006 3:27 am
borat
Resource Seeker
Joined: Jun 11, 2006
Posts: 3
Yes it's not completely empty. Old posts (prior the upgrade) have the user names in them. New ones have nothing. Here's the schema:
Code: --
-- Table structure for table `nuke_bbposts`
--
CREATE TABLE `nuke_bbposts` (
`post_id` mediumint(8) unsigned NOT NULL auto_increment,
`topic_id` mediumint(8) unsigned NOT NULL default '0',
`forum_id` smallint(5) unsigned NOT NULL default '0',
`poster_id` mediumint(8) NOT NULL default '0',
`post_time` int(11) NOT NULL default '0',
`poster_ip` varchar(8) NOT NULL default '',
`post_username` varchar(25) default NULL,
`enable_bbcode` tinyint(1) NOT NULL default '1',
`enable_html` tinyint(1) NOT NULL default '0',
`enable_smilies` tinyint(1) NOT NULL default '1',
`enable_sig` tinyint(1) NOT NULL default '1',
`post_edit_time` int(11) default NULL,
`post_edit_count` smallint(5) unsigned NOT NULL default '0',
`post_attachment` tinyint(1) NOT NULL default '0',
PRIMARY KEY (`post_id`),
KEY `forum_id` (`forum_id`),
KEY `topic_id` (`topic_id`),
KEY `poster_id` (`poster_id`),
KEY `post_time` (`post_time`)
) TYPE=MyISAM AUTO_INCREMENT=74531 ;
Posted: Mon Jun 12, 2006 3:41 am
Guardian
Resource Newbie
Joined: Nov 07, 2004
Posts: 24
You may need to go back and do a file compare between your old files and the updated ones.
You are experiencing this problem because you have modified your forums with an attachement mod and the file which is saving the data to the database is out of synch.
That is to say, the saving routine is expecting to see a specific number of fields in that table and you have one extra so the saving routine is getting screwed up.
Your field 'post_attachment' has been added at some point as this is not normally part of that table.
Hope that helps.
Posted: Mon Jun 12, 2006 4:54 am
borat
Resource Seeker
Joined: Jun 11, 2006
Posts: 3
Hi
here's an extract from my includes/functions_post.php file:
Code: //
// Post a new topic/reply/poll or edit existing post/poll
//
function submit_post($mode, &$post_data, &$message, &$meta, &$forum_id, &$topic_id, &$post_id, &$poll_id, &$topic_type, &$bbcode_on, &$html_on, &$smilies_on, &$attach_sig, &$bbcode_uid, $post_username, $post_subject, $post_message, $poll_title, &$poll_options, &$poll_length)
{
global $board_config, $lang, $db, $phpbb_root_path, $phpEx;
global $userdata, $user_ip;
include("includes/functions_search.php");
$current_time = time();
if ($mode == 'newtopic' || $mode == 'reply' || $mode == 'editpost')
{
//
// Flood control
//
$where_sql = ($userdata['user_id'] == ANONYMOUS) ? "poster_ip = '$user_ip'" : 'poster_id = ' . $userdata['user_id'];
$sql = "SELECT MAX(post_time) AS last_post_time
FROM " . POSTS_TABLE . "
WHERE $where_sql";
if ($result = $db->sql_query($sql))
{
if ($row = $db->sql_fetchrow($result))
{
if (intval($row['last_post_time']) > 0 && ($current_time - intval($row['last_post_time'])) < intval($board_config['flood_interval']))
{
message_die(GENERAL_MESSAGE, $lang['Flood_Error']);
}
}
}
}
if ($mode == 'editpost')
{
remove_search_post($post_id);
}
if ($mode == 'newtopic' || ($mode == 'editpost' && $post_data['first_post']))
{
$topic_vote = (!empty($poll_title) && count($poll_options) >= 2) ? 1 : 0;
$sql = ($mode != "editpost") ? "INSERT INTO " . TOPICS_TABLE . " (topic_title, topic_poster, topic_time, forum_id, topic_status, topic_type, topic_vote) VALUES ('$post_subject', " . $userdata['user_id'] . ", $current_time, $forum_id, " . TOPIC_UNLOCKED . ", $topic_type, $topic_vote)" : "UPDATE " . TOPICS_TABLE . " SET topic_title = '$post_subject', topic_type = $topic_type " . (($post_data['edit_vote'] || !empty($poll_title)) ? ", topic_vote = " . $topic_vote : "") . " WHERE topic_id = $topic_id";
if (!$db->sql_query($sql))
{
message_die(GENERAL_ERROR, 'Error in posting', '', __LINE__, __FILE__, $sql);
}
if ($mode == 'newtopic')
{
$topic_id = $db->sql_nextid();
if (function_exists("update_points")) update_points(10);
}
}
$edited_sql = ($mode == 'editpost' && !$post_data['last_post'] && $post_data['poster_post']) ? ", post_edit_time = $current_time, post_edit_count = post_edit_count + 1 " : "";
$sql = ($mode != "editpost") ? "INSERT INTO " . POSTS_TABLE . " (topic_id, forum_id, poster_id, post_username, post_time, poster_ip, enable_bbcode, enable_html, enable_smilies, enable_sig) VALUES ($topic_id, $forum_id, " . $userdata['user_id'] . ", '$post_username', $current_time, '$user_ip', $bbcode_on, $html_on, $smilies_on, $attach_sig)" : "UPDATE " . POSTS_TABLE . " SET post_username = '$post_username', enable_bbcode = $bbcode_on, enable_html = $html_on, enable_smilies = $smilies_on, enable_sig = $attach_sig" . $edited_sql . " WHERE post_id = $post_id";
if (!$db->sql_query($sql, BEGIN_TRANSACTION))
{
message_die(GENERAL_ERROR, 'Error in posting', '', __LINE__, __FILE__, $sql);
}
if ($mode != 'editpost')
{
$post_id = $db->sql_nextid();
}
$sql = ($mode != 'editpost') ? "INSERT INTO " . POSTS_TEXT_TABLE . " (post_id, post_subject, bbcode_uid, post_text) VALUES ($post_id, '$post_subject', '$bbcode_uid', '$post_message')" : "UPDATE " . POSTS_TEXT_TABLE . " SET post_text = '$post_message', bbcode_uid = '$bbcode_uid', post_subject = '$post_subject' WHERE post_id = $post_id";
if (!$db->sql_query($sql))
{
message_die(GENERAL_ERROR, 'Error in posting', '', __LINE__, __FILE__, $sql);
}
add_search_words('single', $post_id, stripslashes($post_message), stripslashes($post_subject));
look at the function submit post part, do you think perhaps the problem is there?
Posted: Mon Jun 12, 2006 10:52 am
darklord
Resourceful
Joined: Feb 25, 2006
Posts: 210
i think if u change it from not null to null...this should fix ur problem
_________________
for those who STAND shall NEVER fall and those who fall shall rise once more...never give up the end is just another beginning.
NukeResources Forum Index -> Bug Reports
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
All times are GMT - 4 Hours
Page 1 of 1