News:

SMF 2.0.19 has been released! Please update. Read more.

Main Menu

Alerts, Notifications are not working

Started by gautamg, June 02, 2015, 03:59:20 AM

Previous topic - Next topic

gautamg

Alerts, Notification System is not working properly. Users are not receiving email and alerts when when some one send them messages, mentions their name or any thing happened to their topics. Even Administrator is not receiving email/alerts of new member sign up and all.
I have check all the notification setting in admin area and all good.
is it something only happening with my site.?

Please provide a solution if anyone knows about the issue.

Thanks,
Amar

Dragooon

Are they enabled in profile? Do they receive alerts within the forum?

gautamg

Yes, they are enabled in the profile.Attached is the screenshot of the notification settings.

Illori

are you sure that email is working on this server? i get emails for alerts etc for 2.1 on my test install just fine.

Dragooon

Do you receive alerts within the notification centre on the forum?

gautamg

Quote from: Illori on June 02, 2015, 05:20:51 AM
are you sure that email is working on this server? i get emails for alerts etc for 2.1 on my test install just fine.

Yes Email is working fine on my server.

gautamg

Alerts works some time and do not work other time. I received last alert on May 13, I'v had this happen many times.

gautamg

I am using SMF 2.1 Beta 1 that was released in November in 2014.

Illori

Quote from: gautamg on June 02, 2015, 05:40:23 AM
I am using SMF 2.1 Beta 1 that was released in November in 2014.

you should upgrade to the version on github for many bug fixes.

gautamg

Quote from: Illori on June 02, 2015, 05:44:15 AM
Quote from: gautamg on June 02, 2015, 05:40:23 AM
I am using SMF 2.1 Beta 1 that was released in November in 2014.

you should upgrade to the version on github for many bug fixes.

I have installed many of the mods and have done a lot of customization.
Is there any way to update so I can keep the customization safe.

Dragooon

You shouldn't have done that, if you kept a track of your changes you can upgrade and re-apply them.

gautamg

My site is live with thousands of users and topis. To update and reapply the customization is not easy :( .
Can you suggesting me something to look in to in order to fix the notification issue.


Antes

Quote from: gautamg on June 02, 2015, 06:14:35 AM
My site is live with thousands of users and topis. To update and reapply the customization is not easy :( .
Can you suggesting me something to look in to in order to fix the notification issue.



Debug the code, find the issue creating the conflict or problem and fix it.

Kindred

Why would you have used the beta version on a live site with thousands of users?

We have big warnings all over the place that tell you not to use the beta1 version on a live site?

The version thatbyou are running has hundreds of known issues...  And we do not support the beta with patches.   When beta 2 comes out, the only way to upgrade will be to replace all files.

So, basically, you have put yourself in a no win situation...
Слaва
Украинi

Please do not PM, IM or Email me with support questions.  You will get better and faster responses in the support boards.  Thank you.

"Loki is not evil, although he is certainly not a force for good. Loki is... complicated."

gautamg

Quote from: Antes on June 02, 2015, 06:15:49 AM
Quote from: gautamg on June 02, 2015, 06:14:35 AM
My site is live with thousands of users and topis. To update and reapply the customization is not easy :( .
Can you suggesting me something to look in to in order to fix the notification issue.



Debug the code, find the issue creating the conflict or problem and fix it.

Yes, this is the only things I can do now.

Kindred

the thing is....   there are literally hundreds of fixes to the code from the version that you are currently using -- so, even fixing this ONE issue will still leave you with BUCKETS of things which are broken

Your best bet would actually be to forget about your mods and do the real upgrade.

and next time, document your personal customizations ...   oh yeah... and don't use a beta version on a live site.
Слaва
Украинi

Please do not PM, IM or Email me with support questions.  You will get better and faster responses in the support boards.  Thank you.

"Loki is not evil, although he is certainly not a force for good. Loki is... complicated."

1Chope

What op said is true and it is still on 2.1 beta 2. I installed the latest version today in a directory just to test it. The only notification that is working is likes notification, other notification which includes QUOTE, MENTIONED, etc are not working. Feel free to check it out in the live server  http://celebrityng.com/smf

lc62003

Notifications and alerts are not working on a live server even with the latest from Git.   :P

Dragooon

Do you have post approval enabled? And were the posts requiring approval?

lc62003


Dragooon

I tried on my localhost and it works for me, are the profile settings correct for the person receiving the alerts?

Kindred

Слaва
Украинi

Please do not PM, IM or Email me with support questions.  You will get better and faster responses in the support boards.  Thank you.

"Loki is not evil, although he is certainly not a force for good. Loki is... complicated."

live627

Quote from: gautamg on June 02, 2015, 05:40:23 AM
I am using SMF 2.1 Beta 1 that was released in November in 2014.
Ah,  there's your problem. That release has a bug where alert emails never get sent.

Illori

Quote from: live627 on June 02, 2015, 09:37:22 PM
Quote from: gautamg on June 02, 2015, 05:40:23 AM
I am using SMF 2.1 Beta 1 that was released in November in 2014.
Ah,  there's your problem. That release has a bug where alert emails never get sent.

that was a bug with the email for resetting your password, not for notifications/alerts.

lc62003

Quote from: Dragooon on June 02, 2015, 04:48:01 PM
I tried on my localhost

To be quite honest, I believe this is why many of the bugs persist.  Localhost simply is not the same as a live server.  I already outed (here) an upgrade bug that didn't occur on localhost.   ;)

Kindred

Well, I have it installed and running on an actual site/server...  and it works correctly for me
Слaва
Украинi

Please do not PM, IM or Email me with support questions.  You will get better and faster responses in the support boards.  Thank you.

"Loki is not evil, although he is certainly not a force for good. Loki is... complicated."

lc62003

Quote from: Kindred on June 03, 2015, 10:30:45 AM
Well, I have it installed and running on an actual site/server...  and it works correctly for me

I didn't say that was the case for this particular bug.  Just saying it's more relevant for troubleshooting or even bug discovery in general.   ;)

lc62003

Alerts work for me using a legacy version of  Likes-Notify.php in the ./Sources/tasks folder.



<?php

/**
 * This task handles notifying users when something is liked.
 *
 * Simple Machines Forum (SMF)
 *
 * @package SMF
 * @author Simple Machines http://www.simplemachines.org
 * @copyright 2014 Simple Machines and individual contributors
 * @license http://www.simplemachines.org/about/smf/license.php BSD
 *
 * @version 2.1 Alpha 1
 */

class Likes_Notify_Background extends SMF_BackgroundTask
{
public function execute()
{
global $smcFunc$sourcedir;

$author false;
// We need to figure out who the owner of this is.
if ($this->_details['content_type'] == 'msg')
{
$request $smcFunc['db_query']('''
SELECT mem.id_member, mem.id_group, mem.id_post_group, mem.additional_groups, b.member_groups
FROM {db_prefix}messages AS m
INNER JOIN {db_prefix}members AS mem ON (m.id_member = mem.id_member)
INNER JOIN {db_prefix}boards AS b ON (m.id_board = b.id_board)
WHERE id_msg = {int:msg}'
,
array(
'msg' => $this->_details['content_id'],
)
);
if ($row $smcFunc['db_fetch_assoc']($request))
{
// Before we assign the author, let's just check that the author can see the board this is in...
// as it'd suck to notify someone their post was liked when in a board they can't see.
$groups explode(','$row['additional_groups']);
$groups[] = $row['id_group'];
$groups[] = $row['id_post_group'];
$allowed explode(','$row['member_groups']);

// If the user is in group 1 anywhere, they can see everything anyway.
if (in_array(1$groups) || count(array_intersect($allowed$groups)) != 0)
$author $row['id_member'];
}
$smcFunc['db_free_result']($request);
}
else
{
// This isn't something we know natively how to support. Call the hooks, if they're dealing with it, return false, otherwise return the user id.
$hook_results call_integration_hook('integrate_find_like_author', array($this->_details['content_type'], $this->_details['content_id']));
foreach ($hook_results as $result)
if (!empty($result))
{
$author $result;
break;
}
}

// If we didn't have a member... leave.
if (empty($author))
return true;

// If the person who sent the notification is the person whose content it is, do nothing.
if ($author == $this->_details['sender_id'])
return true;

require_once($sourcedir '/Subs-Notify.php');
$prefs getNotifyPrefs($author$this->_details['content_type'] . '_like'true);

// The likes setup doesn't support email notifications because that would be too many emails.
// As a result, the value should really just be non empty.

// Check the value. If no value or it's empty, they didn't want alerts, oh well.
if (empty($prefs[$author][$this->_details['content_type'] . '_like']))
return true;

// Issue, update, move on.
$smcFunc['db_insert']('insert',
'{db_prefix}user_alerts',
array('alert_time' => 'int''id_member' => 'int''id_member_started' => 'int''member_name' => 'string',
'content_type' => 'string''content_id' => 'int''content_action' => 'string''is_read' => 'int''extra' => 'string'),
array($this->_details['time'], $author$this->_details['sender_id'], $this->_details['sender_name'],
$this->_details['content_type'], $this->_details['content_id'], 'like'0''),
array('id_alert')
);

updateMemberData($author, array('alerts' => '+'));

return true;
}
}
?>





It is essentially the same as the current Git file minus the "anti spam" code.


// Don't spam the alerts: if there is an existing unread alert of the
// requested type for the target user from the sender, don't make a new one.
$request = $smcFunc['db_query']('', '
SELECT id_alert
FROM {db_prefix}user_alerts
WHERE id_member = {int:id_member}
AND is_read = 0
AND content_type = {string:content_type}
AND content_id = {int:content_id}
AND content_action = {string:content_action}',
array(
'id_member' => $author,
'content_type' => $this->_details['content_type'],
'content_id' => $this->_details['content_id'],
'content_action' => 'like',
)
);

if ($smcFunc['db_num_rows']($request) > 0)
return true;
$smcFunc['db_free_result']($request);



Just out of curiosity if your alerts are working, does your file contain the above code?  If so why does it not work for my site?

Dragooon

Are no alerts being issued before you remove the code? Not even one?

lc62003

Quote from: Dragooon on June 03, 2015, 04:43:08 PM
Are no alerts being issued before you remove the code? Not even one?

Correct.  None whatsoever. 

Dragooon

Do you have any rows in user_alerts table?

lc62003

Actually yes.  The alert queue shows up in the alert notifications with the addition of the legacy Likes-Notify file since they lie in wait from the database. 

Advertisement: