¢¦ Lock-Unlock in Posting Body und Move Locked Topic

Allgemeiner Support zum phpBB 2 Board und phpBB 2 Modifikationen
Forumsregeln
Auch wenn hier der Support für phpBB 2 weiterhin aufrecht erhalten bleibt, weisen wir darauf hin, dass das phpBB 2 nicht mehr offiziell unterstützt und weiterentwickelt wird!
Antworten
KnightOrk
Beiträge: 15
Registriert: Fr 07.Apr, 2006 20:15
Wohnort: http://www.knightork.de
Kontaktdaten:

¢¦ Lock-Unlock in Posting Body und Move Locked Topic

Beitrag von KnightOrk »

Hallo mein Versuch aus diesen beiden Mods einen zu machen schlägt irgendwie fehl. Er sollte eigentlich bewirken, dass meine Postings auch verschoben werden, wenn ich den Beitrag edietiere und Ihm sofort danach schließe. Ist als Erleichterung für die Moderatoren gedacht gewesen, damit Sie es leichter haben bestimmte Themen z.b. als Erledigt zu markieren, sie zu schließen und sofort zu verschieben...

Also ich hatte mir gedacht eigentlich brauch ich ja nur die posting.php zu bearbeiten und zwar dann ab der Stelle wo ich den beitrag schließen kann. Ich habe dass hier:

Code: Alles auswählen

else if ($lock)
		{
			$sql = "UPDATE " . TOPICS_TABLE . " 
			SET topic_status = " . TOPIC_LOCKED . " 
			WHERE topic_id = " . $t_id . " 
			AND topic_moved_id = 0";
		}
Einfach wie folgt erweitert: (Ich hab den folgenden Code vor das } gesetzt, ich bin kein Profi aber für mich sieht es so aus, als müsste die obere Anweisung den Thread schließen, und meine Anweisungen hier unten verschieben Ihn)

Code: Alles auswählen

//
// START OF THE MOVE TOPICS WHEN LOCKED MODIFICATION
// 
// Die nächsten 2 Zeilen sind für die Abfrage in welchem Forum man sich befinden
if($forum_id == 1 || $forum_id == 4 || $forum_id == 5 || $forum_id == 6) 
{
// Ab Hier wieder das original
if($board_config['move_when_locked_stat'] != -1 && $board_config['move_when_locked_stat'] == 1)
{
$move_to_forum = $board_config['move_when_locked_id'];

//
// Let's check for special topics :)
//
$sql = "SELECT * FROM " . TOPICS_TABLE . " 
WHERE topic_id = " . $t_id . " 
AND forum_id = $forum_id
AND topic_moved_id = 0";
if ( !($special_result = $db->sql_query($sql)) )
{
message_die(GENERAL_ERROR, 'Could not update topics table', '', __LINE__, __FILE__, $sql);
}

while($row = $db->sql_fetchrow($special_result))
{
$move_topic_id_system = $row['topic_id'];

if(($board_config['leave_special_topic_stat'] == -1) || (($board_config['leave_special_topic_stat'] == 1) && (($row['topic_type'] == 1) || ($row['topic_type'] == 0))) || (($board_config['leave_special_topic_stat'] == 2) && ($row['topic_type'] == 0))) 
{

//
// Start moving topic and posts
//
		$sql = "UPDATE " . TOPICS_TABLE . " 
			SET forum_id = $move_to_forum
			WHERE topic_id = $move_topic_id_system
				AND forum_id = $forum_id
				AND topic_moved_id = 0";
		if ( !($result = $db->sql_query($sql)) )
		{
			message_die(GENERAL_ERROR, 'Could not update topics table', '', __LINE__, __FILE__, $sql);
		}

		$sql = "UPDATE " . POSTS_TABLE . " 
			SET forum_id = $move_to_forum
			WHERE topic_id = $move_topic_id_system
				AND forum_id = $forum_id";
		if ( !($result = $db->sql_query($sql)) )
		{
			message_die(GENERAL_ERROR, 'Could not update topics table', '', __LINE__, __FILE__, $sql);
		}
}
}
//
// Resync index :)
// 
// Sync musste ich ganz ausklammern,weil es Fehler gab
//				sync('forum', $forum_id);
//				sync('forum', $move_to_forum);

}
// Die nächste Zeile ist nur bei der Abfrage der Foren IDs nötig
}

//
// END OF THE MOVE TOPICS WHEN LOCKED MODIFICATION
//
Das Ergebniss ist ziemlich eindeutig. Das Script verschiebt das Thema wie gewünscht in mein Forum wo die alten Sachen rein sollen, wenn ich den Haken bei Thema sperren anmache (beim editieren eines Posts) Aber das Thema wird einfach nicht mehr geschlossen... Vielleicht sieht ja jemand den fehler ich probiers jetzt seit 2 Stunden...
Zuletzt geändert von KnightOrk am So 23.Apr, 2006 16:18, insgesamt 3-mal geändert.
Benutzeravatar
oxpus
Administrator
Beiträge: 28735
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Müsste ich selber jetzt passen.
Komme nicht dazu, was grösseres zu testen.

Jemand anderes?
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
KnightOrk
Beiträge: 15
Registriert: Fr 07.Apr, 2006 20:15
Wohnort: http://www.knightork.de
Kontaktdaten:

Beitrag von KnightOrk »

Wäre sehr nett, wenn dann jemand anderes mal eben gucken kann. Weil wie gesagt irgendwie versteh ichs nicht, ich hab den Move "Code" unter den Close "code" gepackt und er verschiebt die Posts, aber schließt sie nicht mehr...

EDIT by KnightOrk:

So keine Ahnung wie, aber ich habs dann jetzt hin bekommen *gg* manchmal lösen sich Probleme auch ganz von alleine. Sollte jemand diesen Code brauchen, darf er sich vertrauensvoll an mich wenden. Dauert dann bloß etwas, weil ich alles noch ein wenig modifiziert habe. Bei mir können dass nämlich jetzt alles die Thread Starter ;-)
Antworten