capability; $description = isset( $_POST['description-field'] ) ? $_POST['description-field'] : $capability->description; $capability_readonly = ( $capability->capability !== Groups_Post_Access::READ_POST_CAPABILITY ) ? "" : ' readonly="readonly" '; $output = '
' . '

' . __( 'Edit a capability', 'groups' ) . '

' . Groups_Admin::render_messages() . '
' . '
' . '' . '
' . '' . '' . '
' . '
' . '' . '' . '
' . '
' . wp_nonce_field( 'capabilities-edit', GROUPS_ADMIN_GROUPS_NONCE, true, false ) . '' . '' . '' . __( 'Cancel', 'groups' ) . '' . '
' . '
' . // .capability.edit '
' . '
'; // .manage-capabilities echo $output; } // function groups_admin_capabilities_edit /** * Handle edit form submission. */ function groups_admin_capabilities_edit_submit() { $result = false; if ( !current_user_can( GROUPS_ADMINISTER_GROUPS ) ) { wp_die( __( 'Access denied.', 'groups' ) ); } if ( !wp_verify_nonce( $_POST[GROUPS_ADMIN_GROUPS_NONCE], 'capabilities-edit' ) ) { wp_die( __( 'Access denied.', 'groups' ) ); } $capability_id = isset( $_POST['capability-id-field'] ) ? $_POST['capability-id-field'] : null; $capability = Groups_Capability::read( $capability_id ); if ( $capability ) { $capability_id = $capability->capability_id; if ( $capability->capability !== Groups_Post_Access::READ_POST_CAPABILITY ) { $capability_field = isset( $_POST['capability-field'] ) ? $_POST['capability-field'] : null; } else { $capability_field = Groups_Post_Access::READ_POST_CAPABILITY; } if ( !empty( $capability_field ) ) { $update = true; if ( $other_capability = Groups_Capability::read_by_capability( $capability_field ) ) { if ( $other_capability->capability_id != $capability_id ) { Groups_Admin::add_message( sprintf( __( 'The %s capability already exists and cannot be assigned to this one.', 'groups' ), stripslashes( wp_filter_nohtml_kses( $other_capability->capability ) ) ), 'error' ); $update = false; } } if ( $update ) { $description = isset( $_POST['description-field'] ) ? $_POST['description-field'] : ''; $capability_id = Groups_Capability::update( array( 'capability_id' => $capability_id, 'capability' => $capability_field, 'description' => $description ) ); if ( $capability_id ) { $result = $capability_id; } else { Groups_Admin::add_message( sprintf( __( 'The %s capability could not be updated.', 'groups' ), stripslashes( wp_filter_nohtml_kses( $capability ) ) ), 'error' ); } } } else { Groups_Admin::add_message( __( 'The Capability must not be empty.', 'groups' ), 'error' ); } } return $result; } // function groups_admin_capabilities_edit_submit