Support » Plugin: Revisionary » Email notifications not sent for new pages (only revisions)

  • We’ve used Revisionary for 18 months over various releases and email notification have always been erratic. Now using Revisionary 1.1.12 & WP 3.9.1 and this issue persists. What is consistent is that notifications are not sent when a new page is created by a Revisor user but they are sent when a user edits an existing page.

    Having studied the code the cause of the issue appears to be in admin_rvy.php and is as follows:

    function act_impose_pending_rev() is called but the email is never sent because execution stops at this point (before the code to send emails):

    if ( empty($this->impose_pending_rev) ) {

    $this->impose_pending_rev is empty and should be set in function flt_pendingrev_post_status().

    So what’s happening in flt_pendingrev_post_status()?Eexecution in flt_pendingrev_post_status() is halted by the following code before impose_pending_rev is set:

    if ( empty($status_obj) || ( ! $status_obj->public && ! $status_obj->private && ( ‘future’ != $stored_post->post_status ) ) )
    return $status;

    This if statement’s condition is being met because $status_obj is not empty and $status_obj->protected is true (i.e. public and private are both false).

    I might be wrong, but it appears that “protected” means a user must be logged in and have edit permissions on the post to view it. So it appears to be valid that our posts are “protected” when pending approval and this shouldn’t prevent notifications being sent.

    Why does Revisionary prevent emails being sent when post is protected and could this code be changed to allow emails to be sent?

Viewing 6 replies - 1 through 6 (of 6 total)
  • Further to my last post, there are further conditions (beyond the one above that stops execution) that are not being satisfied in flt_pendingrev_post_status() such that $this->impose_pending_rev is not being populated and emails not sent. One or both of the following must be met:

    Condition One

    if ( ! empty( $_POST[‘rvy_save_as_pending_rev’] ) && ! empty($_POST[‘post_ID’]) )

    Condition Two

    if ( $type_obj = get_post_type_object( $_POST[‘post_type’] ) )
    if ( ! agp_user_can( $type_obj->cap->edit_post, $post_id, ”, array( ‘skip_revision_allowance’ => true ) ) )

    For us, Condition One is never met whereas Condition Two is only met for published pages. Condition One is not being met because $_POST[‘rvy_save_as_pending_rev’] is always empty.

    I will continue working on this but there are no comments in the code so it is hard to work out what’s going on. If anyone can shed any light on this then that would be great.

    OK, so it’s Condition Two that is the issue, i.e.

    !agp_user_can( $type_obj->cap->edit_post, $post_id, ”, array( ‘skip_revision_allowance’ => true ) )

    Now need to work out why when a post/page is first created agp_user_can() returns that the user can edit the post/page because that’s what’s stopping the notifications. Presumably this return code is wrong given that the post/page is still marked as needing approval?

    We’re having the same issue. Notifications only work on existing pages. I tried to contact the developer but no luck.

    Did you find a fix for this? We’re using the latest version of both the plugin and WordPress (4.0)

    No, I haven’t had time to work through the code any further. It’s really disappointing that the developer appears to have given up supporting or developing this plugin. I’ve raised previous support questions for this and another of his plugins, both here and on his website, and never received any support. I know we’re not paying for these plugins but it would still be courteous if he would either provide some support or post an update to say no further support/updates will be provided.

    Yes, that’s strange. Sounds like we’ll need to find a different plugin then.

    This problem still exists…

Viewing 6 replies - 1 through 6 (of 6 total)
  • The topic ‘Email notifications not sent for new pages (only revisions)’ is closed to new replies.