Seite 1 von 1

Problem mit Slash News Mod

Verfasst: 04.12.2003 01:31
von Firestarter
Trotz genauere Befolgung der Anleitung und wiederholten Einbau bekomme ich in der Datei "functions_post.php" in den Komandozeilen (213 bis 295) immer die gleiche Fehlermeldung, obwohl die Funktion des Hacks in Ordnung zu scheinen sich darstellt.

Code: Alles auswählen

Warning: Missing argument 21 for submit_post() in /...../includes/functions_post.php on line 216 
Der Hack trägt die Version 1.0.0 BETA6 und ist von Autor CodeMonkeyX

Kann mir jemand helfen oder weiss eine Lösung ?


Auszug der fehlerhaften Zeilen :

Code: Alles auswählen

//
// 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, &$news_category)
{
	global $board_config, $lang, $db, $phpbb_root_path, $phpEx;
	global $userdata, $user_ip;
// BEGIN cmx_slash_news_mod
	if( isset( $news_category ) && is_numeric( $news_category ) )
	{
		$news_id = intval( $news_category );
	}
	else
	{
		$news_id = 0;
	}
// END cmx_slash_news_mod

	include($phpbb_root_path . 'includes/functions_search.'.$phpEx);

	$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, news_id, topic_status, topic_type, topic_vote) VALUES ('$post_subject', " . $userdata['user_id'] . ", $current_time, $forum_id, $news_id, " . TOPIC_UNLOCKED . ", $topic_type, $topic_vote)" : "UPDATE " . TOPICS_TABLE . " SET topic_title = '$post_subject', news_id = $news_id, 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();
		}
	}

	$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));
Auszug der Anleitung von dem Hack:

Code: Alles auswählen

#
#-----[ OPEN ]------------------------------------------
#
includes/functions_post.php

#
#-----[ FIND ]------------------------------------------
#
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)

#
#-----[ IN-LINE FIND ]------------------------------------------
#
)

#
#-----[ IN-LINE BEFORE, ADD ]------------------------------------------
#
, &$news_category

#
#-----[ FIND ]------------------------------------------
#
global $userdata, $user_ip;

#
#-----[ AFTER, ADD ]------------------------------------------
#
// BEGIN cmx_slash_news_mod
	if( isset( $news_category ) && is_numeric( $news_category ) )
	{
		$news_id = intval( $news_category );
	}
	else
	{
		$news_id = 0;
	}
// END cmx_slash_news_mod

#
#-----[ FIND ]---------------------------------------------
# around line 268
$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";

#
#-----[ IN-LINE FIND ]---------------------------------------------
# around line 268 (directly in that line)
(topic_title, topic_poster, topic_time, forum_id,

#
#-----[ IN-LINE AFTER, ADD ]---------------------------------------
#
 news_id,

#
#-----[ FIND ]---------------------------------------------
# around line 268
$sql  = ($mode != "editpost") ? "INSERT INTO " . TOPICS_TABLE . " (topic_title, topic_poster, topic_time, forum_id, news_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";

#
#-----[ IN-LINE FIND ]---------------------------------------------
# around line 268 (directly in that line)
$current_time, $forum_id,

#
#-----[ IN-LINE AFTER, ADD ]---------------------------------------
#
 $news_id,

#
#-----[ FIND ]---------------------------------------------
# around line 268
$sql  = ($mode != "editpost") ? "INSERT INTO " . TOPICS_TABLE . " (topic_title, topic_poster, topic_time, forum_id, news_id, topic_status, topic_type, topic_vote) VALUES ('$post_subject', " . $userdata['user_id'] . ", $current_time, $forum_id, $news_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";

#
#-----[ IN-LINE FIND ]---------------------------------------------
# around line 268 (directly in that line)
"UPDATE " . TOPICS_TABLE . " SET topic_title = '$post_subject',

#
#-----[ IN-LINE AFTER, ADD ]---------------------------------------
#
 news_id = $news_id,

Vielen Dank für die Hilfe von euch bereits im Vorfeld.

MfG

Firestarter

Verfasst: 04.12.2003 12:09
von Acid
In der posting.php gibt´s eine ähnliche "submit_post" Zeile.. wurde diese korrekt angepasst !?

Verfasst: 04.12.2003 12:19
von Firestarter
Danke dir, Acid, du bist ein Engel.
Durch deinen Hinweis hab ich posting.php noch mal gecheckt und bemerkt, das "submit_post(" aufgrund von Moderatorenloghack zweimal vorhanden ist und ich es übersehen hatte.
Vielen Dank.