Hi,
ich habe mir gerade einen MOD gebastelt, durch den die bei der Registrierung angegebene EMail-Adresse in der Datenbank erhaltenbleibt, auch wenn der Benutzer seine EMail-Adresse ändert.
Vielleicht kannst du damit ja was anfangen:
Code: Alles auswählen
##########################################################################################
##
## MOD Titel: erste EMail-Adresse sichern
## MOD Version: 0.0.1 (phpBB 2.0.18)
## Autor: MagMo
##
## Beschreibung: Dieser MOD sichert die bei der Registrierung angegeben EMail-Adresse.
## Ändert der Benutzer seine EMail-Adresse, so bleibt die Registrierungsadresse
## erhalten. Sie kann im Profil nur von Administratoren eingesehen werden.
##
## Installation Level: (easy)
## Installation Time: 5 Minutes
##
## Files To Edit: 4
## - includes/usercp_register.php
## - includes/usercp_viewprofile.php
## - templates/xxx/profile_view_body.tpl
## - language/xxx/lang_main.tpl
##
#################################################################
## Before Adding This MOD To Your Forum, You Should Back Up All Files Related To This MOD
#################################################################
##
##
## Run the following command on your sql database (replace phpbb_ with your db prefix):
##
## ALTER TABLE `phpbb_users` ADD `user_first_email` VARCHAR( 255 ) NULL AFTER `user_email` ;
## UPDATE `phpbb_users` SET `user_first_email` = `user_email`;
##
##
#################################################################
##
##-----[ OPEN ]------------------------------------------------------
##
## includes/usercp_register.php
##
##-----[ FIND ]------------------------------------------------------
##
$sql = "INSERT INTO " . USERS_TABLE . "
##
##-----[ IN-LINE FIND ]----------------------------------------------
##
, user_email
##
##-----[ IN-LINE AFTER, ADD ]----------------------------------------
##
, user_first_email
##
##-----[ FIND ]------------------------------------------------------
##
$email) . "'
##
##-----[ IN-LINE AFTER, ADD ]----------------------------------------
##
, '" . str_replace("\'", "''", $email) . "'
##
##-----[ OPEN ]------------------------------------------------------
##
## includes/usercp_viewprofile.php
##
##-----[ FIND ]------------------------------------------------------
##
else
{
$email_img = ' ';
$email = ' ';
}
##
##-----[ AFTER, ADD ]------------------------------------------------
##
if ( $userdata['user_level'] == ADMIN )
{
$template->assign_block_vars('switch_user_is_administrator', array());
}
##
##-----[ FIND ]------------------------------------------------------
##
'EMAIL_IMG' => $email_img,
'EMAIL' => $email,
##
##-----[ AFTER, ADD ]------------------------------------------------
##
'FIRST_EMAIL_ADDRESS' => $profiledata['user_first_email'],
'ACTUAL_EMAIL_ADDRESS' => $profiledata['user_email'],
'L_FIRST_EMAIL_ADDRESS' => $lang['first_email'],
'L_ACTUAL_EMAIL_ADDRESS' => $lang['actual_email'],
##
##-----[ OPEN ]------------------------------------------------------
##
## templates/xxx/profile_view_body.tpl
##
##-----[ FIND ]------------------------------------------------------
##
<tr>
<td valign="middle" align="right" nowrap="nowrap"><span class="gen">{L_EMAIL_ADDRESS}:</span></td>
<td class="row1" valign="middle" width="100%"><b><span class="gen">{EMAIL_IMG}</span></b></td>
</tr>
##
##-----[ AFTER, ADD ]------------------------------------------------
##
<!-- BEGIN switch_user_is_administrator -->
<tr>
<td valign="middle" align="right" nowrap="nowrap"><span class="gen">{L_FIRST_EMAIL_ADDRESS}:</span></td>
<td class="row1" valign="middle" width="100%"><span class="gen">{FIRST_EMAIL_ADDRESS}</span></td>
</tr>
<tr>
<td valign="middle" align="right" nowrap="nowrap"><span class="gen">{L_ACTUAL_EMAIL_ADDRESS}:</span></td>
<td class="row1" valign="middle" width="100%"><span class="gen">{ACTUAL_EMAIL_ADDRESS}</span></td>
</tr>
<!-- END switch_user_is_administrator -->
##
##-----[ OPEN ]------------------------------------------------------
##
## language/xxx/lang_main.php
##
##-----[ FIND ]------------------------------------------------------
##
?>
##
##-----[ BEFORE ADD ]------------------------------------------------
##
$lang['first_email'] = 'Registrierungs-E-Mail-Adresse';
$lang['actual_email'] = 'aktuelle E-Mail-Adresse';
##
##-----[ SAVE/CLOSE ALL FILES ]--------------------------------------
##
## EoM
Nicht vergessen profile_view_body.tpl für alle installierten Templates zu ändern und lang_main.php für alle Sprachen.
Ramona_FP hat geschrieben:es gibt ja einen MOD der nach einer Profiländerung den Account deaktiviert so dass man ihn erst wieder freischalten muss - das wäre mir dann aber "zu oft", wenn sollte er nur deaktivieren wenn eins der Pflichtfelder oder nur "ausgewählte" Felder (z.B. Mailaddy) geändert wurden
Der Account wird bei phpBB 2.0.18 doch deaktiviert, wenn die EMail-Adresse geändert wird. Zumindest wenn die Aktivierung des Benutzeraccounts per EMail oder Admin eingeschaltet ist. Bei sonstigen Änderungen wird der Account nicht deaktiviert, damit dürfte dies doch nicht zu oft geschehen. Oder sehe ich das falsch? Ein Mod wo man Pflichtfelder definieren kann, bei deren Änderung der Account ebenfalls deaktiviert wird, ist mir nicht bekannt.
Grüße
MagMo