I was wondering if anyone had any advice for me. I like recieving email notifications on PM, however my previous host accused me of spam and warned me about sending such emails. Users have no way of turning off "Notifications on PM" themselves. And theres no unsubscribe button in the emails from E107. I was informed that that's not legal?
They do have a point. As a (temporary) solution you could add a disclaimer to your website stating that registration means getting those emails. It would be an excellent feature request though. Might even code something myself lateron.
Edit: this is the other way around but there is an option to enable those emails only for a specific userclass. So you instead of opt-out you have a opt-in system. Only if you want to receive those emails you are added to a userclass that gets those emails.
use the auto-assign plugin in conjunction. All new members will become part of "Email on PM" when they register and then you use your idea by setting a user class to receive emails.
They can chose to OPT out. Then we can change the default email to a link, "To stop receiving notifications, click here and untick "Notify" or whatever.
The name should be "user_pmotou". Copy all the info. This structure will be visible for all site members, and will be there when the user signs up. The site member can go any time to Settings, and change the option "Yes/No". This was the fun part.
Now, the fun starts. Open this file: /e107_plugins/pm/pm_class.php
Locate the function function pm_send_notify($uid, $pminfo, $pmid, $attach_count = 0) It should be on line 201.
Make it look like this: [-link-] Check that I ADDED right after this function a new function just behind pm_send_notify() being called user_opt_out()
So, function pm_send_notify() changed a bit. Function user_opt_out() was added.
How does it work: before the actual mail is build and send in pm_send_notify(), the new function user_opt_out() checks if the user to who the mail is going to be send to, WANTS to receive a mail (when he gets PM'd). No signaling will been done to the guy who send the PM.
I wrote and tested this for e107 0.7.26 only.
Remember: This is core patching. I didn't say this. You didn't do this.
Correct for the "user_opt_out($uid) is TRUE", the function should return "FALSE" when the user did not opted out. A corrected version, more logic: [-link-]
And actually, both parts were fun to write (it was 3:45 AM)
Hey man I got the field set up but I don't understand how to place the code. Can I get more instruction please? I just don't understand where to paste what.
ok I've done that and I dont understand. This is why I posted please provide MORE info, but thanks for making me feel even more stupid. Is there anyone else that can please explain in greater detail. Thank you.
Locating a file (on your web server !), taking it into and editor, cherching a text, cut (from the link shown above) and pasting the code into the file (replacing the function pm_send_notify() and adding a new function, which is part of the code block you pasted isn't hard. But it needs a huge pile of know-how to do so.
I see what it says. I can read the directions. But I can't see what to change. I don't understand code and when I open the two examples they look so freaking different to me I can't figure out what to place where. It just doesn't make sense to me I don't know how else to explain it. Can someone just post something i can upload to make the changes? The first example has barely anything, the after is almost an entire page, I can't can't fucking read it and it's beginning to piss me off so much cuz I know it's a simple little fucking thing I can't figure out. Fuck it, never mind I'll find something else to use.
There is one file you need to change. It's the /e107_plugins/pm/pm_class.php file. As this is a core file we normally do not advise changing it as it will get overwritten in an update if not documented properly.
I've edited the file for you, it's up for download for 48 hours (send me a PM if you haven't had time to dl it yet): [-link-]
Now, there are two things you need to do: - Unzip the download, overwrite the current /e107_plugins/pm/pm_class.php with the downloaded one. - Follow the instructions by nowwhat above regarding the Extended User Field.