Plugin Directory

Changeset 2466792


Ignore:
Timestamp:
02/01/2021 10:08:16 PM (5 years ago)
Author:
firetree
Message:

Update to version 1.2.0 from GitHub

Location:
hey-notify
Files:
10 added
36 edited
1 copied

Legend:

Unmodified
Added
Removed
  • hey-notify/tags/1.2.0/hey-notify.php

    r2461187 r2466792  
    44 * Plugin URI: https://heynotifywp.com/
    55 * Description: Get notified when things happen in WordPress.
    6  * Version: 1.1.6
     6 * Version: 1.2.0
    77 * Author: FireTree Design, LLC <info@firetreedesign.com>
    88 * Author URI: https://firetreedesign.com/
     
    1919}
    2020
    21 define( 'HEY_NOTIFY_VERSION', '1.1.6' );
     21define( 'HEY_NOTIFY_VERSION', '1.2.0' );
    2222define( 'HEY_NOTIFY_PLUGIN_FILE', __FILE__ );
    2323define( 'HEY_NOTIFY_PLUGIN_DIR', plugin_dir_path( __FILE__ ) );
     
    3939require_once HEY_NOTIFY_PLUGIN_DIR . 'includes/events/user/loader.php';
    4040require_once HEY_NOTIFY_PLUGIN_DIR . 'includes/events/system/loader.php';
     41require_once HEY_NOTIFY_PLUGIN_DIR . 'includes/events/cpt/loader.php';
    4142
    4243// Services.
  • hey-notify/tags/1.2.0/includes/class-event.php

    r2345565 r2466792  
    4040
    4141    /**
     42     * Type
     43     *
     44     * @var string
     45     */
     46    public $type;
     47
     48    /**
    4249     * Class constructor
    4350     *
     
    4653     */
    4754    public function __construct( $type, $hook ) {
     55        $this->type = $type;
    4856        $this->hook = $hook;
    4957
  • hey-notify/tags/1.2.0/includes/events/comment/class-comment-hook.php

    r2349284 r2466792  
    3737        }
    3838
    39         $subject = \sprintf(
     39        $subject = \wp_sprintf(
    4040            /* translators: %s: Name of the site */
    4141            \__( 'Hey, a new comment has been posted on %s!', 'hey-notify' ),
    4242            \get_bloginfo( 'name' )
    4343        );
     44
     45        $subject = apply_filters( 'hey_notify_comment_new_subject', $subject, $comment );
    4446
    4547        $this->prepare_data( $subject, $comment );
  • hey-notify/tags/1.2.0/includes/events/page/class-page-hook.php

    r2349284 r2466792  
    3737
    3838        if ( 0 === $current_user ) {
    39             $subject = \sprintf(
    40                 /* translators: %s: Name of the site */
    41                 \__( 'Hey, a new page was drafted on %s!', 'hey-notify' ),
    42                 \get_bloginfo( 'name' )
    43             );
    44         } else {
    45             $subject = \sprintf(
    46                 /* translators: 1: Name of the user 2: Name of the site */
    47                 \__( 'Hey, a new page was drafted by %1$s on %2$s!', 'hey-notify' ),
    48                 \esc_html( $current_user->display_name ),
    49                 \get_bloginfo( 'name' )
    50             );
    51         }
     39            $subject = \wp_sprintf(
     40                /* translators: %s: Name of the site */
     41                \__( 'Hey, a page was drafted on %s!', 'hey-notify' ),
     42                \get_bloginfo( 'name' )
     43            );
     44        } else {
     45            $subject = \wp_sprintf(
     46                /* translators: 1: Name of the user 2: Name of the site */
     47                \__( 'Hey, a page was drafted by %1$s on %2$s!', 'hey-notify' ),
     48                \esc_html( $current_user->display_name ),
     49                \get_bloginfo( 'name' )
     50            );
     51        }
     52
     53        $subject = apply_filters( 'hey_notify_page_draft_subject', $subject, $post );
    5254
    5355        $this->prepare_data( $subject, $post );
     
    7375
    7476        if ( 0 === $current_user ) {
    75             $subject = \sprintf(
    76                 /* translators: %s: Name of the site */
    77                 \__( 'Hey, a new page was published on %s!', 'hey-notify' ),
    78                 \get_bloginfo( 'name' )
    79             );
    80         } else {
    81             $subject = \sprintf(
    82                 /* translators: 1: Name of the user 2: Name of the site */
    83                 \__( 'Hey, a new page was published by %1$s on %2$s!', 'hey-notify' ),
    84                 \esc_html( $current_user->display_name ),
    85                 \get_bloginfo( 'name' )
    86             );
    87         }
     77            $subject = \wp_sprintf(
     78                /* translators: %s: Name of the site */
     79                \__( 'Hey, a page was published on %s!', 'hey-notify' ),
     80                \get_bloginfo( 'name' )
     81            );
     82        } else {
     83            $subject = \wp_sprintf(
     84                /* translators: 1: Name of the user 2: Name of the site */
     85                \__( 'Hey, a page was published by %1$s on %2$s!', 'hey-notify' ),
     86                \esc_html( $current_user->display_name ),
     87                \get_bloginfo( 'name' )
     88            );
     89        }
     90
     91        $subject = apply_filters( 'hey_notify_page_published_subject', $subject, $post );
    8892
    8993        $this->prepare_data( $subject, $post );
     
    109113
    110114        if ( 0 === $current_user ) {
    111             $subject = \sprintf(
    112                 /* translators: %s: Name of the site */
    113                 \__( 'Hey, a new page was scheduled on %s!', 'hey-notify' ),
    114                 \get_bloginfo( 'name' )
    115             );
    116         } else {
    117             $subject = \sprintf(
    118                 /* translators: 1: Name of the user 2: Name of the site */
    119                 \__( 'Hey, a new page was scheduled by %1$s on %2$s!', 'hey-notify' ),
    120                 \esc_html( $current_user->display_name ),
    121                 \get_bloginfo( 'name' )
    122             );
    123         }
     115            $subject = \wp_sprintf(
     116                /* translators: %s: Name of the site */
     117                \__( 'Hey, a page was scheduled on %s!', 'hey-notify' ),
     118                \get_bloginfo( 'name' )
     119            );
     120        } else {
     121            $subject = \wp_sprintf(
     122                /* translators: 1: Name of the user 2: Name of the site */
     123                \__( 'Hey, a page was scheduled by %1$s on %2$s!', 'hey-notify' ),
     124                \esc_html( $current_user->display_name ),
     125                \get_bloginfo( 'name' )
     126            );
     127        }
     128
     129        $subject = apply_filters( 'hey_notify_page_scheduled_subject', $subject, $post );
    124130
    125131        $this->prepare_data( $subject, $post );
     
    134140    public function page_pending( $post ) {
    135141
    136         $subject = \sprintf(
     142        if ( empty( $post ) || ! is_object( $post ) ) {
     143            return;
     144        }
     145
     146        if ( 'page' !== $post->post_type ) {
     147            return;
     148        }
     149
     150        $subject = \wp_sprintf(
    137151            /* translators: %s: Name of the site */
    138             \__( 'Hey, a new page is pending on %s!', 'hey-notify' ),
     152            \__( 'Hey, a page is pending on %s!', 'hey-notify' ),
    139153            \get_bloginfo( 'name' )
    140154        );
    141155
     156        $subject = apply_filters( 'hey_notify_page_pending_subject', $subject, $post );
     157
    142158        $this->prepare_data( $subject, $post );
    143159    }
     
    166182
    167183        if ( 0 === $current_user ) {
    168             $subject = \sprintf(
     184            $subject = \wp_sprintf(
    169185                /* translators: %s: Name of the site */
    170186                \__( 'Hey, a page was updated on %s!', 'hey-notify' ),
     
    172188            );
    173189        } else {
    174             $subject = \sprintf(
     190            $subject = \wp_sprintf(
    175191                /* translators: 1: Name of the user 2: Name of the site */
    176192                \__( 'Hey, a page was updated by %1$s on %2$s!', 'hey-notify' ),
     
    180196        }
    181197
     198        $subject = apply_filters( 'hey_notify_page_updated_subject', $subject, $post );
     199
    182200        $this->prepare_data( $subject, $post );
    183201    }
     
    204222
    205223        if ( 0 === $current_user ) {
    206             $subject = \sprintf(
     224            $subject = \wp_sprintf(
    207225                /* translators: %s: Name of the site */
    208226                \__( 'Hey, a page was deleted on %s!', 'hey-notify' ),
     
    210228            );
    211229        } else {
    212             $subject = \sprintf(
     230            $subject = \wp_sprintf(
    213231                /* translators: 1: Name of the user 2: Name of the site */
    214232                \__( 'Hey, a page was deleted by %1$s on %2$s!', 'hey-notify' ),
     
    217235            );
    218236        }
     237
     238        $subject = apply_filters( 'hey_notify_page_trashed_subject', $subject, $post );
    219239
    220240        $this->prepare_data( $subject, $post );
  • hey-notify/tags/1.2.0/includes/events/post/class-post-hook.php

    r2349284 r2466792  
    3737
    3838        if ( 0 === $current_user ) {
    39             $subject = \sprintf(
    40                 /* translators: %s: Name of the site */
    41                 \__( 'Hey, a new post was drafted on %s!', 'hey-notify' ),
    42                 \get_bloginfo( 'name' )
    43             );
    44         } else {
    45             $subject = \sprintf(
    46                 /* translators: 1: Name of the user 2: Name of the site */
    47                 \__( 'Hey, a new post was drafted by %1$s on %2$s!', 'hey-notify' ),
    48                 \esc_html( $current_user->display_name ),
    49                 \get_bloginfo( 'name' )
    50             );
    51         }
     39            $subject = \wp_sprintf(
     40                /* translators: %s: Name of the site */
     41                \__( 'Hey, a post was drafted on %s!', 'hey-notify' ),
     42                \get_bloginfo( 'name' )
     43            );
     44        } else {
     45            $subject = \wp_sprintf(
     46                /* translators: 1: Name of the user 2: Name of the site */
     47                \__( 'Hey, a post was drafted by %1$s on %2$s!', 'hey-notify' ),
     48                \esc_html( $current_user->display_name ),
     49                \get_bloginfo( 'name' )
     50            );
     51        }
     52
     53        $subject = apply_filters( 'hey_notify_post_draft_subject', $subject, $post );
    5254
    5355        $this->prepare_data( $subject, $post );
     
    7375
    7476        if ( 0 === $current_user ) {
    75             $subject = \sprintf(
    76                 /* translators: %s: Name of the site */
    77                 \__( 'Hey, a new post was published on %s!', 'hey-notify' ),
    78                 \get_bloginfo( 'name' )
    79             );
    80         } else {
    81             $subject = \sprintf(
    82                 /* translators: 1: Name of the user 2: Name of the site */
    83                 \__( 'Hey, a new post was published by %1$s on %2$s!', 'hey-notify' ),
    84                 \esc_html( $current_user->display_name ),
    85                 \get_bloginfo( 'name' )
    86             );
    87         }
     77            $subject = \wp_sprintf(
     78                /* translators: %s: Name of the site */
     79                \__( 'Hey, a post was published on %s!', 'hey-notify' ),
     80                \get_bloginfo( 'name' )
     81            );
     82        } else {
     83            $subject = \wp_sprintf(
     84                /* translators: 1: Name of the user 2: Name of the site */
     85                \__( 'Hey, a post was published by %1$s on %2$s!', 'hey-notify' ),
     86                \esc_html( $current_user->display_name ),
     87                \get_bloginfo( 'name' )
     88            );
     89        }
     90
     91        $subject = apply_filters( 'hey_notify_post_published_subject', $subject, $post );
    8892
    8993        $this->prepare_data( $subject, $post );
     
    109113
    110114        if ( 0 === $current_user ) {
    111             $subject = \sprintf(
    112                 /* translators: %s: Name of the site */
    113                 \__( 'Hey, a new post was scheduled on %s!', 'hey-notify' ),
    114                 \get_bloginfo( 'name' )
    115             );
    116         } else {
    117             $subject = \sprintf(
    118                 /* translators: 1: Name of the user 2: Name of the site */
    119                 \__( 'Hey, a new post was scheduled by %1$s on %2$s!', 'hey-notify' ),
    120                 \esc_html( $current_user->display_name ),
    121                 \get_bloginfo( 'name' )
    122             );
    123         }
     115            $subject = \wp_sprintf(
     116                /* translators: %s: Name of the site */
     117                \__( 'Hey, a post was scheduled on %s!', 'hey-notify' ),
     118                \get_bloginfo( 'name' )
     119            );
     120        } else {
     121            $subject = \wp_sprintf(
     122                /* translators: 1: Name of the user 2: Name of the site */
     123                \__( 'Hey, a post was scheduled by %1$s on %2$s!', 'hey-notify' ),
     124                \esc_html( $current_user->display_name ),
     125                \get_bloginfo( 'name' )
     126            );
     127        }
     128
     129        $subject = apply_filters( 'hey_notify_post_scheduled_subject', $subject, $post );
    124130
    125131        $this->prepare_data( $subject, $post );
     
    133139     */
    134140    public function post_pending( $post ) {
     141
     142        if ( empty( $post ) || ! is_object( $post ) ) {
     143            return;
     144        }
     145
     146        if ( 'post' !== $post->post_type ) {
     147            return;
     148        }
    135149
    136150        $subject = \sprintf(
    137151            /* translators: %s: Name of the site */
    138             \__( 'Hey, a new post is pending on %s!', 'hey-notify' ),
     152            \__( 'Hey, a post is pending on %s!', 'hey-notify' ),
    139153            \get_bloginfo( 'name' )
    140154        );
    141155
     156        $subject = apply_filters( 'hey_notify_post_pending_subject', $subject, $post );
     157
    142158        $this->prepare_data( $subject, $post );
    143159    }
     
    166182
    167183        if ( 0 === $current_user ) {
    168             $subject = \sprintf(
     184            $subject = \wp_sprintf(
    169185                /* translators: %s: Name of the site */
    170186                \__( 'Hey, a post was updated on %s!', 'hey-notify' ),
     
    172188            );
    173189        } else {
    174             $subject = \sprintf(
     190            $subject = \wp_sprintf(
    175191                /* translators: 1: Name of the user 2: Name of the site */
    176192                \__( 'Hey, a post was updated by %1$s on %2$s!', 'hey-notify' ),
     
    180196        }
    181197
     198        $subject = apply_filters( 'hey_notify_post_updated_subject', $subject, $post );
     199
    182200        $this->prepare_data( $subject, $post );
    183201    }
     
    204222
    205223        if ( 0 === $current_user ) {
    206             $subject = \sprintf(
     224            $subject = \wp_sprintf(
    207225                /* translators: %s: Name of the site */
    208226                \__( 'Hey, a post was deleted on %s!', 'hey-notify' ),
     
    210228            );
    211229        } else {
    212             $subject = \sprintf(
     230            $subject = \wp_sprintf(
    213231                /* translators: 1: Name of the user 2: Name of the site */
    214232                \__( 'Hey, a post was deleted by %1$s on %2$s!', 'hey-notify' ),
     
    217235            );
    218236        }
     237
     238        $subject = apply_filters( 'hey_notify_post_trashed_subject', $subject, $post );
    219239
    220240        $this->prepare_data( $subject, $post );
  • hey-notify/tags/1.2.0/includes/events/system/class-system-event.php

    r2461184 r2466792  
    4444                ->set_options(
    4545                    array(
    46                         'system_core_update'   => __( 'WordPress Update Available', 'hey-notify' ),
    47                         'system_theme_update'  => __( 'Theme Update Available', 'hey-notify' ),
    48                         'system_plugin_update' => __( 'Plugin Update Available', 'hey-notify' ),
     46                        'system_core_update'        => __( 'WordPress Update Available', 'hey-notify' ),
     47                        'system_plugin_update'      => __( 'Plugin Update Available', 'hey-notify' ),
     48                        'system_plugin_activated'   => __( 'Plugin Activated', 'hey-notify' ),
     49                        'system_plugin_deactivated' => __( 'Plugin Deactivated', 'hey-notify' ),
     50                        'system_theme_update'       => __( 'Theme Update Available', 'hey-notify' ),
     51                        'system_theme_changed'      => __( 'Theme Changed', 'hey-notify' ),
    4952                    )
    5053                )
     
    7477        switch ( $event->{$event->type} ) {
    7578            case 'system_core_update':
    76                 add_action( 'wp_version_check', array( $hook, 'system_core_update' ), 9 );
    77                 add_action( 'wp_version_check', array( $hook, 'system_core_update_done' ), 10 );
     79                \add_action( 'wp_version_check', array( $hook, 'system_core_update' ), 9 );
     80                \add_action( 'wp_version_check', array( $hook, 'system_core_update_done' ), 10 );
     81                break;
     82            case 'system_plugin_update':
     83                \add_action( 'wp_update_plugins', array( $hook, 'system_plugin_update' ), 10 );
     84                \add_action( 'wp_update_plugins', array( $hook, 'system_plugin_update_done' ), 11 );
     85                break;
     86            case 'system_plugin_activated':
     87                \add_action( 'activated_plugin', array( $hook, 'system_plugin_activated' ), 10, 2 );
     88                break;
     89            case 'system_plugin_deactivated':
     90                \add_action( 'deactivated_plugin', array( $hook, 'system_plugin_deactivated' ), 10, 2 );
    7891                break;
    7992            case 'system_theme_update':
    80                 add_action( 'wp_update_themes', array( $hook, 'system_theme_update' ), 10 );
    81                 add_action( 'wp_update_themes', array( $hook, 'system_theme_update_done' ), 11 );
     93                \add_action( 'wp_update_themes', array( $hook, 'system_theme_update' ), 10 );
     94                \add_action( 'wp_update_themes', array( $hook, 'system_theme_update_done' ), 11 );
    8295                break;
    83             case 'system_plugin_update':
    84                 add_action( 'wp_update_plugins', array( $hook, 'system_plugin_update' ), 10 );
    85                 add_action( 'wp_update_plugins', array( $hook, 'system_plugin_update_done' ), 11 );
     96            case 'system_theme_changed':
     97                \add_action( 'switch_theme', array( $hook, 'system_theme_changed' ), 10 );
    8698                break;
    8799        }
  • hey-notify/tags/1.2.0/includes/events/system/class-system-hook.php

    r2461184 r2466792  
    6161        }
    6262
    63         $subject = \sprintf(
     63        $subject = \wp_sprintf(
    6464            /* translators: %s: Name of the site */
    6565            \__( 'Hey, a new version of WordPress is available on %s!', 'hey-notify' ),
    6666            \get_bloginfo( 'name' )
    6767        );
     68
     69        $subject = apply_filters( 'hey_notify_system_core_update_subject', $subject );
    6870
    6971        $fields = array(
     
    187189        }
    188190
    189         $subject = \sprintf(
     191        $subject = \wp_sprintf(
    190192            /* translators: %s: Name of the site */
    191193            \esc_html__( 'Hey, new theme updates are available on %s!', 'hey-notify' ),
    192194            \get_bloginfo( 'name' )
    193195        );
     196
     197        $subject = apply_filters( 'hey_notify_system_theme_update_subject', $subject );
    194198
    195199        $data = array(
     
    284288        }
    285289
    286         $subject = \sprintf(
     290        $subject = \wp_sprintf(
    287291            /* translators: %s: Name of the site */
    288292            \esc_html__( 'Hey, new plugin updates are available on %s!', 'hey-notify' ),
    289293            \get_bloginfo( 'name' )
    290294        );
     295
     296        $subject = apply_filters( 'hey_notify_system_plugin_update_subject', $subject );
    291297
    292298        $data = array(
     
    331337
    332338    }
     339
     340    /**
     341     * Plugin Activated
     342     *
     343     * @param object  $plugin Plugin object.
     344     * @param boolean $network_wide Was network activated.
     345     * @return void
     346     */
     347    public function system_plugin_activated( $plugin, $network_wide ) {
     348        $plugin_data = \get_plugin_data( WP_PLUGIN_DIR . '/' . $plugin, true, false );
     349
     350        $fields = array(
     351            array(
     352                'name'   => \esc_html__( 'Name', 'hey-notify' ),
     353                'value'  => $plugin_data['Name'],
     354                'inline' => true,
     355            ),
     356            array(
     357                'name'   => \esc_html__( 'Version', 'hey-notify' ),
     358                'value'  => $plugin_data['Version'],
     359                'inline' => true,
     360            ),
     361        );
     362
     363        $subject = \wp_sprintf(
     364            /* translators: %s: Name of the site */
     365            \esc_html__( 'Hey, a plugin was just activated on %s!', 'hey-notify' ),
     366            \get_bloginfo( 'name' )
     367        );
     368
     369        $subject = apply_filters( 'hey_notify_system_plugin_activated_subject', $subject );
     370
     371        $data = array(
     372            'subject' => $subject,
     373            'title'   => __( 'View installed plugins', 'hey-notify' ),
     374            'url'     => \admin_url( 'plugins.php' ),
     375            'fields'  => $fields,
     376        );
     377
     378        $this->send( $data );
     379    }
     380
     381    /**
     382     * Plugin Deactivated
     383     *
     384     * @param object  $plugin Plugin object.
     385     * @param boolean $network_wide Was network activated.
     386     * @return void
     387     */
     388    public function system_plugin_deactivated( $plugin, $network_wide ) {
     389        $plugin_data = \get_plugin_data( WP_PLUGIN_DIR . '/' . $plugin, true, false );
     390
     391        $fields = array(
     392            array(
     393                'name'   => \esc_html__( 'Name', 'hey-notify' ),
     394                'value'  => $plugin_data['Name'],
     395                'inline' => true,
     396            ),
     397            array(
     398                'name'   => \esc_html__( 'Version', 'hey-notify' ),
     399                'value'  => $plugin_data['Version'],
     400                'inline' => true,
     401            ),
     402        );
     403
     404        $subject = \wp_sprintf(
     405            /* translators: %s: Name of the site */
     406            \esc_html__( 'Hey, a plugin was just deactivated on %s!', 'hey-notify' ),
     407            \get_bloginfo( 'name' )
     408        );
     409
     410        $subject = apply_filters( 'hey_notify_system_plugin_deactivated_subject', $subject );
     411
     412        $data = array(
     413            'subject' => $subject,
     414            'title'   => __( 'View installed plugins', 'hey-notify' ),
     415            'url'     => \admin_url( 'plugins.php' ),
     416            'fields'  => $fields,
     417        );
     418
     419        $this->send( $data );
     420    }
     421
     422    /**
     423     * Theme changed
     424     *
     425     * @param string $new_name New theme name.
     426     * @return void
     427     */
     428    public function system_theme_changed( $new_name ) {
     429        $fields = array(
     430            array(
     431                'name'   => \esc_html__( 'New Theme', 'hey-notify' ),
     432                'value'  => $new_name,
     433                'inline' => true,
     434            ),
     435        );
     436
     437        $subject = \wp_sprintf(
     438            /* translators: %s: Name of the site */
     439            \esc_html__( 'Hey, the theme was changed on %s!', 'hey-notify' ),
     440            \get_bloginfo( 'name' )
     441        );
     442
     443        $subject = apply_filters( 'hey_notify_system_theme_changed_subject', $subject );
     444
     445        $data = array(
     446            'subject' => $subject,
     447            'title'   => __( 'View themes', 'hey-notify' ),
     448            'url'     => \admin_url( 'themes.php' ),
     449            'fields'  => $fields,
     450        );
     451
     452        $this->send( $data );
     453    }
    333454}
  • hey-notify/tags/1.2.0/includes/events/user/class-user-hook.php

    r2349284 r2466792  
    3232        }
    3333
    34         $subject = \sprintf(
     34        $subject = \wp_sprintf(
    3535            /* translators: %s: Name of the site */
    3636            \__( 'Hey, a new user just registered on %s!', 'hey-notify' ),
    3737            \get_bloginfo( 'name' )
    3838        );
     39
     40        $subject = apply_filters( 'hey_notify_user_new_subject', $subject, $user );
    3941
    4042        $this->prepare_data( $subject, $user );
     
    5557        }
    5658
    57         $subject = \sprintf(
     59        $subject = \wp_sprintf(
    5860            /* translators: %s: Name of the site */
    5961            \__( 'Hey, an administrator just logged in to %s!', 'hey-notify' ),
    6062            \get_bloginfo( 'name' )
    6163        );
     64
     65        $subject = apply_filters( 'hey_notify_user_admin_login_subject', $subject, $user );
    6266
    6367        $this->prepare_data( $subject, $user );
     
    8892        }
    8993
    90         $subject = \sprintf(
     94        $subject = \wp_sprintf(
    9195            /* translators: %s: Name of the site */
    9296            \__( 'Hey, an administrator just failed to log in to %s!', 'hey-notify' ),
    9397            \get_bloginfo( 'name' )
    9498        );
     99
     100        $subject = apply_filters( 'hey_notify_user_admin_login_failed_subject', $subject, $user );
    95101
    96102        $this->prepare_data( $subject, $user );
  • hey-notify/tags/1.2.0/includes/fields.php

    r2357853 r2466792  
    3030function boot() {
    3131    \Carbon_Fields\Carbon_Fields::boot();
     32    $sidebar_manager = \Carbon_Fields\Carbon_Fields::resolve( 'sidebar_manager' );
     33    remove_action( 'admin_enqueue_scripts', array( $sidebar_manager, 'enqueue_scripts' ) );
    3234}
    3335
     
    7678            __( 'Uninstall', 'hey-notify' ),
    7779            apply_filters( 'hey_notify_settings_uninstall', array() )
     80        )
     81        ->add_tab(
     82            __( 'Licenses', 'hey-notify' ),
     83            apply_filters( 'hey_notify_settings_licenses', array() )
    7884        );
    7985
  • hey-notify/tags/1.2.0/includes/filters.php

    r2349284 r2466792  
    7777            ->set_html(
    7878                sprintf(
    79                     '<p>%1s</p>',
     79                    '<h2>%1s</h2>',
    8080                    __( 'Upon deletion of the plugin, you can optionally remove all custom data, settings, etc.', 'hey-notify' )
    8181                )
     
    9999            ->set_html(
    100100                sprintf(
    101                     '<p>%1s</p>',
    102                     __( 'General settings for Hey Notify.', 'hey-notify' )
     101                    '<h2>%1s</h2>',
     102                    __( 'General settings for Hey Notify', 'hey-notify' )
    103103                )
    104104            )
     
    107107        Field::make( 'radio_image', 'hey_notify_default_service', __( 'Default service:', 'hey-notify' ) )
    108108            ->set_options( get_service_options() )
     109    );
     110    $fields[] = (
     111        Field::make( 'html', 'hey_notify_services_cpt_heading' )
     112            ->set_html(
     113                sprintf(
     114                    '<h2>%1s</h2>',
     115                    __( 'Custom Post Type Settings', 'hey-notify' )
     116                )
     117            )
     118    );
     119    $fields[] = (
     120        Field::make( 'checkbox', 'hey_notify_show_public_cpt', __( 'Only display public Custom Post Types', 'hey-notify' ) )
     121            ->set_option_value( 'yes' )
     122            ->set_default_value( 'yes' )
    109123    );
    110124    return $fields;
  • hey-notify/tags/1.2.0/readme.md

    r2349893 r2466792  
    77Get notified when things happen in WordPress.
    88
    9 __Notifications can be sent to:__
     9**Notifications can be sent to:**
    1010
    11 * Slack
    12 * Discord
    13 * Email
     11- Slack
     12- Discord
     13- Email
    1414
    15 __Notifications for:__
     15**Notifications for:**
    1616
    17 * Posts - Status transitions
    18 * Pages - Status transitions
    19 * Comments - New comments
    20 * Users - New users, admin logins, failed admin logins
    21 * System Events - WordPress, plugin, and theme updates
    22 
     17- Posts
     18  - Draft
     19  - Pending
     20  - Scheduled
     21  - Published
     22  - Trashed
     23- Pages
     24  - Draft
     25  - Pending
     26  - Scheduled
     27  - Published
     28  - Trashed
     29- Custom Post Types
     30  - Draft
     31  - Pending
     32  - Scheduled
     33  - Published
     34  - Trashed
     35- Comments
     36  - New Comment
     37- Users
     38  - New User
     39  - Administrator Login
     40  - Failed Administrator Login
     41- System Events
     42  - WordPress Updates
     43  - Plugin Updates
     44  - Plugin Activation
     45  - Plugin Deactivation
     46  - Theme Updates
     47  - Theme Change
    2348
    2449## Installation
    2550
    26511. Upload the `hey-notify` folder to the `/wp-content/plugins/` directory.
    27 2. Activate the __Hey Notify__ plugin through the __Plugins__ menu in WordPress.
    28 3. Configure the plugin by going to the __Hey Notify__ menu that appears in your WordPress Admin.
     522. Activate the **Hey Notify** plugin through the **Plugins** menu in WordPress.
     533. Configure the plugin by going to the **Hey Notify** menu that appears in your WordPress Admin.
    2954
    3055## Support
  • hey-notify/tags/1.2.0/readme.txt

    r2461187 r2466792  
    11=== Hey Notify ===
    2 Contributors: firetree,danielmilner
     2Contributors: firetree, danielmilner
    33Tags: notifications, slack, discord, email
    44Requires at least: 4.3
    55Tested up to: 5.6
    66Requires PHP: 5.3
    7 Stable tag: 1.1.6
     7Stable tag: 1.2.0
    88License: GPLv2 or later
    99License URI: http://ww.gnu.org/licenses/gpl-2.0.html
     
    2323= Notifications for: =
    2424
    25 * Posts - Status transitions
    26 * Pages - Status transitions
    27 * Comments - New comments
    28 * Users - New users, admin logins, failed admin logins
    29 * System Events - WordPress, plugin, and theme updates
     25* Posts
     26    * Draft
     27    * Pending
     28    * Scheduled
     29    * Published
     30    * Trashed
     31* Pages
     32    * Draft
     33    * Pending
     34    * Scheduled
     35    * Published
     36    * Trashed
     37* Custom Post Types
     38    * Draft
     39    * Pending
     40    * Scheduled
     41    * Published
     42    * Trashed
     43* Comments
     44    * New Comment
     45* Users
     46    * New User
     47    * Administrator Login
     48    * Failed Administrator Login
     49* System Events
     50    * WordPress Updates
     51    * Plugin Updates
     52    * Plugin Activation
     53    * Plugin Deactivation
     54    * Theme Updates
     55    * Theme Change
    3056
    3157== Installation ==
     
    4167== Changelog ==
    4268
    43 = 1.1.6 =
    44 * Removed some unneeded vendor files from the previous release.
    45 
    46 = 1.1.5 =
    47 * Fixed an issue where System events could only send notifications to one service.
    48 
    49 = 1.1.4 =
    50 * Fixed an issue with the Discord service.
    51 
    52 = 1.1.3 =
    53 * Fixed Discord message titles.
    54 * Fixed an error with WordPress Core update checks.
    55 * Added an action for interacting with the Settings container.
    56 
    57 = 1.1.2 =
    58 * Removed parentheses surrounding new version numbers in theme and plugin update notifications.
    59 
    60 = 1.1.0 =
    61 * Added comment notifications.
    62 * Added user notifications.
    63 * Added system notifications.
    64 
    65 = 1.0.0 =
    66 * Initial release.
     69= 1.2.0 =
     70* Added new System notification for Plugin Activation, Plugin Deactivation, and Theme Changes.
     71* Added Custom Post Type notifications.
     72* For developers: Added filter hooks to the message subjects.
  • hey-notify/tags/1.2.0/uninstall.php

    r2349284 r2466792  
    4747    \delete_option( '_hey_notify_remove_data' );
    4848    \delete_option( '_hey_notify_default_service' );
     49    \delete_option( '_hey_notify_show_public_cpt' );
    4950    \delete_option( 'hey_notify_wordpress_version' );
    5051    \delete_option( 'hey_notify_theme_versions' );
    5152    \delete_option( 'hey_notify_plugin_versions' );
     53    \delete_option( 'hey_notify_custom_post_types' );
    5254}
    5355
  • hey-notify/tags/1.2.0/vendor/autoload.php

    r2461184 r2466792  
    55require_once __DIR__ . '/composer/autoload_real.php';
    66
    7 return ComposerAutoloaderInitc4d1016cfbfc548fc9f1275a2706c10b::getLoader();
     7return ComposerAutoloaderInitf423eb57d555607d3ce8435dde716547::getLoader();
  • hey-notify/tags/1.2.0/vendor/composer/InstalledVersions.php

    r2461184 r2466792  
    2525  'root' =>
    2626  array (
    27     'pretty_version' => '1.1.5.x-dev',
    28     'version' => '1.1.5.9999999-dev',
     27    'pretty_version' => '1.2.0.x-dev',
     28    'version' => '1.2.0.9999999-dev',
    2929    'aliases' =>
    3030    array (
    3131    ),
    32     'reference' => 'b57d1880d1b08fe658c81e7c07c0d97c48816e8c',
     32    'reference' => '60ed723ee5f55ddfb49cb97380a05f931f429c64',
    3333    'name' => '__root__',
    3434  ),
     
    3737    '__root__' =>
    3838    array (
    39       'pretty_version' => '1.1.5.x-dev',
    40       'version' => '1.1.5.9999999-dev',
     39      'pretty_version' => '1.2.0.x-dev',
     40      'version' => '1.2.0.9999999-dev',
    4141      'aliases' =>
    4242      array (
    4343      ),
    44       'reference' => 'b57d1880d1b08fe658c81e7c07c0d97c48816e8c',
     44      'reference' => '60ed723ee5f55ddfb49cb97380a05f931f429c64',
    4545    ),
    4646    'htmlburger/carbon-fields' =>
  • hey-notify/tags/1.2.0/vendor/composer/autoload_real.php

    r2461184 r2466792  
    33// autoload_real.php @generated by Composer
    44
    5 class ComposerAutoloaderInitc4d1016cfbfc548fc9f1275a2706c10b
     5class ComposerAutoloaderInitf423eb57d555607d3ce8435dde716547
    66{
    77    private static $loader;
     
    2525        require __DIR__ . '/platform_check.php';
    2626
    27         spl_autoload_register(array('ComposerAutoloaderInitc4d1016cfbfc548fc9f1275a2706c10b', 'loadClassLoader'), true, true);
     27        spl_autoload_register(array('ComposerAutoloaderInitf423eb57d555607d3ce8435dde716547', 'loadClassLoader'), true, true);
    2828        self::$loader = $loader = new \Composer\Autoload\ClassLoader();
    29         spl_autoload_unregister(array('ComposerAutoloaderInitc4d1016cfbfc548fc9f1275a2706c10b', 'loadClassLoader'));
     29        spl_autoload_unregister(array('ComposerAutoloaderInitf423eb57d555607d3ce8435dde716547', 'loadClassLoader'));
    3030
    3131        $useStaticLoader = PHP_VERSION_ID >= 50600 && !defined('HHVM_VERSION') && (!function_exists('zend_loader_file_encoded') || !zend_loader_file_encoded());
     
    3333            require __DIR__ . '/autoload_static.php';
    3434
    35             call_user_func(\Composer\Autoload\ComposerStaticInitc4d1016cfbfc548fc9f1275a2706c10b::getInitializer($loader));
     35            call_user_func(\Composer\Autoload\ComposerStaticInitf423eb57d555607d3ce8435dde716547::getInitializer($loader));
    3636        } else {
    3737            $map = require __DIR__ . '/autoload_namespaces.php';
  • hey-notify/tags/1.2.0/vendor/composer/autoload_static.php

    r2461184 r2466792  
    55namespace Composer\Autoload;
    66
    7 class ComposerStaticInitc4d1016cfbfc548fc9f1275a2706c10b
     7class ComposerStaticInitf423eb57d555607d3ce8435dde716547
    88{
    99    public static $prefixLengthsPsr4 = array (
     
    2828    {
    2929        return \Closure::bind(function () use ($loader) {
    30             $loader->prefixLengthsPsr4 = ComposerStaticInitc4d1016cfbfc548fc9f1275a2706c10b::$prefixLengthsPsr4;
    31             $loader->prefixDirsPsr4 = ComposerStaticInitc4d1016cfbfc548fc9f1275a2706c10b::$prefixDirsPsr4;
    32             $loader->classMap = ComposerStaticInitc4d1016cfbfc548fc9f1275a2706c10b::$classMap;
     30            $loader->prefixLengthsPsr4 = ComposerStaticInitf423eb57d555607d3ce8435dde716547::$prefixLengthsPsr4;
     31            $loader->prefixDirsPsr4 = ComposerStaticInitf423eb57d555607d3ce8435dde716547::$prefixDirsPsr4;
     32            $loader->classMap = ComposerStaticInitf423eb57d555607d3ce8435dde716547::$classMap;
    3333
    3434        }, null, ClassLoader::class);
  • hey-notify/tags/1.2.0/vendor/composer/installed.php

    r2461184 r2466792  
    22  'root' =>
    33  array (
    4     'pretty_version' => '1.1.5.x-dev',
    5     'version' => '1.1.5.9999999-dev',
     4    'pretty_version' => '1.2.0.x-dev',
     5    'version' => '1.2.0.9999999-dev',
    66    'aliases' =>
    77    array (
    88    ),
    9     'reference' => 'b57d1880d1b08fe658c81e7c07c0d97c48816e8c',
     9    'reference' => '60ed723ee5f55ddfb49cb97380a05f931f429c64',
    1010    'name' => '__root__',
    1111  ),
     
    1414    '__root__' =>
    1515    array (
    16       'pretty_version' => '1.1.5.x-dev',
    17       'version' => '1.1.5.9999999-dev',
     16      'pretty_version' => '1.2.0.x-dev',
     17      'version' => '1.2.0.9999999-dev',
    1818      'aliases' =>
    1919      array (
    2020      ),
    21       'reference' => 'b57d1880d1b08fe658c81e7c07c0d97c48816e8c',
     21      'reference' => '60ed723ee5f55ddfb49cb97380a05f931f429c64',
    2222    ),
    2323    'htmlburger/carbon-fields' =>
  • hey-notify/trunk/hey-notify.php

    r2461187 r2466792  
    44 * Plugin URI: https://heynotifywp.com/
    55 * Description: Get notified when things happen in WordPress.
    6  * Version: 1.1.6
     6 * Version: 1.2.0
    77 * Author: FireTree Design, LLC <info@firetreedesign.com>
    88 * Author URI: https://firetreedesign.com/
     
    1919}
    2020
    21 define( 'HEY_NOTIFY_VERSION', '1.1.6' );
     21define( 'HEY_NOTIFY_VERSION', '1.2.0' );
    2222define( 'HEY_NOTIFY_PLUGIN_FILE', __FILE__ );
    2323define( 'HEY_NOTIFY_PLUGIN_DIR', plugin_dir_path( __FILE__ ) );
     
    3939require_once HEY_NOTIFY_PLUGIN_DIR . 'includes/events/user/loader.php';
    4040require_once HEY_NOTIFY_PLUGIN_DIR . 'includes/events/system/loader.php';
     41require_once HEY_NOTIFY_PLUGIN_DIR . 'includes/events/cpt/loader.php';
    4142
    4243// Services.
  • hey-notify/trunk/includes/class-event.php

    r2345565 r2466792  
    4040
    4141    /**
     42     * Type
     43     *
     44     * @var string
     45     */
     46    public $type;
     47
     48    /**
    4249     * Class constructor
    4350     *
     
    4653     */
    4754    public function __construct( $type, $hook ) {
     55        $this->type = $type;
    4856        $this->hook = $hook;
    4957
  • hey-notify/trunk/includes/events/comment/class-comment-hook.php

    r2349284 r2466792  
    3737        }
    3838
    39         $subject = \sprintf(
     39        $subject = \wp_sprintf(
    4040            /* translators: %s: Name of the site */
    4141            \__( 'Hey, a new comment has been posted on %s!', 'hey-notify' ),
    4242            \get_bloginfo( 'name' )
    4343        );
     44
     45        $subject = apply_filters( 'hey_notify_comment_new_subject', $subject, $comment );
    4446
    4547        $this->prepare_data( $subject, $comment );
  • hey-notify/trunk/includes/events/page/class-page-hook.php

    r2349284 r2466792  
    3737
    3838        if ( 0 === $current_user ) {
    39             $subject = \sprintf(
    40                 /* translators: %s: Name of the site */
    41                 \__( 'Hey, a new page was drafted on %s!', 'hey-notify' ),
    42                 \get_bloginfo( 'name' )
    43             );
    44         } else {
    45             $subject = \sprintf(
    46                 /* translators: 1: Name of the user 2: Name of the site */
    47                 \__( 'Hey, a new page was drafted by %1$s on %2$s!', 'hey-notify' ),
    48                 \esc_html( $current_user->display_name ),
    49                 \get_bloginfo( 'name' )
    50             );
    51         }
     39            $subject = \wp_sprintf(
     40                /* translators: %s: Name of the site */
     41                \__( 'Hey, a page was drafted on %s!', 'hey-notify' ),
     42                \get_bloginfo( 'name' )
     43            );
     44        } else {
     45            $subject = \wp_sprintf(
     46                /* translators: 1: Name of the user 2: Name of the site */
     47                \__( 'Hey, a page was drafted by %1$s on %2$s!', 'hey-notify' ),
     48                \esc_html( $current_user->display_name ),
     49                \get_bloginfo( 'name' )
     50            );
     51        }
     52
     53        $subject = apply_filters( 'hey_notify_page_draft_subject', $subject, $post );
    5254
    5355        $this->prepare_data( $subject, $post );
     
    7375
    7476        if ( 0 === $current_user ) {
    75             $subject = \sprintf(
    76                 /* translators: %s: Name of the site */
    77                 \__( 'Hey, a new page was published on %s!', 'hey-notify' ),
    78                 \get_bloginfo( 'name' )
    79             );
    80         } else {
    81             $subject = \sprintf(
    82                 /* translators: 1: Name of the user 2: Name of the site */
    83                 \__( 'Hey, a new page was published by %1$s on %2$s!', 'hey-notify' ),
    84                 \esc_html( $current_user->display_name ),
    85                 \get_bloginfo( 'name' )
    86             );
    87         }
     77            $subject = \wp_sprintf(
     78                /* translators: %s: Name of the site */
     79                \__( 'Hey, a page was published on %s!', 'hey-notify' ),
     80                \get_bloginfo( 'name' )
     81            );
     82        } else {
     83            $subject = \wp_sprintf(
     84                /* translators: 1: Name of the user 2: Name of the site */
     85                \__( 'Hey, a page was published by %1$s on %2$s!', 'hey-notify' ),
     86                \esc_html( $current_user->display_name ),
     87                \get_bloginfo( 'name' )
     88            );
     89        }
     90
     91        $subject = apply_filters( 'hey_notify_page_published_subject', $subject, $post );
    8892
    8993        $this->prepare_data( $subject, $post );
     
    109113
    110114        if ( 0 === $current_user ) {
    111             $subject = \sprintf(
    112                 /* translators: %s: Name of the site */
    113                 \__( 'Hey, a new page was scheduled on %s!', 'hey-notify' ),
    114                 \get_bloginfo( 'name' )
    115             );
    116         } else {
    117             $subject = \sprintf(
    118                 /* translators: 1: Name of the user 2: Name of the site */
    119                 \__( 'Hey, a new page was scheduled by %1$s on %2$s!', 'hey-notify' ),
    120                 \esc_html( $current_user->display_name ),
    121                 \get_bloginfo( 'name' )
    122             );
    123         }
     115            $subject = \wp_sprintf(
     116                /* translators: %s: Name of the site */
     117                \__( 'Hey, a page was scheduled on %s!', 'hey-notify' ),
     118                \get_bloginfo( 'name' )
     119            );
     120        } else {
     121            $subject = \wp_sprintf(
     122                /* translators: 1: Name of the user 2: Name of the site */
     123                \__( 'Hey, a page was scheduled by %1$s on %2$s!', 'hey-notify' ),
     124                \esc_html( $current_user->display_name ),
     125                \get_bloginfo( 'name' )
     126            );
     127        }
     128
     129        $subject = apply_filters( 'hey_notify_page_scheduled_subject', $subject, $post );
    124130
    125131        $this->prepare_data( $subject, $post );
     
    134140    public function page_pending( $post ) {
    135141
    136         $subject = \sprintf(
     142        if ( empty( $post ) || ! is_object( $post ) ) {
     143            return;
     144        }
     145
     146        if ( 'page' !== $post->post_type ) {
     147            return;
     148        }
     149
     150        $subject = \wp_sprintf(
    137151            /* translators: %s: Name of the site */
    138             \__( 'Hey, a new page is pending on %s!', 'hey-notify' ),
     152            \__( 'Hey, a page is pending on %s!', 'hey-notify' ),
    139153            \get_bloginfo( 'name' )
    140154        );
    141155
     156        $subject = apply_filters( 'hey_notify_page_pending_subject', $subject, $post );
     157
    142158        $this->prepare_data( $subject, $post );
    143159    }
     
    166182
    167183        if ( 0 === $current_user ) {
    168             $subject = \sprintf(
     184            $subject = \wp_sprintf(
    169185                /* translators: %s: Name of the site */
    170186                \__( 'Hey, a page was updated on %s!', 'hey-notify' ),
     
    172188            );
    173189        } else {
    174             $subject = \sprintf(
     190            $subject = \wp_sprintf(
    175191                /* translators: 1: Name of the user 2: Name of the site */
    176192                \__( 'Hey, a page was updated by %1$s on %2$s!', 'hey-notify' ),
     
    180196        }
    181197
     198        $subject = apply_filters( 'hey_notify_page_updated_subject', $subject, $post );
     199
    182200        $this->prepare_data( $subject, $post );
    183201    }
     
    204222
    205223        if ( 0 === $current_user ) {
    206             $subject = \sprintf(
     224            $subject = \wp_sprintf(
    207225                /* translators: %s: Name of the site */
    208226                \__( 'Hey, a page was deleted on %s!', 'hey-notify' ),
     
    210228            );
    211229        } else {
    212             $subject = \sprintf(
     230            $subject = \wp_sprintf(
    213231                /* translators: 1: Name of the user 2: Name of the site */
    214232                \__( 'Hey, a page was deleted by %1$s on %2$s!', 'hey-notify' ),
     
    217235            );
    218236        }
     237
     238        $subject = apply_filters( 'hey_notify_page_trashed_subject', $subject, $post );
    219239
    220240        $this->prepare_data( $subject, $post );
  • hey-notify/trunk/includes/events/post/class-post-hook.php

    r2349284 r2466792  
    3737
    3838        if ( 0 === $current_user ) {
    39             $subject = \sprintf(
    40                 /* translators: %s: Name of the site */
    41                 \__( 'Hey, a new post was drafted on %s!', 'hey-notify' ),
    42                 \get_bloginfo( 'name' )
    43             );
    44         } else {
    45             $subject = \sprintf(
    46                 /* translators: 1: Name of the user 2: Name of the site */
    47                 \__( 'Hey, a new post was drafted by %1$s on %2$s!', 'hey-notify' ),
    48                 \esc_html( $current_user->display_name ),
    49                 \get_bloginfo( 'name' )
    50             );
    51         }
     39            $subject = \wp_sprintf(
     40                /* translators: %s: Name of the site */
     41                \__( 'Hey, a post was drafted on %s!', 'hey-notify' ),
     42                \get_bloginfo( 'name' )
     43            );
     44        } else {
     45            $subject = \wp_sprintf(
     46                /* translators: 1: Name of the user 2: Name of the site */
     47                \__( 'Hey, a post was drafted by %1$s on %2$s!', 'hey-notify' ),
     48                \esc_html( $current_user->display_name ),
     49                \get_bloginfo( 'name' )
     50            );
     51        }
     52
     53        $subject = apply_filters( 'hey_notify_post_draft_subject', $subject, $post );
    5254
    5355        $this->prepare_data( $subject, $post );
     
    7375
    7476        if ( 0 === $current_user ) {
    75             $subject = \sprintf(
    76                 /* translators: %s: Name of the site */
    77                 \__( 'Hey, a new post was published on %s!', 'hey-notify' ),
    78                 \get_bloginfo( 'name' )
    79             );
    80         } else {
    81             $subject = \sprintf(
    82                 /* translators: 1: Name of the user 2: Name of the site */
    83                 \__( 'Hey, a new post was published by %1$s on %2$s!', 'hey-notify' ),
    84                 \esc_html( $current_user->display_name ),
    85                 \get_bloginfo( 'name' )
    86             );
    87         }
     77            $subject = \wp_sprintf(
     78                /* translators: %s: Name of the site */
     79                \__( 'Hey, a post was published on %s!', 'hey-notify' ),
     80                \get_bloginfo( 'name' )
     81            );
     82        } else {
     83            $subject = \wp_sprintf(
     84                /* translators: 1: Name of the user 2: Name of the site */
     85                \__( 'Hey, a post was published by %1$s on %2$s!', 'hey-notify' ),
     86                \esc_html( $current_user->display_name ),
     87                \get_bloginfo( 'name' )
     88            );
     89        }
     90
     91        $subject = apply_filters( 'hey_notify_post_published_subject', $subject, $post );
    8892
    8993        $this->prepare_data( $subject, $post );
     
    109113
    110114        if ( 0 === $current_user ) {
    111             $subject = \sprintf(
    112                 /* translators: %s: Name of the site */
    113                 \__( 'Hey, a new post was scheduled on %s!', 'hey-notify' ),
    114                 \get_bloginfo( 'name' )
    115             );
    116         } else {
    117             $subject = \sprintf(
    118                 /* translators: 1: Name of the user 2: Name of the site */
    119                 \__( 'Hey, a new post was scheduled by %1$s on %2$s!', 'hey-notify' ),
    120                 \esc_html( $current_user->display_name ),
    121                 \get_bloginfo( 'name' )
    122             );
    123         }
     115            $subject = \wp_sprintf(
     116                /* translators: %s: Name of the site */
     117                \__( 'Hey, a post was scheduled on %s!', 'hey-notify' ),
     118                \get_bloginfo( 'name' )
     119            );
     120        } else {
     121            $subject = \wp_sprintf(
     122                /* translators: 1: Name of the user 2: Name of the site */
     123                \__( 'Hey, a post was scheduled by %1$s on %2$s!', 'hey-notify' ),
     124                \esc_html( $current_user->display_name ),
     125                \get_bloginfo( 'name' )
     126            );
     127        }
     128
     129        $subject = apply_filters( 'hey_notify_post_scheduled_subject', $subject, $post );
    124130
    125131        $this->prepare_data( $subject, $post );
     
    133139     */
    134140    public function post_pending( $post ) {
     141
     142        if ( empty( $post ) || ! is_object( $post ) ) {
     143            return;
     144        }
     145
     146        if ( 'post' !== $post->post_type ) {
     147            return;
     148        }
    135149
    136150        $subject = \sprintf(
    137151            /* translators: %s: Name of the site */
    138             \__( 'Hey, a new post is pending on %s!', 'hey-notify' ),
     152            \__( 'Hey, a post is pending on %s!', 'hey-notify' ),
    139153            \get_bloginfo( 'name' )
    140154        );
    141155
     156        $subject = apply_filters( 'hey_notify_post_pending_subject', $subject, $post );
     157
    142158        $this->prepare_data( $subject, $post );
    143159    }
     
    166182
    167183        if ( 0 === $current_user ) {
    168             $subject = \sprintf(
     184            $subject = \wp_sprintf(
    169185                /* translators: %s: Name of the site */
    170186                \__( 'Hey, a post was updated on %s!', 'hey-notify' ),
     
    172188            );
    173189        } else {
    174             $subject = \sprintf(
     190            $subject = \wp_sprintf(
    175191                /* translators: 1: Name of the user 2: Name of the site */
    176192                \__( 'Hey, a post was updated by %1$s on %2$s!', 'hey-notify' ),
     
    180196        }
    181197
     198        $subject = apply_filters( 'hey_notify_post_updated_subject', $subject, $post );
     199
    182200        $this->prepare_data( $subject, $post );
    183201    }
     
    204222
    205223        if ( 0 === $current_user ) {
    206             $subject = \sprintf(
     224            $subject = \wp_sprintf(
    207225                /* translators: %s: Name of the site */
    208226                \__( 'Hey, a post was deleted on %s!', 'hey-notify' ),
     
    210228            );
    211229        } else {
    212             $subject = \sprintf(
     230            $subject = \wp_sprintf(
    213231                /* translators: 1: Name of the user 2: Name of the site */
    214232                \__( 'Hey, a post was deleted by %1$s on %2$s!', 'hey-notify' ),
     
    217235            );
    218236        }
     237
     238        $subject = apply_filters( 'hey_notify_post_trashed_subject', $subject, $post );
    219239
    220240        $this->prepare_data( $subject, $post );
  • hey-notify/trunk/includes/events/system/class-system-event.php

    r2461184 r2466792  
    4444                ->set_options(
    4545                    array(
    46                         'system_core_update'   => __( 'WordPress Update Available', 'hey-notify' ),
    47                         'system_theme_update'  => __( 'Theme Update Available', 'hey-notify' ),
    48                         'system_plugin_update' => __( 'Plugin Update Available', 'hey-notify' ),
     46                        'system_core_update'        => __( 'WordPress Update Available', 'hey-notify' ),
     47                        'system_plugin_update'      => __( 'Plugin Update Available', 'hey-notify' ),
     48                        'system_plugin_activated'   => __( 'Plugin Activated', 'hey-notify' ),
     49                        'system_plugin_deactivated' => __( 'Plugin Deactivated', 'hey-notify' ),
     50                        'system_theme_update'       => __( 'Theme Update Available', 'hey-notify' ),
     51                        'system_theme_changed'      => __( 'Theme Changed', 'hey-notify' ),
    4952                    )
    5053                )
     
    7477        switch ( $event->{$event->type} ) {
    7578            case 'system_core_update':
    76                 add_action( 'wp_version_check', array( $hook, 'system_core_update' ), 9 );
    77                 add_action( 'wp_version_check', array( $hook, 'system_core_update_done' ), 10 );
     79                \add_action( 'wp_version_check', array( $hook, 'system_core_update' ), 9 );
     80                \add_action( 'wp_version_check', array( $hook, 'system_core_update_done' ), 10 );
     81                break;
     82            case 'system_plugin_update':
     83                \add_action( 'wp_update_plugins', array( $hook, 'system_plugin_update' ), 10 );
     84                \add_action( 'wp_update_plugins', array( $hook, 'system_plugin_update_done' ), 11 );
     85                break;
     86            case 'system_plugin_activated':
     87                \add_action( 'activated_plugin', array( $hook, 'system_plugin_activated' ), 10, 2 );
     88                break;
     89            case 'system_plugin_deactivated':
     90                \add_action( 'deactivated_plugin', array( $hook, 'system_plugin_deactivated' ), 10, 2 );
    7891                break;
    7992            case 'system_theme_update':
    80                 add_action( 'wp_update_themes', array( $hook, 'system_theme_update' ), 10 );
    81                 add_action( 'wp_update_themes', array( $hook, 'system_theme_update_done' ), 11 );
     93                \add_action( 'wp_update_themes', array( $hook, 'system_theme_update' ), 10 );
     94                \add_action( 'wp_update_themes', array( $hook, 'system_theme_update_done' ), 11 );
    8295                break;
    83             case 'system_plugin_update':
    84                 add_action( 'wp_update_plugins', array( $hook, 'system_plugin_update' ), 10 );
    85                 add_action( 'wp_update_plugins', array( $hook, 'system_plugin_update_done' ), 11 );
     96            case 'system_theme_changed':
     97                \add_action( 'switch_theme', array( $hook, 'system_theme_changed' ), 10 );
    8698                break;
    8799        }
  • hey-notify/trunk/includes/events/system/class-system-hook.php

    r2461184 r2466792  
    6161        }
    6262
    63         $subject = \sprintf(
     63        $subject = \wp_sprintf(
    6464            /* translators: %s: Name of the site */
    6565            \__( 'Hey, a new version of WordPress is available on %s!', 'hey-notify' ),
    6666            \get_bloginfo( 'name' )
    6767        );
     68
     69        $subject = apply_filters( 'hey_notify_system_core_update_subject', $subject );
    6870
    6971        $fields = array(
     
    187189        }
    188190
    189         $subject = \sprintf(
     191        $subject = \wp_sprintf(
    190192            /* translators: %s: Name of the site */
    191193            \esc_html__( 'Hey, new theme updates are available on %s!', 'hey-notify' ),
    192194            \get_bloginfo( 'name' )
    193195        );
     196
     197        $subject = apply_filters( 'hey_notify_system_theme_update_subject', $subject );
    194198
    195199        $data = array(
     
    284288        }
    285289
    286         $subject = \sprintf(
     290        $subject = \wp_sprintf(
    287291            /* translators: %s: Name of the site */
    288292            \esc_html__( 'Hey, new plugin updates are available on %s!', 'hey-notify' ),
    289293            \get_bloginfo( 'name' )
    290294        );
     295
     296        $subject = apply_filters( 'hey_notify_system_plugin_update_subject', $subject );
    291297
    292298        $data = array(
     
    331337
    332338    }
     339
     340    /**
     341     * Plugin Activated
     342     *
     343     * @param object  $plugin Plugin object.
     344     * @param boolean $network_wide Was network activated.
     345     * @return void
     346     */
     347    public function system_plugin_activated( $plugin, $network_wide ) {
     348        $plugin_data = \get_plugin_data( WP_PLUGIN_DIR . '/' . $plugin, true, false );
     349
     350        $fields = array(
     351            array(
     352                'name'   => \esc_html__( 'Name', 'hey-notify' ),
     353                'value'  => $plugin_data['Name'],
     354                'inline' => true,
     355            ),
     356            array(
     357                'name'   => \esc_html__( 'Version', 'hey-notify' ),
     358                'value'  => $plugin_data['Version'],
     359                'inline' => true,
     360            ),
     361        );
     362
     363        $subject = \wp_sprintf(
     364            /* translators: %s: Name of the site */
     365            \esc_html__( 'Hey, a plugin was just activated on %s!', 'hey-notify' ),
     366            \get_bloginfo( 'name' )
     367        );
     368
     369        $subject = apply_filters( 'hey_notify_system_plugin_activated_subject', $subject );
     370
     371        $data = array(
     372            'subject' => $subject,
     373            'title'   => __( 'View installed plugins', 'hey-notify' ),
     374            'url'     => \admin_url( 'plugins.php' ),
     375            'fields'  => $fields,
     376        );
     377
     378        $this->send( $data );
     379    }
     380
     381    /**
     382     * Plugin Deactivated
     383     *
     384     * @param object  $plugin Plugin object.
     385     * @param boolean $network_wide Was network activated.
     386     * @return void
     387     */
     388    public function system_plugin_deactivated( $plugin, $network_wide ) {
     389        $plugin_data = \get_plugin_data( WP_PLUGIN_DIR . '/' . $plugin, true, false );
     390
     391        $fields = array(
     392            array(
     393                'name'   => \esc_html__( 'Name', 'hey-notify' ),
     394                'value'  => $plugin_data['Name'],
     395                'inline' => true,
     396            ),
     397            array(
     398                'name'   => \esc_html__( 'Version', 'hey-notify' ),
     399                'value'  => $plugin_data['Version'],
     400                'inline' => true,
     401            ),
     402        );
     403
     404        $subject = \wp_sprintf(
     405            /* translators: %s: Name of the site */
     406            \esc_html__( 'Hey, a plugin was just deactivated on %s!', 'hey-notify' ),
     407            \get_bloginfo( 'name' )
     408        );
     409
     410        $subject = apply_filters( 'hey_notify_system_plugin_deactivated_subject', $subject );
     411
     412        $data = array(
     413            'subject' => $subject,
     414            'title'   => __( 'View installed plugins', 'hey-notify' ),
     415            'url'     => \admin_url( 'plugins.php' ),
     416            'fields'  => $fields,
     417        );
     418
     419        $this->send( $data );
     420    }
     421
     422    /**
     423     * Theme changed
     424     *
     425     * @param string $new_name New theme name.
     426     * @return void
     427     */
     428    public function system_theme_changed( $new_name ) {
     429        $fields = array(
     430            array(
     431                'name'   => \esc_html__( 'New Theme', 'hey-notify' ),
     432                'value'  => $new_name,
     433                'inline' => true,
     434            ),
     435        );
     436
     437        $subject = \wp_sprintf(
     438            /* translators: %s: Name of the site */
     439            \esc_html__( 'Hey, the theme was changed on %s!', 'hey-notify' ),
     440            \get_bloginfo( 'name' )
     441        );
     442
     443        $subject = apply_filters( 'hey_notify_system_theme_changed_subject', $subject );
     444
     445        $data = array(
     446            'subject' => $subject,
     447            'title'   => __( 'View themes', 'hey-notify' ),
     448            'url'     => \admin_url( 'themes.php' ),
     449            'fields'  => $fields,
     450        );
     451
     452        $this->send( $data );
     453    }
    333454}
  • hey-notify/trunk/includes/events/user/class-user-hook.php

    r2349284 r2466792  
    3232        }
    3333
    34         $subject = \sprintf(
     34        $subject = \wp_sprintf(
    3535            /* translators: %s: Name of the site */
    3636            \__( 'Hey, a new user just registered on %s!', 'hey-notify' ),
    3737            \get_bloginfo( 'name' )
    3838        );
     39
     40        $subject = apply_filters( 'hey_notify_user_new_subject', $subject, $user );
    3941
    4042        $this->prepare_data( $subject, $user );
     
    5557        }
    5658
    57         $subject = \sprintf(
     59        $subject = \wp_sprintf(
    5860            /* translators: %s: Name of the site */
    5961            \__( 'Hey, an administrator just logged in to %s!', 'hey-notify' ),
    6062            \get_bloginfo( 'name' )
    6163        );
     64
     65        $subject = apply_filters( 'hey_notify_user_admin_login_subject', $subject, $user );
    6266
    6367        $this->prepare_data( $subject, $user );
     
    8892        }
    8993
    90         $subject = \sprintf(
     94        $subject = \wp_sprintf(
    9195            /* translators: %s: Name of the site */
    9296            \__( 'Hey, an administrator just failed to log in to %s!', 'hey-notify' ),
    9397            \get_bloginfo( 'name' )
    9498        );
     99
     100        $subject = apply_filters( 'hey_notify_user_admin_login_failed_subject', $subject, $user );
    95101
    96102        $this->prepare_data( $subject, $user );
  • hey-notify/trunk/includes/fields.php

    r2357853 r2466792  
    3030function boot() {
    3131    \Carbon_Fields\Carbon_Fields::boot();
     32    $sidebar_manager = \Carbon_Fields\Carbon_Fields::resolve( 'sidebar_manager' );
     33    remove_action( 'admin_enqueue_scripts', array( $sidebar_manager, 'enqueue_scripts' ) );
    3234}
    3335
     
    7678            __( 'Uninstall', 'hey-notify' ),
    7779            apply_filters( 'hey_notify_settings_uninstall', array() )
     80        )
     81        ->add_tab(
     82            __( 'Licenses', 'hey-notify' ),
     83            apply_filters( 'hey_notify_settings_licenses', array() )
    7884        );
    7985
  • hey-notify/trunk/includes/filters.php

    r2349284 r2466792  
    7777            ->set_html(
    7878                sprintf(
    79                     '<p>%1s</p>',
     79                    '<h2>%1s</h2>',
    8080                    __( 'Upon deletion of the plugin, you can optionally remove all custom data, settings, etc.', 'hey-notify' )
    8181                )
     
    9999            ->set_html(
    100100                sprintf(
    101                     '<p>%1s</p>',
    102                     __( 'General settings for Hey Notify.', 'hey-notify' )
     101                    '<h2>%1s</h2>',
     102                    __( 'General settings for Hey Notify', 'hey-notify' )
    103103                )
    104104            )
     
    107107        Field::make( 'radio_image', 'hey_notify_default_service', __( 'Default service:', 'hey-notify' ) )
    108108            ->set_options( get_service_options() )
     109    );
     110    $fields[] = (
     111        Field::make( 'html', 'hey_notify_services_cpt_heading' )
     112            ->set_html(
     113                sprintf(
     114                    '<h2>%1s</h2>',
     115                    __( 'Custom Post Type Settings', 'hey-notify' )
     116                )
     117            )
     118    );
     119    $fields[] = (
     120        Field::make( 'checkbox', 'hey_notify_show_public_cpt', __( 'Only display public Custom Post Types', 'hey-notify' ) )
     121            ->set_option_value( 'yes' )
     122            ->set_default_value( 'yes' )
    109123    );
    110124    return $fields;
  • hey-notify/trunk/readme.md

    r2349893 r2466792  
    77Get notified when things happen in WordPress.
    88
    9 __Notifications can be sent to:__
     9**Notifications can be sent to:**
    1010
    11 * Slack
    12 * Discord
    13 * Email
     11- Slack
     12- Discord
     13- Email
    1414
    15 __Notifications for:__
     15**Notifications for:**
    1616
    17 * Posts - Status transitions
    18 * Pages - Status transitions
    19 * Comments - New comments
    20 * Users - New users, admin logins, failed admin logins
    21 * System Events - WordPress, plugin, and theme updates
    22 
     17- Posts
     18  - Draft
     19  - Pending
     20  - Scheduled
     21  - Published
     22  - Trashed
     23- Pages
     24  - Draft
     25  - Pending
     26  - Scheduled
     27  - Published
     28  - Trashed
     29- Custom Post Types
     30  - Draft
     31  - Pending
     32  - Scheduled
     33  - Published
     34  - Trashed
     35- Comments
     36  - New Comment
     37- Users
     38  - New User
     39  - Administrator Login
     40  - Failed Administrator Login
     41- System Events
     42  - WordPress Updates
     43  - Plugin Updates
     44  - Plugin Activation
     45  - Plugin Deactivation
     46  - Theme Updates
     47  - Theme Change
    2348
    2449## Installation
    2550
    26511. Upload the `hey-notify` folder to the `/wp-content/plugins/` directory.
    27 2. Activate the __Hey Notify__ plugin through the __Plugins__ menu in WordPress.
    28 3. Configure the plugin by going to the __Hey Notify__ menu that appears in your WordPress Admin.
     522. Activate the **Hey Notify** plugin through the **Plugins** menu in WordPress.
     533. Configure the plugin by going to the **Hey Notify** menu that appears in your WordPress Admin.
    2954
    3055## Support
  • hey-notify/trunk/readme.txt

    r2461187 r2466792  
    11=== Hey Notify ===
    2 Contributors: firetree,danielmilner
     2Contributors: firetree, danielmilner
    33Tags: notifications, slack, discord, email
    44Requires at least: 4.3
    55Tested up to: 5.6
    66Requires PHP: 5.3
    7 Stable tag: 1.1.6
     7Stable tag: 1.2.0
    88License: GPLv2 or later
    99License URI: http://ww.gnu.org/licenses/gpl-2.0.html
     
    2323= Notifications for: =
    2424
    25 * Posts - Status transitions
    26 * Pages - Status transitions
    27 * Comments - New comments
    28 * Users - New users, admin logins, failed admin logins
    29 * System Events - WordPress, plugin, and theme updates
     25* Posts
     26    * Draft
     27    * Pending
     28    * Scheduled
     29    * Published
     30    * Trashed
     31* Pages
     32    * Draft
     33    * Pending
     34    * Scheduled
     35    * Published
     36    * Trashed
     37* Custom Post Types
     38    * Draft
     39    * Pending
     40    * Scheduled
     41    * Published
     42    * Trashed
     43* Comments
     44    * New Comment
     45* Users
     46    * New User
     47    * Administrator Login
     48    * Failed Administrator Login
     49* System Events
     50    * WordPress Updates
     51    * Plugin Updates
     52    * Plugin Activation
     53    * Plugin Deactivation
     54    * Theme Updates
     55    * Theme Change
    3056
    3157== Installation ==
     
    4167== Changelog ==
    4268
    43 = 1.1.6 =
    44 * Removed some unneeded vendor files from the previous release.
    45 
    46 = 1.1.5 =
    47 * Fixed an issue where System events could only send notifications to one service.
    48 
    49 = 1.1.4 =
    50 * Fixed an issue with the Discord service.
    51 
    52 = 1.1.3 =
    53 * Fixed Discord message titles.
    54 * Fixed an error with WordPress Core update checks.
    55 * Added an action for interacting with the Settings container.
    56 
    57 = 1.1.2 =
    58 * Removed parentheses surrounding new version numbers in theme and plugin update notifications.
    59 
    60 = 1.1.0 =
    61 * Added comment notifications.
    62 * Added user notifications.
    63 * Added system notifications.
    64 
    65 = 1.0.0 =
    66 * Initial release.
     69= 1.2.0 =
     70* Added new System notification for Plugin Activation, Plugin Deactivation, and Theme Changes.
     71* Added Custom Post Type notifications.
     72* For developers: Added filter hooks to the message subjects.
  • hey-notify/trunk/uninstall.php

    r2349284 r2466792  
    4747    \delete_option( '_hey_notify_remove_data' );
    4848    \delete_option( '_hey_notify_default_service' );
     49    \delete_option( '_hey_notify_show_public_cpt' );
    4950    \delete_option( 'hey_notify_wordpress_version' );
    5051    \delete_option( 'hey_notify_theme_versions' );
    5152    \delete_option( 'hey_notify_plugin_versions' );
     53    \delete_option( 'hey_notify_custom_post_types' );
    5254}
    5355
  • hey-notify/trunk/vendor/autoload.php

    r2461184 r2466792  
    55require_once __DIR__ . '/composer/autoload_real.php';
    66
    7 return ComposerAutoloaderInitc4d1016cfbfc548fc9f1275a2706c10b::getLoader();
     7return ComposerAutoloaderInitf423eb57d555607d3ce8435dde716547::getLoader();
  • hey-notify/trunk/vendor/composer/InstalledVersions.php

    r2461184 r2466792  
    2525  'root' =>
    2626  array (
    27     'pretty_version' => '1.1.5.x-dev',
    28     'version' => '1.1.5.9999999-dev',
     27    'pretty_version' => '1.2.0.x-dev',
     28    'version' => '1.2.0.9999999-dev',
    2929    'aliases' =>
    3030    array (
    3131    ),
    32     'reference' => 'b57d1880d1b08fe658c81e7c07c0d97c48816e8c',
     32    'reference' => '60ed723ee5f55ddfb49cb97380a05f931f429c64',
    3333    'name' => '__root__',
    3434  ),
     
    3737    '__root__' =>
    3838    array (
    39       'pretty_version' => '1.1.5.x-dev',
    40       'version' => '1.1.5.9999999-dev',
     39      'pretty_version' => '1.2.0.x-dev',
     40      'version' => '1.2.0.9999999-dev',
    4141      'aliases' =>
    4242      array (
    4343      ),
    44       'reference' => 'b57d1880d1b08fe658c81e7c07c0d97c48816e8c',
     44      'reference' => '60ed723ee5f55ddfb49cb97380a05f931f429c64',
    4545    ),
    4646    'htmlburger/carbon-fields' =>
  • hey-notify/trunk/vendor/composer/autoload_real.php

    r2461184 r2466792  
    33// autoload_real.php @generated by Composer
    44
    5 class ComposerAutoloaderInitc4d1016cfbfc548fc9f1275a2706c10b
     5class ComposerAutoloaderInitf423eb57d555607d3ce8435dde716547
    66{
    77    private static $loader;
     
    2525        require __DIR__ . '/platform_check.php';
    2626
    27         spl_autoload_register(array('ComposerAutoloaderInitc4d1016cfbfc548fc9f1275a2706c10b', 'loadClassLoader'), true, true);
     27        spl_autoload_register(array('ComposerAutoloaderInitf423eb57d555607d3ce8435dde716547', 'loadClassLoader'), true, true);
    2828        self::$loader = $loader = new \Composer\Autoload\ClassLoader();
    29         spl_autoload_unregister(array('ComposerAutoloaderInitc4d1016cfbfc548fc9f1275a2706c10b', 'loadClassLoader'));
     29        spl_autoload_unregister(array('ComposerAutoloaderInitf423eb57d555607d3ce8435dde716547', 'loadClassLoader'));
    3030
    3131        $useStaticLoader = PHP_VERSION_ID >= 50600 && !defined('HHVM_VERSION') && (!function_exists('zend_loader_file_encoded') || !zend_loader_file_encoded());
     
    3333            require __DIR__ . '/autoload_static.php';
    3434
    35             call_user_func(\Composer\Autoload\ComposerStaticInitc4d1016cfbfc548fc9f1275a2706c10b::getInitializer($loader));
     35            call_user_func(\Composer\Autoload\ComposerStaticInitf423eb57d555607d3ce8435dde716547::getInitializer($loader));
    3636        } else {
    3737            $map = require __DIR__ . '/autoload_namespaces.php';
  • hey-notify/trunk/vendor/composer/autoload_static.php

    r2461184 r2466792  
    55namespace Composer\Autoload;
    66
    7 class ComposerStaticInitc4d1016cfbfc548fc9f1275a2706c10b
     7class ComposerStaticInitf423eb57d555607d3ce8435dde716547
    88{
    99    public static $prefixLengthsPsr4 = array (
     
    2828    {
    2929        return \Closure::bind(function () use ($loader) {
    30             $loader->prefixLengthsPsr4 = ComposerStaticInitc4d1016cfbfc548fc9f1275a2706c10b::$prefixLengthsPsr4;
    31             $loader->prefixDirsPsr4 = ComposerStaticInitc4d1016cfbfc548fc9f1275a2706c10b::$prefixDirsPsr4;
    32             $loader->classMap = ComposerStaticInitc4d1016cfbfc548fc9f1275a2706c10b::$classMap;
     30            $loader->prefixLengthsPsr4 = ComposerStaticInitf423eb57d555607d3ce8435dde716547::$prefixLengthsPsr4;
     31            $loader->prefixDirsPsr4 = ComposerStaticInitf423eb57d555607d3ce8435dde716547::$prefixDirsPsr4;
     32            $loader->classMap = ComposerStaticInitf423eb57d555607d3ce8435dde716547::$classMap;
    3333
    3434        }, null, ClassLoader::class);
  • hey-notify/trunk/vendor/composer/installed.php

    r2461184 r2466792  
    22  'root' =>
    33  array (
    4     'pretty_version' => '1.1.5.x-dev',
    5     'version' => '1.1.5.9999999-dev',
     4    'pretty_version' => '1.2.0.x-dev',
     5    'version' => '1.2.0.9999999-dev',
    66    'aliases' =>
    77    array (
    88    ),
    9     'reference' => 'b57d1880d1b08fe658c81e7c07c0d97c48816e8c',
     9    'reference' => '60ed723ee5f55ddfb49cb97380a05f931f429c64',
    1010    'name' => '__root__',
    1111  ),
     
    1414    '__root__' =>
    1515    array (
    16       'pretty_version' => '1.1.5.x-dev',
    17       'version' => '1.1.5.9999999-dev',
     16      'pretty_version' => '1.2.0.x-dev',
     17      'version' => '1.2.0.9999999-dev',
    1818      'aliases' =>
    1919      array (
    2020      ),
    21       'reference' => 'b57d1880d1b08fe658c81e7c07c0d97c48816e8c',
     21      'reference' => '60ed723ee5f55ddfb49cb97380a05f931f429c64',
    2222    ),
    2323    'htmlburger/carbon-fields' =>
Note: See TracChangeset for help on using the changeset viewer.