Wunsch-MOD "Grund der Editierung" wenn editiert wu

Neue Projekte und Anfragen, Teamarbeiten und Alpha/Beta Scripte jeder Art.
KEINE Supportanfragen zu bestehenden MODs!
Max
Beiträge: 628
Registriert: So 23.Jan, 2005 09:54

Beitrag von Max »

Hi,


das war gestern mein erster Versuch, das dort unter zu bringen - leider muss man dann schon beim Absenden eines neuen Themas die Editmessage von mindestens 10 Zeichen eingeben.
In den Bereichen, die ich dann der Editfunktion zugesprochen habe, hat sich dann garnichts getan, aber bei mir sah der Code noch ein klein Wenig anders aus, war weniger speziell.




Gruß Max
Benutzeravatar
Bootenks
Beiträge: 1836
Registriert: Sa 29.Mai, 2004 23:36
Wohnort: G?rlitz (?stlichste Stadt Deutschlands)

Beitrag von Bootenks »

teste ihn einfach. bei mir hat der so geklappt ^^
Nur ein Informatik Student. ^^
Max
Beiträge: 628
Registriert: So 23.Jan, 2005 09:54

Beitrag von Max »

Hi,


man muss so beim Editieren eine Nachricht eingeben.

Aber man muss diese Nachricht auch beim Absenden einer Antwort oder eben auch bei neuen Topics angeben.

Siehe: www.ssv-forum.de/forum (ist nur zum Testen online - man kann also nichts verhauen)
Nick: user
PW: test

Gruß Max
Benutzeravatar
Bootenks
Beiträge: 1836
Registriert: Sa 29.Mai, 2004 23:36
Wohnort: G?rlitz (?stlichste Stadt Deutschlands)

Beitrag von Bootenks »

EDIT: So getestet:

ändere den Code in diesen:

Code: Alles auswählen

	if($mode == 'editpost')
	{
		$fill_reason = $_POST['reasoning'];
		$fill_reason = trim($fill_reason);
		$fill_reason_admo = $_POST['reasoning2'];
		$fill_reason_admo = trim($fill_reason_admo);

		if ((strlen($fill_reason) < 10) && (strlen($fill_reason_admo) < 10))
		{
			$error_msg = $lang['reasoning_empty'];
			$error = true;
		}
	}
Mod angepasst!

http://www.oxpus.de/fpost-33518.html#33518
Zuletzt geändert von Bootenks am So 29.Mai, 2005 11:39, insgesamt 2-mal geändert.
Nur ein Informatik Student. ^^
Max
Beiträge: 628
Registriert: So 23.Jan, 2005 09:54

Beitrag von Max »

Hallo,



es funktioniert.

Mir ist nur aufgefallen, dass im Firefox das Feld für die Begründungsabfrage beim Editieren schmaler ist als die Textbox für den Beitrag.

Ansonsten funktioniert alles bestens.



Danke und Gruß,
Max
Benutzeravatar
Bootenks
Beiträge: 1836
Registriert: Sa 29.Mai, 2004 23:36
Wohnort: G?rlitz (?stlichste Stadt Deutschlands)

Beitrag von Bootenks »

und läuft auch so wie gewünscht? würde gern wissen ob du zufrieden bist
Nur ein Informatik Student. ^^
Stoebi
Beiträge: 447
Registriert: Do 24.Feb, 2005 16:35
Wohnort: Berlin
Kontaktdaten:

Beitrag von Stoebi »

Hallo Bootenks,

ich hab eben gerade dein Mod (1.0.1) installiert.
Leider bekomme ich nach dem Absenden des Beitrages folgende Fehlermeldung:
In einem XML-Dokument ist nur ein Element höchster Ebene zugelassen. Fehler beim Bearbeiten der Ressource 'http://localhost...

<b>Warning</b>: Missing argument 31 for submit_post() in <b>D:\apachefriends\xampp\htdocs\board\includes\...</b>

Das ... wird echt nicht weitergeführt. Es kann sich aber nur um die Datei functions_post.php handeln.

Dazu ist mir auch folgende Zeile aufgefallen.
Du schreibst:

Code: Alles auswählen

#
#-----[ BEFORE, ADD ]------------------------------------------------
# 
	$sql_edit_reason = (!empty ($edit_reason) ? ", post_edit_reason = '$edit_reason'" : (!empty ($edit_reason_admo) ? ", post_edit_reason_admo = '$edit_reason_admo'" : ''));

#
#-----[ IN-LINE FIND ]----------------------------------------
# 
post_subject = '$post_subject'

#
#-----[ IN-LINE AFTER, ADD ]----------------------------------
# (without comma, no mistake)
 $sql_edit_reason
Die Zeile kann doch nicht wirklich so aussehen?
post_subject = '$post_subject' $sql_edit_reason WHERE post_id = $post_id";

Aber auch mit einem Komma bekomme ich diese Fehlermeldung.

Nutze hier ein phpbb2 Plus 1.52 Board.

Ich werde aber auch noch einmal alle Zeilen durchgehen, vielleicht habe ich auch einen Fehler gemacht.


Gruß Stöbi


Nachtrag:
Die Zeile submit_post() in meiner Datei functions_post.php sieht so aus:

Code: Alles auswählen

function submit_post($mode, &$post_data, &$message, &$meta, &$forum_id, &$topic_id, &$post_id, &$poll_id, &$topic_type, &$bbcode_on, &$html_on, &$smilies_on, &$attach_sig, &$bbcode_uid, &$post_username, &$post_subject, &$post_message, &$poll_title, &$poll_options, &$poll_length, &$edit_reason, &$edit_reason_admo, &$max_vote, &$hide_vote, &$tothide_vote, &$topic_desc, $topic_announce_duration = 0, $post_icon = 0, $topic_calendar_time = 0, $topic_calendar_duration = 0, &$news_category)

Nachtrag2:
Wie soll es auch anders sein. Es war mein Fehler.
Hab in der posting.php das Einfügen in der Zeile submit_post($mode .... übersehen.

BTW.
Mir gefällt dein Mod sehr gut. Muss nur noch einige kosmetische Fehler wegen fisubsilversh
korrigieren, dann mach ich noch ein paar Tests, dann wird Online gestellt.

Klasse Idee, klasse Leistung. Hervorragend. ^b

Dank dir/euch.


Die einzige Idee, die mir so spontan einfällt. Nicht gezwungen zu werden, einen Grund anzugeben.
Zuletzt geändert von Stoebi am So 05.Jun, 2005 16:04, insgesamt 6-mal geändert.
Benutzeravatar
Bootenks
Beiträge: 1836
Registriert: Sa 29.Mai, 2004 23:36
Wohnort: G?rlitz (?stlichste Stadt Deutschlands)

Beitrag von Bootenks »

guck mal ob du in der posting.php die folgende Zeile auch eingefügt hast:

Code: Alles auswählen

#
#-----[ FIND ]------------------------------------------------
# 
				submit_post($mode, $post_data, $return_message, $return_meta, $forum_id, $topic_id, $post_id, $poll_id, $topic_type, $bbcode_on, $html_on, $smilies_on, $attach_sig, $bbcode_uid, str_replace("\'", "''", $username), str_replace("\'", "''", $subject), str_replace("\'", "''", $message), str_replace("\'", "''", $poll_title), $poll_options, $poll_length);

#
#-----[ IN-LINE FIND ]----------------------------------------
# 
, $poll_length

#
#-----[ IN-LINE AFTER, ADD ]----------------------------------
# 
, str_replace("\'", "''", $edit_reason), str_replace("\'", "''", $edit_reason_admo)

Und der Code ist richtig! den du da bezweifelst.

oder besser: schick mir mal die functions_post.php und die posting.php als Attachment.
Zuletzt geändert von Bootenks am So 29.Mai, 2005 15:22, insgesamt 1-mal geändert.
Nur ein Informatik Student. ^^
Stoebi
Beiträge: 447
Registriert: Do 24.Feb, 2005 16:35
Wohnort: Berlin
Kontaktdaten:

Beitrag von Stoebi »

Dank dir Bootenks, dass du dich sofort bereit erklärst, mir helfen zu wollen.
Es war echt mal wieder eigene Dämlichkeit.

Ich versuche gerade zu erreichen, dass der Admin nicht gezungen wird,
einen Grund anzugeben.


Gruß Stöbi
Zuletzt geändert von Stoebi am So 05.Jun, 2005 16:04, insgesamt 1-mal geändert.
Benutzeravatar
Bootenks
Beiträge: 1836
Registriert: Sa 29.Mai, 2004 23:36
Wohnort: G?rlitz (?stlichste Stadt Deutschlands)

Beitrag von Bootenks »

aso du mienst also das der Admin und der Mod nicht gezwungen werden oder wie jetzt? Das ist ganz einfach du musst einfach die folgende Änderung machen:

das:

Code: Alles auswählen

	if($mode == 'editpost')
	{
		$fill_reason = $_POST['reasoning'];
		$fill_reason = trim($fill_reason);
		$fill_reason_admo = $_POST['reasoning2'];
		$fill_reason_admo = trim($fill_reason_admo);

		if ((strlen($fill_reason) < 10) && (strlen($fill_reason_admo) < 10))
		{
			$error_msg = $lang['reasoning_empty'];
			$error = true;
		}
	}
zu dem:

Code: Alles auswählen

	if($mode == 'editpost')
	{
		$fill_reason = $_POST['reasoning'];
		$fill_reason = trim($fill_reason);

		if (strlen($fill_reason) < 10)
		{
			$error_msg = $lang['reasoning_empty'];
			$error = true;
		}
	}
und schon werden nur die Poster gewzungen welche nur REG Rechte haben
Zuletzt geändert von Bootenks am So 29.Mai, 2005 15:58, insgesamt 1-mal geändert.
Nur ein Informatik Student. ^^
Stoebi
Beiträge: 447
Registriert: Do 24.Feb, 2005 16:35
Wohnort: Berlin
Kontaktdaten:

Beitrag von Stoebi »

[quote="Bootenks - So 29.Mai, 2005 15:29";p="33661"]aso du mienst also das der Admin und der Mod nicht gezwungen werden oder wie jetzt? Das ist ganz einfach du musst einfach die folgende Änderung machen:

das:

Code: Alles auswählen

	if($mode == 'editpost')
	{
		$fill_reason = $_POST['reasoning'];
		$fill_reason = trim($fill_reason);
		$fill_reason_admo = $_POST['reasoning2'];
		$fill_reason_admo = trim($fill_reason_admo);

		if ((strlen($fill_reason) < 10) && (strlen($fill_reason_admo) < 10))
		{
			$error_msg = $lang['reasoning_empty'];
			$error = true;
		}
	}
zu dem:

Code: Alles auswählen

	if($mode == 'editpost')
	{
		$fill_reason = $_POST['reasoning'];
		$fill_reason = trim($fill_reason);

		if (strlen($fill_reason) < 10)
		{
			$error_msg = $lang['reasoning_empty'];
			$error = true;
		}
	}
und schon werden nur die Poster gewzungen welche nur REG Rechte haben[/quote]

Tut mir leid, Bootenks.
Ich bekomme immer noch die Meldung als Admin:
Ihre Begründung ist kürzer als die vorgeschriebenen 10 Zeichen!

Gruß Stöbi
Zuletzt geändert von Stoebi am So 05.Jun, 2005 16:04, insgesamt 1-mal geändert.
Benutzeravatar
oxpus
Administrator
Beiträge: 28735
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Code: Alles auswählen

 if (strlen($fill_reason) < 10)
dann mit

Code: Alles auswählen

 if (strlen($fill_reason) < 10 && $userdata['user_level'] != ADMIN)
ersetzen.
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!
Max
Beiträge: 628
Registriert: So 23.Jan, 2005 09:54

Beitrag von Max »

[quote="Bootenks - So 29.Mai, 2005 14:50";p="33657"]und läuft auch so wie gewünscht? würde gern wissen ob du zufrieden bist[/quote]


Na klar :)

Wie ich schon sagte, es funktioniert alles bestens!

Also die Eingabe für den Editgrund ist eine feine Sache, da so immer ersichtlich wird, warum was editiert wurde - ist für den Leser schöner.


Das Einzige, woran man mal feilen könnte (nicht muss!) wäre, dass man, wenn man als Admin seinen eigenen Beitrag editiert, nachher dort stehen hat, dass der Beitrag von Mod/Admin editiert wurde - das sieht dann etwas bitter aus, wenn man als Admin seinen eigenen Beitrag befummelt hat.

Aber wie gesagt, das ist nicht zwingend notwendig, vielleicht lasse ich mir dafür eine Wortwahlanpassung einfallen, gekoppelt mit Farbe in der Ansicht oder so.




Gruß Max
Benutzeravatar
Bootenks
Beiträge: 1836
Registriert: Sa 29.Mai, 2004 23:36
Wohnort: G?rlitz (?stlichste Stadt Deutschlands)

Beitrag von Bootenks »

achja sorry ^^"

Code: Alles auswählen

	if($mode == 'editpost')
	{
		$fill_reason = $_POST['reasoning'];
		$fill_reason = trim($fill_reason);
		$fill_reason_admo = $_POST['reasoning2'];
		$fill_reason_admo = trim($fill_reason_admo);

		if ((strlen($fill_reason) < 10) && (strlen($fill_reason_admo) < 10))
		{
			$error_msg = $lang['reasoning_empty'];
			$error = true;
		}
	}
zu dem:

Code: Alles auswählen

	if($mode == 'editpost' && ( $userdata['user_level'] != ADMIN || $userdata['user_level'] != MOD ) )
	{
		$fill_reason = $_POST['reasoning'];
		$fill_reason = trim($fill_reason);

		if (strlen($fill_reason) < 10)
		{
			$error_msg = $lang['reasoning_empty'];
			$error = true;
		}
	}
war mein Fehler *rot werd*
Nur ein Informatik Student. ^^
Stoebi
Beiträge: 447
Registriert: Do 24.Feb, 2005 16:35
Wohnort: Berlin
Kontaktdaten:

Beitrag von Stoebi »

Ihr seid echt spitzenmässig.

Habt nochmals vielen Dank. Funktioniert perfekt jetzt.


Gruß Stöbi


Verbesserungsvorschlag. Aber nur wenn Zeit ist.
Wenn ich als Admin den Grund wegeditiere, bleibt dieser trotzdem nach dem Absenden des Beitrages erhalten.

Beispiel:
Ich hab meinen Beitrag editiert und einen Grund angegeben:
Von Admin/Mod editiert! Grund: dies ist ein Test

Danach hab ich den Beitrag wieder editiert und hab aber den Text "dies ist ein Test" gelöscht.
Nach dem dem Abenden des Beitrag bleibt dieser aber erhalten:
Von Admin/Mod editiert! Grund: dies ist ein Test


Gruß Stöbi
Zuletzt geändert von Stoebi am So 05.Jun, 2005 16:04, insgesamt 2-mal geändert.
Benutzeravatar
Bootenks
Beiträge: 1836
Registriert: Sa 29.Mai, 2004 23:36
Wohnort: G?rlitz (?stlichste Stadt Deutschlands)

Beitrag von Bootenks »

ok darum kümmere ich mich heute noch ^^ Aber ich nahm bis jetzt an dass man einen solchen Text mindestens haben muss... Da ja jetzt der Mod und Admin in deiner Version ausgenommen sind muss ich da nochmal schauen wo ich eine Zeile noch einfügen muss. ^^
Nur ein Informatik Student. ^^
Stoebi
Beiträge: 447
Registriert: Do 24.Feb, 2005 16:35
Wohnort: Berlin
Kontaktdaten:

Beitrag von Stoebi »

Ich hab da gleich noch einen Wunsch.

Ich hab mal als Registrierter User (Testuser) einen Text editiert:
Grund für Ihre Editierung: Ich liebe euch doch alle!

Dann hab ich als Admin den Text von Testuser editiert:
Grund für Ihre Editierung: Ich liebe euch doch alle!
Von Admin/Mod editiert! Grund: Test Test Test

Das ist übrigens so super genial gelöst.


Mein Wunsch wäre, wenn ich als Admin den Text von Testuser editiere,
ich auch den Grund von diesen löschen/editieren könnte.


Gruß Stöbi


Falls von Interesse, damit es auch mit Firefox gut aussieht, hab ich
style="width:450"
in
style="width:450px; margin-left:1px"
abgeändert.

Und als fiSubsilverSh Nutzer habe ich
<span class="gen">
in
<span class="explaintitle">
abgeändert.

Sieht dann wieder "einheitlicher" aus.


Nachtrag: 18:00 Uhr _ 29-05-2005
Wenn ich deine Zeile verwende:

Code: Alles auswählen

if($mode == 'editpost' && ( $userdata['user_level'] != ADMIN || $userdata['user_level'] != MOD ) )
Es kann mein Moderator überhaupt keinen Beitrag editieren, egal wieviele Zeichen eingeben sind zur Begründung der Editierung, also egal ob 1 oder 100 Zeichen, es kommt die Meldung:
Ihre Begründung ist kürzer als die vorgeschriebenen 10 Zeichen!

Ändere ich Zeile aber so um:

Code: Alles auswählen

if($mode == 'editpost' && ( $userdata['user_level'] != ADMIN && $userdata['user_level'] != MOD ) )
Dann kann der Moderator entweder keine Begründung abgeben oder eben doch, wenn er dies möchte.

Aber logisch finde ich das nicht.
Wenn der Modus 'editpost' ausgewählt wurde und der User Level nicht Administrator und der User Level nicht Moderator ist dann ...

Dann funktioniert wie eben erwähnt es soweit einwandfrei.

Dabei wäre es doch egal, ob es ein "oder" wäre, also:
Wenn der Modus 'editpost' ausgewählt wurde und der User Level nicht Administrator oder der User Level nicht Moderator ist ...

Warum funktioniert das mit der oder Abfrage nicht?

Kurios.


Gruß Stöbi
Zuletzt geändert von Stoebi am So 05.Jun, 2005 16:03, insgesamt 7-mal geändert.
Benutzeravatar
Bootenks
Beiträge: 1836
Registriert: Sa 29.Mai, 2004 23:36
Wohnort: G?rlitz (?stlichste Stadt Deutschlands)

Beitrag von Bootenks »

aso ja logisch ^^"""

naja wenn du sagst dass entweder edit_post + ( nicht Admin oder nicht MOD) dann bedeutet das aufgesplittet:

wenn edit_post + nicht Mod oder edit_post + nicht Admin => und ein oder brauch nur 1 korrekte Bedinung... Also wenn er Mod ist dann ist er ja nicht Admin und deshalb stimmt die Bedinung... Deshalb war das auch falsch was ich geschrieben habe... Ich darf nicht zwei Sachen auf einmal machen... Bin imo am Smilie Add-On mit den Benutzerrechten dran ^^"

Wie du schon sagtest muss alles mit einem && verknüpft werden... dann klappts auch wieder...

Code: Alles auswählen

if($mode == 'editpost' && $userdata['user_level'] != ADMIN && $userdata['user_level'] != MOD ) )
Nur ein Informatik Student. ^^
Stoebi
Beiträge: 447
Registriert: Do 24.Feb, 2005 16:35
Wohnort: Berlin
Kontaktdaten:

Beitrag von Stoebi »

[quote="Bootenks - So 29.Mai, 2005 18:51";p="33700"]aso ja logisch ^^"""

naja wenn du sagst dass entweder edit_post + ( nicht Admin oder nicht MOD) dann bedeutet das aufgesplittet:

wenn edit_post + nicht Mod oder edit_post + nicht Admin => und ein oder brauch nur 1 korrekte Bedinung... Also wenn er Mod ist dann ist er ja nicht Admin und deshalb stimmt die Bedinung... Deshalb war das auch falsch was ich geschrieben habe... Ich darf nicht zwei Sachen auf einmal machen... Bin imo am Smilie Add-On mit den Benutzerrechten dran ^^"

Wie du schon sagtest muss alles mit einem && verknüpft werden... dann klappts auch wieder...

Code: Alles auswählen

if($mode == 'editpost' && $userdata['user_level'] != ADMIN && $userdata['user_level'] != MOD ) )
[/quote]

Klappt soweit wunderbar. Herzlichen Dank. So kommt der MOD gut an.

Ich hätte da noch einige Wünsche.

Ich editiere als Admin einen Beitrag eines User oder meinen Beitrag, wo ich schon vorher einen Grund für die Editierung angab. Da wird der zuvor eingegebene Grund in die Message Box übernommen. Beim User, der seinen eigenen Beitrag editiert und vorher den Grund der Editierung angab, wird der vorher eingebene Grund der Editierung nicht übernommen. Ist wohl eher kosmetischer Natur. Könntest du das fixen?

Als Admin hätte ich gerne den Wunsch auch den Grund der Editierung des Users zu löschen bzw.
einzusehen, wenn ich dessen Beitrag editiere. Ist das irgendwie machbar?


Gruß Stöbi
Benutzeravatar
oxpus
Administrator
Beiträge: 28735
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Das ist so Absicht!
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!
Stoebi
Beiträge: 447
Registriert: Do 24.Feb, 2005 16:35
Wohnort: Berlin
Kontaktdaten:

Beitrag von Stoebi »

Echt, alle beide Sachen, die ich vorgetragen habe?

Gruß Stöbi
Benutzeravatar
oxpus
Administrator
Beiträge: 28735
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Wenn ich Bootenks Ausführungen verstanden habe, ja.
Der User sollte immer einen neue Grund angeben und der alte wird dabei gelöscht.
Der Admin/Mod kann diesen ebenfalls neu eingeben und seinen ändern.
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!
Stoebi
Beiträge: 447
Registriert: Do 24.Feb, 2005 16:35
Wohnort: Berlin
Kontaktdaten:

Beitrag von Stoebi »

[quote="oxpus - So 26.Jun, 2005 21:30";p="36913"]Wenn ich Bootenks Ausführungen verstanden habe, ja.
Der User sollte immer einen neue Grund angeben und der alte wird dabei gelöscht.
Der Admin/Mod kann diesen ebenfalls neu eingeben und seinen ändern.[/quote]

Verstehe. Aber weder der User noch der Admin kann seinen Grund auch wieder rückgängig machen.
Das finde ich eher unbefriedigt, einmal ein Grund angegeben, immer einen Grund angegeben.

Gibt leider auch ne Menge Spielkinder, die auch alles erst einmal ausprobieren. Und dann ist
nichts mehr mit zurückgängig machen.

Spielkinder nicht falsch verstehen. Ich bin ja froh, wenn einige die Neuerungen usw. auch austesten usw. usf. Zähle ich mich auch selbst dazu.


Gruß Stöbi
Zuletzt geändert von Stoebi am So 26.Jun, 2005 21:45, insgesamt 1-mal geändert.
Benutzeravatar
oxpus
Administrator
Beiträge: 28735
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Das ist aber Sinn der Übung gewesen...
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!
Stoebi
Beiträge: 447
Registriert: Do 24.Feb, 2005 16:35
Wohnort: Berlin
Kontaktdaten:

Beitrag von Stoebi »

[quote="oxpus - So 26.Jun, 2005 22:06";p="36925"]Das ist aber Sinn der Übung gewesen...[/quote]


Gut, ist vielleicht ein bischen exotisch mein Wunsch. Ich habe mir gerade noch mal den MOD angeschaut. Könnte man vielleicht auch selbst anpassen. Mal demnächst reinschauen.

Gruß Stöbi
Antworten