Seite 2 von 2

Verfasst: 27.09.2008 01:32
von Dave
Hi

Code: Alles auswählen

// BEGIN DM-TopicDone
if ($isdone == 'yes')
{
		$sql = 'UPDATE ' . TOPICS_TABLE . '
			SET topic_done = 1
			WHERE topic_id = ' . $donetopic;
		$db->sql_query($sql);

	$redirect_url = append_sid("{$phpbb_root_path}viewforum.$phpEx", 'f=' . $forum_id);
	redirect($redirect_url);
}
if ($isdone == 'no')
{
		$sql = 'UPDATE ' . TOPICS_TABLE . '
			SET topic_done = 0
			WHERE topic_id = ' . $donetopic;
		$db->sql_query($sql);

	$redirect_url = append_sid("{$phpbb_root_path}viewforum.$phpEx", 'f=' . $forum_id);
	redirect($redirect_url);
}
// END DM-TopicDone
An der stelle fehlt die überprüfung ob man überhaupt die berechtigung zum ändern hat ;) Würde auch das ganze eher per true und false machen aber das is ja geschmackssache :D

Code: Alles auswählen

//BEGIN DM_TopicDone
			'TOPIC_DONE'		=> (($user->data['user_id'] == $row['topic_poster'] && $auth->acl_get('f_edit', $forum_id)) || $auth->acl_get('m_edit', $forum_id)) ? (($row['topic_done'] == 1) ? '[<a href="viewforum.php?f='.$forum_id.'&dt='.$topic_id.'&done=no"><span class="DMdone">' . $user->lang['DMDONE'] . '</span></a>]' : '[<a href="viewforum.php?f='.$forum_id.'&dt='.$topic_id.'&done=yes"><span class="DMdonenot">' . $user->lang['DMNDONE'] . '</span></a>]') : (($row['topic_done'] == 1) ? '[<span class="DMdone">' . $user->lang['DMDONE'] . '</span>]' : '[<span class="DMdonenot">' . $user->lang['DMNDONE'] . '</span>]'),
//END DM_TopicDone
Das html solltest du wohl eher in die template datei verschieben ;) Außerdem gibt es die funktion append_sid() damit die session nicht verloren geht. Habe dafür auch mal eben was gebastelt. Aber keine garantie das es klappt :D
php:

Code: Alles auswählen

$is_topic_done			=> ($row['topic_done'] == 1) ? 'yes' : 'no';
'U_TOPIC_DONE'			=> append_sid("{$phpbb_root_path}viewforum.$phpEx", 'f=' . $forum_id . '&dt=' . $topic_id . '&done=' . $is_topic_done),
'S_CAN_TOPIC_DONE_EDIT'	=> (($user->data['user_id'] == $row['topic_poster'] && $auth->acl_get('f_edit', $forum_id)) || $auth->acl_get('m_edit', $forum_id)) ? true : false,
'S_IS_TOPIC_DONE'		=> ($row['topic_done'] == 1) ? true : false,
template:

Code: Alles auswählen

<!-- IF S_CAN_TOPIC_DONE_EDIT -->[<a href="{U_TOPIC_DONE}"><span class="<!-- IF S_IS_TOPIC_DONE -->DMdone<!-- ELSE -->DMdonenot<!-- ENDIF -->"><!-- IF S_IS_TOPIC_DONE -->'{L_DMDONE}'<!-- ELSE -->'{DMNDONE}'<!-- ENDIF --></span></a>]<!-- ELSE -->[<span class="<!-- IF S_IS_TOPIC_DONE -->DMdone<!-- ELSE -->DMdonenot<!-- ENDIF -->"><!-- IF S_IS_TOPIC_DONE -->'{{L_DMDONE}}'<!-- ELSE -->'{DMNDONE}'<!-- ENDIF --></span>]<!-- ENDIF -->

Verfasst: 21.10.2008 17:26
von Jan Kaiser ET
Gefällt mir sehr gut,
sehr nützlich!

Nur was ich mir wünschen würde wäre einfach ein Link
"Thread als gelöst markieren" und dann ist dieser [gelöst]

Das hat den einfachen Grund,
dass in meinem Forum viel diskutiert wird,
eine Menge auch geboten wird und es mit der Edit-Funktion
immer mal Betrüger gegeben hat (in Diskussionen),
dafür habe ich die Editier Funktion auf 15 Minuten begrenzt,
da ist dann der Nachteil dieses MODs, dass der Thread-Autor
seinen Beitrag nichtmehr als [gelöst] markieren kann,
weil er den Beitrag nicht mehr ändern kann.

Liebe Grüße
Jan

Verfasst: 23.10.2008 21:04
von Pionier
Ich finde den Mod sehr vielversprechend.
Die Version mir dem Drop-Down-Menu würde mir eher zusagen.
Als Wunsch hätte ich da noch die Anmerkung, dass man im ACP einstellen kann, wer (Admin, Moderator, User) den Präfix vergeben kann.

Finde diese zeile nicht

Verfasst: 27.11.2008 11:17
von EugenM
ich finde in der "includes\functions_posting.php die folgende zeile nicht.
mache ich was falsch??

'topic_approved' => (!$auth->acl_get('f_noapprove', $data['forum_id']) && !$auth->acl_get('m_approve', $data['forum_id'])) ? 0 : 1,

Verfasst: 27.11.2008 15:53
von Futurestar
Sehr vielversprechend das ganze, auch ebenso sehr nützlich.
Jedoch vermisse ich was in der Anleitung und zwar der Einbau für subsilver2.
wird es eine Umsetzung für den Style-Bereich geben?

Verfasst: 27.11.2008 18:02
von Niklas.TT.SB
Netter MOD.
Ich denke den baue ich bei mir irgendwann auch ein mit 2-3 Änderungen in der common.php

LG,
Niklas

Verfasst: 07.12.2008 23:08
von CrazyAlien
Hi! Finde den Mod auch sehr gut.
Habe ihn ebend mal auf einen frischen phpbb 3.03 eingebaut.
Klappt alles soweit mit dem einstellen im ACP und dem anzeigen der Topic Namen.
Aber wenn ich mit "Kennzeichnet das Topic als erledigt" antworte ändert sich nix.
Wenn ich den Topic Namen durch ändern als erledigt kennzeichnen möchte kommt:

Code: Alles auswählen

SQL ERROR [ mysqli ]

Column 'topic_done' cannot be null [1048]

SQL

UPDATE phpbb_topics SET forum_id = 4, icon_id = 0, topic_done = NULL, topic_approved = '1', topic_title = 'TestTopic', topic_first_poster_name = 'D3xT3r', topic_type = 0, topic_time_limit = 0, poll_title = '', poll_start = 0, poll_max_options = 1, poll_length = 0, poll_vote_change = 0, topic_attachment = 0 WHERE topic_id = 7

BACKTRACE

FILE: includes/db/mysqli.php
LINE: 163
CALL: dbal->sql_error()

FILE: includes/functions_posting.php
LINE: 1960
CALL: dbal_mysqli->sql_query()

FILE: posting.php
LINE: 1009
CALL: submit_post()

Re: [Beta] DM-TopicDone

Verfasst: 08.12.2008 08:48
von Daryl van Horne
Amaya hat geschrieben:Description:
Mit diesem MOD werden in der Topicübersicht Präfixe zum Topicnamen hinzugefügt, die den aktuellen Status des Topics angeben (Standartmäßig aktuell oder erledigt), der Status kann entweder beim Editieren des ersten Beitrags eines Topics geändert werden, beim Antworten oder direkt in der Viewforum-Ansicht. Der Topicstatus darf in der Viewforum-Ansicht nur von denjenigen geändert werden, die auch den ersten Beitrag des jeweiligen Themas editieren dürften, außerdem lässt sich diese Funktion für jedes Forum an und aus schalten. Außerdem besteht die Möglichkeit für jedes Forum einzeln festzulegen, ob auch das Reaktivieren erledigter Threads für andere User als den Topicstarter erlaubt werden soll, wenn diese auf den Beitrag antworten.

Version: 0.2.0
Installation Level: Easy
Installation Time: ~20 minutes

Demo: http://mods.demonicplayground.com/
In der Testarea könnt ihr als registrierte User das Umschalten in der Viewforum-Ansicht ausprobieren, wenn ihr ein neues Thema erstellt. Ohne Registrierung könnt ihr euch die Präfixe nur ansehen, aber nicht das Umschalten testen.

Testaccount
Name: Tester
Passwort: dmtopicdone

Download: 0.2.0

Möchte an der Stelle nochmal danke an Metzle, Mahony und nickvergessen sagen und bitte um fleißiges testen und Feedback, ist erst mein zweiter Versuch ein MOD öffentlich zu stellen, man möge mir Fehler verzeihen und mir umgehend mitteilen. :lol:
tolle sache... na dahat doch mal jemand eine idee gehabt... werd ich demnächt mal bei mir einbauen...

Verfasst: 08.12.2008 17:01
von CrazyAlien
Das mit meinem SQL ERROR hat sich erledigt.
Ich sag mal .... es war schon spät. :oops:
Funzt also alles prächtig.

Ich hab da trotzdem noch eine Frage:
Wie könnte ich es hinbekommen das nur eine bestimmte Gruppe die Möglichkeit besitzt den Status zu ändern?