Thema verschieben OHNE Verweis |
haumi
Boardbetreiber
[meine Galerie]
Dabei seit: 06.06.2009
Beiträge: 3.441
Herkunft: NRW
Postid: 5728
|
|
Thema verschieben OHNE Verweis |
Beitrag Nr.: 1 |
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"> {$lang->items['LANG_ACP_THREADS_ONLYMOVE']}</label><br />
<input type="radio" name="movethread" id="radio4" value="movewithredirect" checked="checked" /><label for="radio4"> {$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> </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
__________________
Gelassen das hinnehmen, was nicht zu ändern ist,
engagiert angehen was man gestalten kann.
|
|
06.11.2010 22:41 |
|
|
|
Danke für den Tip, für den einen oder Anderen bestimmt hilfreich...werd ich auch bei mir einbauen
__________________
|
|
06.11.2010 23:05 |
|
|
|
eingebaut
, ist mir auch schon 2 x mal passiert.
Gruß katze2ooo
__________________
|
|
07.11.2010 00:05 |
|
|
|
Sieht besser aus und vereinfacht es ungemein!!
Danke dafür
|
|
07.11.2010 00:05 |
|
|
John
[meine Galerie]
Dabei seit: 20.02.2010
Beiträge: 691
Herkunft: südl. Münsterland
Postid: 5734
|
|
Danke Hannes das ist ein wertvollter Tipp. Erst kürzlich hat einer meiner Moderatorinnen falsch verschoben, das kann jetzt nicht mehr passieren
__________________ LG... Johann
|
|
07.11.2010 07:28 |
|
|
|
Ich hab das Problem damals etwas anders gelöst ...
ich hab die Stellen einfach gelöscht.
Dateianhang: |
gg.jpg (14,38 KB, 152 mal heruntergeladen)
|
__________________
|
|
07.11.2010 08:24 |
|
|
|
Das ginge so natürlich auch und könnte noch besser sein, denn man will ja eigentlich ohne Hinweis immer verschieben
__________________
|
|
07.11.2010 14:24 |
|
|
|
Super, denn das ist mir auch schon versehentlich passiert.
Das werde ich ganz sicher mal in Angriff nehmen.
Winki
__________________
|
|
10.11.2010 12:37 |
|
|
|
Hat super geklappt..und nun kann nur noch ohne Verweis verschoben werden..Danke
|
|
16.11.2010 19:56 |
|
|
|
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
__________________
|
|
29.01.2011 13:00 |
|
|
|
kann man dies auch im ACP unter Massenbearbeitung (Themen) umbauen?
Dort ist auch verschieben mit Verweis voreingestellt.
Gruß katze2ooo
__________________
|
|
13.02.2011 12:11 |
|
|
|
RE: Thema verschieben OHNE Verweis |
Beitrag Nr.: 13 |
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
__________________
|
|
20.04.2013 14:53 |
|
|
|