Skip to:
Content

BuddyPress.org

Changeset 7543


Ignore:
Timestamp:
11/09/2013 01:59:32 PM (11 years ago)
Author:
johnjamesjacoby
Message:

Introduce bp-notifications-actions.php to handle single notification status toggling.

  • Include new actions file in loader.
  • Tweak link output functions to make it moderately easier to debug the URL.
  • Introduce bp_notifications_mark_notification() to help with marking single notifications.
  • Fix bp_notifications_delete_notification() to work with new array argument pattern, introduced previously.
  • It's alive!

See #5148.

Location:
trunk/bp-notifications
Files:
1 added
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/bp-notifications/bp-notifications-functions.php

    r7537 r7543  
    8484    }
    8585
    86     return BP_Notifications_Notification::delete( $id );
     86    return BP_Notifications_Notification::delete( array( 'id' => $id ) );
     87}
     88
     89/**
     90 * Mark notification read/unread for a user by ID.
     91 *
     92 * Used when clearing out notifications for a specific notification item.
     93 *
     94 * @since BuddyPress (1.9.0)
     95 *
     96 * @param int $user_id ID of the user whose notifications are being deleted.
     97 * @param int $is_new 0 for read, 1 for unread
     98 * @return bool True on success, false on failure.
     99 */
     100function bp_notifications_mark_notification( $id, $is_new = false ) {
     101    if ( ! bp_notifications_check_notification_access( bp_loggedin_user_id(), $id ) ) {
     102        return false;
     103    }
     104
     105    return BP_Notifications_Notification::update(
     106        array( 'is_new' => $is_new ),
     107        array( 'id'     => $id     )
     108    );
    87109}
    88110
  • trunk/bp-notifications/bp-notifications-loader.php

    r7521 r7543  
    4343    public function includes( $includes = array() ) {
    4444        $includes = array(
     45            'actions',
    4546            'classes',
    4647            'screens',
  • trunk/bp-notifications/bp-notifications-template.php

    r7540 r7543  
    661661    function bp_get_the_notification_mark_read_link() {
    662662
     663        // Get the URL with nonce, action, and id
     664        $url = wp_nonce_url( add_query_arg( array( 'action' => 'read', 'notification_id' => bp_get_the_notification_id() ), bp_get_notifications_unread_permalink() ), 'bp_notification_mark_read_' . bp_get_the_notification_id() );
     665
     666        // Start the output buffer
    663667        ob_start(); ?>
    664668
    665         <a href="<?php echo wp_nonce_url( add_query_arg( array( 'action' => 'read', 'id' => bp_get_the_notification_id() ), bp_get_notifications_unread_permalink() ), 'bp_notification_' . bp_get_the_notification_id() ); ?>" class="mark-read primary"><?php _e( 'Read', 'buddypress' ); ?></a>
     669        <a href="<?php echo esc_url( $url ); ?>" class="mark-read primary"><?php _e( 'Read', 'buddypress' ); ?></a>
    666670
    667671        <?php $retval = ob_get_clean();
     
    687691    function bp_get_the_notification_mark_unread_link() {
    688692
     693        // Get the URL with nonce, action, and id
     694        $url = wp_nonce_url( add_query_arg( array( 'action' => 'unread', 'notification_id' => bp_get_the_notification_id() ), bp_get_notifications_read_permalink() ), 'bp_notification_mark_unread_' . bp_get_the_notification_id() );
     695
     696        // Start the output buffer
    689697        ob_start(); ?>
    690698
    691         <a href="<?php echo wp_nonce_url( add_query_arg( array( 'action' => 'unread', 'id' => bp_get_the_notification_id() ), bp_get_notifications_read_permalink() ), 'bp_notification_' . bp_get_the_notification_id() ); ?>" class="mark-unread primary"><?php _e( 'Unread', 'buddypress' ); ?></a>
     699        <a href="<?php echo esc_url( $url ); ?>" class="mark-unread primary"><?php _e( 'Unread', 'buddypress' ); ?></a>
    692700
    693701        <?php $retval = ob_get_clean();
     
    746754        }
    747755
     756        // Get the URL with nonce, action, and id
     757        $url = wp_nonce_url( add_query_arg( array( 'action' => 'delete', 'notification_id' => bp_get_the_notification_id() ), $link ), 'bp_notification_delete_' . bp_get_the_notification_id() );
     758
    748759        // Start the output buffer
    749760        ob_start(); ?>
    750761
    751         <a href="<?php echo wp_nonce_url( add_query_arg( array( 'action' => 'delete', 'id' => bp_get_the_notification_id() ), $link ), 'bp_notification_' . bp_get_the_notification_id() ); ?>" class="delete secondary"><?php _e( 'Delete', 'buddypress' ); ?></a>
     762        <a href="<?php echo esc_url( $url ); ?>" class="delete secondary"><?php _e( 'Delete', 'buddypress' ); ?></a>
    752763
    753764        <?php $retval = ob_get_clean();
Note: See TracChangeset for help on using the changeset viewer.