Quiz Mod 0.2.1 Einbauproblem

Du hast Probleme beim Einbau oder bei der Benutzung eines Mods? In diesem Forum bist du richtig.
Forumsregeln
phpBB 2.0 hat das Ende seiner Lebenszeit überschritten
phpBB 2.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 2.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf phpBB 3.0, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
Benutzeravatar
Eclipse16V
Mitglied
Beiträge: 576
Registriert: 27.11.2002 17:04
Wohnort: Gießen
Kontaktdaten:

Quiz Mod 0.2.1 Einbauproblem

Beitrag von Eclipse16V »

Kann mir jemand helfen beim einbau in die functions_post.php Datei?
Ich blicke da nicht mehr durch bzw. finde nix mehr.

Das muß rein:

Code: Alles auswählen

#
#-----[ OPEN ]------------------------------------------
#
includes/functions_post.php
#
#-----[ FIND ]------------------------------------------
#
$unhtml_specialchars_replace = array('>', '<', '"', '&');

#
#-----[ AFTER, ADD ]------------------------------------------
#
// BEGIN Quiz Hack
if ( defined('FUNCTIONS_POST_INCLUDED') )
{
	return;
}
define('FUNCTIONS_POST_INCLUDED', true);
// END Quiz Hack
#
#-----[ FIND ]------------------------------------------
#
	else if ($mode != 'delete' && $mode != 'poll_delete') 
#
#-----[ REPLACE WITH ]------------------------------------------
#
	else if ($mode != 'delete' && $mode != 'polldelete' && empty($post_data['quiz_answer'])) // ADDED  && empty($post_data['quiz_answer']) BY Quiz Hack
#
#-----[ FIND ]------------------------------------------
#
	if ($mode == 'newtopic' || $mode == 'reply') 
#
#-----[ REPLACE WITH ]------------------------------------------
#
	if ( !isset($post_data['flood_control_off']) && ( $mode == 'newtopic' || $mode == 'reply' ) ) // ADDED ' !isset($post_data['flood_control_off']) && ( ' AND ')' BY Quiz Hack
#
#-----[ FIND ]------------------------------------------
#
		$sql  = ($mode != "editpost") ? "INSERT INTO " . TOPICS_TABLE . " (topic_title, topic_poster, 
#
#-----[ IN-LINE, FIND ]------------------------------------------
#
topic_type, topic_vote
#
#-----[ IN-LINE, AFTER, ADD ]------------------------------------------
#
, topic_quiz
#
#-----[ IN-LINE, FIND ]------------------------------------------
#
$topic_type, $topic_vote
#
#-----[ IN-LINE, AFTER, ADD ]------------------------------------------
#
, " . ( empty($post_data['topic_quiz']) ? '0' : '1' ) . "
#
#-----[ AFTER, ADD ]------------------------------------------
#
// ADDED , topic_quiz AND , " . ( empty($post_data['topic_quiz']) ? '0' : '1' ) . " BY Quiz Hack
#
#-----[ FIND ]------------------------------------------
#
	$sql = ($mode != 'editpost') ? "INSERT INTO " . POSTS_TEXT_TABLE . " (post_id, post_subject, 
#
#-----[ IN-LINE, FIND ]------------------------------------------
#
bbcode_uid, post_text
#
#-----[ IN-LINE, AFTER, ADD ]------------------------------------------
#
, quiz_answer
#
#-----[ IN-LINE, FIND ]------------------------------------------
#
'$bbcode_uid', '$post_message'
#
#-----[ IN-LINE, AFTER, ADD ]------------------------------------------
#
, '" . ( empty($post_data['quiz_answer']) ? '' : $post_data['quiz_answer'] ) . "'
#
#-----[ AFTER, ADD ]------------------------------------------
#
// ADDED , quiz_answer AND , '" . ( empty($post_data['quiz_answer']) ? '' : $post_data['quiz_answer'] ) . "' BY Quiz Hack
#
#-----[ FIND ]------------------------------------------
#
				$sql = "DELETE FROM " . TOPICS_WATCH_TABLE . "
					WHERE topic_id = $topic_id";
				if (!$db->sql_query($sql))
				{
					message_die(GENERAL_ERROR, 'Error in deleting post', '', __LINE__, __FILE__, $sql);
				}
#
#-----[ AFTER, ADD ]------------------------------------------
#
				// BEGIN Quiz Hack
				if ( $post_data['topic_quiz'] )
				{
					$sql = "UPDATE " . QUIZ_TABLE . "
						SET quiz_status = 4, quiz_topic_id = 0
						WHERE quiz_topic_id = $topic_id";
					if ( !$db->sql_query($sql) )
					{
						message_die(GENERAL_ERROR, 'Could not update quiz status', '', __LINE__, __FILE__, $sql);
					}
					$sql = "DELETE FROM " . QUIZ_ANSWER_TABLE . "
						WHERE topic_id = $topic_id";
					if ( !$db->sql_query($sql) )
					{
						message_die(GENERAL_ERROR, 'Could not update quiz answer table', '', __LINE__, __FILE__, $sql);
					}
				}
				// END Quiz Hack
#
#-----[ OPEN ]------------------------------------------
#
includes/functions_search.php
#
#-----[ FIND ]------------------------------------------
#
Hier nun meine Datei:

Code: Alles auswählen

<?php
//-- mod : post icon -------------------------------------------------------------------------------
/***************************************************************************
 *                            functions_post.php
 *                            -------------------
 *   begin                : Saturday, Feb 13, 2001
 *   copyright            : (C) 2001 The phpBB Group
 *   email                : support@phpbb.com
 *
 *   $Id: functions_post.php,v 1.9.2.25 2003/01/13 22:03:24 psotfx Exp $
 *
 *
 ***************************************************************************/

/***************************************************************************
 *
 *   This program 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.
 *
 ***************************************************************************/

if (!defined('IN_PHPBB'))
{
	die('Hacking attempt');
}

$html_entities_match = array('#&[a-z]+?;#', '#<#', '#>#');
$html_entities_replace = array('&', '<', '>');

$unhtml_specialchars_match = array('#>#', '#<#', '#"#', '#&#');
$unhtml_specialchars_replace = array('>', '<', '"', '&');

//
// This function will prepare a posted message for
// entry into the database.
//
function prepare_message($message, $html_on, $bbcode_on, $smile_on, $bbcode_uid = 0)
{
	global $board_config, $html_entities_match, $html_entities_replace;

	//
	// Clean up the message
	//
	$message = trim($message);

	if ($html_on)
	{
		$allowed_html_tags = split(',', $board_config['allow_html_tags']);

		$end_html = 0;
		$start_html = 1;
		$tmp_message = '';
		$message = ' ' . $message . ' ';

		while ($start_html = strpos($message, '<', $start_html))
		{
			$tmp_message .= preg_replace($html_entities_match, $html_entities_replace, substr($message, $end_html + 1, ($start_html - $end_html - 1)));

			if ($end_html = strpos($message, '>', $start_html))
			{
				$length = $end_html - $start_html + 1;
				$hold_string = substr($message, $start_html, $length);

				if (($unclosed_open = strrpos(' ' . $hold_string, '<')) != 1)
				{
					$tmp_message .= preg_replace($html_entities_match, $html_entities_replace, substr($hold_string, 0, $unclosed_open - 1));
					$hold_string = substr($hold_string, $unclosed_open - 1);
				}

				$tagallowed = false;
				for ($i = 0; $i < sizeof($allowed_html_tags); $i++)
				{
					$match_tag = trim($allowed_html_tags[$i]);
					if (preg_match('#^<\/?' . $match_tag . '(?!(.*?)((style)|( on[\w]+?[\s]?=))[\s]*?)#i', $hold_string))
					{
						$tagallowed = true;
					}
				}

				$tmp_message .= ($length && !$tagallowed) ? preg_replace($html_entities_match, $html_entities_replace, $hold_string) : $hold_string;

				$start_html += $length;
			}
			else
			{
				$tmp_message .= preg_replace($html_entities_match, $html_entities_replace, substr($message, $start_html, strlen($message)));

				$start_html = strlen($message);
				$end_html = $start_html;
			}
		}

		if ($end_html != strlen($message) && $tmp_message != '')
		{
			$tmp_message .= preg_replace($html_entities_match, $html_entities_replace, substr($message, $end_html + 1));
		}

		$message = ($tmp_message != '') ? trim($tmp_message) : trim($message);
	}
	else
	{
		$message = preg_replace($html_entities_match, $html_entities_replace, $message);
	}

	if($bbcode_on && $bbcode_uid != '')
	{
		$message = bbencode_first_pass($message, $bbcode_uid);
	}

	return $message;
}

function unprepare_message($message)
{
	global $unhtml_specialchars_match, $unhtml_specialchars_replace;

	return preg_replace($unhtml_specialchars_match, $unhtml_specialchars_replace, $message);
}

//
// Prepare a message for posting
// 
function prepare_post(&$mode, &$post_data, &$bbcode_on, &$html_on, &$smilies_on, &$error_msg, &$username, &$bbcode_uid, &$subject, &$message, &$amazon, &$poll_title, &$poll_options, &$poll_length)
{
	global $board_config, $userdata, $lang, $phpEx, $phpbb_root_path;

	// Check username
	if (!empty($username))
	{
		$username = trim(strip_tags($username));

		if (!$userdata['session_logged_in'] || ($userdata['session_logged_in'] && $username != $userdata['username']))
		{
			include($phpbb_root_path . 'includes/functions_validate.'.$phpEx);

			$result = validate_username($username);
			if ($result['error'])
			{
				$error_msg .= (!empty($error_msg)) ? '<br />' . $result['error_msg'] : $result['error_msg'];
			}
		}
		else
		{
			$username = '';
		}
	}

	// Check subject
	if (!empty($subject))
	{
		$subject = htmlspecialchars(trim($subject));
	}
	else if ($mode == 'newtopic' || ($mode == 'editpost' && $post_data['first_post']))
	{
		$error_msg .= (!empty($error_msg)) ? '<br />' . $lang['Empty_subject'] : $lang['Empty_subject'];
	}

	// Check message
	if (!empty($message))
	{
		$bbcode_uid = ($bbcode_on) ? make_bbcode_uid() : '';
		$message = prepare_message(trim($message), $html_on, $bbcode_on, $smilies_on, $bbcode_uid);
		
		/*BEGIN Moderation BBcode*/
		// Is this post countain moderation BBcode?
		if (($userdata['user_level'] != ADMIN) and ($userdata['user_level'] != MOD))
			{
				if( (preg_match("[mod:$uid]", $message)) || (preg_match("/\[mod:$uid=(?:\"?([^\"]*)\"?)\]/si", $message)) || (preg_match("[/mod:$uid]", $message)) )
				{
					message_die(GENERAL_MESSAGE, $lang['Mod_reserved'], $lang['Moderation']);
				}
			}
		/*END Moderation BBcode*/
		
	}
	else if ($mode != 'delete' && $mode != 'poll_delete') 
	{
		$error_msg .= (!empty($error_msg)) ? '<br />' . $lang['Empty_message'] : $lang['Empty_message'];
	}

	// Check Amazon
	if ( empty($amazon) )
	{
		$amazon = NULL;
	}
	
	//
	// Handle poll stuff
	//
	if ($mode == 'newtopic' || ($mode == 'editpost' && $post_data['first_post']))
	{
		$poll_length = (isset($poll_length)) ? max(0, intval($poll_length)) : 0;

		if (!empty($poll_title))
		{
			$poll_title = htmlspecialchars(trim($poll_title));
		}

		if(!empty($poll_options))
		{
			$temp_option_text = array();
			while(list($option_id, $option_text) = @each($poll_options))
			{
				$option_text = trim($option_text);
				if (!empty($option_text))
				{
					$temp_option_text[$option_id] = htmlspecialchars($option_text);
				}
			}
			$option_text = $temp_option_text;

			if (count($poll_options) < 2)
			{
				$error_msg .= (!empty($error_msg)) ? '<br />' . $lang['To_few_poll_options'] : $lang['To_few_poll_options'];
			}
			else if (count($poll_options) > $board_config['max_poll_options']) 
			{
				$error_msg .= (!empty($error_msg)) ? '<br />' . $lang['To_many_poll_options'] : $lang['To_many_poll_options'];
			}
			else if ($poll_title == '')
			{
				$error_msg .= (!empty($error_msg)) ? '<br />' . $lang['Empty_poll_title'] : $lang['Empty_poll_title'];
			}
		}
	}

	return;
}

//
// Post a new topic/reply/poll or edit existing post/poll
//

//-- mod : post icon -------------------------------------------------------------------------------
// here we added
//	, $post_icon = 0
//-- modify
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, &$post_az, &$poll_title, &$poll_options, &$poll_length, $post_icon = 0)
//-- fin mod : post icon ---------------------------------------------------------------------------
{
	global $board_config, $lang, $db, $phpbb_root_path, $phpEx;
	global $userdata, $user_ip, $post_info;

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

	$current_time = time();
	
// 
// Traffic erhöhen 
// 
$user_id = $userdata['user_id']; 
$sql = "SELECT user_totaltime 
FROM " . USERS_TABLE . " 
WHERE user_id = $user_id"; 
if (!($result = $db->sql_query($sql))) 
{ 
message_die(GENERAL_ERROR, 'Could not obtain online time', '', __LINE__, __FILE__, $sql); 
} 

$user_totaltime = ' '; 
while ($row = $db->sql_fetchrow($result)) 
{ 
if (isset($row['user_totaltime'])) 
{ 
$user_totaltime = $row['user_totaltime']; 
} 
} 

if ($user_totaltime > 3600) 
{ 
// Erhöht den Traffic pro Post um 500 kb 
$user_traffic = 500; 
$traffic_bytes = bcmul($user_traffic,1024); 
if ($mode == 'newtopic' || $mode == 'reply') 
{ 

$sql = "UPDATE " . USERS_TABLE . " 
SET user_traffic = user_traffic+'" . str_replace("\'", "''", $traffic_bytes) . "' 
WHERE user_id = $user_id"; 
if (!$db->sql_query($sql)) 
{ 
message_die(GENERAL_ERROR, 'Error in posting', '', __LINE__, __FILE__, $sql); 
} 
} 

// 
// Traffic ende 
//

		//
		// 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 ($board_config['points_post'] && !$post_info['points_disabled'])
		{
			$points = abs(($mode == 'newtopic') ? $board_config['points_topic'] : $board_config['points_reply']);

			if ($userdata['user_id'] != ANONYMOUS)
			{
				add_points($userdata['user_id'], $points);
			}
		}
		
	}
	else 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;
		//-- mod : post icon -------------------------------------------------------------------------------
		// here we added
		//	, topic_icon
		//	, $post_icon
		//
		// and
		//	, topic_icon = $post_icon
		//-- modify
		$sql  = ($mode != "editpost") ? "INSERT INTO " . TOPICS_TABLE . " (topic_title, topic_poster, topic_time, forum_id, topic_status, topic_type, topic_icon, topic_vote) VALUES ('$post_subject', " . $userdata['user_id'] . ", $current_time, $forum_id, " . TOPIC_UNLOCKED . ", $topic_type, $post_icon, $topic_vote)" : "UPDATE " . TOPICS_TABLE . " SET topic_title = '$post_subject', topic_type = $topic_type, topic_icon=$post_icon, topic_vote = $topic_vote WHERE topic_id = $topic_id";
		//-- fin mod : post icon ---------------------------------------------------------------------------
		if (!$db->sql_query($sql))
		{
			message_die(GENERAL_ERROR, 'Error in posting', '', __LINE__, __FILE__, $sql);
		}

		if ($mode == 'newtopic')
		{
			$topic_id = $db->sql_nextid();
		}
	}

	$usr_id = $userdata['user_id'];
	$edited_sql = ( $mode == 'editpost' && !$post_data['last_post'] ) ? ", post_edit_user = $usr_id, post_edit_time = $current_time, post_edit_count = post_edit_count + 1 " : "";
	//-- mod : post icon -------------------------------------------------------------------------------
	// here we added
	// , post_icon
	// , $post_icon
	//
	// and
	//  , post_icon = $post_icon
	//-- modify
	$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, post_icon) VALUES ($topic_id, $forum_id, " . $userdata['user_id'] . ", '$post_username', $current_time, '$user_ip', $bbcode_on, $html_on, $smilies_on, $attach_sig, $post_icon)" : "UPDATE " . POSTS_TABLE . " SET post_username = '$post_username', enable_bbcode = $bbcode_on, enable_html = $html_on, enable_smilies = $smilies_on, enable_sig = $attach_sig, post_icon = $post_icon" . $edited_sql . " WHERE post_id = $post_id";
	//-- fin mod : post icon ---------------------------------------------------------------------------
	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();
	}

//		<!--- Tread Read Hack On --->
	$visit_time = time();
	$usr_id = $userdata['user_id'];
		
	$sqldel = "DELETE FROM " . TOPIC_READ_TABLE . " WHERE user_id = $usr_id AND topic_id = $topic_id";
	if ( !($result = $db->sql_query($sqldel)) )
	{
		message_die(GENERAL_ERROR, 'Error Topic Read Delete', '', __LINE__, __FILE__, $sql);
	}
	
	$sql = "INSERT INTO " . TOPIC_READ_TABLE . " (topic_id, post_id, user_id, visit_time, forum_id) VALUES ('$topic_id' , '$post_id', $usr_id, '$visit_time', '$forum_id')";
	if ( !($result = $db->sql_query($sql)) )
	{
		message_die(GENERAL_ERROR, 'Error Topic Read', '', __LINE__, __FILE__, $sql);
	}
//		<!--- Tread Read Hack Off --->
	
	$sql = ($mode != 'editpost') ? "INSERT INTO " . POSTS_TEXT_TABLE . " (post_id, post_subject, bbcode_uid, post_text, post_az) VALUES ($post_id, '$post_subject', '$bbcode_uid', '$post_message', '$post_az')" : "UPDATE " . POSTS_TEXT_TABLE . " SET post_text = '$post_message',  bbcode_uid = '$bbcode_uid', post_subject = '$post_subject', post_az = '$post_az' 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));

	//
	// Add poll
	// 
	if (($mode == 'newtopic' || ($mode == 'editpost' && $post_data['edit_poll'])) && !empty($poll_title) && count($poll_options) >= 2)
	{
		$sql = (!$post_data['has_poll']) ? "INSERT INTO " . VOTE_DESC_TABLE . " (topic_id, vote_text, vote_start, vote_length) VALUES ($topic_id, '$poll_title', $current_time, " . ($poll_length * 86400) . ")" : "UPDATE " . VOTE_DESC_TABLE . " SET vote_text = '$poll_title', vote_length = " . ($poll_length * 86400) . " WHERE topic_id = $topic_id";
		if (!$db->sql_query($sql))
		{
			message_die(GENERAL_ERROR, 'Error in posting', '', __LINE__, __FILE__, $sql);
		}

		$delete_option_sql = '';
		$old_poll_result = array();
		if ($mode == 'editpost' && $post_data['has_poll'])
		{
			$sql = "SELECT vote_option_id, vote_result  
				FROM " . VOTE_RESULTS_TABLE . " 
				WHERE vote_id = $poll_id 
				ORDER BY vote_option_id ASC";
			if (!($result = $db->sql_query($sql)))
			{
				message_die(GENERAL_ERROR, 'Could not obtain vote data results for this topic', '', __LINE__, __FILE__, $sql);
			}

			while ($row = $db->sql_fetchrow($result))
			{
				$old_poll_result[$row['vote_option_id']] = $row['vote_result'];

				if (!isset($poll_options[$row['vote_option_id']]))
				{
					$delete_option_sql .= ($delete_option_sql != '') ? ', ' . $row['vote_option_id'] : $row['vote_option_id'];
				}
			}
		}
		
		else
		{
			$poll_id = $db->sql_nextid();
		}

		@reset($poll_options);

		$poll_option_id = 1;
		while (list($option_id, $option_text) = each($poll_options))
		{
			if (!empty($option_text))
			{
				$option_text = str_replace("\'", "''", htmlspecialchars($option_text));
				$poll_result = ($mode == "editpost" && isset($old_poll_result[$option_id])) ? $old_poll_result[$option_id] : 0;

				$sql = ($mode != "editpost" || !isset($old_poll_result[$option_id])) ? "INSERT INTO " . VOTE_RESULTS_TABLE . " (vote_id, vote_option_id, vote_option_text, vote_result) VALUES ($poll_id, $poll_option_id, '$option_text', $poll_result)" : "UPDATE " . VOTE_RESULTS_TABLE . " SET vote_option_text = '$option_text', vote_result = $poll_result WHERE vote_option_id = $option_id AND vote_id = $poll_id";
				if (!$db->sql_query($sql))
				{
					message_die(GENERAL_ERROR, 'Error in posting', '', __LINE__, __FILE__, $sql);
				}
				$poll_option_id++;
			}
		}

		if ($delete_option_sql != '')
		{
			$sql = "DELETE FROM " . VOTE_RESULTS_TABLE . " 
				WHERE vote_option_id IN ($delete_option_sql) 
					AND vote_id = $poll_id";
			if (!$db->sql_query($sql))
			{
				message_die(GENERAL_ERROR, 'Error deleting pruned poll options', '', __LINE__, __FILE__, $sql);
			}
		}
	}

	$meta = '<meta http-equiv="refresh" content="3;url=' . append_sid("viewtopic.$phpEx?" . POST_POST_URL . "=" . $post_id) . '#' . $post_id . '">';
	$message = $lang['Stored'] . '<br /><br />' . sprintf($lang['Click_view_message'], '<a href="' . append_sid("viewtopic.$phpEx?" . POST_POST_URL . "=" . $post_id) . '#' . $post_id . '">', '</a>') . '<br /><br />' . sprintf($lang['Click_return_forum'], '<a href="' . append_sid("viewforum.$phpEx?" . POST_FORUM_URL . "=$forum_id") . '">', '</a>');

	return false;
}

//
// Update post stats and details
//
function update_post_stats(&$mode, &$post_data, &$forum_id, &$topic_id, &$post_id, &$user_id)
{
	global $db;

	$sign = ($mode == 'delete') ? '- 1' : '+ 1';
	$forum_update_sql = "forum_posts = forum_posts $sign";
	$topic_update_sql = '';

	if ($mode == 'delete')
	{
		if ($post_data['last_post'])
		{
			if ($post_data['first_post'])
			{
				$forum_update_sql .= ', forum_topics = forum_topics - 1';
			}
			else
			{

				$topic_update_sql .= 'topic_replies = topic_replies - 1';

				$sql = "SELECT MAX(post_id) AS last_post_id
					FROM " . POSTS_TABLE . " 
					WHERE topic_id = $topic_id";
				if (!($result = $db->sql_query($sql)))
				{
					message_die(GENERAL_ERROR, 'Error in deleting post', '', __LINE__, __FILE__, $sql);
				}

				if ($row = $db->sql_fetchrow($result))
				{
					$topic_update_sql .= ', topic_last_post_id = ' . $row['last_post_id'];
				}
			}

			if ($post_data['last_topic'])
			{
				$sql = "SELECT MAX(post_id) AS last_post_id
					FROM " . POSTS_TABLE . " 
					WHERE forum_id = $forum_id"; 
				if (!($result = $db->sql_query($sql)))
				{
					message_die(GENERAL_ERROR, 'Error in deleting post', '', __LINE__, __FILE__, $sql);
				}

				if ($row = $db->sql_fetchrow($result))
				{
					$forum_update_sql .= ($row['last_post_id']) ? ', forum_last_post_id = ' . $row['last_post_id'] : ', forum_last_post_id = 0';
				}
			}
		}
		else if ($post_data['first_post']) 
		{
			$sql = "SELECT MIN(post_id) AS first_post_id
				FROM " . POSTS_TABLE . " 
				WHERE topic_id = $topic_id";
			if (!($result = $db->sql_query($sql)))
			{
				message_die(GENERAL_ERROR, 'Error in deleting post', '', __LINE__, __FILE__, $sql);
			}

			if ($row = $db->sql_fetchrow($result))
			{
				$topic_update_sql .= 'topic_replies = topic_replies - 1, topic_first_post_id = ' . $row['first_post_id'];
			}
		}
		else
		{
			$topic_update_sql .= 'topic_replies = topic_replies - 1';
		}
	}
	else if ($mode != 'poll_delete')
	{
		$forum_update_sql .= ", forum_last_post_id = $post_id" . (($mode == 'newtopic') ? ", forum_topics = forum_topics $sign" : ""); 
		$topic_update_sql = "topic_last_post_id = $post_id" . (($mode == 'reply') ? ", topic_replies = topic_replies $sign" : ", topic_first_post_id = $post_id");
	}
	else 
	{
		$topic_update_sql .= 'topic_vote = 0';
	}

	$sql = "UPDATE " . FORUMS_TABLE . " SET 
		$forum_update_sql 
		WHERE forum_id = $forum_id";
	if (!$db->sql_query($sql))
	{
		message_die(GENERAL_ERROR, 'Error in posting', '', __LINE__, __FILE__, $sql);
	}

	if ($topic_update_sql != '')
	{
		$sql = "UPDATE " . TOPICS_TABLE . " SET 
			$topic_update_sql 
			WHERE topic_id = $topic_id";
		if (!$db->sql_query($sql))
		{
			message_die(GENERAL_ERROR, 'Error in posting', '', __LINE__, __FILE__, $sql);
		}
	}

	if ($mode != 'poll_delete')
	{
		$sql = "UPDATE " . USERS_TABLE . "
			SET user_posts = user_posts $sign 
			WHERE user_id = $user_id";
		if (!$db->sql_query($sql, END_TRANSACTION))
		{
			message_die(GENERAL_ERROR, 'Error in posting', '', __LINE__, __FILE__, $sql);
		}
	}

	return;
}

//
// Delete a post/poll
//
function delete_post($mode, &$post_data, &$message, &$meta, &$forum_id, &$topic_id, &$post_id, &$poll_id)
{
	global $board_config, $lang, $db, $phpbb_root_path, $phpEx;
	global $userdata, $user_ip;

	if ($mode != 'poll_delete')
	{
		include($phpbb_root_path . 'includes/functions_search.'.$phpEx);

		$sql = "DELETE FROM " . POSTS_TABLE . " 
			WHERE post_id = $post_id";
		if (!$db->sql_query($sql))
		{
			message_die(GENERAL_ERROR, 'Error in deleting post', '', __LINE__, __FILE__, $sql);
		}

		$sql = "DELETE FROM " . POSTS_TEXT_TABLE . " 
			WHERE post_id = $post_id";
		if (!$db->sql_query($sql))
		{
			message_die(GENERAL_ERROR, 'Error in deleting post', '', __LINE__, __FILE__, $sql);
		}

		// BEGIN Report post hack
		if ( !empty($post_data['report']) )
		{
			global $rp;
			if ( !isset($rp) )
			{
				include('reportpost.'.$phpEx);
			}
			$rp->update_refresh_report_popup($forum_id);
		}
		// END Report post hack
		
		if ($post_data['last_post'])
		{
			if ($post_data['first_post'])
			{
				$forum_update_sql .= ', forum_topics = forum_topics - 1';
				$sql = "DELETE FROM " . TOPICS_TABLE . " 
					WHERE topic_id = $topic_id 
						OR topic_moved_id = $topic_id";
				if (!$db->sql_query($sql))
				{
					message_die(GENERAL_ERROR, 'Error in deleting post', '', __LINE__, __FILE__, $sql);
				}

				$sql = "DELETE FROM " . TOPICS_WATCH_TABLE . "
					WHERE topic_id = $topic_id";
				if (!$db->sql_query($sql))
				{
					message_die(GENERAL_ERROR, 'Error in deleting post', '', __LINE__, __FILE__, $sql);
				}
				
				$sql = "DELETE FROM " . BOOKMARK_TABLE . "
					WHERE topic_id = $topic_id";
				if ( !$db->sql_query($sql) )
				{
					message_die(GENERAL_ERROR, 'Error in deleting post', '', __LINE__, __FILE__, $sql);
				}
			}
		}

		remove_search_post($post_id);
	}

	if ($mode == 'poll_delete' || ($mode == 'delete' && $post_data['first_post'] && $post_data['last_post']) && $post_data['has_poll'] && $post_data['edit_poll'])
	{
		$sql = "DELETE FROM " . VOTE_DESC_TABLE . " 
			WHERE topic_id = $topic_id";
		if (!$db->sql_query($sql))
		{
			message_die(GENERAL_ERROR, 'Error in deleting poll', '', __LINE__, __FILE__, $sql);
		}

		$sql = "DELETE FROM " . VOTE_RESULTS_TABLE . " 
			WHERE vote_id = $poll_id";
		if (!$db->sql_query($sql))
		{
			message_die(GENERAL_ERROR, 'Error in deleting poll', '', __LINE__, __FILE__, $sql);
		}

		$sql = "DELETE FROM " . VOTE_USERS_TABLE . " 
			WHERE vote_id = $poll_id";
		if (!$db->sql_query($sql))
		{
			message_die(GENERAL_ERROR, 'Error in deleting poll', '', __LINE__, __FILE__, $sql);
		}
	}

	if ($mode == 'delete' && $post_data['first_post'] && $post_data['last_post'])
	{
		$meta = '<meta http-equiv="refresh" content="3;url=' . append_sid("viewforum.$phpEx?" . POST_FORUM_URL . '=' . $forum_id) . '">';
		$message = $lang['Deleted'];
	}
	else
	{
		$meta = '<meta http-equiv="refresh" content="3;url=' . append_sid("viewtopic.$phpEx?" . POST_TOPIC_URL . '=' . $topic_id) . '">';
		$message = (($mode == 'poll_delete') ? $lang['Poll_delete'] : $lang['Deleted']) . '<br /><br />' . sprintf($lang['Click_return_topic'], '<a href="' . append_sid("viewtopic.$phpEx?" . POST_TOPIC_URL . "=$topic_id") . '">', '</a>');
	}

	$message .=  '<br /><br />' . sprintf($lang['Click_return_forum'], '<a href="' . append_sid("viewforum.$phpEx?" . POST_FORUM_URL . "=$forum_id") . '">', '</a>');

	return;
}

//
// Handle user notification on new post
//
function user_notification($mode, &$post_data, &$topic_title, &$forum_id, &$topic_id, &$post_id, &$notify_user)
{
	global $HTTP_SERVER_VARS, $HTTP_ENV_VARS;
	global $board_config, $lang, $db, $phpbb_root_path, $phpEx;
	global $userdata, $user_ip;

	$current_time = time();

	if ( $mode == "delete" )
	{
		$delete_sql = ( !$post_data['first_post'] && !$post_data['last_post'] ) ? " AND user_id = " . $userdata['user_id'] : "";
		$sql = "DELETE FROM " . TOPICS_WATCH_TABLE . " WHERE topic_id = $topic_id" . $delete_sql;
		if ( !($result = $db->sql_query($sql)) )
		{
			message_die(GENERAL_ERROR, "Couldn't change topic notify data", "", __LINE__, __FILE__, $sql);
		}
	}
	else 
	{
		if ( $mode == "reply" )
		{
			$sql = "SELECT ban_userid 
				FROM " . BANLIST_TABLE;
			if ( !($result = $db->sql_query($sql)) )
			{
				message_die(GENERAL_ERROR, 'Could not obtain banlist', '', __LINE__, __FILE__, $sql);
			}

			$user_id_sql = "";
			while ( $row = $db->sql_fetchrow($result) )
			{
				if ( isset($row['ban_userid']) )
				{
					$user_id_sql = ", " . $row['ban_userid'];
				}
			}

			$sql = "SELECT u.user_id, u.username, u.user_email, u.user_lang, t.topic_title 
				FROM " . TOPICS_WATCH_TABLE . " tw, " . TOPICS_TABLE . " t, " . USERS_TABLE . " u 
				WHERE tw.topic_id = $topic_id 
					AND tw.user_id NOT IN (" . $userdata['user_id'] . ", " . ANONYMOUS . $user_id_sql . " ) 
					AND tw.notify_status = " . TOPIC_WATCH_UN_NOTIFIED . " 
					AND t.topic_id = tw.topic_id 
					AND u.user_id = tw.user_id";
			if ( !($result = $db->sql_query($sql)) )
			{
				message_die(GENERAL_ERROR, "", "", __LINE__, __FILE__, $sql);
			}

			$orig_word = array();
			$replacement_word = array();
			obtain_word_list($orig_word, $replacement_word);

			include($phpbb_root_path . 'includes/emailer.'.$phpEx);
			$emailer = new emailer($board_config['smtp_delivery']);

			$script_name = preg_replace("/^\/?(.*?)\/?$/", "\\1", trim($board_config['script_path']));
			$script_name = ( $script_name != '' ) ? $script_name . '/viewtopic.'.$phpEx : 'viewtopic.'.$phpEx;
			$server_name = trim($board_config['server_name']);
			$server_protocol = ( $board_config['cookie_secure'] ) ? "https://" : "http://";
			$server_port = ( $board_config['server_port'] <> 80 ) ? ':' . trim($board_config['server_port']) . '/' : '/';

			$email_headers = "From: " . $board_config['board_email'] . "\nReturn-Path: " . $board_config['board_email'] . "\r\n";

			$update_watched_sql = "";
			if ( $row = $db->sql_fetchrow($result) )
			{
				$topic_title = preg_replace($orig_word, $replacement_word, unprepare_message($row['topic_title']));
				$post_text = preg_replace($orig_word, $replacement_word, unprepare_message($post_data['message']));

				do
				{
					if ( $row['user_email'] != "" )
					{
						$emailer->use_template("topic_notify", $row['user_lang']);
						$emailer->email_address($row['user_email']);
						$emailer->set_subject();//$lang['Topic_reply_notification']
						$emailer->extra_headers($email_headers);

						$emailer->assign_vars(array(
							"EMAIL_SIG" => str_replace("<br />", "\n", "-- \n" . $board_config['board_email_sig']),
							"USERNAME" => $row['username'],
							"SITENAME" => $board_config['sitename'],
							"TOPIC_TITLE" => $topic_title, 
							"POST_TEXT" => $post_text, 
							"POSTERNAME" => $post_data['username'], 
							"U_TOPIC" => $server_protocol . $server_name . $server_port . $script_name . "?" . POST_POST_URL . "=$post_id#$post_id",
							"FORUM_NAME" => $row['forum_name'], 
							"U_STOP_WATCHING_TOPIC" => $server_protocol . $server_name . $server_port . $script_name . "?" . POST_TOPIC_URL . "=$topic_id&unwatch=topic")
						);

						$emailer->send();
						$emailer->reset();

						$update_watched_sql .= ( $update_watched_sql != "" ) ? ", " . $row['user_id'] : $row['user_id'];
					}
				}
				while ( $row = $db->sql_fetchrow($result) );
			}
			
			$already_mailed = ( trim($update_watched_sql) == '' ) ? "" : "$update_watched_sql, ";
			
			$sql = "SELECT u.user_id, u.username, u.user_email, u.user_lang, t.topic_title, f.forum_name 
				FROM " . TOPICS_TABLE . " t, " . USERS_TABLE . " u, " . FORUMS_WATCH_TABLE . " fw, " . FORUMS_TABLE . " f 
				WHERE fw.forum_id = $forum_id 
					AND fw.user_id NOT IN (" . $already_mailed . $userdata['user_id'] . ", " . ANONYMOUS . $user_id_sql . " ) 
					AND t.topic_id = $topic_id 
					AND f.forum_id = $forum_id 
					AND f.forum_notify = '1' 
					AND u.user_id = fw.user_id";
			if ( !($result = $db->sql_query($sql)) )
			{
				message_die(GENERAL_ERROR, "", "", __LINE__, __FILE__, $sql);
			}
			
			$script_name = preg_replace("/^\/?(.*?)\/?$/", "\\1", trim($board_config['script_path']));
			$script_name_forum = ( $script_name != '' ) ? $script_name . '/viewforum.'.$phpEx : 'viewforum.'.$phpEx;
			$script_name = ( $script_name != '' ) ? $script_name . '/viewtopic.'.$phpEx : 'viewtopic.'.$phpEx;
			
			$temp_is_auth = array();
			
			if ( $row = $db->sql_fetchrow($result) )
			{
				$topic_title = preg_replace($orig_word, $replacement_word, unprepare_message($row['topic_title']));
				$post_text = preg_replace($orig_word, $replacement_word, unprepare_message($post_data['message']));

				do
				{
					$temp_userdata = get_userdata($row['user_id']);
					$temp_is_auth = auth(AUTH_ALL, $forum_id, $temp_userdata, -1);
					
					// another security check (i.e. the forum might have become private and 
					// there are still users who have notification activated)
					if( $temp_is_auth['auth_read'] && $temp_is_auth['auth_view'] )
					{
						if ( $row['user_email'] != "" )
						{
							$emailer->use_template("forum_notify", $row['user_lang']);
							$emailer->email_address($row['user_email']);
							$emailer->set_subject();//$lang['Topic_reply_notification']
							$emailer->extra_headers($email_headers);
	
							$emailer->assign_vars(array(
								"EMAIL_SIG" => str_replace("<br />", "\n", "-- \n" . $board_config['board_email_sig']),
								"USERNAME" => $row['username'],
								"SITENAME" => $board_config['sitename'],
								"TOPIC_TITLE" => $topic_title, 
								"POST_TEXT" => $post_text, 
								"POSTERNAME" => $post_data['username'], 
								"U_TOPIC" => $server_protocol . $server_name . $server_port . $script_name . "?" . POST_POST_URL . "=$post_id#$post_id",
								"FORUM_NAME" => $row['forum_name'], 
								"U_STOP_WATCHING_FORUM" => $server_protocol . $server_name . $server_port . $script_name_forum . "?" . POST_FORUM_URL . "=$forum_id&unwatch=forum")
							);
	
							$emailer->send();
							$emailer->reset();
	
						}
					}
				}
				while ( $row = $db->sql_fetchrow($result) );
			}



			if ( $update_watched_sql != "" )
			{
				$sql = "UPDATE " . TOPICS_WATCH_TABLE . "
					SET notify_status = " . TOPIC_WATCH_NOTIFIED . "
					WHERE topic_id = $topic_id
						AND user_id IN ($update_watched_sql)";
				$db->sql_query($sql);
			}
		
		}

		//
		// code for newtopic forum notification
		//
		if ( $mode == "newtopic" )
		{
			$sql = "SELECT ban_userid 
				FROM " . BANLIST_TABLE;
			if ( !($result = $db->sql_query($sql)) )
			{
				message_die(GENERAL_ERROR, "", "", __LINE__, __FILE__, $sql);
			}

			$user_id_sql = "";
			while ( $row = $db->sql_fetchrow($result) )
			{
				if ( isset($row['ban_userid']) )
				{
					$user_id_sql = ", " . $row['ban_userid'];
				}
			}

			$sql = "SELECT u.user_id, u.username, u.user_email, u.user_lang, f.forum_name 
				FROM " . USERS_TABLE . " u, " . FORUMS_WATCH_TABLE . " fw, " . FORUMS_TABLE . " f 
				WHERE fw.forum_id = $forum_id 
					AND fw.user_id NOT IN (" . $userdata['user_id'] . ", " . ANONYMOUS . $user_id_sql . " ) 
					AND f.forum_id = $forum_id 
					AND f.forum_notify = '1' 
					AND u.user_id = fw.user_id";
			if ( !($result = $db->sql_query($sql)) )
			{
				message_die(GENERAL_ERROR, "", "", __LINE__, __FILE__, $sql);
			}
			
			$orig_word = array();
			$replacement_word = array();
			obtain_word_list($orig_word, $replacement_word);

			include($phpbb_root_path . 'includes/emailer.'.$phpEx);
			$emailer = new emailer($board_config['smtp_delivery']);

			$script_name = preg_replace("/^\/?(.*?)\/?$/", "\\1", trim($board_config['script_path']));
			$script_name_forum = ( $script_name != '' ) ? $script_name . '/viewforum.'.$phpEx : 'viewforum.'.$phpEx;
			$script_name = ( $script_name != '' ) ? $script_name . '/viewtopic.'.$phpEx : 'viewtopic.'.$phpEx;
			$server_name = trim($board_config['server_name']);
			$server_protocol = ( $board_config['cookie_secure'] ) ? "https://" : "http://";
			$server_port = ( $board_config['server_port'] <> 80 ) ? ':' . trim($board_config['server_port']) . '/' : '/';

			$email_headers = "From: " . $board_config['board_email'] . "\nReturn-Path: " . $board_config['board_email'] . "\r\n";
			
			$temp_is_auth = array();
			if ( $row = $db->sql_fetchrow($result) )
			{
				$topic_title = preg_replace($orig_word, $replacement_word, unprepare_message($post_data['subject']));
				$post_text = preg_replace($orig_word, $replacement_word, unprepare_message($post_data['message']));
				
				do
				{
					$temp_userdata = get_userdata($row['user_id']);
					$temp_is_auth = auth(AUTH_ALL, $forum_id, $temp_userdata, -1);
					
					// another security check (i.e. the forum might have become private and 
					// there are still users who have notification activated)
					if( $temp_is_auth['auth_read'] && $temp_is_auth['auth_view'] )
					{
						if ( $row['user_email'] != "" )
						{
							$emailer->use_template("newtopic_notify", $row['user_lang']);
							$emailer->email_address($row['user_email']);
							$emailer->set_subject();//$lang['Topic_reply_notification']
							$emailer->extra_headers($email_headers);
	
							$emailer->assign_vars(array(
								"EMAIL_SIG" => str_replace("<br />", "\n", "-- \n" . $board_config['board_email_sig']),
								"USERNAME" => $row['username'],
								"SITENAME" => $board_config['sitename'],
								"TOPIC_TITLE" => $topic_title, 
								"POST_TEXT" => $post_text, 
								"POSTERNAME" => $post_data['username'], 
								"U_TOPIC" => $server_protocol . $server_name . $server_port . $script_name . "?" . POST_POST_URL . "=$post_id#$post_id",
								"FORUM_NAME" => $row['forum_name'], 
								"U_STOP_WATCHING_FORUM" => $server_protocol . $server_name . $server_port . $script_name_forum . "?" . POST_FORUM_URL . "=$forum_id&unwatch=forum")
							);
	
							$emailer->send();
							$emailer->reset();
	
						}
					}
				}
				while ( $row = $db->sql_fetchrow($result) );
			}

		}

		$sql = "SELECT topic_id 
			FROM " . TOPICS_WATCH_TABLE . "
			WHERE topic_id = $topic_id
				AND user_id = " . $userdata['user_id'];
		if ( !($result = $db->sql_query($sql)) )
		{
			message_die(GENERAL_ERROR, "Couldn't obtain topic watch information", "", __LINE__, __FILE__, $sql);
		}

		$row = $db->sql_fetchrow($result);

		if ( !$notify_user && !empty($row['topic_id']) )
		{
			$sql = "DELETE FROM " . TOPICS_WATCH_TABLE . "
				WHERE topic_id = $topic_id
					AND user_id = " . $userdata['user_id'];
			if ( !$result = $db->sql_query($sql) )
			{
				message_die(GENERAL_ERROR, "Couldn't delete topic watch information", "", __LINE__, __FILE__, $sql);
			}
		}
		else if ( $notify_user && empty($row['topic_id']) )
		{
			$sql = "INSERT INTO " . TOPICS_WATCH_TABLE . " (user_id, topic_id, notify_status)
				VALUES (" . $userdata['user_id'] . ", $topic_id, 0)";
			if ( !($result = $db->sql_query($sql)) )
			{
				message_die(GENERAL_ERROR, "Couldn't insert topic watch information", "", __LINE__, __FILE__, $sql);
			}
		}
	}
}

//
// Fill smiley templates (or just the variables) with smileys
// Either in a window or inline
//
function generate_smilies($mode, $page_id)
{
	global $db, $board_config, $template, $lang, $images, $theme, $phpEx, $phpbb_root_path;
	global $user_ip, $session_length, $starttime;
	global $userdata;

	$inline_columns = 4;
	$inline_rows = 5;
	$window_columns = 8;

	if ($mode == 'window')
	{
		$userdata = session_pagestart($user_ip, $page_id);
		init_userprefs($userdata);

		$gen_simple_header = TRUE;

		$page_title = $lang['Review_topic'] . " - $topic_title";
		include($phpbb_root_path . 'includes/page_header.'.$phpEx);

		$template->set_filenames(array(
			'smiliesbody' => 'posting_smilies.tpl')
		);
	}

	$sql = "SELECT emoticon, code, smile_url   
		FROM " . SMILIES_TABLE . " 
		ORDER BY smilies_id";
	if ($result = $db->sql_query($sql))
	{
		$num_smilies = 0;
		$rowset = array();
		while ($row = $db->sql_fetchrow($result))
		{
			if (empty($rowset[$row['smile_url']]))
			{
				$rowset[$row['smile_url']]['code'] = str_replace("'", "\\'", str_replace('\\', '\\\\', $row['code']));
				$rowset[$row['smile_url']]['emoticon'] = $row['emoticon'];
				$num_smilies++;
			}
		}

		if ($num_smilies)
		{
			$smilies_count = ($mode == 'inline') ? min(19, $num_smilies) : $num_smilies;
			$smilies_split_row = ($mode == 'inline') ? $inline_columns - 1 : $window_columns - 1;

			$s_colspan = 0;
			$row = 0;
			$col = 0;

			while (list($smile_url, $data) = @each($rowset))
			{
				if (!$col)
				{
					$template->assign_block_vars('smilies_row', array());
				}

				$template->assign_block_vars('smilies_row.smilies_col', array(
					'SMILEY_CODE' => $data['code'],
					'SMILEY_IMG' => $board_config['smilies_path'] . '/' . $smile_url,
					'SMILEY_DESC' => $data['emoticon'])
				);

				$s_colspan = max($s_colspan, $col + 1);

				if ($col == $smilies_split_row)
				{
					if ($mode == 'inline' && $row == $inline_rows - 1)
					{
						break;
					}
					$col = 0;
					$row++;
				}
				else
				{
					$col++;
				}
			}

			if ($mode == 'inline' && $num_smilies > $inline_rows * $inline_columns)
			{
				$template->assign_block_vars('switch_smilies_extra', array());

				$template->assign_vars(array(
					'L_MORE_SMILIES' => $lang['More_emoticons'], 
					'U_MORE_SMILIES' => append_sid("posting.$phpEx?mode=smilies"))
				);
			}

			$template->assign_vars(array(
				'L_EMOTICONS' => $lang['Emoticons'], 
				'L_CLOSE_WINDOW' => $lang['Close_window'], 
				'S_SMILIES_COLSPAN' => $s_colspan)
			);
		}
	}

	if ($mode == 'window')
	{
		$template->pparse('smiliesbody');

		include($phpbb_root_path . 'includes/page_tail.'.$phpEx);
	}
}

?>
www.Eclipse16V.de
Erste Eclipse16V IG Deutschlands
Dave
Mitglied
Beiträge: 2085
Registriert: 25.05.2003 15:03
Wohnort: Wuppertal

Beitrag von Dave »

*löschen*
Zuletzt geändert von Dave am 06.10.2003 20:40, insgesamt 1-mal geändert.
Dave
Mitglied
Beiträge: 2085
Registriert: 25.05.2003 15:03
Wohnort: Wuppertal

Beitrag von Dave »

Ich hoffe mal ich habe keine Fehler gemacht :roll:

Code: Alles auswählen

<?php 
//-- mod : post icon ------------------------------------------------------------------------------- 
/*************************************************************************** 
 *                            functions_post.php 
 *                            ------------------- 
 *   begin                : Saturday, Feb 13, 2001 
 *   copyright            : (C) 2001 The phpBB Group 
 *   email                : support@phpbb.com 
 * 
 *   $Id: functions_post.php,v 1.9.2.25 2003/01/13 22:03:24 psotfx Exp $ 
 * 
 * 
 ***************************************************************************/ 

/*************************************************************************** 
 * 
 *   This program 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. 
 * 
 ***************************************************************************/ 

if (!defined('IN_PHPBB')) 
{ 
   die('Hacking attempt'); 
} 

$html_entities_match = array('#&[a-z]+?;#', '#<#', '#>#'); 
$html_entities_replace = array('&', '<', '>'); 

$unhtml_specialchars_match = array('#>#', '#<#', '#"#', '#&#'); 
$unhtml_specialchars_replace = array('>', '<', '"', '&'); 
// BEGIN Quiz Hack 
if ( defined('FUNCTIONS_POST_INCLUDED') ) 
{ 
   return; 
} 
define('FUNCTIONS_POST_INCLUDED', true); 
// END Quiz Hack 

// 
// This function will prepare a posted message for 
// entry into the database. 
// 
function prepare_message($message, $html_on, $bbcode_on, $smile_on, $bbcode_uid = 0) 
{ 
   global $board_config, $html_entities_match, $html_entities_replace; 

   // 
   // Clean up the message 
   // 
   $message = trim($message); 

   if ($html_on) 
   { 
      $allowed_html_tags = split(',', $board_config['allow_html_tags']); 

      $end_html = 0; 
      $start_html = 1; 
      $tmp_message = ''; 
      $message = ' ' . $message . ' '; 

      while ($start_html = strpos($message, '<', $start_html)) 
      { 
         $tmp_message .= preg_replace($html_entities_match, $html_entities_replace, substr($message, $end_html + 1, ($start_html - $end_html - 1))); 

         if ($end_html = strpos($message, '>', $start_html)) 
         { 
            $length = $end_html - $start_html + 1; 
            $hold_string = substr($message, $start_html, $length); 

            if (($unclosed_open = strrpos(' ' . $hold_string, '<')) != 1) 
            { 
               $tmp_message .= preg_replace($html_entities_match, $html_entities_replace, substr($hold_string, 0, $unclosed_open - 1)); 
               $hold_string = substr($hold_string, $unclosed_open - 1); 
            } 

            $tagallowed = false; 
            for ($i = 0; $i < sizeof($allowed_html_tags); $i++) 
            { 
               $match_tag = trim($allowed_html_tags[$i]); 
               if (preg_match('#^<\/?' . $match_tag . '(?!(.*?)((style)|( on[\w]+?[\s]?=))[\s]*?)#i', $hold_string)) 
               { 
                  $tagallowed = true; 
               } 
            } 

            $tmp_message .= ($length && !$tagallowed) ? preg_replace($html_entities_match, $html_entities_replace, $hold_string) : $hold_string; 

            $start_html += $length; 
         } 
         else 
         { 
            $tmp_message .= preg_replace($html_entities_match, $html_entities_replace, substr($message, $start_html, strlen($message))); 

            $start_html = strlen($message); 
            $end_html = $start_html; 
         } 
      } 

      if ($end_html != strlen($message) && $tmp_message != '') 
      { 
         $tmp_message .= preg_replace($html_entities_match, $html_entities_replace, substr($message, $end_html + 1)); 
      } 

      $message = ($tmp_message != '') ? trim($tmp_message) : trim($message); 
   } 
   else 
   { 
      $message = preg_replace($html_entities_match, $html_entities_replace, $message); 
   } 

   if($bbcode_on && $bbcode_uid != '') 
   { 
      $message = bbencode_first_pass($message, $bbcode_uid); 
   } 

   return $message; 
} 

function unprepare_message($message) 
{ 
   global $unhtml_specialchars_match, $unhtml_specialchars_replace; 

   return preg_replace($unhtml_specialchars_match, $unhtml_specialchars_replace, $message); 
} 

// 
// Prepare a message for posting 
// 
function prepare_post(&$mode, &$post_data, &$bbcode_on, &$html_on, &$smilies_on, &$error_msg, &$username, &$bbcode_uid, &$subject, &$message, &$amazon, &$poll_title, &$poll_options, &$poll_length) 
{ 
   global $board_config, $userdata, $lang, $phpEx, $phpbb_root_path; 

   // Check username 
   if (!empty($username)) 
   { 
      $username = trim(strip_tags($username)); 

      if (!$userdata['session_logged_in'] || ($userdata['session_logged_in'] && $username != $userdata['username'])) 
      { 
         include($phpbb_root_path . 'includes/functions_validate.'.$phpEx); 

         $result = validate_username($username); 
         if ($result['error']) 
         { 
            $error_msg .= (!empty($error_msg)) ? '<br />' . $result['error_msg'] : $result['error_msg']; 
         } 
      } 
      else 
      { 
         $username = ''; 
      } 
   } 

   // Check subject 
   if (!empty($subject)) 
   { 
      $subject = htmlspecialchars(trim($subject)); 
   } 
   else if ($mode == 'newtopic' || ($mode == 'editpost' && $post_data['first_post'])) 
   { 
      $error_msg .= (!empty($error_msg)) ? '<br />' . $lang['Empty_subject'] : $lang['Empty_subject']; 
   } 

   // Check message 
   if (!empty($message)) 
   { 
      $bbcode_uid = ($bbcode_on) ? make_bbcode_uid() : ''; 
      $message = prepare_message(trim($message), $html_on, $bbcode_on, $smilies_on, $bbcode_uid); 
       
      /*BEGIN Moderation BBcode*/ 
      // Is this post countain moderation BBcode? 
      if (($userdata['user_level'] != ADMIN) and ($userdata['user_level'] != MOD)) 
         { 
            if( (preg_match("[mod:$uid]", $message)) || (preg_match("/\[mod:$uid=(?:\"?([^\"]*)\"?)\]/si", $message)) || (preg_match("[/mod:$uid]", $message)) ) 
            { 
               message_die(GENERAL_MESSAGE, $lang['Mod_reserved'], $lang['Moderation']); 
            } 
         } 
      /*END Moderation BBcode*/ 
       
   } 
   else if ($mode != 'delete' && $mode != 'polldelete' && empty($post_data['quiz_answer'])) // ADDED  && empty($post_data['quiz_answer']) BY Quiz Hack 
   { 
      $error_msg .= (!empty($error_msg)) ? '<br />' . $lang['Empty_message'] : $lang['Empty_message']; 
   } 

   // Check Amazon 
   if ( empty($amazon) ) 
   { 
      $amazon = NULL; 
   } 
    
   // 
   // Handle poll stuff 
   // 
   if ($mode == 'newtopic' || ($mode == 'editpost' && $post_data['first_post'])) 
   { 
      $poll_length = (isset($poll_length)) ? max(0, intval($poll_length)) : 0; 

      if (!empty($poll_title)) 
      { 
         $poll_title = htmlspecialchars(trim($poll_title)); 
      } 

      if(!empty($poll_options)) 
      { 
         $temp_option_text = array(); 
         while(list($option_id, $option_text) = @each($poll_options)) 
         { 
            $option_text = trim($option_text); 
            if (!empty($option_text)) 
            { 
               $temp_option_text[$option_id] = htmlspecialchars($option_text); 
            } 
         } 
         $option_text = $temp_option_text; 

         if (count($poll_options) < 2) 
         { 
            $error_msg .= (!empty($error_msg)) ? '<br />' . $lang['To_few_poll_options'] : $lang['To_few_poll_options']; 
         } 
         else if (count($poll_options) > $board_config['max_poll_options']) 
         { 
            $error_msg .= (!empty($error_msg)) ? '<br />' . $lang['To_many_poll_options'] : $lang['To_many_poll_options']; 
         } 
         else if ($poll_title == '') 
         { 
            $error_msg .= (!empty($error_msg)) ? '<br />' . $lang['Empty_poll_title'] : $lang['Empty_poll_title']; 
         } 
      } 
   } 

   return; 
} 

// 
// Post a new topic/reply/poll or edit existing post/poll 
// 

//-- mod : post icon ------------------------------------------------------------------------------- 
// here we added 
//   , $post_icon = 0 
//-- modify 
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, &$post_az, &$poll_title, &$poll_options, &$poll_length, $post_icon = 0) 
//-- fin mod : post icon --------------------------------------------------------------------------- 
{ 
   global $board_config, $lang, $db, $phpbb_root_path, $phpEx; 
   global $userdata, $user_ip, $post_info; 

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

   $current_time = time(); 
    
// 
// Traffic erhöhen 
// 
$user_id = $userdata['user_id']; 
$sql = "SELECT user_totaltime 
FROM " . USERS_TABLE . " 
WHERE user_id = $user_id"; 
if (!($result = $db->sql_query($sql))) 
{ 
message_die(GENERAL_ERROR, 'Could not obtain online time', '', __LINE__, __FILE__, $sql); 
} 

$user_totaltime = ' '; 
while ($row = $db->sql_fetchrow($result)) 
{ 
if (isset($row['user_totaltime'])) 
{ 
$user_totaltime = $row['user_totaltime']; 
} 
} 

if ($user_totaltime > 3600) 
{ 
// Erhöht den Traffic pro Post um 500 kb 
$user_traffic = 500; 
$traffic_bytes = bcmul($user_traffic,1024); 
if ( !isset($post_data['flood_control_off']) && ( $mode == 'newtopic' || $mode == 'reply' ) ) // ADDED ' !isset($post_data['flood_control_off']) && ( ' AND ')' BY Quiz Hack 
{ 

$sql = "UPDATE " . USERS_TABLE . " 
SET user_traffic = user_traffic+'" . str_replace("\'", "''", $traffic_bytes) . "' 
WHERE user_id = $user_id"; 
if (!$db->sql_query($sql)) 
{ 
message_die(GENERAL_ERROR, 'Error in posting', '', __LINE__, __FILE__, $sql); 
} 
} 

// 
// Traffic ende 
// 

      // 
      // 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 ($board_config['points_post'] && !$post_info['points_disabled']) 
      { 
         $points = abs(($mode == 'newtopic') ? $board_config['points_topic'] : $board_config['points_reply']); 

         if ($userdata['user_id'] != ANONYMOUS) 
         { 
            add_points($userdata['user_id'], $points); 
         } 
      } 
       
   } 
   else 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; 
      //-- mod : post icon ------------------------------------------------------------------------------- 
      // here we added 
      //   , topic_icon 
      //   , $post_icon 
      // 
      // and 
      //   , topic_icon = $post_icon 
      //-- modify 
      $sql  = ($mode != "editpost") ? "INSERT INTO " . TOPICS_TABLE . " (topic_title, topic_poster, topic_time, forum_id, topic_status, topic_type, topic_icon, topic_vote, topic_quiz ) VALUES ('$post_subject', " . $userdata['user_id'] . ", $current_time, $forum_id, " . TOPIC_UNLOCKED . ", $topic_type, $post_icon, $topic_vote, " . ( empty($post_data['topic_quiz']) ? '0' : '1' ) . " )" : "UPDATE " . TOPICS_TABLE . " SET topic_title = '$post_subject', topic_type = $topic_type, topic_icon=$post_icon, topic_vote = $topic_vote WHERE topic_id = $topic_id"; 
      //-- fin mod : post icon --------------------------------------------------------------------------- 
      // ADDED , topic_quiz AND , " . ( empty($post_data['topic_quiz']) ? '0' : '1' ) . " BY Quiz Hack 
	  if (!$db->sql_query($sql)) 
      { 
         message_die(GENERAL_ERROR, 'Error in posting', '', __LINE__, __FILE__, $sql); 
      } 

      if ($mode == 'newtopic') 
      { 
         $topic_id = $db->sql_nextid(); 
      } 
   } 

   $usr_id = $userdata['user_id']; 
   $edited_sql = ( $mode == 'editpost' && !$post_data['last_post'] ) ? ", post_edit_user = $usr_id, post_edit_time = $current_time, post_edit_count = post_edit_count + 1 " : ""; 
   //-- mod : post icon ------------------------------------------------------------------------------- 
   // here we added 
   // , post_icon 
   // , $post_icon 
   // 
   // and 
   //  , post_icon = $post_icon 
   //-- modify 
   $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, post_icon) VALUES ($topic_id, $forum_id, " . $userdata['user_id'] . ", '$post_username', $current_time, '$user_ip', $bbcode_on, $html_on, $smilies_on, $attach_sig, $post_icon)" : "UPDATE " . POSTS_TABLE . " SET post_username = '$post_username', enable_bbcode = $bbcode_on, enable_html = $html_on, enable_smilies = $smilies_on, enable_sig = $attach_sig, post_icon = $post_icon" . $edited_sql . " WHERE post_id = $post_id"; 
   //-- fin mod : post icon --------------------------------------------------------------------------- 
   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(); 
   } 

//      <!--- Tread Read Hack On ---> 
   $visit_time = time(); 
   $usr_id = $userdata['user_id']; 
       
   $sqldel = "DELETE FROM " . TOPIC_READ_TABLE . " WHERE user_id = $usr_id AND topic_id = $topic_id"; 
   if ( !($result = $db->sql_query($sqldel)) ) 
   { 
      message_die(GENERAL_ERROR, 'Error Topic Read Delete', '', __LINE__, __FILE__, $sql); 
   } 
    
   $sql = "INSERT INTO " . TOPIC_READ_TABLE . " (topic_id, post_id, user_id, visit_time, forum_id) VALUES ('$topic_id' , '$post_id', $usr_id, '$visit_time', '$forum_id')"; 
   if ( !($result = $db->sql_query($sql)) ) 
   { 
      message_die(GENERAL_ERROR, 'Error Topic Read', '', __LINE__, __FILE__, $sql); 
   } 
//      <!--- Tread Read Hack Off ---> 
    
   $sql = ($mode != 'editpost') ? "INSERT INTO " . POSTS_TEXT_TABLE . " (post_id, post_subject, bbcode_uid, post_text, quiz_answer , post_az) VALUES ($post_id, '$post_subject', '$bbcode_uid', '$post_message', '" . ( empty($post_data['quiz_answer']) ? '' : $post_data['quiz_answer'] ) . "' , '$post_az')" : "UPDATE " . POSTS_TEXT_TABLE . " SET post_text = '$post_message',  bbcode_uid = '$bbcode_uid', post_subject = '$post_subject', post_az = '$post_az' WHERE post_id = $post_id"; 
   // ADDED , quiz_answer AND , '" . ( empty($post_data['quiz_answer']) ? '' : $post_data['quiz_answer'] ) . "' BY Quiz Hack 
   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)); 

   // 
   // Add poll 
   // 
   if (($mode == 'newtopic' || ($mode == 'editpost' && $post_data['edit_poll'])) && !empty($poll_title) && count($poll_options) >= 2) 
   { 
      $sql = (!$post_data['has_poll']) ? "INSERT INTO " . VOTE_DESC_TABLE . " (topic_id, vote_text, vote_start, vote_length) VALUES ($topic_id, '$poll_title', $current_time, " . ($poll_length * 86400) . ")" : "UPDATE " . VOTE_DESC_TABLE . " SET vote_text = '$poll_title', vote_length = " . ($poll_length * 86400) . " WHERE topic_id = $topic_id"; 
      if (!$db->sql_query($sql)) 
      { 
         message_die(GENERAL_ERROR, 'Error in posting', '', __LINE__, __FILE__, $sql); 
      } 

      $delete_option_sql = ''; 
      $old_poll_result = array(); 
      if ($mode == 'editpost' && $post_data['has_poll']) 
      { 
         $sql = "SELECT vote_option_id, vote_result  
            FROM " . VOTE_RESULTS_TABLE . " 
            WHERE vote_id = $poll_id 
            ORDER BY vote_option_id ASC"; 
         if (!($result = $db->sql_query($sql))) 
         { 
            message_die(GENERAL_ERROR, 'Could not obtain vote data results for this topic', '', __LINE__, __FILE__, $sql); 
         } 

         while ($row = $db->sql_fetchrow($result)) 
         { 
            $old_poll_result[$row['vote_option_id']] = $row['vote_result']; 

            if (!isset($poll_options[$row['vote_option_id']])) 
            { 
               $delete_option_sql .= ($delete_option_sql != '') ? ', ' . $row['vote_option_id'] : $row['vote_option_id']; 
            } 
         } 
      } 
       
      else 
      { 
         $poll_id = $db->sql_nextid(); 
      } 

      @reset($poll_options); 

      $poll_option_id = 1; 
      while (list($option_id, $option_text) = each($poll_options)) 
      { 
         if (!empty($option_text)) 
         { 
            $option_text = str_replace("\'", "''", htmlspecialchars($option_text)); 
            $poll_result = ($mode == "editpost" && isset($old_poll_result[$option_id])) ? $old_poll_result[$option_id] : 0; 

            $sql = ($mode != "editpost" || !isset($old_poll_result[$option_id])) ? "INSERT INTO " . VOTE_RESULTS_TABLE . " (vote_id, vote_option_id, vote_option_text, vote_result) VALUES ($poll_id, $poll_option_id, '$option_text', $poll_result)" : "UPDATE " . VOTE_RESULTS_TABLE . " SET vote_option_text = '$option_text', vote_result = $poll_result WHERE vote_option_id = $option_id AND vote_id = $poll_id"; 
            if (!$db->sql_query($sql)) 
            { 
               message_die(GENERAL_ERROR, 'Error in posting', '', __LINE__, __FILE__, $sql); 
            } 
            $poll_option_id++; 
         } 
      } 

      if ($delete_option_sql != '') 
      { 
         $sql = "DELETE FROM " . VOTE_RESULTS_TABLE . " 
            WHERE vote_option_id IN ($delete_option_sql) 
               AND vote_id = $poll_id"; 
         if (!$db->sql_query($sql)) 
         { 
            message_die(GENERAL_ERROR, 'Error deleting pruned poll options', '', __LINE__, __FILE__, $sql); 
         } 
      } 
   } 

   $meta = '<meta http-equiv="refresh" content="3;url=' . append_sid("viewtopic.$phpEx?" . POST_POST_URL . "=" . $post_id) . '#' . $post_id . '">'; 
   $message = $lang['Stored'] . '<br /><br />' . sprintf($lang['Click_view_message'], '<a href="' . append_sid("viewtopic.$phpEx?" . POST_POST_URL . "=" . $post_id) . '#' . $post_id . '">', '</a>') . '<br /><br />' . sprintf($lang['Click_return_forum'], '<a href="' . append_sid("viewforum.$phpEx?" . POST_FORUM_URL . "=$forum_id") . '">', '</a>'); 

   return false; 
} 

// 
// Update post stats and details 
// 
function update_post_stats(&$mode, &$post_data, &$forum_id, &$topic_id, &$post_id, &$user_id) 
{ 
   global $db; 

   $sign = ($mode == 'delete') ? '- 1' : '+ 1'; 
   $forum_update_sql = "forum_posts = forum_posts $sign"; 
   $topic_update_sql = ''; 

   if ($mode == 'delete') 
   { 
      if ($post_data['last_post']) 
      { 
         if ($post_data['first_post']) 
         { 
            $forum_update_sql .= ', forum_topics = forum_topics - 1'; 
         } 
         else 
         { 

            $topic_update_sql .= 'topic_replies = topic_replies - 1'; 

            $sql = "SELECT MAX(post_id) AS last_post_id 
               FROM " . POSTS_TABLE . " 
               WHERE topic_id = $topic_id"; 
            if (!($result = $db->sql_query($sql))) 
            { 
               message_die(GENERAL_ERROR, 'Error in deleting post', '', __LINE__, __FILE__, $sql); 
            } 

            if ($row = $db->sql_fetchrow($result)) 
            { 
               $topic_update_sql .= ', topic_last_post_id = ' . $row['last_post_id']; 
            } 
         } 

         if ($post_data['last_topic']) 
         { 
            $sql = "SELECT MAX(post_id) AS last_post_id 
               FROM " . POSTS_TABLE . " 
               WHERE forum_id = $forum_id"; 
            if (!($result = $db->sql_query($sql))) 
            { 
               message_die(GENERAL_ERROR, 'Error in deleting post', '', __LINE__, __FILE__, $sql); 
            } 

            if ($row = $db->sql_fetchrow($result)) 
            { 
               $forum_update_sql .= ($row['last_post_id']) ? ', forum_last_post_id = ' . $row['last_post_id'] : ', forum_last_post_id = 0'; 
            } 
         } 
      } 
      else if ($post_data['first_post']) 
      { 
         $sql = "SELECT MIN(post_id) AS first_post_id 
            FROM " . POSTS_TABLE . " 
            WHERE topic_id = $topic_id"; 
         if (!($result = $db->sql_query($sql))) 
         { 
            message_die(GENERAL_ERROR, 'Error in deleting post', '', __LINE__, __FILE__, $sql); 
         } 

         if ($row = $db->sql_fetchrow($result)) 
         { 
            $topic_update_sql .= 'topic_replies = topic_replies - 1, topic_first_post_id = ' . $row['first_post_id']; 
         } 
      } 
      else 
      { 
         $topic_update_sql .= 'topic_replies = topic_replies - 1'; 
      } 
   } 
   else if ($mode != 'poll_delete') 
   { 
      $forum_update_sql .= ", forum_last_post_id = $post_id" . (($mode == 'newtopic') ? ", forum_topics = forum_topics $sign" : ""); 
      $topic_update_sql = "topic_last_post_id = $post_id" . (($mode == 'reply') ? ", topic_replies = topic_replies $sign" : ", topic_first_post_id = $post_id"); 
   } 
   else 
   { 
      $topic_update_sql .= 'topic_vote = 0'; 
   } 

   $sql = "UPDATE " . FORUMS_TABLE . " SET 
      $forum_update_sql 
      WHERE forum_id = $forum_id"; 
   if (!$db->sql_query($sql)) 
   { 
      message_die(GENERAL_ERROR, 'Error in posting', '', __LINE__, __FILE__, $sql); 
   } 

   if ($topic_update_sql != '') 
   { 
      $sql = "UPDATE " . TOPICS_TABLE . " SET 
         $topic_update_sql 
         WHERE topic_id = $topic_id"; 
      if (!$db->sql_query($sql)) 
      { 
         message_die(GENERAL_ERROR, 'Error in posting', '', __LINE__, __FILE__, $sql); 
      } 
   } 

   if ($mode != 'poll_delete') 
   { 
      $sql = "UPDATE " . USERS_TABLE . " 
         SET user_posts = user_posts $sign 
         WHERE user_id = $user_id"; 
      if (!$db->sql_query($sql, END_TRANSACTION)) 
      { 
         message_die(GENERAL_ERROR, 'Error in posting', '', __LINE__, __FILE__, $sql); 
      } 
   } 

   return; 
} 

// 
// Delete a post/poll 
// 
function delete_post($mode, &$post_data, &$message, &$meta, &$forum_id, &$topic_id, &$post_id, &$poll_id) 
{ 
   global $board_config, $lang, $db, $phpbb_root_path, $phpEx; 
   global $userdata, $user_ip; 

   if ($mode != 'poll_delete') 
   { 
      include($phpbb_root_path . 'includes/functions_search.'.$phpEx); 

      $sql = "DELETE FROM " . POSTS_TABLE . " 
         WHERE post_id = $post_id"; 
      if (!$db->sql_query($sql)) 
      { 
         message_die(GENERAL_ERROR, 'Error in deleting post', '', __LINE__, __FILE__, $sql); 
      } 

      $sql = "DELETE FROM " . POSTS_TEXT_TABLE . " 
         WHERE post_id = $post_id"; 
      if (!$db->sql_query($sql)) 
      { 
         message_die(GENERAL_ERROR, 'Error in deleting post', '', __LINE__, __FILE__, $sql); 
      } 

      // BEGIN Report post hack 
      if ( !empty($post_data['report']) ) 
      { 
         global $rp; 
         if ( !isset($rp) ) 
         { 
            include('reportpost.'.$phpEx); 
         } 
         $rp->update_refresh_report_popup($forum_id); 
      } 
      // END Report post hack 
       
      if ($post_data['last_post']) 
      { 
         if ($post_data['first_post']) 
         { 
            $forum_update_sql .= ', forum_topics = forum_topics - 1'; 
            $sql = "DELETE FROM " . TOPICS_TABLE . " 
               WHERE topic_id = $topic_id 
                  OR topic_moved_id = $topic_id"; 
            if (!$db->sql_query($sql)) 
            { 
               message_die(GENERAL_ERROR, 'Error in deleting post', '', __LINE__, __FILE__, $sql); 
            } 

            $sql = "DELETE FROM " . TOPICS_WATCH_TABLE . " 
               WHERE topic_id = $topic_id"; 
            if (!$db->sql_query($sql)) 
            { 
               message_die(GENERAL_ERROR, 'Error in deleting post', '', __LINE__, __FILE__, $sql); 
            }
			
			// BEGIN Quiz Hack 
            if ( $post_data['topic_quiz'] ) 
            { 
               $sql = "UPDATE " . QUIZ_TABLE . " 
                  SET quiz_status = 4, quiz_topic_id = 0 
                  WHERE quiz_topic_id = $topic_id"; 
               if ( !$db->sql_query($sql) ) 
               { 
                  message_die(GENERAL_ERROR, 'Could not update quiz status', '', __LINE__, __FILE__, $sql); 
               } 
               $sql = "DELETE FROM " . QUIZ_ANSWER_TABLE . " 
                  WHERE topic_id = $topic_id"; 
               if ( !$db->sql_query($sql) ) 
               { 
                  message_die(GENERAL_ERROR, 'Could not update quiz answer table', '', __LINE__, __FILE__, $sql); 
               } 
            } 
            // END Quiz Hack 
 
            $sql = "DELETE FROM " . BOOKMARK_TABLE . " 
               WHERE topic_id = $topic_id"; 
            if ( !$db->sql_query($sql) ) 
            { 
               message_die(GENERAL_ERROR, 'Error in deleting post', '', __LINE__, __FILE__, $sql); 
            } 
         } 
      } 

      remove_search_post($post_id); 
   } 

   if ($mode == 'poll_delete' || ($mode == 'delete' && $post_data['first_post'] && $post_data['last_post']) && $post_data['has_poll'] && $post_data['edit_poll']) 
   { 
      $sql = "DELETE FROM " . VOTE_DESC_TABLE . " 
         WHERE topic_id = $topic_id"; 
      if (!$db->sql_query($sql)) 
      { 
         message_die(GENERAL_ERROR, 'Error in deleting poll', '', __LINE__, __FILE__, $sql); 
      } 

      $sql = "DELETE FROM " . VOTE_RESULTS_TABLE . " 
         WHERE vote_id = $poll_id"; 
      if (!$db->sql_query($sql)) 
      { 
         message_die(GENERAL_ERROR, 'Error in deleting poll', '', __LINE__, __FILE__, $sql); 
      } 

      $sql = "DELETE FROM " . VOTE_USERS_TABLE . " 
         WHERE vote_id = $poll_id"; 
      if (!$db->sql_query($sql)) 
      { 
         message_die(GENERAL_ERROR, 'Error in deleting poll', '', __LINE__, __FILE__, $sql); 
      } 
   } 

   if ($mode == 'delete' && $post_data['first_post'] && $post_data['last_post']) 
   { 
      $meta = '<meta http-equiv="refresh" content="3;url=' . append_sid("viewforum.$phpEx?" . POST_FORUM_URL . '=' . $forum_id) . '">'; 
      $message = $lang['Deleted']; 
   } 
   else 
   { 
      $meta = '<meta http-equiv="refresh" content="3;url=' . append_sid("viewtopic.$phpEx?" . POST_TOPIC_URL . '=' . $topic_id) . '">'; 
      $message = (($mode == 'poll_delete') ? $lang['Poll_delete'] : $lang['Deleted']) . '<br /><br />' . sprintf($lang['Click_return_topic'], '<a href="' . append_sid("viewtopic.$phpEx?" . POST_TOPIC_URL . "=$topic_id") . '">', '</a>'); 
   } 

   $message .=  '<br /><br />' . sprintf($lang['Click_return_forum'], '<a href="' . append_sid("viewforum.$phpEx?" . POST_FORUM_URL . "=$forum_id") . '">', '</a>'); 

   return; 
} 

// 
// Handle user notification on new post 
// 
function user_notification($mode, &$post_data, &$topic_title, &$forum_id, &$topic_id, &$post_id, &$notify_user) 
{ 
   global $HTTP_SERVER_VARS, $HTTP_ENV_VARS; 
   global $board_config, $lang, $db, $phpbb_root_path, $phpEx; 
   global $userdata, $user_ip; 

   $current_time = time(); 

   if ( $mode == "delete" ) 
   { 
      $delete_sql = ( !$post_data['first_post'] && !$post_data['last_post'] ) ? " AND user_id = " . $userdata['user_id'] : ""; 
      $sql = "DELETE FROM " . TOPICS_WATCH_TABLE . " WHERE topic_id = $topic_id" . $delete_sql; 
      if ( !($result = $db->sql_query($sql)) ) 
      { 
         message_die(GENERAL_ERROR, "Couldn't change topic notify data", "", __LINE__, __FILE__, $sql); 
      } 
   } 
   else 
   { 
      if ( $mode == "reply" ) 
      { 
         $sql = "SELECT ban_userid 
            FROM " . BANLIST_TABLE; 
         if ( !($result = $db->sql_query($sql)) ) 
         { 
            message_die(GENERAL_ERROR, 'Could not obtain banlist', '', __LINE__, __FILE__, $sql); 
         } 

         $user_id_sql = ""; 
         while ( $row = $db->sql_fetchrow($result) ) 
         { 
            if ( isset($row['ban_userid']) ) 
            { 
               $user_id_sql = ", " . $row['ban_userid']; 
            } 
         } 

         $sql = "SELECT u.user_id, u.username, u.user_email, u.user_lang, t.topic_title 
            FROM " . TOPICS_WATCH_TABLE . " tw, " . TOPICS_TABLE . " t, " . USERS_TABLE . " u 
            WHERE tw.topic_id = $topic_id 
               AND tw.user_id NOT IN (" . $userdata['user_id'] . ", " . ANONYMOUS . $user_id_sql . " ) 
               AND tw.notify_status = " . TOPIC_WATCH_UN_NOTIFIED . " 
               AND t.topic_id = tw.topic_id 
               AND u.user_id = tw.user_id"; 
         if ( !($result = $db->sql_query($sql)) ) 
         { 
            message_die(GENERAL_ERROR, "", "", __LINE__, __FILE__, $sql); 
         } 

         $orig_word = array(); 
         $replacement_word = array(); 
         obtain_word_list($orig_word, $replacement_word); 

         include($phpbb_root_path . 'includes/emailer.'.$phpEx); 
         $emailer = new emailer($board_config['smtp_delivery']); 

         $script_name = preg_replace("/^\/?(.*?)\/?$/", "\\1", trim($board_config['script_path'])); 
         $script_name = ( $script_name != '' ) ? $script_name . '/viewtopic.'.$phpEx : 'viewtopic.'.$phpEx; 
         $server_name = trim($board_config['server_name']); 
         $server_protocol = ( $board_config['cookie_secure'] ) ? "https://" : "http://"; 
         $server_port = ( $board_config['server_port'] <> 80 ) ? ':' . trim($board_config['server_port']) . '/' : '/'; 

         $email_headers = "From: " . $board_config['board_email'] . "\nReturn-Path: " . $board_config['board_email'] . "\r\n"; 

         $update_watched_sql = ""; 
         if ( $row = $db->sql_fetchrow($result) ) 
         { 
            $topic_title = preg_replace($orig_word, $replacement_word, unprepare_message($row['topic_title'])); 
            $post_text = preg_replace($orig_word, $replacement_word, unprepare_message($post_data['message'])); 

            do 
            { 
               if ( $row['user_email'] != "" ) 
               { 
                  $emailer->use_template("topic_notify", $row['user_lang']); 
                  $emailer->email_address($row['user_email']); 
                  $emailer->set_subject();//$lang['Topic_reply_notification'] 
                  $emailer->extra_headers($email_headers); 

                  $emailer->assign_vars(array( 
                     "EMAIL_SIG" => str_replace("<br />", "\n", "-- \n" . $board_config['board_email_sig']), 
                     "USERNAME" => $row['username'], 
                     "SITENAME" => $board_config['sitename'], 
                     "TOPIC_TITLE" => $topic_title, 
                     "POST_TEXT" => $post_text, 
                     "POSTERNAME" => $post_data['username'], 
                     "U_TOPIC" => $server_protocol . $server_name . $server_port . $script_name . "?" . POST_POST_URL . "=$post_id#$post_id", 
                     "FORUM_NAME" => $row['forum_name'], 
                     "U_STOP_WATCHING_TOPIC" => $server_protocol . $server_name . $server_port . $script_name . "?" . POST_TOPIC_URL . "=$topic_id&unwatch=topic") 
                  ); 

                  $emailer->send(); 
                  $emailer->reset(); 

                  $update_watched_sql .= ( $update_watched_sql != "" ) ? ", " . $row['user_id'] : $row['user_id']; 
               } 
            } 
            while ( $row = $db->sql_fetchrow($result) ); 
         } 
          
         $already_mailed = ( trim($update_watched_sql) == '' ) ? "" : "$update_watched_sql, "; 
          
         $sql = "SELECT u.user_id, u.username, u.user_email, u.user_lang, t.topic_title, f.forum_name 
            FROM " . TOPICS_TABLE . " t, " . USERS_TABLE . " u, " . FORUMS_WATCH_TABLE . " fw, " . FORUMS_TABLE . " f 
            WHERE fw.forum_id = $forum_id 
               AND fw.user_id NOT IN (" . $already_mailed . $userdata['user_id'] . ", " . ANONYMOUS . $user_id_sql . " ) 
               AND t.topic_id = $topic_id 
               AND f.forum_id = $forum_id 
               AND f.forum_notify = '1' 
               AND u.user_id = fw.user_id"; 
         if ( !($result = $db->sql_query($sql)) ) 
         { 
            message_die(GENERAL_ERROR, "", "", __LINE__, __FILE__, $sql); 
         } 
          
         $script_name = preg_replace("/^\/?(.*?)\/?$/", "\\1", trim($board_config['script_path'])); 
         $script_name_forum = ( $script_name != '' ) ? $script_name . '/viewforum.'.$phpEx : 'viewforum.'.$phpEx; 
         $script_name = ( $script_name != '' ) ? $script_name . '/viewtopic.'.$phpEx : 'viewtopic.'.$phpEx; 
          
         $temp_is_auth = array(); 
          
         if ( $row = $db->sql_fetchrow($result) ) 
         { 
            $topic_title = preg_replace($orig_word, $replacement_word, unprepare_message($row['topic_title'])); 
            $post_text = preg_replace($orig_word, $replacement_word, unprepare_message($post_data['message'])); 

            do 
            { 
               $temp_userdata = get_userdata($row['user_id']); 
               $temp_is_auth = auth(AUTH_ALL, $forum_id, $temp_userdata, -1); 
                
               // another security check (i.e. the forum might have become private and 
               // there are still users who have notification activated) 
               if( $temp_is_auth['auth_read'] && $temp_is_auth['auth_view'] ) 
               { 
                  if ( $row['user_email'] != "" ) 
                  { 
                     $emailer->use_template("forum_notify", $row['user_lang']); 
                     $emailer->email_address($row['user_email']); 
                     $emailer->set_subject();//$lang['Topic_reply_notification'] 
                     $emailer->extra_headers($email_headers); 
    
                     $emailer->assign_vars(array( 
                        "EMAIL_SIG" => str_replace("<br />", "\n", "-- \n" . $board_config['board_email_sig']), 
                        "USERNAME" => $row['username'], 
                        "SITENAME" => $board_config['sitename'], 
                        "TOPIC_TITLE" => $topic_title, 
                        "POST_TEXT" => $post_text, 
                        "POSTERNAME" => $post_data['username'], 
                        "U_TOPIC" => $server_protocol . $server_name . $server_port . $script_name . "?" . POST_POST_URL . "=$post_id#$post_id", 
                        "FORUM_NAME" => $row['forum_name'], 
                        "U_STOP_WATCHING_FORUM" => $server_protocol . $server_name . $server_port . $script_name_forum . "?" . POST_FORUM_URL . "=$forum_id&unwatch=forum") 
                     ); 
    
                     $emailer->send(); 
                     $emailer->reset(); 
    
                  } 
               } 
            } 
            while ( $row = $db->sql_fetchrow($result) ); 
         } 



         if ( $update_watched_sql != "" ) 
         { 
            $sql = "UPDATE " . TOPICS_WATCH_TABLE . " 
               SET notify_status = " . TOPIC_WATCH_NOTIFIED . " 
               WHERE topic_id = $topic_id 
                  AND user_id IN ($update_watched_sql)"; 
            $db->sql_query($sql); 
         } 
       
      } 

      // 
      // code for newtopic forum notification 
      // 
      if ( $mode == "newtopic" ) 
      { 
         $sql = "SELECT ban_userid 
            FROM " . BANLIST_TABLE; 
         if ( !($result = $db->sql_query($sql)) ) 
         { 
            message_die(GENERAL_ERROR, "", "", __LINE__, __FILE__, $sql); 
         } 

         $user_id_sql = ""; 
         while ( $row = $db->sql_fetchrow($result) ) 
         { 
            if ( isset($row['ban_userid']) ) 
            { 
               $user_id_sql = ", " . $row['ban_userid']; 
            } 
         } 

         $sql = "SELECT u.user_id, u.username, u.user_email, u.user_lang, f.forum_name 
            FROM " . USERS_TABLE . " u, " . FORUMS_WATCH_TABLE . " fw, " . FORUMS_TABLE . " f 
            WHERE fw.forum_id = $forum_id 
               AND fw.user_id NOT IN (" . $userdata['user_id'] . ", " . ANONYMOUS . $user_id_sql . " ) 
               AND f.forum_id = $forum_id 
               AND f.forum_notify = '1' 
               AND u.user_id = fw.user_id"; 
         if ( !($result = $db->sql_query($sql)) ) 
         { 
            message_die(GENERAL_ERROR, "", "", __LINE__, __FILE__, $sql); 
         } 
          
         $orig_word = array(); 
         $replacement_word = array(); 
         obtain_word_list($orig_word, $replacement_word); 

         include($phpbb_root_path . 'includes/emailer.'.$phpEx); 
         $emailer = new emailer($board_config['smtp_delivery']); 

         $script_name = preg_replace("/^\/?(.*?)\/?$/", "\\1", trim($board_config['script_path'])); 
         $script_name_forum = ( $script_name != '' ) ? $script_name . '/viewforum.'.$phpEx : 'viewforum.'.$phpEx; 
         $script_name = ( $script_name != '' ) ? $script_name . '/viewtopic.'.$phpEx : 'viewtopic.'.$phpEx; 
         $server_name = trim($board_config['server_name']); 
         $server_protocol = ( $board_config['cookie_secure'] ) ? "https://" : "http://"; 
         $server_port = ( $board_config['server_port'] <> 80 ) ? ':' . trim($board_config['server_port']) . '/' : '/'; 

         $email_headers = "From: " . $board_config['board_email'] . "\nReturn-Path: " . $board_config['board_email'] . "\r\n"; 
          
         $temp_is_auth = array(); 
         if ( $row = $db->sql_fetchrow($result) ) 
         { 
            $topic_title = preg_replace($orig_word, $replacement_word, unprepare_message($post_data['subject'])); 
            $post_text = preg_replace($orig_word, $replacement_word, unprepare_message($post_data['message'])); 
             
            do 
            { 
               $temp_userdata = get_userdata($row['user_id']); 
               $temp_is_auth = auth(AUTH_ALL, $forum_id, $temp_userdata, -1); 
                
               // another security check (i.e. the forum might have become private and 
               // there are still users who have notification activated) 
               if( $temp_is_auth['auth_read'] && $temp_is_auth['auth_view'] ) 
               { 
                  if ( $row['user_email'] != "" ) 
                  { 
                     $emailer->use_template("newtopic_notify", $row['user_lang']); 
                     $emailer->email_address($row['user_email']); 
                     $emailer->set_subject();//$lang['Topic_reply_notification'] 
                     $emailer->extra_headers($email_headers); 
    
                     $emailer->assign_vars(array( 
                        "EMAIL_SIG" => str_replace("<br />", "\n", "-- \n" . $board_config['board_email_sig']), 
                        "USERNAME" => $row['username'], 
                        "SITENAME" => $board_config['sitename'], 
                        "TOPIC_TITLE" => $topic_title, 
                        "POST_TEXT" => $post_text, 
                        "POSTERNAME" => $post_data['username'], 
                        "U_TOPIC" => $server_protocol . $server_name . $server_port . $script_name . "?" . POST_POST_URL . "=$post_id#$post_id", 
                        "FORUM_NAME" => $row['forum_name'], 
                        "U_STOP_WATCHING_FORUM" => $server_protocol . $server_name . $server_port . $script_name_forum . "?" . POST_FORUM_URL . "=$forum_id&unwatch=forum") 
                     ); 
    
                     $emailer->send(); 
                     $emailer->reset(); 
    
                  } 
               } 
            } 
            while ( $row = $db->sql_fetchrow($result) ); 
         } 

      } 

      $sql = "SELECT topic_id 
         FROM " . TOPICS_WATCH_TABLE . " 
         WHERE topic_id = $topic_id 
            AND user_id = " . $userdata['user_id']; 
      if ( !($result = $db->sql_query($sql)) ) 
      { 
         message_die(GENERAL_ERROR, "Couldn't obtain topic watch information", "", __LINE__, __FILE__, $sql); 
      } 

      $row = $db->sql_fetchrow($result); 

      if ( !$notify_user && !empty($row['topic_id']) ) 
      { 
         $sql = "DELETE FROM " . TOPICS_WATCH_TABLE . " 
            WHERE topic_id = $topic_id 
               AND user_id = " . $userdata['user_id']; 
         if ( !$result = $db->sql_query($sql) ) 
         { 
            message_die(GENERAL_ERROR, "Couldn't delete topic watch information", "", __LINE__, __FILE__, $sql); 
         } 
      } 
      else if ( $notify_user && empty($row['topic_id']) ) 
      { 
         $sql = "INSERT INTO " . TOPICS_WATCH_TABLE . " (user_id, topic_id, notify_status) 
            VALUES (" . $userdata['user_id'] . ", $topic_id, 0)"; 
         if ( !($result = $db->sql_query($sql)) ) 
         { 
            message_die(GENERAL_ERROR, "Couldn't insert topic watch information", "", __LINE__, __FILE__, $sql); 
         } 
      } 
   } 
} 

// 
// Fill smiley templates (or just the variables) with smileys 
// Either in a window or inline 
// 
function generate_smilies($mode, $page_id) 
{ 
   global $db, $board_config, $template, $lang, $images, $theme, $phpEx, $phpbb_root_path; 
   global $user_ip, $session_length, $starttime; 
   global $userdata; 

   $inline_columns = 4; 
   $inline_rows = 5; 
   $window_columns = 8; 

   if ($mode == 'window') 
   { 
      $userdata = session_pagestart($user_ip, $page_id); 
      init_userprefs($userdata); 

      $gen_simple_header = TRUE; 

      $page_title = $lang['Review_topic'] . " - $topic_title"; 
      include($phpbb_root_path . 'includes/page_header.'.$phpEx); 

      $template->set_filenames(array( 
         'smiliesbody' => 'posting_smilies.tpl') 
      ); 
   } 

   $sql = "SELECT emoticon, code, smile_url    
      FROM " . SMILIES_TABLE . " 
      ORDER BY smilies_id"; 
   if ($result = $db->sql_query($sql)) 
   { 
      $num_smilies = 0; 
      $rowset = array(); 
      while ($row = $db->sql_fetchrow($result)) 
      { 
         if (empty($rowset[$row['smile_url']])) 
         { 
            $rowset[$row['smile_url']]['code'] = str_replace("'", "\\'", str_replace('\\', '\\\\', $row['code'])); 
            $rowset[$row['smile_url']]['emoticon'] = $row['emoticon']; 
            $num_smilies++; 
         } 
      } 

      if ($num_smilies) 
      { 
         $smilies_count = ($mode == 'inline') ? min(19, $num_smilies) : $num_smilies; 
         $smilies_split_row = ($mode == 'inline') ? $inline_columns - 1 : $window_columns - 1; 

         $s_colspan = 0; 
         $row = 0; 
         $col = 0; 

         while (list($smile_url, $data) = @each($rowset)) 
         { 
            if (!$col) 
            { 
               $template->assign_block_vars('smilies_row', array()); 
            } 

            $template->assign_block_vars('smilies_row.smilies_col', array( 
               'SMILEY_CODE' => $data['code'], 
               'SMILEY_IMG' => $board_config['smilies_path'] . '/' . $smile_url, 
               'SMILEY_DESC' => $data['emoticon']) 
            ); 

            $s_colspan = max($s_colspan, $col + 1); 

            if ($col == $smilies_split_row) 
            { 
               if ($mode == 'inline' && $row == $inline_rows - 1) 
               { 
                  break; 
               } 
               $col = 0; 
               $row++; 
            } 
            else 
            { 
               $col++; 
            } 
         } 

         if ($mode == 'inline' && $num_smilies > $inline_rows * $inline_columns) 
         { 
            $template->assign_block_vars('switch_smilies_extra', array()); 

            $template->assign_vars(array( 
               'L_MORE_SMILIES' => $lang['More_emoticons'], 
               'U_MORE_SMILIES' => append_sid("posting.$phpEx?mode=smilies")) 
            ); 
         } 

         $template->assign_vars(array( 
            'L_EMOTICONS' => $lang['Emoticons'], 
            'L_CLOSE_WINDOW' => $lang['Close_window'], 
            'S_SMILIES_COLSPAN' => $s_colspan) 
         ); 
      } 
   } 

   if ($mode == 'window') 
   { 
      $template->pparse('smiliesbody'); 

      include($phpbb_root_path . 'includes/page_tail.'.$phpEx); 
   } 
} 

?>
Benutzeravatar
Eclipse16V
Mitglied
Beiträge: 576
Registriert: 27.11.2002 17:04
Wohnort: Gießen
Kontaktdaten:

Beitrag von Eclipse16V »

besten Dank

Da bekomme ich aber auch immer diese Fehlermeldung:
Warning: Missing argument 14 for prepare_post() in /www/eclipse16v_de/html/phpBB2/includes/functions_post.php on line 132

Warning: Missing argument 21 for submit_post() in /www/eclipse16v_de/html/phpBB2/includes/functions_post.php on line 247

Fatal error: Call to undefined function: add_points() in /www/eclipse16v_de/html/phpBB2/includes/functions_post.php on line 323
www.Eclipse16V.de
Erste Eclipse16V IG Deutschlands
Dave
Mitglied
Beiträge: 2085
Registriert: 25.05.2003 15:03
Wohnort: Wuppertal

Beitrag von Dave »

Keine Ahnung :-?

Habe ich mich irgendwo vertan? :roll:
Benutzeravatar
Eclipse16V
Mitglied
Beiträge: 576
Registriert: 27.11.2002 17:04
Wohnort: Gießen
Kontaktdaten:

Beitrag von Eclipse16V »

Denke nicht.
ich hatte es auch noch mal versucht und der gleiche Fehler.
www.Eclipse16V.de
Erste Eclipse16V IG Deutschlands
Dave
Mitglied
Beiträge: 2085
Registriert: 25.05.2003 15:03
Wohnort: Wuppertal

Beitrag von Dave »

Überprüfe mal die anderen Dateien ;)
Benutzeravatar
saerdnaer
Ehemaliges Teammitglied
Beiträge: 4268
Registriert: 21.04.2001 02:00

Beitrag von saerdnaer »

du hast schon allers richtig eingebaut... die zeilen in der includes/funcitons_post.php die mit

function submit_post
- und -
function prepare_post

anfangen bitte

ah
Benutzeravatar
Eclipse16V
Mitglied
Beiträge: 576
Registriert: 27.11.2002 17:04
Wohnort: Gießen
Kontaktdaten:

Beitrag von Eclipse16V »

Ja und welche?
Die Fehlermeldung muß man doch irrgendwie einkreisen können auf eine bestimmte Datei.
www.Eclipse16V.de
Erste Eclipse16V IG Deutschlands
Benutzeravatar
Eclipse16V
Mitglied
Beiträge: 576
Registriert: 27.11.2002 17:04
Wohnort: Gießen
Kontaktdaten:

Beitrag von Eclipse16V »

Code: Alles auswählen

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, &$post_az, &$poll_title, &$poll_options, &$poll_length, $post_icon = 0)

Code: Alles auswählen

function prepare_post(&$mode, &$post_data, &$bbcode_on, &$html_on, &$smilies_on, &$error_msg, &$username, &$bbcode_uid, &$subject, &$message, &$amazon, &$poll_title, &$poll_options, &$poll_length)
www.Eclipse16V.de
Erste Eclipse16V IG Deutschlands
Antworten

Zurück zu „phpBB 2.0: Mod Support“