Haumis wbb hilfe (http://haumis-wbb-hilfe.de/wbb2/index.php)
- Veränderungen (http://haumis-wbb-hilfe.de/wbb2/board.php?boardid=15)
-- Eigene Sachen von diesem Board (http://haumis-wbb-hilfe.de/wbb2/board.php?boardid=17)
--- Thema verschieben OHNE Verweis (http://haumis-wbb-hilfe.de/wbb2/thread.php?threadid=1044)


Geschrieben von haumi am 06.11.2010 um 22:41:

  Thema verschieben OHNE Verweis

Es geschieht doch ab und zu, dass man mittels der Administrativen Optionen ein Thema verschieben muss.
Hier ist von Woltlab "Thema verschieben und einen Verweis im ursprünglichen Forum lassen" voreingestellt.
Es kommt nun vor, das man das Thema verschiebt und hinterher feststellt, das man eben diesen Verweis im alten Forum hinterlassen hat.
Löscht man nun diesen Verweis, den man in der Regel nicht haben möchte,
so ist auch das GANZE Thema im Zielbereich gelöscht.
Nachdem das heute wieder passiert war und ich das Thema aus einer DB-Sicherung wieder herstellen durfte habe ich zumindest bei mir diese Vorauswahl auf "Thema verschieben" gesetzt.

Mir passiert das nun nicht mehr.

Wer das auch bei sich ändern möchte öffnet im ACP unter Templates bearbeiten das Template modcp_thread_move und sucht dort

code:
1:
2:
<input type="radio" name="mode" id="radio1" value="onlymove" /><label for="radio1">{$lang->items[LANG_MODCP_THREAD_MOVE]}</label><br />
<input type="radio" name="mode" id="radio2" value="movewithredirect"  checked="checked"  /><label for="radio2"> {$lang->items[LANG_MODCP_THREAD_MOVELINK]}</label><br />


und ersetzt es mit

code:
1:
2:
<input type="radio" name="mode" id="radio1" value="onlymove" checked="checked" /><label for="radio1">{$lang->items[LANG_MODCP_THREAD_MOVE]}</label><br />
<input type="radio" name="mode" id="radio2" value="movewithredirect" /><label for="radio2"> {$lang->items[LANG_MODCP_THREAD_MOVELINK]}</label><br />



So sieht es nach der Änderung aus:



Bitte vorher das Template sichern falls was schief läuft.

Nachdem das Gleiche nun einem Admin im ACP bei der Massenbearbeitung passiert ist habe ich es auch dort ausgebaut.
Damit es im ACP ebenfalls nicht mehr zur Verfügung steht macht man folgendes:

Man öffnet acp/threads.php und sucht:

code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
// move thread
				if ($threadaction == "move") {
					if (isset($_POST['movethread'])) $movethread = $_POST['movethread'];
					else $movethread = "";

					if (isset($_POST['newboardid'])) $newboardid = intval($_POST['newboardid']);
					else $newboardid = 0;

					if ($movethread == "onlymove" || $movethread == "movewithredirect") {
						// update announcements
						$result = $db->query("SELECT COUNT(a.threadid) AS acount, t.threadid, t.boardid FROM bb".$n."_threads t LEFT JOIN bb".$n."_announcements a USING(threadid) WHERE t.threadid IN (0".$threadids.") AND t.important=2 GROUP BY t.threadid");
						while ($row = $db->fetch_array($result)) {
							if ($row['acount'] > 1) $db->unbuffered_query("INSERT IGNORE INTO bb".$n."_announcements (boardid,threadid) VALUES ('".$newboardid."','".$row['threadid']."')", 1);
							else $db->unbuffered_query("UPDATE bb".$n."_announcements SET boardid='".$newboardid."' WHERE threadid='".$row['threadid']."' AND boardid='".$row['boardid']."'", 1);
						}

						// add redirect
						if ($movethread == "movewithredirect") {
							$result = $db->query("SELECT * FROM bb".$n."_threads WHERE threadid IN (0".$threadids.") AND boardid <> '".$newboardid."'");
							while ($row = $db->fetch_array($result)) {
								$db->unbuffered_query("INSERT INTO bb".$n."_threads (boardid,prefix,topic,iconid,starttime,starterid,starter,lastposttime,lastposterid,lastposter,replycount,views,closed,voted,votepoints,pollid,visible) VALUES "
								. "('".$row['boardid']."','".addslashes($row['prefix'])."','".addslashes($row['topic'])."','".$row['iconid']."','".$row['starttime']."','".$row['starterid']."','".addslashes($row['starter'])."','".$row['lastposttime']."','".$row['lastposterid']."','".addslashes($row['lastposter'])."','".$row['replycount']."','".$row['views']."','3','".$row['voted']."','".$row['votepoints']."','".$row['threadid']."','".$row['visible']."')", 1);
							}
						}

						// update thread
						$db->unbuffered_query("UPDATE bb".$n."_threads SET boardid='".$newboardid."' WHERE threadid IN (0".$threadids.")", 1);
					}

					$done = 1;


das wird ersetzt durch

code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
// move thread
				if ($threadaction == "move") {

					if (isset($_POST['newboardid'])) $newboardid = intval($_POST['newboardid']);
					else $newboardid = 0;

						$result = $db->query("SELECT COUNT(a.threadid) AS acount, t.threadid, t.boardid FROM bb".$n."_threads t LEFT JOIN bb".$n."_announcements a USING(threadid) WHERE t.threadid IN (0".$threadids.") AND t.important=2 GROUP BY t.threadid");
						while ($row = $db->fetch_array($result)) {
							if ($row['acount'] > 1) $db->unbuffered_query("INSERT IGNORE INTO bb".$n."_announcements (boardid,threadid) VALUES ('".$newboardid."','".$row['threadid']."')", 1);
							else $db->unbuffered_query("UPDATE bb".$n."_announcements SET boardid='".$newboardid."' WHERE threadid='".$row['threadid']."' AND boardid='".$row['boardid']."'", 1);
						}

						// add redirect
						if ($movethread == "movewithredirect") {
							$result = $db->query("SELECT * FROM bb".$n."_threads WHERE threadid IN (0".$threadids.") AND boardid <> '".$newboardid."'");
							while ($row = $db->fetch_array($result)) {
								$db->unbuffered_query("INSERT INTO bb".$n."_threads (boardid,prefix,topic,iconid,starttime,starterid,starter,lastposttime,lastposterid,lastposter,replycount,views,closed,voted,votepoints,pollid,visible) VALUES "
								. "('".$row['boardid']."','".addslashes($row['prefix'])."','".addslashes($row['topic'])."','".$row['iconid']."','".$row['starttime']."','".$row['starterid']."','".addslashes($row['starter'])."','".$row['lastposttime']."','".$row['lastposterid']."','".addslashes($row['lastposter'])."','".$row['replycount']."','".$row['views']."','3','".$row['voted']."','".$row['votepoints']."','".$row['threadid']."','".$row['visible']."')", 1);
							}
						}

						// update thread
						$db->unbuffered_query("UPDATE bb".$n."_threads SET boardid='".$newboardid."' WHERE threadid IN (0".$threadids.")", 1);
					
					$done = 1;


speichern und acp/templates threads_mass_edit.htm öffen und suchen:

code:
1:
2:
3:
4:
5:
<tr class="secondrow">
   <td><input type="radio" name="threadaction" id="radio2" value="move" /><label for="radio2">{$lang->items['LANG_ACP_THREADS_ACTION_MOVE']}</label><br /><br /><b>{$lang->items['LANG_ACP_THREADS_MOVE_TO']}</b><br /><select name="newboardid">$boardid_options</select></td>
   <td><input type="radio" name="movethread" id="radio3" value="onlymove" /><label for="radio3">&nbsp;{$lang->items['LANG_ACP_THREADS_ONLYMOVE']}</label><br />
 <input type="radio" name="movethread" id="radio4" value="movewithredirect" checked="checked" /><label for="radio4">&nbsp;{$lang->items['LANG_ACP_THREADS_MOVEWITHREDIRECT']}</label></td>
  </tr>


und durch folgendes ersetzen

code:
1:
2:
3:
4:
<tr class="secondrow">
   <td><input type="radio" name="threadaction" id="radio2" value="move" /><label for="radio2">{$lang->items['LANG_ACP_THREADS_ACTION_MOVE']}</label><br /><br /><b>{$lang->items['LANG_ACP_THREADS_MOVE_TO']}</b><br /><select name="newboardid">$boardid_options</select></td>
 <td>&nbsp;</td>
</tr>


Auch hier gilt wie immer:
alle zu ändernden templates und php-Dateien vorher sichern,
damit man bei einem Fehler den alten Zustand wieder herstellen kann!!
Eine Garantie wird auch nicht übernommen.

Wenn etwas unklar sein sollte bitte hier fragen bevor man etwas falsch macht.
Es wird auch Hilfe gegeben wenn etwas nicht so ganz geklappt hat.

Urheber ist haumi - aber jeder kann es frei verwenden und nach belieben abändern.


LG
haumi



Geschrieben von Stiegi am 06.11.2010 um 23:05:

 

Danke für den Tip, für den einen oder Anderen bestimmt hilfreich...werd ich auch bei mir einbauen



Geschrieben von katze2ooo am 07.11.2010 um 00:05:

 

st1

eingebaut st12 , ist mir auch schon 2 x mal passiert.
Gruß katze2ooo



Geschrieben von Tinchen am 07.11.2010 um 00:05:

 

Sieht besser aus und vereinfacht es ungemein!!

Danke dafür st14



Geschrieben von John am 07.11.2010 um 07:28:

 

Danke Hannes das ist ein wertvollter Tipp. Erst kürzlich hat einer meiner Moderatorinnen falsch verschoben, das kann jetzt nicht mehr passieren st6



Geschrieben von Jana am 07.11.2010 um 08:24:

 

Ich hab das Problem damals etwas anders gelöst ...
ich hab die Stellen einfach gelöscht.



Geschrieben von Stiegi am 07.11.2010 um 14:24:

 

Das ginge so natürlich auch und könnte noch besser sein, denn man will ja eigentlich ohne Hinweis immer verschieben



Geschrieben von haumi am 07.11.2010 um 16:47:

 

Wer Verschieben mit Verweis ganz rausnehmen will, der löscht
NACH dem Tausch die zweite Zeile:

code:
1:
<input type="radio" name="mode" id="radio2" value="movewithredirect" /><label for="radio2"> {$lang->items[LANG_MODCP_THREAD_MOVELINK]}</label><br />


Deshalb NACH dem Tausch weil dann die Verschiebung vorausgewählt ist.
Ansonsten müsste man jedesmal das Verschieben aktivieren.

LG
haumi



Geschrieben von Bayouma am 10.11.2010 um 12:37:

 

Super, denn das ist mir auch schon versehentlich passiert.
Das werde ich ganz sicher mal in Angriff nehmen.

Winki



Geschrieben von Lilly am 16.11.2010 um 19:56:

 

Hat super geklappt..und nun kann nur noch ohne Verweis verschoben werden..Danke



Geschrieben von Bayouma am 29.01.2011 um 13:00:

 

Habe es jetzt auch mal eingebaut und hat wie immer super geklappt !
Vielen Dank für diesen Tipp, denn so muß man nicht immer aufpassen wie verrückt.

Winki



Geschrieben von katze2ooo am 13.02.2011 um 12:11:

 

st1

kann man dies auch im ACP unter Massenbearbeitung (Themen) umbauen?
Dort ist auch verschieben mit Verweis voreingestellt.

Gruß katze2ooo



Geschrieben von Tommi am 20.04.2013 um 14:53:

  RE: Thema verschieben OHNE Verweis

Zitat:
Original von haumi
Auch hier gilt wie immer:
alle zu ändernden templates und php-Dateien vorher sichern,
damit man bei einem Fehler den alten Zustand wieder herstellen kann!!
Eine Garantie wird auch nicht übernommen.


Uns als Team auch schon Passiert und ich würde mich da mal ran trauen wollen. Hätte aber vorher eine Frage, Wie sicher ich den erste mal woher die Dateien st8


Forensoftware: Burning Board 2.3.6, entwickelt von WoltLab GmbH