Verfasst: 27.09.2008 01:32
Hi
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 
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
php:
template:
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


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


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,
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 -->