Seite 1 von 1

Frage zum [add_status_103] Mod

Verfasst: 16.09.2003 20:26
von Gregor
Hallo,

ich will die auswahl für die sprache gerne auch gleich für alle beim Posten ermöglichen. Wie und wohin schreibe ich was?!

Danke schon mal für die Hilfe, Gregor

Verfasst: 16.09.2003 20:42
von Gregor
hier die ganze deutsche anleitung, vielleicht kann jemand mir so helfen:
###################################################################################
##
## Hack Titel: Status zum Thema hinzufügen
## Hack Version: 1.0.3 (phpBB 2.0.5)
## Autor: Acid
## Support: http://www.phpbb.de/viewforum.php?f=15
##
## Beschreibung: Mit diesem Hack kann man den Status des Topics anzeigen, ändern.
## z.B. "up", "down", "active" oder was auch immer. Es ist von jedem
## änderbar. Es wird in der Forenansicht angezeigt
##
## Dateien zu ersetzen: 5
## language/lang_german/lang_main.php
## viewtopic.php
## viewforum.php
## templates/xxx/viewtopic_body.tpl
## templates/xxx/viewforum_body.tpl
##
###################################################################################
##
## Notiz:
## Vor jeglichen Änderungen an Datenbank/Dateien sollten dieser gesichert werden.
##
## Dieser Hack legt ein neues Feld in der Datenbank an.
##
###################################################################################
## Versionen:
##
## 1.0.3 - Fehler in "zuletzt geändert" Teil behoben (viewtopic.php)
## 1.0.2 - "$submit" mit "isset($HTTP_POST_VARS['submit'])" ersetzt (viewtopic.php)
## - optionalen Teil hinzugefügt (Status wird mit Bildern angezeigt, Status
## nur von bestimmten Leuten änderbar, zuletzt geändert)
## - switch in viewtopic_body.tpl vergessen
## 1.0.1 - Sprachteil angepasst ("Status auswählen" hinzugefügt)
## - kleine Veränderungen in viewforum.php (Ausgabe) und viewtopic.php (submit)
## - Gästecheck vergessen
## 1.0 - Veröffentlichung
###################################################################################
##
## SQL QUERY: (prefix_ angleichen)

ALTER TABLE phpbb_topics ADD topic_info TINYINT(3) NOT NULL default '0' AFTER topic_status;

## alternativ kann man auch die table_update.php benutzen, um die Datenbank
## anzugleichen (Datei einfach uploaden und ausführen)
##
###################################################################################
#
#-----[ ÖFFNEN ]--------------------------------------------------
#
# language/lang_german/lang_main.php
#
#-----[ FINDE ]--------------------------------------------------
#
//
// Viewforum
//

#
#-----[ DARUNTER EINFÜGEN ]--------------------------------------------------
#
## Wenn man die "Info_choice" Zeile anpasst, darf man nicht die Anführungsstriche (') und
## den ersten Eintrag (Status auswählen) löschen.
## "Status auswählen" kann natürlich geändert werden.
## Wenn man weitere Auswahlmöglichkeiten hinzufügen möchte, muss man ",'Auswahl'" vor
## ");" einfügen (ohne die Anführungsstriche (")).

$lang['Topic_info'] = 'Topic Info';
$lang['Topic_info_updated'] = 'Topic Info aktualisiert.';
$lang['Info_choice'] = array('Status auswählen','negativ','neutral','positiv');



#
#-----[ ÖFFNEN ]--------------------------------------------------
#
# viewtopic.php
#
#-----[ FINDE ]--------------------------------------------------
#
$sql = "SELECT t.topic_id, t.topic_title, t.topic_status, t.topic_replies, t.topic_time, t.topic_type, t.topic_vote, t.topic_last_post_id, f.forum_name, f.forum_status, f.forum_id, f.auth_view, f.auth_read, f.auth_post, f.auth_reply, f.auth_edit, f.auth_delete, f.auth_sticky, f.auth_announce, f.auth_pollcreate, f.auth_vote, f.auth_attachments" . $count_sql . "

#
#-----[ FINDE in dieser Zeile ]--------------------------------------------------
#
t.topic_title

#
#-----[ DANACH EINFÜGEN ]--------------------------------------------------
#
, t.topic_info

#
#-----[ FINDE ]--------------------------------------------------
#
$topic_title = $forum_topic_data['topic_title'];

#
#-----[ DARUNTER EINFÜGEN ]--------------------------------------------------
#
$topic_info = $forum_topic_data['topic_info'];

#
#-----[ FINDE ]--------------------------------------------------
#
$pagination = ( $highlight != '' ) ? generate_pagination("viewtopic.$phpEx?" . POST_TOPIC_URL . "=$topic_id&postdays=$post_days&postorder=$post_order&highlight=$highlight", $total_replies, $board_config['posts_per_page'], $start) : generate_pagination("viewtopic.$phpEx?" . POST_TOPIC_URL . "=$topic_id&postdays=$post_days&postorder=$post_order", $total_replies, $board_config['posts_per_page'], $start);

#
#-----[ DARUNTER EINFÜGEN ]--------------------------------------------------
#
function s_info_select($select_name = 'topic_info')
{
global $topic_info, $lang;

$s_info_select = '<select name="' . $select_name . '">';
while( list($offset, $choice) = @each($lang['Info_choice']) )
{
$selected = ( $offset == $topic_info ) ? ' selected="selected"' : '';
$s_info_select .= '<option value="' . $offset . '"' . $selected . '>' . $choice . '</option>';
}
$s_info_select .= '</select>';
return $s_info_select;
}
$s_info_select = s_info_select('topic_info');

if( $userdata['user_id'] != ANONYMOUS )
{
$template->assign_block_vars('switch_info', array());
}

if ( isset($HTTP_POST_VARS['submit']) && $HTTP_POST_VARS['topic_info'] != 0 && $userdata['user_id'] != ANONYMOUS )
{
$sql = "UPDATE ". TOPICS_TABLE ."
SET topic_info = '" . str_replace("\'", "''", $HTTP_POST_VARS['topic_info']) . "'
WHERE topic_id = $topic_id";
if ( !$db->sql_query($sql) )
{
message_die(GENERAL_ERROR, 'Could not update topic info.', '', __LINE__, __FILE__, $sql);
}
$message = $lang['Topic_info_updated'] . "<br /><br />" . sprintf($lang['Click_return_topic'], "<a href=\"" . append_sid("viewtopic.$phpEx?" . POST_TOPIC_URL . "=$topic_id") . "\">", "</a>") . "<br /><br />" . sprintf($lang['Click_return_forum'], "<a href=\"" . append_sid("viewforum.$phpEx?" . POST_FORUM_URL . "=$forum_id") . "\">", "</a>");
message_die(GENERAL_MESSAGE, $message);
}

#
#-----[ FINDE ]--------------------------------------------------
#
'FORUM_ID' => $forum_id,

#
#-----[ DARÜBER EINFÜGEN ]--------------------------------------------------
#
'L_TOPIC_INFO' => $lang['Topic_info'],
'S_INFO_SELECT' => $s_info_select,
'S_INFO_ACTION' => append_sid("viewtopic.$phpEx?" . POST_TOPIC_URL . "=$topic_id"),



#
#-----[ ÖFFNEN ]--------------------------------------------------
#
# viewforum.php
#
#-----[ FINDE ]--------------------------------------------------
#
'ROW_CLASS' => $row_class,

#
#-----[ DARUNTER EINFÜGEN ]--------------------------------------------------
#
'TOPIC_INFO' => ( $topic_rowset[$i]['topic_info'] != 0 ) ? $lang['Info_choice'][$topic_rowset[$i]['topic_info']].'<br />' : '',



#
#-----[ ÖFFNEN ]--------------------------------------------------
#
# templates/xxx/viewtopic_body.tpl
#
#-----[ FINDE ]--------------------------------------------------
#
{POLL_DISPLAY}

#
#-----[ DARUNTER EINFÜGEN ]--------------------------------------------------
#
<!-- BEGIN switch_info -->
<tr>
<td class="row1" align="left" colspan="2">
<form method="post" action="{S_INFO_ACTION}"><span class="gensmall">{L_TOPIC_INFO}:&nbsp;
{S_INFO_SELECT} <input type="submit" name="submit" value="{L_GO}" class="liteoption" /></span></td>
</tr>
<!-- END switch_info -->



#
#-----[ ÖFFNEN ]--------------------------------------------------
#
# templates/xxx/viewforum_body.tpl
#
#-----[ FINDE (nur ein Auszug) ]--------------------------------------------------
#
<img src="{topicrow.TOPIC_FOLDER_IMG}"

#
#-----[ DAVOR EINFÜGEN ]--------------------------------------------------
#
<span class="gensmall">{topicrow.TOPIC_INFO}</span>

###################################################################################
###################################################################################