[ALPHA] User Mass E-Mail Control
Verfasst: 18.10.2004 22:41
Hoi,
für den Eigenbedarf habe ich einen Mod geschrieben,bei dem die User wählen können,ob sie Massenemails erhalten wollen oder nicht.
Just wanna share my code...
für den Eigenbedarf habe ich einen Mod geschrieben,bei dem die User wählen können,ob sie Massenemails erhalten wollen oder nicht.
Just wanna share my code...

Code: Alles auswählen
##############################################################
## MOD Title: User Mass E-Mail Control
## MOD Author: kratzer54847 < alternativ3322@web.de > (Johny Jesewski) http://www.plauderclub.de/
## MOD Description: User can specify in their profiles of they want to recieve mass emails or not
## MOD Version: 0.0.2 alpha
##
## Installation Level: Easy
## Installation Time: 5 Minutes
## Files To Edit: includes/usercp_register.php, admin/admin_mass_email.php, language/lang_xxx/lang_main.php, templates/subSilver/profile_add_body.tpl, templates/subSilver/admin/user_edit_body.tpl
## Included Files: n/a
##############################################################
## For Security Purposes, Please Check: http://www.phpbb.com/mods/ for the
## latest version of this MOD. Downloading this MOD from other sites could cause malicious code
## to enter into your phpBB Forum. As such, phpBB will not offer support for MOD's not offered
## in our MOD-Database, located at: http://www.phpbb.com/mods/
##############################################################
## Author Notes:
##
## This Mod adds an option to the user profile where the useres can specify if they want to recieve mass emails or not.
##############################################################
## MOD History:
##
## 2004-10-19 - Version 0.0.2 alpha
## - Minor db structure change used TINYINT instead of VARCHAR
##
## 2004-10-18 - Version 0.0.1 alpha
## - Initial Release
##
##############################################################
## Before Adding This MOD To Your Forum, You Should Back Up All Files Related To This MOD
##############################################################
#
#-----[ SQL ]------------------------------------------
#
ALTER TABLE `phpbb_users` ADD `user_mass_email` TINYINT( 1 ) NOT NULL AFTER `user_allow_viewonline` ;
#
#-----[ OPEN ]------------------------------------------
#
admin/admin_mass_email.php
#
#-----[ FIND ]------------------------------------------
#
$sql = ( $group_id != -1 ) ? "SELECT u.user_email FROM " .
USERS_TABLE . " u, " . USER_GROUP_TABLE . " ug
WHERE ug.group_id = $group_id AND ug.user_pending <> " . TRUE . "
AND u.user_id = ug.user_id" : "SELECT user_email FROM " .
USERS_TABLE;
#
#-----[ REPLACE WITH ]------------------------------------------
#
//
// Get users who want a Mass Email
//
$sql = "SELECT u.user_email
FROM " . USERS_TABLE . " u, " . USER_GROUP_TABLE . " ug
WHERE $group_id != '-1'
AND ug.group_id = $group_id
AND u.user_mass_email = '1'
AND ug.user_pending <> " . TRUE . "
AND u.user_id = ug.user_id";
#
#-----[ OPEN ]------------------------------------------
#
includes/usercp_register.php
#
#-----[ FIND ]------------------------------------------
#
$viewemail = ( isset($HTTP_POST_VARS['viewemail']) ) ? ( ($HTTP_POST_VARS['viewemail']) ? TRUE : 0 ) : 0;
#
#-----[ AFTER, ADD ]------------------------------------------
#
$adminmail = ( isset($HTTP_POST_VARS['adminmail']) ) ? ( ($HTTP_POST_VARS['adminmail']) ? TRUE : 0 ) : 0;
#
#-----[ FIND ]------------------------------------------
#
$sql = "UPDATE " . USERS_TABLE . "
#
#-----[ IN-LINE FIND ]------------------------------------------
#
user_notify_pm,
#
#-----[ IN-LINE AFTER, ADD ]------------------------------------------
#
user_mass_email,
#
#-----[ IN-LINE FIND ]------------------------------------------
#
$notifyreply,
#
#-----[ IN-LINE AFTER, ADD ]------------------------------------------
#
$adminmail,
#
#-----[ FIND ]------------------------------------------
#
$sql = "INSERT INTO " . USERS_TABLE . "
#
#-----[ IN-LINE FIND ]------------------------------------------
#
user_notify_pm,
#
#-----[ IN-LINE AFTER, ADD ]------------------------------------------
#
user_mass_email,
#
#-----[ IN-LINE FIND ]------------------------------------------
#
$notifypm,
#
#-----[ IN-LINE AFTER, ADD ]------------------------------------------
#
'1',
#
#-----[ FIND ]------------------------------------------
#
$allowviewonline = $userdata['user_allow_viewonline'];
#
#-----[ AFTER, ADD ]------------------------------------------
#
$adminmail = $userdata['user_mass_email'];
#
#-----[ FIND ]------------------------------------------
#
'NOTIFY_REPLY_NO' => ( !$notifyreply ) ? 'checked="checked"' : '',
#
#-----[ AFTER, ADD ]------------------------------------------
#
'ADMINMAIL_YES' => ( $adminmail ) ? 'checked="checked"' : '',
'ADMINMAIL_NO' => ( !$adminmail ) ? 'checked="checked"' : '',
#
#-----[ FIND ]------------------------------------------
#
'L_ALWAYS_ADD_SIGNATURE' => $lang['Always_add_sig'],
#
#-----[ AFTER, ADD ]------------------------------------------
#
'L_ADMINMAIL' => $lang['adminmail'],
#
#-----[ OPEN ]------------------------------------------
#
language/lang_english/lang_main.php
#
#-----[ FIND ]------------------------------------------
#
$lang['Always_notify_explain'] = 'Sends an e-mail when someone replies to a topic you have posted in. This can be changed whenever you post.';
#
#-----[ AFTER, ADD ]------------------------------------------
#
$lang['Adminmail'] = 'Administrators can email me information';
#
#-----[ OPEN ]------------------------------------------
#
templates/subSilver/profile_add_body.tpl
#
#-----[ FIND ]------------------------------------------
#
<tr>
<td class="row1"><span class="gen">{L_HIDE_USER}:</span></td>
<td class="row2">
<input type="radio" name="hideonline" value="1" {HIDE_USER_YES} />
<span class="gen">{L_YES}</span>
<input type="radio" name="hideonline" value="0" {HIDE_USER_NO} />
<span class="gen">{L_NO}</span></td>
</tr>
#
#-----[ AFTER, ADD ]------------------------------------------
#
<tr>
<td class="row1"><span class="gen"><b>{L_ADMINMAIL}</b></span></td>
<td class="row2">
<input type="radio" name="adminmail" value="1" {ADMINMAIL_YES} />
<span class="gensmall">{L_YES}</span>
<input type="radio" name="adminmail" value="0" {ADMINMAIL_NO} />
<span class="gensmall">{L_NO}</span>
</td>
</tr>
#
#-----[ OPEN ]------------------------------------------
#
admin/admin_users.php
#
#-----[ FIND ]------------------------------------------
#
$user_avatar_size = ( !empty($HTTP_POST_FILES['avatar']['size']) ) ? $HTTP_POST_FILES['avatar']['size'] : 0;
#
#-----[ AFTER, ADD ]------------------------------------------
#
$adminmail = ( isset($HTTP_POST_VARS['adminmail']) ) ? ( ($HTTP_POST_VARS['adminmail']) ? TRUE : 0 ) : 0;
#
#-----[ FIND ]------------------------------------------
#
$sql = "UPDATE " . USERS_TABLE . "
#
#-----[ IN-LINE FIND ]------------------------------------------
#
user_notify = $notifyreply,
#
#-----[ IN-LINE AFTER, ADD ]------------------------------------------
#
user_mass_email = '$adminmail',
#
#-----[ FIND ]------------------------------------------
#
'POPUP_PM_NO' => (!$popuppm) ? 'checked="checked"' : '',
#
#-----[ AFTER, ADD ]------------------------------------------
#
'ADMINMAIL_YES' => ( $adminmail ) ? 'checked="checked"' : '',
'ADMINMAIL_NO' => ( !$adminmail ) ? 'checked="checked"' : '',
#
#-----[ FIND ]------------------------------------------
#
'L_ALWAYS_ADD_SIGNATURE' => $lang['Always_add_sig'],
#
#-----[ AFTER, ADD ]------------------------------------------
#
'L_ADMINMAIL' => $lang['adminmail'],
#
#-----[ FIND ]------------------------------------------
#
$notifyreply = $this_userdata['user_notify'];
#
#-----[ AFTER, ADD ]------------------------------------------
#
$adminmail = $this_userdata['user_mass_email'];
#
#-----[ FIND ]------------------------------------------
#
$s_hidden_fields .= '<input type="hidden" name="notifyreply" value="' . $notifyreply . '" />';
#
#-----[ AFTER, ADD ]------------------------------------------
#
$s_hidden_fields .= '<input type="hidden" name="adminmail" value="' . $adminmail . '" />';
#
#-----[ OPEN ]------------------------------------------
#
templates/subSilver/user_edit_body.tpl
#
#-----[ FIND ]------------------------------------------
#
<tr>
<td class="row1"><span class="gen">{L_NOTIFY_ON_REPLY}</span></td>
<td class="row2">
<input type="radio" name="notifyreply" value="1" {NOTIFY_REPLY_YES} />
<span class="gen">{L_YES}</span>
<input type="radio" name="notifyreply" value="0" {NOTIFY_REPLY_NO} />
<span class="gen">{L_NO}</span></td>
</tr>
#
#-----[ AFTER, ADD ]------------------------------------------
#
<tr>
<td class="row1"><span class="gen"><b>{L_ADMINMAIL}</b></span></td>
<td class="row2">
<input type="radio" name="adminmail" value="1" {ADMINMAIL_YES} />
<span class="gensmall">{L_YES}</span>
<input type="radio" name="adminmail" value="0" {ADMINMAIL_NO} />
<span class="gensmall">{L_NO}</span>
</td>
</tr>
#
#-----[ SAVE/CLOSE ALL FILES ]------------------------------------------
#
# EoM