'; ?> __( 'more', 'aag' ) ) ); } add_action( 'wp_print_scripts', 'aag_admin_load_js' ); function aag_add_pages() { $join = aag_plugin_path( 'admin/join-group.php' ); $messages = aag_plugin_path( 'admin/messages.php' ); $edit = aag_plugin_path( 'admin/edit-groups.php' ); $add_new = aag_plugin_path( 'admin/add-new-group.php' ); $manage = aag_plugin_path( 'admin/manage-group.php' ); $parent = $join; add_menu_page( __( 'Groups', 'aag' ), __( 'Groups', 'aag' ), aag_join_group_capability(), $parent ); add_submenu_page( $parent, __( 'Join Group', 'aag' ), __( 'Join', 'aag' ), aag_join_group_capability(), $join ); if ( aag_get_your_groups() ) { add_submenu_page( $parent, __( 'Group Messages', 'aag' ), __( 'Messages', 'aag' ), aag_join_group_capability(), $messages ); } add_submenu_page( $parent, __( 'Manage Groups', 'aag' ), __( 'Manage', 'aag' ), aag_add_group_capability(), $manage ); } function aag_admin_init() { aag_add_pages(); if ( isset( $_POST['aag-create-group'] ) ) { check_admin_referer( 'aag-create-group' ); if ( ! aag_you_can_add_group() ) wp_die( __( 'Cheatin’ uh?', 'aag' ) ); $group_id = aag_insert_group( array( 'group_name' => $_POST['group-name'], 'group_description' => $_POST['group-description'], 'group_status' => $_POST['group-status'] ) ); wp_redirect( aag_admin_url( 'manage-group.php', array( 'group_id' => $group_id, 'created' => 1 ) ) ); exit(); } elseif ( isset( $_POST['aag-edit-group'] ) ) { $group_id = (int) $_POST['group-id']; check_admin_referer( 'aag-edit-group-' . $group_id ); if ( ! aag_you_can_edit_group( $group_id ) ) wp_die( __( 'Cheatin’ uh?', 'aag' ) ); aag_update_group( $group_id, array( 'group_name' => $_POST['group-name'], 'group_description' => $_POST['group-description'], 'group_status' => $_POST['group-status'] ) ); wp_redirect( aag_admin_url( 'manage-group.php', array( 'group_id' => $group_id, 'updated' => 1 ) ) ); exit(); } elseif ( isset( $_POST['aag-delete-group'] ) ) { $group_id = (int) $_POST['group-id']; check_admin_referer( 'aag-delete-group-' . $group_id ); if ( ! aag_you_can_delete_group( $group_id ) ) wp_die( __( 'Cheatin’ uh?', 'aag' ) ); aag_delete_group( $group_id ); wp_redirect( aag_admin_url( 'manage-group.php', array( 'deleted' => 1 ) ) ); exit(); } elseif ( isset( $_GET['aag-member-acceptance'] ) ) { $group_id = (int) $_GET['group_id']; $membership_id = (int) $_GET['membership_id']; check_admin_referer( 'aag-member-acceptance-' . $membership_id ); if ( ! aag_you_can_accept_member( $group_id ) ) wp_die( __( 'Cheatin’ uh?', 'aag' ) ); $member = aag_get_membership_by_id( $membership_id ); aag_update_member_status( $group_id, $member->user_id, 'member' ); wp_redirect( aag_admin_url( 'manage-group.php', array( 'group_id' => $group_id ) ) ); exit(); } elseif ( isset( $_GET['aag-member-rejection'] ) ) { $group_id = (int) $_GET['group_id']; $membership_id = (int) $_GET['membership_id']; check_admin_referer( 'aag-member-rejection-' . $membership_id ); if ( ! aag_you_can_accept_member( $group_id ) ) wp_die( __( 'Cheatin’ uh?', 'aag' ) ); $member = aag_get_membership_by_id( $membership_id ); aag_leave_group( $group_id, $member->user_id ); wp_redirect( aag_admin_url( 'manage-group.php', array( 'group_id' => $group_id ) ) ); exit(); } elseif ( isset( $_GET['aag-member-promotion'] ) ) { $group_id = (int) $_GET['group_id']; $membership_id = (int) $_GET['membership_id']; check_admin_referer( 'aag-member-promotion-' . $membership_id ); if ( ! aag_you_can_promote_member( $group_id ) ) wp_die( __( 'Cheatin’ uh?', 'aag' ) ); $member = aag_get_membership_by_id( $membership_id ); aag_update_member_status( $group_id, $member->user_id, 'admin' ); wp_redirect( aag_admin_url( 'manage-group.php', array( 'group_id' => $group_id ) ) ); exit(); } elseif ( isset( $_GET['aag-member-demotion'] ) ) { $group_id = (int) $_GET['group_id']; $membership_id = (int) $_GET['membership_id']; check_admin_referer( 'aag-member-demotion-' . $membership_id ); if ( ! aag_you_can_promote_member( $group_id ) ) wp_die( __( 'Cheatin’ uh?', 'aag' ) ); $member = aag_get_membership_by_id( $membership_id ); aag_update_member_status( $group_id, $member->user_id, 'member' ); wp_redirect( aag_admin_url( 'manage-group.php', array( 'group_id' => $group_id ) ) ); exit(); } elseif ( isset( $_GET['aag-member-removal'] ) ) { $group_id = (int) $_GET['group_id']; $membership_id = (int) $_GET['membership_id']; check_admin_referer( 'aag-member-removal-' . $membership_id ); if ( ! aag_you_can_accept_member( $group_id ) ) wp_die( __( 'Cheatin’ uh?', 'aag' ) ); $member = aag_get_membership_by_id( $membership_id ); aag_leave_group( $group_id, $member->user_id ); wp_redirect( aag_admin_url( 'manage-group.php', array( 'group_id' => $group_id ) ) ); exit(); } elseif ( isset( $_POST['aag-join-group'] ) ) { $group_id = (int) $_POST['group_id']; check_admin_referer( 'aag-join-group-' . $group_id ); aag_request_to_join_group( $group_id ); wp_redirect( aag_admin_url( 'join-group.php' ) ); exit(); } elseif ( isset( $_POST['aag-leave-group'] ) ) { $group_id = (int) $_POST['group_id']; check_admin_referer( 'aag-leave-group-' . $group_id ); aag_leave_group( $group_id ); wp_redirect( aag_admin_url( 'join-group.php' ) ); exit(); } elseif ( isset( $_POST['aag-add-new-message'] ) ) { $group_id = (int) $_POST['group_id']; $reply_to = (int) $_POST['reply_to']; check_admin_referer( 'aag-add-new-message-' . $group_id ); if ( ! aag_you_can_message_group( $group_id ) ) wp_die( __( 'Cheatin’ uh?', 'aag' ) ); aag_post_message( $group_id, $_POST['message-content'], $reply_to ); wp_redirect( aag_admin_url( 'messages.php', array( 'group_id' => $group_id ) ) ); exit(); } elseif ( isset( $_GET['aag-message-delete'] ) ) { $group_id = (int) $_GET['group_id']; $author_id = (int) $_GET['author_id']; $message_id = (int) $_GET['message_id']; check_admin_referer( 'aag-message-delete-' . $message_id ); if ( ! aag_you_can_delete_message( $message_id ) ) wp_die( __( 'Cheatin’ uh?', 'aag' ) ); aag_delete_message( $message_id ); wp_redirect( aag_admin_url( 'messages.php', array( 'group_id' => $group_id, 'author_id' => $author_id, 'deleted' => 1 ) ) ); exit(); } } add_action( 'admin_menu', 'aag_admin_init' ); function aag_ajax() { if ( AAG_PLUGIN_NAME . '/admin/timeline.php' == $_GET['page'] ) { require_once AAG_PLUGIN_DIR . '/admin/timeline.php'; exit(); } } add_action( 'init', 'aag_ajax' ); function aag_join_link( $group_id ) { $membership = aag_get_membership( $group_id ); if ( $membership ) : if ( 'founder' == $membership->member_status ) return '---'; if ( 'pending' == $membership->member_status ) return esc_html( __( 'Pending', 'aag' ) ); ?>