[ALPHA] User Mass E-Mail Control

In diesem Forum können Mod-Autoren ihre Mods vorstellen, die sich noch im Entwicklungsstatus befinden. Der Einbau in Foren im produktiven Betrieb wird nicht empfohlen.
Forumsregeln
phpBB 2.0 hat das Ende seiner Lebenszeit überschritten
phpBB 2.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 2.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf phpBB 3.0, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
Benutzeravatar
kratzer54847
Mitglied
Beiträge: 3065
Registriert: 20.01.2003 16:34
Wohnort: Düsseldorf/Hannover/Berlin
Kontaktdaten:

[ALPHA] User Mass E-Mail Control

Beitrag von kratzer54847 »

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... :D

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>&nbsp;&nbsp; 
	<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>&nbsp; 
		<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>&nbsp;&nbsp; 
		<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>&nbsp; 
		<input type="radio" name="adminmail" value="0" {ADMINMAIL_NO} />
		<span class="gensmall">{L_NO}</span>
</td>
</tr>

# 
#-----[ SAVE/CLOSE ALL FILES ]------------------------------------------ 
# 
# EoM
Zuletzt geändert von kratzer54847 am 19.10.2004 18:02, insgesamt 2-mal geändert.
Knowledge Base | MOD Datenbank | Boardsuche | HTML | PHP

Durch die richtige Verwendung dieser Links können viele Fragen beantwortet werden ;-)
Benutzeravatar
kratzer54847
Mitglied
Beiträge: 3065
Registriert: 20.01.2003 16:34
Wohnort: Düsseldorf/Hannover/Berlin
Kontaktdaten:

Beitrag von kratzer54847 »

Update Alpha 0.0.2

Bug: Fehler in der Datenbankstruktur
Fix: Folgenen Query ausführen(Präfix ggf. ändern):

Code: Alles auswählen

ALTER TABLE `phpbb_users` CHANGE `user_mass_email` `user_mass_email` TINYINT( 1 ) NOT NULL
Knowledge Base | MOD Datenbank | Boardsuche | HTML | PHP

Durch die richtige Verwendung dieser Links können viele Fragen beantwortet werden ;-)
Benutzeravatar
kratzer54847
Mitglied
Beiträge: 3065
Registriert: 20.01.2003 16:34
Wohnort: Düsseldorf/Hannover/Berlin
Kontaktdaten:

Beitrag von kratzer54847 »

für Version 0.1.0 ist bisher folgendes geplant:

Admins können bestimmte E-Mails trotzdem an alle Benutzer senden(durch aktivieren einer zusätzlichen Checkbox "An alle User senden")
Knowledge Base | MOD Datenbank | Boardsuche | HTML | PHP

Durch die richtige Verwendung dieser Links können viele Fragen beantwortet werden ;-)
Benutzeravatar
FSKiller / Phoenix
Mitglied
Beiträge: 872
Registriert: 28.08.2003 19:57
Wohnort: Berlin

Beitrag von FSKiller / Phoenix »

kratzer54847 hat geschrieben:für Version 0.1.0 ist bisher folgendes geplant:

Admins können bestimmte E-Mails trotzdem an alle Benutzer senden(durch aktivieren einer zusätzlichen Checkbox "An alle User senden")
und was soll der mod dann bringen wenn der Admin doch an alle schreiben kann wenn einer das nicht haben will?
Kein Support per PN/Mail, wer sucht der findet!
Benutzeravatar
kratzer54847
Mitglied
Beiträge: 3065
Registriert: 20.01.2003 16:34
Wohnort: Düsseldorf/Hannover/Berlin
Kontaktdaten:

Beitrag von kratzer54847 »

Ich dachte da an Urgent Messages,also wichtige Nachrichten,die z.B. die Useraccounts betreffen etc.
Knowledge Base | MOD Datenbank | Boardsuche | HTML | PHP

Durch die richtige Verwendung dieser Links können viele Fragen beantwortet werden ;-)
Benutzeravatar
FSKiller / Phoenix
Mitglied
Beiträge: 872
Registriert: 28.08.2003 19:57
Wohnort: Berlin

Beitrag von FSKiller / Phoenix »

kratzer54847 hat geschrieben:Ich dachte da an Urgent Messages,also wichtige Nachrichten,die z.B. die Useraccounts betreffen etc.
?? what? kannste das mal für nicht so schlaue leute wie du erklären stehe auf dem schlauch aber an sich nett, aber wenn man nur darüber belastigt wird kann man ja auch in spamfilter packen :D
Kein Support per PN/Mail, wer sucht der findet!
Benutzeravatar
kratzer54847
Mitglied
Beiträge: 3065
Registriert: 20.01.2003 16:34
Wohnort: Düsseldorf/Hannover/Berlin
Kontaktdaten:

Beitrag von kratzer54847 »

naja wenns nun um ganz wichtige Dinge geht,wie z.B. personelle Änderungen etc. dann sollte man das überschreiben können finde ich!

mfg Johny
Knowledge Base | MOD Datenbank | Boardsuche | HTML | PHP

Durch die richtige Verwendung dieser Links können viele Fragen beantwortet werden ;-)
Benutzeravatar
FSKiller / Phoenix
Mitglied
Beiträge: 872
Registriert: 28.08.2003 19:57
Wohnort: Berlin

Beitrag von FSKiller / Phoenix »

Servus,

auch wenn ich erst etwas gegen den MOD war aber mir ist da was eingefallen
schau mal hier da du ja der author des scriptes bist vielleicht wäre das eine gute erweiterung ...
Kein Support per PN/Mail, wer sucht der findet!
Benutzeravatar
kratzer54847
Mitglied
Beiträge: 3065
Registriert: 20.01.2003 16:34
Wohnort: Düsseldorf/Hannover/Berlin
Kontaktdaten:

Beitrag von kratzer54847 »

hoi FSKiller,

ich arbeite derzeit noch an Version 1.1 mit den "Urgent Mails",die alle User bekommen.

Ich werde mir die Sache aber mal ansehen,wenn ich wieder Zeit dafür habe.

mfg Johny
Knowledge Base | MOD Datenbank | Boardsuche | HTML | PHP

Durch die richtige Verwendung dieser Links können viele Fragen beantwortet werden ;-)
Benutzeravatar
Helmut71
Mitglied
Beiträge: 1152
Registriert: 07.07.2003 23:03
Wohnort: Hohenau/Österreich

Beitrag von Helmut71 »

Hallo!!

@Johnny: finde deine Idee hervorragend!

Etwas solltest du noch hinzufügen: User sollten wählen können, ob ALLE User ihnen Emails schicken dürfen und ob NUR ADMINS ihnen Mails schicken oder gar keiner.

Diese Funktion suche ich schon ne zeitlang für phpbb

Ist in anderen Boards Standard.

Vielleicht schaffst du das??
Es tanzt ein Bi Ba Butzemann.
Antworten

Zurück zu „phpBB 2.0: Mods in Entwicklung“