Nessuna descrizione

wp-capabilities.php 2.8KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394
  1. <?php if ( ! defined( 'ABSPATH' ) ) exit; ?>
  2. <div class="um-admin-metabox">
  3. <script type="text/javascript">
  4. jQuery(document).ready( function() {
  5. jQuery('#um_wp_capabilities_select_all').click( function() {
  6. if ( jQuery(this).is(':checked') ) {
  7. jQuery('.um-role-wp-capabilities').find('input[type="checkbox"]').prop( 'checked', true );
  8. } else {
  9. jQuery('.um-role-wp-capabilities').find('input[type="checkbox"]').prop( 'checked', false );
  10. }
  11. um_change_check_all_label( jQuery(this) );
  12. });
  13. jQuery('.um-role-wp-capabilities input[type="checkbox"]').click( function() {
  14. um_check_all_trigger();
  15. });
  16. um_check_all_trigger();
  17. });
  18. function um_check_all_trigger() {
  19. var checkbox = jQuery('#um_wp_capabilities_select_all');
  20. if ( jQuery('.um-role-wp-capabilities input[type="checkbox"]:checked').length == jQuery('.um-role-wp-capabilities input[type="checkbox"]').length ) {
  21. checkbox.prop( 'checked', true );
  22. } else {
  23. checkbox.prop( 'checked', false );
  24. }
  25. um_change_check_all_label( checkbox );
  26. }
  27. function um_change_check_all_label( $checkbox ) {
  28. if ( $checkbox.is(':checked') ) {
  29. jQuery('#um_wp_capabilities_select_all_label').html( '<?php _e( 'Uncheck All', 'ultimate-member' ) ?>' );
  30. } else {
  31. jQuery('#um_wp_capabilities_select_all_label').html( '<?php _e( 'Check All', 'ultimate-member' ) ?>' );
  32. }
  33. }
  34. </script>
  35. <span style="padding: 10px 0 0 10px; float:left;">
  36. <label style="float:left;">
  37. <input type="checkbox" id="um_wp_capabilities_select_all" />
  38. <span id="um_wp_capabilities_select_all_label"><?php _e( 'Check All', 'ultimate-member' ) ?></span>
  39. </label>
  40. </span>
  41. <?php
  42. $role = $object['data'];
  43. $role_capabilities = ! empty( $role['wp_capabilities'] ) ? array_keys( $role['wp_capabilities'] ) : array( 'read' );
  44. if ( ! empty( $_GET['id'] ) ) {
  45. $role = get_role( sanitize_key( $_GET['id'] ) );
  46. }
  47. $all_caps = array();
  48. foreach ( get_editable_roles() as $role_info ) {
  49. if ( ! empty( $role_info['capabilities'] ) ) {
  50. $all_caps = array_merge( $all_caps, $role_info['capabilities'] );
  51. }
  52. }
  53. //gravity forms compatibility filter
  54. $all_caps = apply_filters( 'members_get_capabilities', array_keys( $all_caps ) );
  55. $fields = array();
  56. foreach ( $all_caps as $cap ) {
  57. if ( is_numeric( $cap ) ) {
  58. continue;
  59. }
  60. $fields[ $cap ] = $cap;
  61. }
  62. UM()->admin_forms( array(
  63. 'class' => 'um-role-wp-capabilities',
  64. 'prefix_id' => 'role',
  65. 'fields' => array(
  66. array(
  67. 'id' => 'wp_capabilities',
  68. 'type' => 'multi_checkbox',
  69. 'options' => $fields,
  70. 'value' => ! empty( $role_capabilities ) ? $role_capabilities : array(),
  71. 'columns' => 3,
  72. 'without_label' => true,
  73. )
  74. )
  75. ) )->render_form(); ?>
  76. </div>