Hallo ihr lieben!
1.)
Ich möchte bei der Nickpage gerne das nur registrierte Benutzer ab z.B. 50 Beiträgen die Nickpage ansehen können. Eintragen kann man ja, glaube ich, im Adminbereich nur ab wann die Nutzer eine Nickpage erstellen dürfen.
Ich habe überlegt ob man eventuell dieses Skript benutzen kann, aber nach eineigen Versuchen hat es nicht funktionert. Weiß nicht genau welche Dateien ich ändern muß.
Code: Alles auswählen
#########################################################################################
##
## MOD Titel: Feld nur von bestimmten Usern änderbar/einsehbar
## Autor: Acid
##
## Beschreibung: Wenn ein (neues) Feld nur von bestimmten Usern änderbar bzw.
## einsehbar sein soll..
## Wenn man mehrere (neue) Felder derartig definieren möchte,
## muss man die Schritte bei den tpl-Dateien duplizieren und dabei
## jeweils "info" ändern (auf Schreibweise achten).
## Das Feld "info" ist nur ein Beispiel.
##
## Dateien zu ändern: 2 (4)
## includes/usercp_register.php (usercp_viewprofile.php)
## templates/xxx/profile_add_body.tpl (profile_view_body.tpl)
##
#########################################################################################
##
## Installationsnotiz:
## Vor jeglichen Änderungen an Dateien, sollten diese vorher gesichert werden.
##
#########################################################################################
#
#-----[ ÖFFNEN ]------------------------------------------
#
# includes/usercp_register.php and/or usercp_viewprofile.php
#
#-----[ FINDE ]---------------------------------------------------
#
$template->pparse('body');
#
#-----[ DARÜBER EINFÜGEN ]---------------------------------------------------
#
# nur ein Beispiel, definiere was auch immer Du willst (Beispiel: nur für Admins)
# $userdata['user_level'] == MOD (nur für Mods)
# $userdata['user_posts'] >= '10' (nur für User mit mehr als 10 Beiträgen)
if( $userdata['user_level'] == ADMIN )
{
$template->assign_block_vars('switch_certain_users', array() );
}
#
#-----[ ÖFFNEN ]------------------------------------------
#
# templates/xxx/profile_add_body.tpl
#
#-----[ FINDE ]---------------------------------------------------
#
<tr>
<td class="row1"><span class="gen">{L_INFO}:</span></td>
<td class="row2"> <input type="text" class="post"style="width: 200px" name="info" size="35" maxlength="150" value="{INFO}" /> </td>
</tr>
#
#-----[ MIT FOLGENDEM ERSETZEN ]---------------------------------------------------
#
<!-- BEGIN switch_certain_users -->
<tr>
<td class="row1"><span class="gen">{L_INFO}:</span></td>
<td class="row2"> <input type="text" class="post"style="width: 200px" name="info" size="35" maxlength="150" value="{INFO}" /> </td>
</tr>
<!-- END switch_certain_users -->
#
#-----[ ÖFFNEN ]------------------------------------------
#
# templates/xxx/profile_view_body.tpl
#
#-----[ FINDE ]---------------------------------------------------
#
<tr>
<td valign="top" align="right"><span class="gen">{L_INFO}:</span></td>
<td> <b><span class="gen">{INFO}</span></b></td>
</tr>
#
#-----[ MIT FOLGENDEM ERSETZEN ]---------------------------------------------------
#
<!-- BEGIN switch_certain_users -->
<tr>
<td valign="top" align="right"><span class="gen">{L_INFO}:</span></td>
<td> <b><span class="gen">{INFO}</span></b></td>
</tr>
<!-- END switch_certain_users -->
#########################################################################################
#########################################################################################
#########################################################################################
Beim Profil funktioniert es wunderbar. Wäre schön wenn jemand eine Idee dazu hat.
2.)
Würde ich gerne Smilies oder kleine Bildchen in den Textbereich mit reinnehmen. Mit diesem Skript funktioniert auch dies im Profil wunderbar. Ist nur auch hier die Frage welche Dateien bei der Nickpage bearbeiten.
Code: Alles auswählen
#########################################################################################
##
## MOD Titel: Textfeld anstatt Eingabefeld
## Autor: Acid
##
## Beschreibung: Wenn man eine Textfeld mit BBcode-, HTML- und Smileeunterstützung
## anstatt eines Eingabefeldes einstellen möchte..
## Wenn man mehrere solcher Textfelder einstellen möchte, muss man die
## folgenden Schritte duplizieren und dabei jeweils "info" ändern
## (auf Schreibweise achten). Das Feld "info" ist nur ein Beispiel.
##
## Dateien zu ändern: 5
## admin/admin_users.php
## includes/usercp_register.php
## includes/usercp_viewprofile.php
## templates/xxx/admin/user_edit_body.tpl
## templates/xxx/profile_add_body.tpl
##
#########################################################################################
##
## Installationsnotiz:
## Vor jeglichen Änderungen an Dateien oder Datenbank, sollten diese vorher
## gesichert werden.
##
## Mit diesem MOD werden zwei neue Felder in die 'users' Tabelle eingefügt.
##
#########################################################################################
#
#-----[ SQL ]-------------------------------------------
#
# Folgende Queries müssen über phpmyadmin ausgeführt werden (Prefix anpassen)..
# Wenn noch kein neues Feld hinzugefügt wurde..
ALTER TABLE phpbb_users ADD user_info TEXT AFTER user_interests;
ALTER TABLE phpbb_users ADD user_info_bbcode_uid VARCHAR (255) AFTER user_info;
# Wenn das bestehende Feld geändert werden soll..
ALTER TABLE phpbb_users CHANGE user_info user_info TEXT;
ALTER TABLE phpbb_users ADD user_info_bbcode_uid VARCHAR (255) AFTER user_info;
# Wenn man mehrere Felder hinzufügt/ändert, muss man die obigen Queries duplizieren und
# die Feldnamen "user_info" anpassen.
#
#########################################################################################
#
#-----[ ÖFFNEN ]------------------------------------------
#
# includes/usercp_viewprofile.php
#
#-----[ FINDE ]---------------------------------------------------
#
$page_title = $lang['Viewing_profile'];
include($phpbb_root_path . 'includes/page_header.'.$phpEx);
#
#-----[ DARUNTER EINFÜGEN ]---------------------------------------------------
#
include_once($phpbb_root_path . 'includes/bbcode.'.$phpEx);
$info = ( $profiledata['user_info'] != '' ) ? $profiledata['user_info'] : '';
$info_bbcode_uid = $profiledata['user_info_bbcode_uid'];
if( !$board_config['allow_html'] )
{
if( $info != '' && $userdata['user_allowhtml'] )
{
$info = preg_replace('#(<)([\/]?.*?)(>)#is', "<\\2>", $info);
}
}
if( $board_config['allow_bbcode'] )
{
if( $info != '' && $info_bbcode_uid != '' )
{
$info = ( $board_config['allow_bbcode'] ) ? bbencode_second_pass($info, $info_bbcode_uid) : preg_replace('/\:[0-9a-z\:]+\]/si', ']', $info);
}
}
if( $board_config['allow_smilies'] )
{
if ( $profiledata['user_allowsmile'] && $info != '' )
{
$info = smilies_pass($info);
}
}
$info = str_replace("\n", "\n<br />\n", $info);
$info = make_clickable($info);
#
#-----[ FINDE ]---------------------------------------------------
#
'INFO' => ( $profiledata['user_info'] ) ? $profiledata['user_info'] : ' ',
#
#-----[ MIT FOLGENDEM ERSETZEN ]---------------------------------------------------
#
'INFO' => $info,
#
#-----[ ÖFFNEN ]------------------------------------------
#
# includes/usercp_register.php
#
#-----[ FINDE ]---------------------------------------------------
#
$strip_var_list = array('username' => 'username', 'email' => 'email', 'icq' => 'icq', 'aim' => 'aim', 'msn' => 'msn', 'yim' => 'yim', 'website' => 'website', 'location' => 'location', 'occupation' => 'occupation', 'interests' => 'interests');
#
#-----[ FINDE in dieser Zeile und LÖSCHE ]---------------------------------------------------
#
, 'info' => 'info'
#
#-----[ FINDE ]---------------------------------------------------
#
$trim_var_list = array('cur_password' => 'cur_password', 'new_password' => 'new_password', 'password_confirm' => 'password_confirm', 'signature' => 'signature');
#
#-----[ FINDE in dieser Zeile ]---------------------------------------------------
#
, 'signature' => 'signature'
#
#-----[ DANACH EINFÜGEN ]---------------------------------------------------
#
, 'info' => 'info'
#
#-----[ FINDE ]---------------------------------------------------
#
$signature = prepare_message($signature, $allowhtml, $allowbbcode, $allowsmilies, $signature_bbcode_uid);
}
#
#-----[ DARUNTER EINFÜGEN ]---------------------------------------------------
#
if ( $info != '' )
{
if ( $info_bbcode_uid == '' )
{
$info_bbcode_uid = ( $allowbbcode ) ? make_bbcode_uid() : '';
}
$info = prepare_message($info, $allowhtml, $allowbbcode, $allowsmilies, $info_bbcode_uid);
}
#
#-----[ FINDE (nur ein Auszug) ]---------------------------------------------------
#
$sql = "UPDATE " . USERS_TABLE . "
#
#-----[ FINDE in dieser Zeile ]---------------------------------------------------
#
, user_info = '" . str_replace("\'", "''", $info) . "'
#
#-----[ DANACH EINFÜGEN ]---------------------------------------------------
#
, user_info_bbcode_uid = '$info_bbcode_uid'
#
#-----[ FINDE (nur ein Auszug) ]---------------------------------------------------
#
$sql = "INSERT INTO " . USERS_TABLE . "
#
#-----[ FINDE in dieser Zeile ]---------------------------------------------------
#
, user_info
#
#-----[ DANACH EINFÜGEN ]---------------------------------------------------
#
, user_info_bbcode_uid
#
#-----[ FINDE in dieser Zeile ]---------------------------------------------------
#
, '" . str_replace("\'", "''", $info) . "'
#
#-----[ DANACH EINFÜGEN ]---------------------------------------------------
#
, '$info_bbcode_uid'
#
#-----[ FINDE ]---------------------------------------------------
#
$info = $userdata['user_info'];
#
#-----[ MIT FOLGENDEM ERSETZEN ]---------------------------------------------------
#
$info_bbcode_uid = $userdata['user_info_bbcode_uid'];
$info = ( $info_bbcode_uid != '' ) ? preg_replace("/:(([a-z0-9]+:)?)$info_bbcode_uid\]/si", ']', $userdata['user_info']) : $userdata['user_info'];
#
#-----[ FINDE ]---------------------------------------------------
#
'INFO' => $info,
#
#-----[ MIT FOLGENDEM ERSETZEN ]---------------------------------------------------
#
'INFO' => str_replace('<br />', "\n", $info),
#
#-----[ ÖFFNEN ]------------------------------------------
#
# admin/admin_users.php
#
#-----[ FINDE ]---------------------------------------------------
#
$info = ( !empty($HTTP_POST_VARS['info']) ) ? trim(strip_tags( $HTTP_POST_VARS['info'] ) ) : '';
#
#-----[ MIT FOLGENDEM ERSETZEN ]---------------------------------------------------
#
$info = ( !empty($HTTP_POST_VARS['info']) ) ? trim(str_replace('<br />', "\n", $HTTP_POST_VARS['info'] ) ) : '';
#
#-----[ FINDE ]---------------------------------------------------
#
//
// Avatar stuff
//
#
#-----[ DAVOR EINFÜGEN ]---------------------------------------------------
#
if( $info != "" )
{
if ( $info_bbcode_uid == '' )
{
$info_bbcode_uid = ( $allowbbcode ) ? make_bbcode_uid() : '';
}
$info = prepare_message($info, $allowhtml, $allowbbcode, $allowsmilies, $info_bbcode_uid);
}
#
#-----[ FINDE (nur ein Auszug) ]---------------------------------------------------
#
$sql = "UPDATE " . USERS_TABLE . "
#
#-----[ FINDE in dieser Zeile ]---------------------------------------------------
#
, user_info = '" . str_replace("\'", "''", $info) . "'
#
#-----[ DANACH EINFÜGEN ]---------------------------------------------------
#
, user_info_bbcode_uid = '$info_bbcode_uid'
#
#-----[ FINDE ]---------------------------------------------------
#
$info = htmlspecialchars($this_userdata['user_info']);
#
#-----[ MIT FOLGENDEM ERSETZEN ]---------------------------------------------------
#
$info = ($this_userdata['user_info_bbcode_uid'] != '') ? preg_replace('#:' . $this_userdata['user_info_bbcode_uid'] . '#si', '', $this_userdata['user_info']) : $this_userdata['user_info'];
$info = preg_replace($html_entities_match, $html_entities_replace, $info);
#
#-----[ FINDE ]---------------------------------------------------
#
'INFO' => $info,
#
#-----[ MIT FOLGENDEM ERSETZEN ]---------------------------------------------------
#
'INFO' => str_replace('<br />', "\n", $info),
#
#-----[ ÖFFNEN ]------------------------------------------
#
# templates/xxx/admin/user_edit_body.tpl
# templates/xxx/profile_add_body.tpl
#
#-----[ FINDE ]---------------------------------------------------
#
<td class="row2"> <input class="post" type="text" name="info" size="35" maxlength="50" value="{INFO}" /> /td>
#
#-----[ MIT FOLGENDEM ERSETZEN ]---------------------------------------------------
#
<td class="row2"><textarea name="info" style="width: 300px" rows="6" cols="30" class="post">{INFO}</textarea></td>
#########################################################################################
#########################################################################################
#########################################################################################
Hoffe ihr könnt mir helfen.
Liebe Grüße Silke