Seite 10 von 12

Verfasst: Di 14.Mär, 2006 11:42
von tom10
Super! Freue mich schon drauf den endlich komplett am laufen zu haben !

Verfasst: Di 14.Mär, 2006 12:08
von oxpus
Jo, ich mich auch, damit ich das Thema abschliessen kann.
Ich hoffe auch, daß ich nachher Zeit habe, sonst morgen...

Verfasst: Di 14.Mär, 2006 13:20
von tom10
Mach dir kein Stress, nun hab ich so lange gewartet und wir so viele Dinge durchgespielt , da kommts auf ein paar Stunden mehr oder minder auch nicht drauf an. Hauptsache du findest bei dem Einbau die Stelle welche den ärger macht.
P.S. ich habe 2 Boards aber bei unterschiedlichen Anbietern. Das eine ist ein Plus (ford-welt) das andere ein Dim (Dach-Forum) nur so zur info, weil Du oben angesprtochen hast das vielleicht der Hoster da mit schuld dran trägt.

Verfasst: Di 14.Mär, 2006 14:00
von oxpus
Naja, Schuld nur, daß die Meldungen nicht angezeigt werden.
Das macht ein Debugging eben schwerer...

Verfasst: Mi 15.Mär, 2006 06:11
von tom10
Was aber auch noch dringend in den Mod mit rein müste wäre , eine anpassung an den Ch Mod bzw. an den Mod: Wenn ein Mod ein Posting löschen will wird der nicht gelöscht sondern in ein angegebenes Forum verschoben.

Folgendes Szenario:

Ein Gast postet was.....
Ein Mod (löscht) das posting ---> Posting wird ja nicht gelöscht sondern verschoben
Somit wandert das Posting in dem Forum welches angegeben wurde und jetzt kommts:
Das Posting wird weiterhin als Gastposting im Header aufgeführt.
Und genau das sollte man ändern.
Meine Idee wäre genau das Forum für den Mod von hier unsichtbar zu machen oder so...
Was denkst du ?

Bin aber trotzdem erstmal an der generellen Funktion des Mods interessiert. Das oben genannte viel mir nur gerade auf.

Verfasst: Mi 15.Mär, 2006 07:59
von oxpus
Öh, ich werde den MOD nicht sofort an anderte MODs anpassen.
Zudem ist der MOD auch CH MOD kompatibel, d. h. in der 2.0.er Fassung.
Die Anpassung an den 2.1.x hatte Bootenks bereits mal angefangen, wenn er wieder mehr Zeit hat, kann er sich da ja nochmal dransetzen.

Und Löschen:
Dann muss eben der Admin die Löschen. Also nachdem die Verschoben wurden.
Jetzt noch dafür Anpassungen zu machen, halte ich für übertrieben...

Verfasst: Mi 15.Mär, 2006 08:08
von tom10
Na gut. Dann muß ich die eben Händig löschen....

Verfasst: Mi 15.Mär, 2006 08:28
von oxpus
Man kann ja auch sagen, also in dem Post Move Instead Delete MOD, das eben Gastposts gelöscht und nicht verschoben werden.
Es sind ja Bedingungen vorhanden, die man nur erweitern müsste.
Also mit z. B.

Code: Alles auswählen

 && $post_data['poster_id'] == ANONYMOUS)
(Hab jetzt auf die Schnelle nicht in den MOD geschaut...)

Verfasst: Mi 15.Mär, 2006 10:41
von tom10
Nee, nee.. die sollen schon "nur" verschoben werden....Genau darum hab ich den Mod ja drin. Hat es eine Auswirkung wenn man das entsprechende Forum als permant gelesen markiert ? Bestimmt nicht....oder?

Verfasst: Mi 15.Mär, 2006 13:26
von oxpus
Nicht wirklich. Kann ich mir jedenfalls nicht vorstellen, da die Angaben des UPi2DB nicht berührt werden...

Verfasst: Mi 15.Mär, 2006 16:33
von tom10
Dachte ich mir schon.
Hattest Du schon Zeit gefunden den Mod mal in ein Plus einzubauen?

Verfasst: Mi 15.Mär, 2006 16:57
von oxpus
Heute erst, wenn ich den aktuellen MOD abgeschlossen habe (Anschlusstest in OXPUS.de ;) ).
Ich gehe von heute aus, im schlimmsten Fall Freitag, da ich morgen anderweitig Termine habe...

Verfasst: Mi 15.Mär, 2006 21:37
von oxpus
Also mit der angehängten modcp.php habe ich es nun erfolgreich in einem frisch installiertem Plus getestet. Keine Fehler soweit.

Auch die Installation im Plus selber, also der Original-Plus-modcp.php funktioniert fehlerfrei...

Verfasst: Do 16.Mär, 2006 06:32
von tom10
Ich muß dich leider enttäuschen :nono

Ich bekomme leider nach wie vor nur die leere Seite angezeigt und es wird nach dem Reload nur ein Posting der markierten postings gelöscht.
Das komische ist falls es irgend wie unter gegangen sein sollte:
Wenn ich 1 Posting markiere dann klappt das löschen wunderbar!

Der Fehler tritt nur auf wenn ich mehrere Postings gleichzeitig markiere!
Ist das vielleicht nochmal ein Ansatzpunkt für dich ?

Verfasst: Do 16.Mär, 2006 07:47
von oxpus
Hm, könnte eine Falle sein, die das Script dann eben nicht geht.
Ich schau da nochmal gezielter nach.

Der Aufruf der Konsole mit allen eingebauten Links klappt aber mittlerweile?

Verfasst: Do 16.Mär, 2006 08:34
von tom10
Ja, der Aufruf klappt! Mein Moderator meldete letztens das wieder was nicht klappte, aber das kan auch mit den Umbaumaßnahmen zusammen gehangen haben.

Müste ich dann wenn erstmal der oben beschriebene Fehler weg ist gezielt prüfen.
Hoffentlich findest Du den Teil der mir so Ärger macht....

Verfasst: Do 16.Mär, 2006 08:35
von oxpus
Ich werds versuchen...

BTW:
Da fällt mir ein, daß ich mal Deine functions_post.php bräuchte.
Ich verwende ja die delete_post-Funktion, um die Beiträge weg zu hauen, vielleicht ist die bei die noch weiter modifiziert...

Verfasst: Do 16.Mär, 2006 08:40
von tom10
Und da kommt sie auch schon !

Wenn das verändern dieser Datei zum Erfolg führt, dann merk dir bitte was Du gemacht hast. Denn es betrifft ja wie gesagt 2 Foren wo der fehkler auftritt und da denke ich mal das die Datein auch unterschiedlich sind.

Verfasst: Do 16.Mär, 2006 11:38
von oxpus
Auf den ersten Blick schaut noch alles okay aus.
Ich muss das aber nochmal genauer durchgehen, auch die Schleifen in der modcp.php.
Wenn mehrere auf einma gelöscht werden sollen, ist es eben die Frage, warum es nicht will.

BTW: Das Script fängt ja ab, Beiträge aus Topics zu löschen, wenn noch nicht aktivierte Gast-Beiträge und damit die eingetragene Postanzahl mit der wirklichen Anzahl der Beiträge nicht übereinstimmt.
Kannst Du mal prüfen, ob dieses bei Dir vorkommt und das Script daher anhält?
Denn ich habe die Funktion zum Post-Löschen "stumm" geschaltet, das verhindert aber dann nicht, daß die Verarbeitung durch ein message_die(); anhält...

Aber vielleicht ist auch genau das der Punkt, den ich noch abfangen müsste.
Du kannst das auch selber mal kurz testen, in dem Du die Zeile mit message_die(...);, die in der includes/functions_post.php in der Funktion delete_post durch den MOD eingefügt wird, auskommentierst.
Wenn dann das Löschen mehrere Beiträge auf einem Hieb geht, habe ich schon ziemlich sicher den Störenfried gefunden...

Verfasst: Do 16.Mär, 2006 14:41
von tom10
So habe das mal getestet.
Ich habe die jeweilige Zeile auskommentiert und getestet.
1x diese hier:

Code: Alles auswählen

		message_die(GENERAL_ERROR, 'Error in reading postdata', '', __LINE__, __FILE__, $sql);
und 1x diese hier:

Code: Alles auswählen

			message_die(GENERAL_MESSAGE, $lang['No_post_delete_gp']);
Es funktionierte leider nicht.
Mir ist aber noch eine Sache aufgefallen. Laut mod soll ich in der funktions_post.php diese Sache machen:
#
#-----[ OPEN ]------------------------------------------------
#
includes/functions_post.php

#
#-----[ FIND ]------------------------------------------------
#
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 ($post_data['first_post'] && $mode == 'delete')
{
$sql = "SELECT t.topic_replies, count(p.post_id) AS real_posts FROM " . TOPICS_TABLE . " t, " . POSTS_TABLE . " p
WHERE t.topic_id = $topic_id
AND t.topic_id = p.topic_id
GROUP BY topic_replies";
if (!($result = $db->sql_query($sql)))
{
message_die(GENERAL_ERROR, 'Could not check inactive post data', '', __LINE__, __FILE__, $sql);
}

$row = $db->sql_fetchrow($result);
$replies = $row['topic_replies'];
$replies++;
$real_posts = $row['real_posts'];
$db->sql_freeresult($result);

if ($replies != $real_posts)
{
message_die(GENERAL_MESSAGE, $lang['No_post_delete_gp']);
}
}
Das hab ich auch gemacht!

So und weiter unten im Mod soll ich das machen:
#
#-----[ FIND ]------------------------------------------------
#
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 ]------------------------------------------
#
$sql = "SELECT post_id, post_activate
FROM " . POSTS_TABLE . "
WHERE post_id = $post_id";

if (!($result = $db->sql_query($sql)))
{
message_die(GENERAL_ERROR, 'Error in reading postdata', '', __LINE__, __FILE__, $sql);
}

if ($row = $db->sql_fetchrow($result))
{
$post_activate = $row['post_activate'];
}
Nur den gesuchten Teil gibts bei mir eben nicht das 2te mal... von daher wurde der weg gelassen... :eek:

In der original funktions_post.php vom Plus Forum und von Vanilla ist die Stelle ja auch nur jeweils 1x enthalten. Ich habe das gerade mal geprüft. Hmmm...ist das eigentlich wichtig?

Verfasst: Do 16.Mär, 2006 16:04
von oxpus
Das habe ich im aktuellen MOD bereits angepasst:
Es ist beide Male die gleiche Stelle...

Verfasst: Do 16.Mär, 2006 16:34
von Christian_N
Ich bin gerade dabei ihn auch einzubaue und um ihn etwas zu testen, dabei ist mir in der installation anleitung aufgefalle, das bei der lang_german/lang_main.php so ein Satz steht:

Code: Alles auswählen

$lang['No_post_delete_gp'] = '<b>Gastbeitrag gefunden!</b><br /><br />Prüfe oder lass diesen Gastbeitrag prüfen,<br />bevor Du den gewühlten Beitrag aus diesem Thema löscht!';
bin in Rechtschreibung und Grammatik selbst nicht gerade das Ass aber gewühlten Beitrag ist mit sicherheit nicht richtig sollte sicher, gewählten Beitrag heißen :)

Verfasst: Do 16.Mär, 2006 16:41
von oxpus
Yupp. Ändere ich dann auch gleich mal im MOD ab...

Verfasst: Do 16.Mär, 2006 17:25
von tom10
@Oxpus
Hab den Teil von oben mal geändert.--> gebracht hats aber leider nichts.

@Christian_N

Bin mal gespannt ob der bei dir funktioniert....also mit dem löschen von mehrern Gästepostings auf einem mal....

Verfasst: Do 16.Mär, 2006 17:35
von Christian_N
Hoffe hast die neue nicht schon hochgeladen, den es is mir noch was in der anleitung aufgefalle, was in der functions_post.php gemacht werden muss

Code: Alles auswählen

#
#-----[ FIND ]------------------------------------------------
#
function user_notification($mode, &$post_data, &$topic_title, &$forum_id, &$topic_id, &$post_id, &$notify_user)

#
#-----[ IN-LINE FIND ]------------------------------------------------
#
);

#
#-----[ IN-LINE BEFORE, ADD ]------------------------------------------------
#
, &$post_activate
Sollte aber sicher heiße

Code: Alles auswählen

#
#-----[ IN-LINE FIND ]------------------------------------------------
#
)
da in dieser function es nicht mit ); abgeschlossen wird.

@tom10
Bin selbst gespannt wie er bei mir läuft dann, auch wenn ich gleich sage muss das ich kein Plus verwende und auch dann später anpassungen etwas ggf. vornehmen, wenn er erstmal nach anleitung eingebaut ist.
Muss dann nur wenn er im Betrieb ist schauen welche denk aber mal das ich moderatoren bei uns davon ausschlissen tun das nur die Fanclubleitung (Admins) die rechten haben.
Und dein Problem liegt glaub ich darin wenn ein Moderator es macht oder?