Seite 1 von 2

Beim löschen eines Beitrages kommt eine Fehlermeldung

Verfasst: 17.10.2005 19:32
von DreamPromise
Moin moin

wenn ich einen Beitrag löschen will kommt folgende Meldung:

Code: Alles auswählen

Error in deleting post

DEBUG MODE

SQL Error : 1064 You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHERE topic_id = 311' at line 3

UPDATE forum_topics SET forum_id = WHERE topic_id = 311

Line : 415
File : functions_post.php
Der Beitrag wird aber gelöscht.

Habt ihr ne Idee was das sein kann ??

Danke schon mal

DP

Verfasst: 18.10.2005 13:43
von netzmeister
Hallo,
da Du die "functions_post.php" modifiziert hast, wäre es das beste Du würdest Sie hier verlinken. (KB:81)

Gruß netzmeister

Verfasst: 18.10.2005 17:35
von DreamPromise
Moin moin

ja ich hab eine MOD installiert....

Hier mal die functions_post

Verfasst: 18.10.2005 18:09
von netzmeister
DreamPromise hat geschrieben:Moin moin

ja ich hab eine MOD installiert....

Hier mal die functions_post
Welchen Mod hast Du installiert?

Code: Alles auswählen

SET forum_id = " . $board_config['delete_post_forum'] . "
Das ist die Zeile wo der Fehler entsteht. Hast Du in der Board-Config einen falschen bzw. keinen Wert eingetragen?

Gruß netzmeister

Verfasst: 18.10.2005 18:53
von DreamPromise
Moin moin

ich hab die "Post move instead deleting"-MOD eingebaut.
Was mir gerade aufgefallen ist , ist das ich die Einstellungen doppelt im ACP habe
[ externes Bild ]

Die Forum-ID hatte ich erst auf 35 ... hab sie dann auf f=35 geändert.....aber es funktioniert nicht.

DP

Verfasst: 18.10.2005 19:51
von netzmeister
Dann kontrolliere mal als erstes wieso Du die Einstellungsmöglichkeit zweimal hast. Evtl. findest Du den Fehler ja.

Gruß netzmeister

Verfasst: 18.10.2005 19:59
von DreamPromise
Hallo

also den doppelten eintrag hab ich gefunden.....aber der Fehler ist nicht beseitigt.

Haste noch eine Idee ???

Hier mal die MOD:

Code: Alles auswählen

##############################################################
## MOD Title:		Post move instead deleting
## MOD Author: oxpus < webmaster@oxpus.de > (Karsten Ude) http://www.oxpus.de
## MOD Description:	This mod will move posts to a hidden forum instead deleting them by an user or mod.
##			The admin can alltimes delete and mods if they are allowed to, too.
## MOD Version:		1.0.0
##
## Installation Level:	Intermediate
## Installation Time:	5-10 min
## Files To Edit:	7
##			admin/admin_boards.php
##			includes/functions_post.php
##			language/lang_english/lang_admin.php
##			language/lang_english/lang_main.php
##			language/lang_german/lang_admin.php
##			language/lang_german/lang_main.php
##			templates/subSilver/admin/board_config_body.tpl
## Included Files:	n/a
##############################################################
## For Security Purposes, Please Check: http://www.phpbb.com/mods/downloads/ for the
## latest version of this MOD. Downloading this MOD from other sites could cause malicious code
## to enter into your phpBB Forum. As such, phpBB will not offer support for MODs not offered
## in our MOD-Database, located at: http://www.phpbb.com/mods/downloads/
##############################################################
## Author Notes:
##
## Upload the file
## 		db_update.php
## to your phpbb root directory and run this with your browser.
## This file will do all nessassary changes in the database for you.
## After using this file, please delete it to avoid errors.
##
##############################################################
## MOD History:
##
##   2005-02-26 - Version 1.0.0
##	- History point
##
##############################################################
## Before Adding This MOD To Your Forum, You Should Back Up All Files Related To This MOD
##############################################################

#
#-----[ OPEN ]------------------------------------------
#
admin/admin_board.php

#
#-----[ FIND ]------------------------------------------
#
$namechange_yes = ( $new['allow_namechange'] ) ? "checked=\"checked\"" : "";
$namechange_no = ( !$new['allow_namechange'] ) ? "checked=\"checked\"" : "";

#
#-----[ AFTER, ADD ]------------------------------------------
#
$mod_allow_delete_post_yes = ( $new['mod_allow_delete_post'] ) ? "checked=\"checked\"" : "";
$mod_allow_delete_post_no = ( !$new['mod_allow_delete_post'] ) ? "checked=\"checked\"" : "";

#
#-----[ FIND ]------------------------------------------
#
	"L_RESET" => $lang['Reset'],

#
#-----[ AFTER, ADD ]------------------------------------------
#
	"L_DELETE_POST_FORUM" => $lang['Delete_post_forum'],
	"L_DELETE_POST_FORUM_EXPLAIN" => $lang['Delete_post_forum_explain'],
	"L_MOD_ALLOW_DELETE_POST" => $lang['Mod_allow_delete_post'],
	"L_MOD_ALLOW_DELETE_POST_EXPLAIN" => $lang['Mod_allow_delete_post_explain'],
	"DELETE_POST_FORUM" => $new['delete_post_forum'],
	"MOD_ALLOW_DELETE_POST_YES" => $mod_allow_delete_post_yes,
	"MOD_ALLOW_DELETE_POST_NO" => $mod_allow_delete_post_no,

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

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;

#
#-----[ AFTER, ADD ]------------------------------------------
#
	if (intval($board_config['delete_post_forum']) != 0)
	{
		$sql = "SELECT * FROM " . FORUMS_TABLE . "
			WHERE forum_id = " . $board_config['delete_post_forum'];
		if (!$result = $db->sql_query($sql))
		{
			message_die(GENERAL_ERROR, 'Error in deleting post', '', __LINE__, __FILE__, $sql);
		}
		$forum_count = $db->sql_numrows($result);
		$db->sql_freeresult($result);

		$forum_check = ($forum_count != 0) ? TRUE : 0;
	}
	else
	{
		$forum_check = 0;
	}

#
#-----[ FIND ]------------------------------------------
#
	if ($mode != 'poll_delete')
	{
		include($phpbb_root_path . 'includes/functions_search.'.$phpEx);

#
#-----[ AFTER, ADD ]------------------------------------------
#
		if (($userdata['user_level'] == ADMIN || ($userdata['user_level'] == MOD && $board_config['mod_allow_delete_post'] == 1)) && $forum_check == TRUE)
		{

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

#
#-----[ AFTER, ADD ]------------------------------------------
#
		}
		else if ($post_data['first_post'] == '')
		{
			$sql = "INSERT INTO " . TOPICS_TABLE . "
				(forum_id, topic_title, topic_poster, topic_time, topic_views, topic_replies, topic_status, topic_vote, topic_type, topic_first_post_id, topic_last_post_id, topic_moved_id)
				VALUES (".$board_config['delete_post_forum'].", '".sprintf($lang['Deleted_post_from_topic'], $topic_id)."', ".$post_data['poster_id'].", ".time().", 0, 0, ".TOPIC_UNLOCKED.", 0, ".POST_NORMAL.", $post_id, $post_id, 0)";
			if (!$db->sql_query($sql))
			{
				message_die(GENERAL_ERROR, 'Error in deleting post', '', __LINE__, __FILE__, $sql);
			}
			$new_topic_id = $db->sql_nextid();

			$sql = "UPDATE " . POSTS_TABLE . "
				SET topic_id = $new_topic_id, forum_id = ".$board_config['delete_post_forum']."
				WHERE post_id = $post_id";
			if (!$db->sql_query($sql))
			{
				message_die(GENERAL_ERROR, 'Error in deleting post', '', __LINE__, __FILE__, $sql);
			}
		}

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

#
#-----[ REPLACE WITH ]------------------------------------------
#
				if (($userdata['user_level'] == ADMIN || ($userdata['user_level'] == MOD && $board_config['mod_allow_delete_post'] == 1)) && $forum_check == TRUE)
				{
					$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);
					}
				}
				else
				{
					$sql = "UPDATE " . TOPICS_TABLE . "
						SET forum_id = " . $board_config['delete_post_forum'] . "
						WHERE topic_id = $topic_id";
					if (!$db->sql_query($sql))
					{
						message_die(GENERAL_ERROR, 'Error in deleting post', '', __LINE__, __FILE__, $sql);
					}

					$sql = "UPDATE " . POSTS_TABLE . "
						SET forum_id = " . $board_config['delete_post_forum'] . "
						WHERE topic_id = $topic_id";
					if ( !$db->sql_query($sql) )
					{
						message_die(GENERAL_ERROR, 'Error in deleting post', '', __LINE__, __FILE__, $sql);
					}
				}

#
#-----[ OPEN ]------------------------------------------
#
language/lang_english/lang_admin.php

#
#-----[ FIND ]------------------------------------------
#
?>

#
#-----[ FIND ]------------------------------------------
#
$lang['Delete_post_forum'] = 'Forum for deleted posts';
$lang['Delete_post_forum_explain'] = 'This forum will content all posts a user or mod (next option!) have deleted. Enter 0 or nothing at this field to disable this function.';
$lang['Mod_allow_delete_post'] = 'Allow Moderators to delete posts';
$lang['Mod_allow_delete_post_explain'] = 'To allow Moderators to delete posts instead moving them say YES to this option. The forum permissions to delete posts will not be changed by this function!';

#
#-----[ OPEN ]------------------------------------------
#
language/lang_english/lang_main.php

#
#-----[ FIND ]------------------------------------------
#
?>

#
#-----[ FIND ]------------------------------------------
#
$lang['Deleted_post_from_topic'] = 'Deleted post from Topic-ID %s';

#
#-----[ OPEN ]------------------------------------------
#
language/lang_english/lang_admin.php

#
#-----[ FIND ]------------------------------------------
#
?>

#
#-----[ FIND ]------------------------------------------
#
$lang['Delete_post_forum'] = 'Forum für gelöschte Beiträge';
$lang['Delete_post_forum_explain'] = 'Dieses Forum beinhaltet alle Beiträge die ein User oder Mod (siehe nächste Option!) gelöscht hat. Gib 0 ein oder lass dieses Feld leer, wenn Du diese Funktion abschalten willst.';
$lang['Mod_allow_delete_post'] = 'Erlaube Moderatoren Beiträge zu löschen';
$lang['Mod_allow_delete_post_explain'] = 'Um Moderatoren zu erlauben, Beiträge zu löschen, anstelle diese zu verschieben, wähle hier JA. Die Foren Berechtigungen zum Löschen werden mit dieser Funktion nicht geändert!';

#
#-----[ OPEN ]------------------------------------------
#
language/lang_german/lang_main.php

#
#-----[ FIND ]------------------------------------------
#
?>

#
#-----[ FIND ]------------------------------------------
#
$lang['Deleted_post_from_topic'] = 'Gelöschter Beitrag von Topic-ID %s';

#
#-----[ OPEN ]------------------------------------------
#
templates/subSilver/admin/board_config_body.tpl

#
#-----[ FIND ]------------------------------------------
#
	<tr>
		<td class="row1">{L_ENABLE_PRUNE}</td>
		<td class="row2"><input type="radio" name="prune_enable" value="1" {PRUNE_YES} /> {L_YES}&nbsp;&nbsp;<input type="radio" name="prune_enable" value="0" {PRUNE_NO} /> {L_NO}</td>
	</tr>

#
#-----[ AFTER, ADD ]------------------------------------------
#
	<tr>
		<td class="row1">{L_DELETE_POST_FORUM}<br /><span class="gensmall">{L_DELETE_POST_FORUM_EXPLAIN}</span></td>
		<td class="row2"><input type="text" class="post" name="delete_post_forum" size="4" maxlength="4" value="{DELETE_POST_FORUM}" /></td>
	</tr>
	<tr>
		<td class="row1">{L_MOD_ALLOW_DELETE_POST}<br /><span class="gensmall">{L_MOD_ALLOW_DELETE_POST_EXPLAIN}</span></td>
		<td class="row2"><input type="radio" name="mod_allow_delete_post" value="1" {MOD_ALLOW_DELETE_POST_YES} /> {L_YES}&nbsp;&nbsp;<input type="radio" name="mod_allow_delete_post" value="0" {MOD_ALLOW_DELETE_POST_NO} /> {L_NO}</td>
	</tr>


#
#-----[ SAVE/CLOSE ALL FILES ]------------------------------------------
#
# EoM

Verfasst: 19.10.2005 20:03
von DreamPromise
/schieb

Verfasst: 19.10.2005 20:52
von netzmeister
## db_update.php
Diese Datei ausgeführt nach der Installation des Mods?

Verfasst: 19.10.2005 22:20
von DreamPromise
Moin moin

ja klaaaar.
Die entsprechenden Einträge wurden auch in der DB gemacht.

HAste noch eine Idee ??? :cry: :cry: :cry: