' . '

' . __( 'Remove a group', 'groups' ) . '

' . '
' . '
' . '' . ' ' . wp_nonce_field( 'groups-remove', GROUPS_ADMIN_GROUPS_NONCE, true, false ) . '' . '' . '' . __( 'Cancel', 'groups' ) . '' . '
' . '' . // .group.remove '
' . ''; // .manage-groups echo $output; } // function groups_admin_groups_remove /** * Handle remove form submission. */ function groups_admin_groups_remove_submit() { global $wpdb; $result = false; if ( !current_user_can( GROUPS_ADMINISTER_GROUPS ) ) { wp_die( __( 'Access denied.', 'groups' ) ); } if ( !wp_verify_nonce( $_POST[GROUPS_ADMIN_GROUPS_NONCE], 'groups-remove' ) ) { wp_die( __( 'Access denied.', 'groups' ) ); } $group_id = isset( $_POST['group-id-field'] ) ? $_POST['group-id-field'] : null; $group = Groups_Group::read( $group_id ); if ( $group ) { if ( $group->name !== Groups_Registered::REGISTERED_GROUP_NAME ) { $result = Groups_Group::delete( $group_id ); } } return $result; } // function groups_admin_groups_remove_submit /** * Shows form to confirm bulk-removal of groups. */ function groups_admin_groups_bulk_remove() { global $wpdb; $output = ''; if ( !current_user_can( GROUPS_ADMINISTER_GROUPS ) ) { wp_die( __( 'Access denied.', 'groups' ) ); } $group_ids = isset( $_POST['group_ids'] ) ? $_POST['group_ids'] : null; if ( ! $group_ids ) { wp_die( __( 'No such groups.', 'groups' ) ); } $groups = array(); foreach ( $group_ids as $group_id ) { $group = Groups_Group::read( intval( $group_id ) ); if ( $group ) { $groups[] = $group; } } $group_table = _groups_get_tablename( 'group' ); $current_url = ( is_ssl() ? 'https://' : 'http://' ) . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI']; $current_url = remove_query_arg( 'action', $current_url ); $current_url = remove_query_arg( 'group_id', $current_url ); $output .= '
'; $output .= '

'; $output .= __( 'Remove groups', 'groups' ); $output .= '

'; $output .= '
'; $output .= '
'; $output .= '

'; $output .= __( 'Please confirm removal of the following groups. This action cannot be undone.', 'groups' ); $output .= '

'; foreach ( $groups as $group ) { $output .= ''; $output .= '
    '; $output .= '
  • '; $output .= sprintf( __( '%s', 'groups' ), wp_filter_nohtml_kses( $group->name ) ); $output .= '
  • '; $output .= '
'; } $output .= ''; $output .= '' . __( 'Cancel', 'groups' ) . ''; $output .= ''; $output .= ''; $output .= ''; $output .= wp_nonce_field( 'admin', GROUPS_ADMIN_GROUPS_ACTION_NONCE, true, false ); $output .= '
'; $output .= '
'; $output .= '
'; echo $output; } // function groups_admin_groups_bulk_remove /** * Handle remove form submission. * @return array of deleted groups' ids */ function groups_admin_groups_bulk_remove_submit() { global $wpdb; $result = array(); if ( !current_user_can( GROUPS_ADMINISTER_GROUPS ) ) { wp_die( __( 'Access denied.', 'groups' ) ); } if ( !wp_verify_nonce( $_POST[GROUPS_ADMIN_GROUPS_ACTION_NONCE], 'admin' ) ) { wp_die( __( 'Access denied.', 'groups' ) ); } $group_ids = isset( $_POST['group_ids'] ) ? $_POST['group_ids'] : null; if ( $group_ids ) { foreach ( $group_ids as $group_id ) { $group = Groups_Group::read( $group_id ); if ( $group ) { if ( $group->name !== Groups_Registered::REGISTERED_GROUP_NAME ) { if ( Groups_Group::delete( $group_id ) ) { $result[] = $group->group_id; } } } } } return $result; } // function groups_admin_groups_bulk_remove_submit