'; $parent_select .= ''; $groups = $wpdb->get_results( "SELECT * FROM $group_table" ); foreach ( $groups as $group ) { $parent_select .= ''; } $parent_select .= ''; $output .= '
'; $output .= '

'; $output .= __( 'Add a new group', 'groups' ); $output .= '

'; $output .= Groups_Admin::render_messages(); $output .= '
'; $output .= '
'; $output .= '
'; $output .= ''; $output .= ''; $output .= '
'; $output .= '
'; $output .= ''; $output .= $parent_select; $output .= '
'; $output .= '
'; $output .= ''; $output .= ''; $output .= '
'; $output .= '
'; $capability_table = _groups_get_tablename( "capability" ); $capabilities = $wpdb->get_results( "SELECT * FROM $capability_table ORDER BY capability" ); $output .= '
'; $output .= ''; $output .= '
'; $output .= '

'; $output .= __( 'These capabilities will be assigned to the group.', 'groups' ); $output .= '

'; $output .= Groups_UIE::render_select( '.select.capability' ); $output .= '
'; $output .= apply_filters( 'groups_admin_groups_add_form_after_fields', '' ); $output .= '
'; $output .= wp_nonce_field( 'groups-add', GROUPS_ADMIN_GROUPS_NONCE, true, false ); $output .= ''; $output .= ''; $output .= '' . __( 'Cancel', 'groups' ) . ''; $output .= '
'; $output .= '
'; // .group.new $output .= '
'; $output .= '
'; // .manage-groups echo $output; } // function groups_admin_groups_add /** * Handle add group form submission. * @return int new group's id or false if unsuccessful */ function groups_admin_groups_add_submit() { global $wpdb; if ( !current_user_can( GROUPS_ADMINISTER_GROUPS ) ) { wp_die( __( 'Access denied.', 'groups' ) ); } if ( !wp_verify_nonce( $_POST[GROUPS_ADMIN_GROUPS_NONCE], 'groups-add' ) ) { wp_die( __( 'Access denied.', 'groups' ) ); } $creator_id = get_current_user_id(); $datetime = date( 'Y-m-d H:i:s', time() ); $parent_id = isset( $_POST['parent-id-field'] ) ? $_POST['parent-id-field'] : null; $description = isset( $_POST['description-field'] ) ? $_POST['description-field'] : ''; $name = isset( $_POST['name-field'] ) ? $_POST['name-field'] : null; $group_id = Groups_Group::create( compact( "creator_id", "datetime", "parent_id", "description", "name" ) ); if ( $group_id ) { if ( !empty( $_POST['capability_ids'] ) ) { $caps = $_POST['capability_ids']; foreach( $caps as $cap ) { Groups_Group_Capability::create( array( 'group_id' => $group_id, 'capability_id' => $cap ) ); } } do_action( 'groups_admin_groups_add_submit_success', $group_id ); } else { if ( !$name ) { Groups_Admin::add_message( __( 'The name must not be empty.', 'groups' ), 'error' ); } else if ( Groups_Group::read_by_name( $name ) ) { Groups_Admin::add_message( sprintf( __( 'The %s group already exists.', 'groups' ), stripslashes( wp_filter_nohtml_kses( ( $name ) ) ) ), 'error' ); } } return $group_id; } // function groups_admin_groups_add_submit