Da der Mod nicht soo lang ist stell ich ihn mal hier hinein und JA er läuft auch unter 2.01
Code: Alles auswählen
###################################################################################
##
## Hack Titel: User Signature erlauben/verbieten
## Hack Version: 1.0.1
## Autor: Acid < acid_junky@web.de >
## Beschreibung: Mit diesem Hack kann man, ähnlich wie bei den Avataren einzelnen
## Usern erlauben bzw. verbieten eine Signature in ihren Beiträgen
## anzuzeigen, bzw. sich überhaupt erst eine auszuwählen.
##
## Dateien zu ändern: 6
## admin/admin_users.php
## language/lang_xxx/lang_admin.php
## includes/usercp_register.php
## viewtopic.php
## templates/xxx/admin/user_edit_body.tpl
## templates/xxx/profile_add_body.tpl
##
###################################################################################
##
## Notiz:
## Bevor Du irgendwelche Änderungen an Dateien/Datenbank vornimmst, solltest Du
## diese vorsorglich vorher sichern.
##
## Der Hack fügt eine weitere Spalte in die 'users' Tabelle hinzu.
###################################################################################
#
#-----[ AKTION: AUSFÜHREN]-----------------------------------
#
SQL QUERY: (prefix_ angleichen!)
ALTER TABLE phpbb_users ADD user_allowsig TINYINT(1) DEFAULT 1 NOT NULL AFTER user_allowavatar;
#
#-----[ AKTION: ]------------------------------------------
# ÖFFNEN: admin/admin_users.php
[FINDE]:
$user_allowavatar = ( !empty($HTTP_POST_VARS['user_allowavatar']) ) ? intval( $HTTP_POST_VARS['user_allowavatar'] ) : 0;
[DANACH EINFÜGEN]:
$user_allowsig = ( !empty($HTTP_POST_VARS['user_allowsig']) ) ? intval( $HTTP_POST_VARS['user_allowsig'] ) : 0;
[FINDE]:
$sql = "UPDATE " . USERS_TABLE . "
SET " . $username_sql . $passwd_sql . "user_email = '" . str_replace("\'", "''", $email) . "', user_icq = '" . str_replace("\'", "''", $icq) . "', user_website = '" . str_replace("\'", "''", $website) . "', user_occ = '" . str_replace("\'", "''", $occupation) . "', user_from = '" . str_replace("\'", "''", $location) . "', user_interests = '" . str_replace("\'", "''", $interests) . "', user_sig = '" . str_replace("\'", "''", $signature) . "', user_viewemail = $viewemail, user_aim = '" . str_replace("\'", "''", $aim) . "', user_yim = '" . str_replace("\'", "''", $yim) . "', user_msnm = '" . str_replace("\'", "''", $msn) . "', user_attachsig = $attachsig, user_sig_bbcode_uid = '$signature_bbcode_uid', user_allowsmile = $allowsmilies, user_allowhtml = $allowhtml, user_allowavatar = $user_allowavatar, user_allowbbcode = $allowbbcode, user_allow_viewonline = $allowviewonline, user_notify = $notifyreply, user_allow_pm = $user_allowpm, user_notify_pm = $notifypm, user_popup_pm = $popuppm, user_lang = '" . str_replace("\'", "''", $user_lang) . "', user_style = $user_style, user_timezone = $user_timezone, user_dateformat = '" . str_replace("\'", "''", $user_dateformat) . "', user_active = $user_status, user_rank = $user_rank" . $avatar_sql . "
[FINDE IN DIESEM PART]:
, user_allowavatar = $user_allowavatar,
[DANACH EINFÜGEN]:
user_allowsig = $user_allowsig,
[FINDE]:
$user_allowavatar = $this_userdata['user_allowavatar'];
[DANACH EINFÜGEN]:
$user_allowsig = $this_userdata['user_allowsig'];
[FINDE]:
$s_hidden_fields .= '<input type="hidden" name="user_allowavatar" value="' . $user_allowavatar . '" />';
[DANACH EINFÜGEN]:
$s_hidden_fields .= '<input type="hidden" name="user_allowsig" value="' . $user_allowsig . '" />';
[FINDE]:
'ALLOW_AVATAR_NO' => (!$user_allowavatar) ? 'checked="checked"' : '',
[DANACH EINFÜGEN]:
'ALLOW_SIG_YES' => ($user_allowsig) ? 'checked="checked"' : '',
'ALLOW_SIG_NO' => (!$user_allowsig) ? 'checked="checked"' : '',
[FINDE]:
'L_ALLOW_AVATAR' => $lang['User_allowavatar'],
[DANACH EINFÜGEN]:
'L_ALLOW_SIG' => $lang['User_allowsig'],
#
#-----[ AKTION: ]------------------------------------------
# ÖFFNEN: language/lang_xxx/lang_admin.php
[FINDE]:
$lang['User_allowavatar'] = 'Can display avatar';
[DANACH EINFÜGEN]:
$lang['User_allowsig'] = 'Can display signature';
#
#-----[ AKTION: ]------------------------------------------
# ÖFFNEN: includes/usercp_register.php
[FINDE]:
$attachsig = $userdata['user_attachsig'];
[MIT FOLGENDEM ERSETZEN]:
$attachsig = ( $userdata['user_allowsig'] ) ? $userdata['user_attachsig'] : '';
[FINDE]:
if ( $board_config['allow_avatar_local'] && file_exists('./' . $board_config['avatar_gallery_path']) )
{
$template->assign_block_vars('switch_avatar_block.switch_avatar_local_gallery', array() );
}
}
[DANACH EINFÜGEN]:
if ( $userdata['user_allowsig'] )
{
$template->assign_block_vars('switch_sig_block', array() );
}
#
#-----[ AKTION: ]------------------------------------------
# ÖFFNEN: viewtopic.php
[FINDE]:
$sql = "SELECT u.username, u.user_id, u.user_posts, u.user_from, u.user_website, u.user_email, u.user_icq, u.user_aim, u.user_yim, u.user_regdate, u.user_msnm, u.user_viewemail, u.user_rank, u.user_sig, u.user_sig_bbcode_uid, u.user_avatar, u.user_avatar_type, u.user_allowavatar, u.user_allowsmile, p.*, pt.post_text, pt.post_subject, pt.bbcode_uid
FROM " . POSTS_TABLE . " p, " . USERS_TABLE . " u, " . POSTS_TEXT_TABLE . " pt
[FINDE IN DIESEM PART]:
, u.user_allowavatar,
[DANACH EINFÜGEN]:
u.user_allowsig,
[FINDE]:
$user_sig = ( $postrow[$i]['enable_sig'] && $postrow[$i]['user_sig'] != '' && $board_config['allow_sig'] ) ? $postrow[$i]['user_sig'] : '';
$user_sig_bbcode_uid = $postrow[$i]['user_sig_bbcode_uid'];
[MIT FOLGENDEM ERSETZEN]:
$user_sig = '';
if ( $poster_id != ANONYMOUS && $postrow[$i]['user_allowsig'] )
{
$user_sig = ( $postrow[$i]['enable_sig'] && $postrow[$i]['user_sig'] != '' && $board_config['allow_sig'] ) ? $postrow[$i]['user_sig'] : '';
$user_sig_bbcode_uid = $postrow[$i]['user_sig_bbcode_uid'];
}
#
#-----[ AKTION: ]------------------------------------------
# ÖFFNEN: templates/xxx/admin/user_edit_body.tpl
[FINDE]:
<tr>
<td class="row1"><span class="gen">{L_ALLOW_AVATAR}</span></td>
<td class="row2">
<input type="radio" name="user_allowavatar" value="1" {ALLOW_AVATAR_YES} />
<span class="gen">{L_YES}</span>
<input type="radio" name="user_allowavatar" value="0" {ALLOW_AVATAR_NO} />
<span class="gen">{L_NO}</span></td>
</tr>
[DANACH EINFÜGEN]:
<tr>
<td class="row1"><span class="gen">{L_ALLOW_SIG}</span></td>
<td class="row2">
<input type="radio" name="user_allowsig" value="1" {ALLOW_SIG_YES} />
<span class="gen">{L_YES}</span>
<input type="radio" name="user_allowsig" value="0" {ALLOW_SIG_NO} />
<span class="gen">{L_NO}</span></td>
</tr>
#
#-----[ AKTION: ]------------------------------------------
# ÖFFNEN: templates/xxx/profile_add_body.tpl
[FINDE]:
<tr>
<td class="row1"><span class="gen">{L_SIGNATURE}:</span><br /><span class="gensmall">{L_SIGNATURE_EXPLAIN}<br /><br />{HTML_STATUS}<br />{BBCODE_STATUS}<br />{SMILIES_STATUS}</span></td>
<td class="row2">
<textarea name="signature"style="width: 300px" rows="6" cols="30" class="post">{SIGNATURE}</textarea>
</td>
</tr>
[MIT FOLGENDEM ERSETZEN]:
<!-- BEGIN switch_sig_block -->
<tr>
<td class="row1"><span class="gen">{L_SIGNATURE}:</span><br /><span class="gensmall">{L_SIGNATURE_EXPLAIN}<br /><br />{HTML_STATUS}<br />{BBCODE_STATUS}<br />{SMILIES_STATUS}</span></td>
<td class="row2">
<textarea name="signature"style="width: 300px" rows="6" cols="30" class="post">{SIGNATURE}</textarea>
</td>
</tr>
<!-- END switch_sig_block -->
[FINDE]:
<tr>
<td class="row1"><span class="gen">{L_ALWAYS_ADD_SIGNATURE}:</span></td>
<td class="row2">
<input type="radio" name="attachsig" value="1" {ALWAYS_ADD_SIGNATURE_YES} />
<span class="gen">{L_YES}</span>
<input type="radio" name="attachsig" value="0" {ALWAYS_ADD_SIGNATURE_NO} />
<span class="gen">{L_NO}</span></td>
</tr>
[MIT FOLGENDEM ERSETZEN]:
<!-- BEGIN switch_sig_block -->
<tr>
<td class="row1"><span class="gen">{L_ALWAYS_ADD_SIGNATURE}:</span></td>
<td class="row2">
<input type="radio" name="attachsig" value="1" {ALWAYS_ADD_SIGNATURE_YES} />
<span class="gen">{L_YES}</span>
<input type="radio" name="attachsig" value="0" {ALWAYS_ADD_SIGNATURE_NO} />
<span class="gen">{L_NO}</span></td>
</tr>
<!-- END switch_sig_block -->
###################################################################################
###################################################################################
###################################################################################