When subscriptions are added through the subscriptions block, which appears with the node, the send interval set is incorrect.

Assuming that the user's subscription interval settings is set to 15min., adding a new subscription (any type) through the subscription block results in a send_interval of 0 in the subscriptions table, instead of the expected 900 seconds. E-mails are sent right away (at every cron run), instead of every 15 min.

Adding subscriptions through the user's subscriptions section (http://www.mysite.com/user/2/subscriptions) is fine. The send intervals set are all 900 in the database and e-mails are sent as expected.

Thanks.

Comments

salvis’s picture

I can't reproduce this here — here's what I did:

Went to user/1/subscriptions, set the Send interval under Settings, Preferences to 3 hours (it happened to be 15 minutes before).
Went to node/19/subscribe#subscribe, turned Subscribe to this page ON, saved.
Went to user/1/subscriptions/node to find a subscription with the Send interval set to 3 hours.

So far this looks like it's working perfectly...

Why can we not use the user interface?

new_B’s picture

When I subscribe to a page, using the subscription block form, the new subscription does appear under user/1/subscriptions/node, as expected; however, the send interval of 3 hours is not specified on that page, only the page title. Using phpMyAdmin and viewing the send_interval field for the new subscription in the "subscriptions" table reveals that the subscription is incorrectly set to 0.

Not sure if it makes a difference but the following are the display settings I have for subscriptions:
- Node form position: Fieldset in Subscriptions interface block (below the comments)
- Node form visibility: Always display the fieldset
- Expand the node form fieldset (checked)
- Show 'by author' subscriptions options (checked)

new_B’s picture

To add to that, try adding a new subscription by going to the user's subscriptions pages under http://www.yoursite.com/user/1/subscriptions (e.g. http://www.yoursite/user/1/subscriptions/blog). Checking for the new subscription in the "subscriptions" table through phpMyAdmin reveals that the send_interval is correctly set to 3 hours.

salvis’s picture

the send interval of 3 hours is not specified on that page, only the page title.

Then you've hidden it. Make it visible, until things work as you intend them to work. Don't make life unnecessarily hard for yourself (and me)...

Make it visible on admin/settings/subscriptions/userdefaults and user/1/subscriptions.

To add to that, try adding a new subscription by going to the user's subscriptions pages under http://www.yoursite.com/user/1/subscriptions (e.g. http://www.yoursite/user/1/subscriptions/blog). Checking for the new subscription in the "subscriptions" table through phpMyAdmin reveals that the send_interval is correctly set to 3 hours.

So, at least that does work as it's supposed to, right?

new_B’s picture

Sorry for all the confusion. I don't think we're on the same page though.

Just to clarify, what I meant, the time interval settings are visible and are set to 3 hours (under "Subscriptions" -> "Overview"). I just meant that it doesn't appear on the "Subscriptions" -> "Pages" section where the list of page-specific subscriptions appear. (Sorry, I had misinterpreted your previous post: "Went to user/1/subscriptions/node to find a subscription with the Send interval set to 3 hours.")

If you try adding new subscriptions through the subscription block which appears with the node, you will see in the database (subscriptions table) that the send interval is incorrectly set, despite the setting of 3 hours having been set for the user's subscription setting. The actual results are also incorrect. E-mails are being sent at every cron run instead of every 3 hours.

Please let me know if you need further clarifications.

Thank you for all your time & help on this. I really appreciate it.

salvis’s picture

Please stop using "abc" -> "def" — always post paths (URLs).

Go to user/1/subscriptions/node. If you don't see Send intervals on user/1/subscriptions/node, then you've hidden them. Make them visible.

See #4 above.

new_B’s picture

Sorry salvis, for the continued confusion, frustration, & misinterpreting your previous post.

It appears that the issue is related to the send interval visibility, which is set at admin/settings/subscriptions/userdefaults and user/1/subscriptions.

When the send interval control is set to "hidden", the send interval set (as the default and for user 1) are ignored.
All new subscriptions that are added through the subscriptions form block, which appear with the node, result in a send interval of 0. This result can be seen both in the subscriptions table of the database as well as user/1/subscriptions/node.

For example,
- Set the send interval to 3 hours (for the user default and user 1)
- Set the send interval visibility to "visible"
- Subscribe to a page using the subscriptions form block which appears with the node
- Checking user/1/subscriptions/node reveals that the interval set is correct
- Now, set the send interval visibility to "hidden"
- Subscribe to a different page using the subscriptions form block
- Change the send interval visibility back to "visible"
- Checking user/1/subscriptions/node reveals that the interval set is incorrect (i.e., "as soon as possible")

Thank you so much for your time, help, & patience.

salvis’s picture

Assigned: Unassigned » salvis
Status: Active » Needs work

Ah, what a thrill — thanks for your perseverance.

salvis’s picture

Status: Needs work » Fixed

Fixed in the 5.x-2.x-dev version. Give it up to 12 hours to be repackaged.

This bug is not present in the D6 version.

Status: Fixed » Closed (fixed)

Automatically closed -- issue fixed for 2 weeks with no activity.