title = sprintf( __( 'DM from %1$s to %2$s', 'aag' ),
$sender->user_login, $recipient->user_login );
$post->from = $sender->user_login;
$post->to = $recipient->user_login;
$post->content = trim( $_POST['aag_direct_message'] );
$post->save();
wp_safe_redirect( $redirect_to );
exit();
}
}
/* Groups */
function aag_load_groups_admin() {
$action = aag_current_action();
$redirect_to = menu_page_url( 'aag_groups', false );
if ( 'add' == $action || 'save' == $action ) {
$post = ( 'save' == $action )
? new AAG_Group( $_REQUEST['post'] )
: new AAG_Group();
if ( ! empty( $post ) ) {
if ( $post->initial ) {
if ( ! current_user_can( 'aag_edit_groups' ) )
wp_die( __( 'You are not allowed to edit this item.', 'aag' ) );
check_admin_referer( 'aag-add-group' );
} else {
if ( ! current_user_can( 'aag_edit_group', $post->id ) )
wp_die( __( 'You are not allowed to edit this item.', 'aag' ) );
check_admin_referer( 'aag-update-group_' . $post->id );
}
$post->title = trim( $_POST['post_title'] );
$post->description = trim( $_POST['group_description'] );
$post->status = in_array( $_POST['group_status'], array( 'open', 'closed' ) )
? $_POST['group_status'] : 'open';
$post->save();
$redirect_to = add_query_arg( array(
'post' => $post->id,
'message' => 'add' == $action ? 'groupadded' : 'groupupdated' ), $redirect_to );
}
wp_safe_redirect( $redirect_to );
exit();
}
if ( 'trash' == $action && ! empty( $_REQUEST['post'] ) ) {
if ( ! is_array( $_REQUEST['post'] ) )
check_admin_referer( 'aag-trash-group_' . $_REQUEST['post'] );
else
check_admin_referer( 'bulk-posts' );
$trashed = 0;
foreach ( (array) $_REQUEST['post'] as $post ) {
$post = new AAG_Group( $post );
if ( empty( $post ) || $post->initial )
continue;
if ( ! current_user_can( 'aag_delete_group', $post->id ) )
wp_die( __( 'You are not allowed to move this item to the Trash.', 'aag' ) );
if ( ! $post->trash() )
wp_die( __( 'Error in moving to Trash.', 'aag' ) );
$trashed += 1;
}
if ( ! empty( $trashed ) )
$redirect_to = add_query_arg( array( 'message' => 'grouptrashed' ), $redirect_to );
wp_safe_redirect( $redirect_to );
exit();
}
if ( 'untrash' == $action && ! empty( $_REQUEST['post'] ) ) {
if ( ! is_array( $_REQUEST['post'] ) )
check_admin_referer( 'aag-untrash-group_' . $_REQUEST['post'] );
else
check_admin_referer( 'bulk-posts' );
$untrashed = 0;
foreach ( (array) $_REQUEST['post'] as $post ) {
$post = new AAG_Group( $post );
if ( empty( $post ) || $post->initial )
continue;
if ( ! current_user_can( 'aag_delete_group', $post->id ) )
wp_die( __( 'You are not allowed to restore this item from the Trash.', 'aag' ) );
if ( ! $post->untrash() )
wp_die( __( 'Error in restoring from Trash.', 'aag' ) );
$untrashed += 1;
}
if ( ! empty( $untrashed ) )
$redirect_to = add_query_arg( array( 'message' => 'groupuntrashed' ), $redirect_to );
wp_safe_redirect( $redirect_to );
exit();
}
if ( 'delete_all' == $action ) {
$_REQUEST['post'] = aag_get_all_ids_in_trash( AAG_Group::post_type );
$action = 'delete';
}
if ( 'delete' == $action && ! empty( $_REQUEST['post'] ) ) {
if ( ! is_array( $_REQUEST['post'] ) )
check_admin_referer( 'aag-delete-group_' . $_REQUEST['post'] );
else
check_admin_referer( 'bulk-posts' );
$deleted = 0;
foreach ( (array) $_REQUEST['post'] as $post ) {
$post = new AAG_Group( $post );
if ( empty( $post ) )
continue;
if ( ! current_user_can( 'aag_delete_group', $post->id ) )
wp_die( __( 'You are not allowed to delete this item.', 'aag' ) );
if ( ! $post->delete() )
wp_die( __( 'Error in deleting.', 'aag' ) );
$deleted += 1;
}
if ( ! empty( $deleted ) )
$redirect_to = add_query_arg( array( 'message' => 'groupdeleted' ), $redirect_to );
wp_safe_redirect( $redirect_to );
exit();
}
if ( empty( $_GET['post'] ) ) {
$current_screen = get_current_screen();
if ( ! class_exists( 'AAG_Groups_List_Table' ) )
require_once AAG_PLUGIN_DIR . '/admin/includes/class-groups-list-table.php';
add_filter( 'manage_' . $current_screen->id . '_columns',
array( 'AAG_Groups_List_Table', 'define_columns' ) );
add_screen_option( 'per_page', array(
'label' => __( 'Groups', 'aag' ),
'default' => 20 ) );
}
}
function aag_admin_page_groups() {
if ( ! empty( $_REQUEST['post'] ) ) {
$post_id = $_REQUEST['post'];
if ( 'new' == $post_id && current_user_can( 'aag_edit_groups' ) )
$post = new AAG_Group();
elseif ( AAG_Group::post_type == get_post_type( $post_id ) )
$post = new AAG_Group( $_GET['post'] );
if ( ! empty( $post ) && current_user_can( 'aag_edit_group', $post->id ) ) {
aag_group_edit_page( $post->id );
return;
}
}
$list_table = new AAG_Groups_List_Table();
$list_table->prepare_items();
?>
'new' ), menu_page_url( 'aag_groups', false ) ) ) . '" class="add-new-h2">' . esc_html( __( 'Add New', 'aag' ) ) . '';
if ( ! empty( $_REQUEST['s'] ) ) {
echo sprintf( ''
. __( 'Search results for “%s”', 'aag' )
. '', esc_html( $_REQUEST['s'] ) );
}
?>
views(); ?>