Version: 1.00, by alexp
Developer Last Online: Mar 2003
Version: 2.2.x
Rating:
Released: 04-17-2002
Last Update: Never
Installs: 9
No support by the author.
This hack allows user to opt-in to mailing lists which you, or a marketing colleague (with appropiate permissions) can create and send mail to. It uses code from the email.php script in the admin section but adds the flexibility of multiple mailing lists which users can opt-in and opt-out of.
Changes made:
1) New directory (called newsletter which can be accessed by poduct managers etc so non-admins can use the functionality
2) Changes to usergroup.php in the admin section allow you to assign newsletter priveleges to a user group from the admin CP
3) Changes to user options allow members to subscribe or unsubscribe to various mailing lists.
All necessary code and a fairly involved readme are included as attachments. You'll need direct access to your DB for this one, as you'll be setting up a couple of new tables.
I hope you find this helpful, and please don't hesitate to contact me via email (PM may take a while as I'm not here that regularly) if I can help at all. I'll do my best to offer support for the hack as quickly as possible.
Cheers,
Alex
PS .zip file is posted further down in the thread
[EDIT] If a user has permission to "cansendALLnewsletters" they will also need the lower permission of "cansendnewsletter". This is not given automatically. I suppose its a bug, but its no big deal..
[/EDIT]
[EDIT]
Instead of uploading the new full version of usergroup.php as instructed in the readme, follow the instructions in the usergroup_changes.txt file to alter this file.
With the long SQL queries, make sure that no variable names span a line break - this will cause a DB error.
[/edit]
Show Your Support
This modification may not be copied, reproduced or published elsewhere without author's permission.
Which code in Global.php (in forum/admin or /forum?) should I change.. You can't just write lines 130-143.. Maybe I write something over that is not like your global.php.
@lars - I will go through the code at work tomorrow and replace the line numbers with "between this code and that code" - Basically the changes to Global just set a different cookie (newsletter OK instead of admin OK.)
[edit]
PS as you are copying the file into a new directory and not editing the existing file in your admin directory, why not take a clean copy from your install .zip and follow the line numbers then?
[/edit]
@hellsatan - yes that is possible, I just thought using the usegroup was a more flexible method. Hack the "get perms" section to set $getperms[cansendnewsletter] =1 if your user has an acceptable userID. You could store an array of acceptable userIDs at the top of the script. - I'll post code tomorrow if I get a chance.
for some reason, $HTTP_POST_VARS['action'] doesn't seem always to work (a colleague and I both had this problem this morning whilst it worked fine yesterday :cross-eyed: )
To solve this:
in email.php, change line 15 from "if ($HTTP_POST_VARS['action']=="dosendmail") {"
to simply "if ($action=="dosendmail") {"
Now the question is, why doesn't $HTTP_POST_VARS work today when it worked yesterday and the day before that???? Very odd!
Also enclosed is a new manage.php file which allows those with newsletter admin priveleges to subscribe all users to a newsletter. Whilst this feature could be useful in some situations, remember SPAM IS BAD! You should also tell users how to unsubscribe from the list again if you choose to use this feature.