- intermediate results with sanitizing form handlers;

This commit is contained in:
Nikita Sinelnikov
2021-06-29 02:51:54 +03:00
parent 23d1b982a4
commit 07e664be80
63 changed files with 4337 additions and 2812 deletions
+3 -3
View File
@@ -28,7 +28,7 @@ if ( ! class_exists( 'um\admin\Admin_Functions' ) ) {
* @param bool $action
*/
function check_ajax_nonce( $action = false ) {
$nonce = isset( $_REQUEST['nonce'] ) ? $_REQUEST['nonce'] : '';
$nonce = isset( $_REQUEST['nonce'] ) ? sanitize_text_field( $_REQUEST['nonce'] ) : '';
$action = empty( $action ) ? 'um-admin-nonce' : $action;
if ( ! wp_verify_nonce( $nonce, $action ) ) {
@@ -81,7 +81,7 @@ if ( ! class_exists( 'um\admin\Admin_Functions' ) ) {
if ( in_array( $post_type, $cpt ) ) {
return true;
}
} elseif ( isset( $_REQUEST['action'] ) && $_REQUEST['action'] == 'edit' ) {
} elseif ( isset( $_REQUEST['action'] ) && sanitize_key( $_REQUEST['action'] ) == 'edit' ) {
$post_type = get_post_type();
if ( in_array( $post_type, $cpt ) ) {
return true;
@@ -113,4 +113,4 @@ if ( ! class_exists( 'um\admin\Admin_Functions' ) ) {
return false;
}
}
}
}
File diff suppressed because it is too large Load Diff
+16 -4
View File
@@ -781,7 +781,19 @@ if ( ! class_exists( 'um\admin\core\Admin_Builder' ) ) {
*/
extract( $_POST );
switch ( $act_id ) {
if ( isset( $arg1 ) ) {
$arg1 = sanitize_text_field( $arg1 );
}
if ( isset( $arg2 ) ) {
$arg2 = sanitize_text_field( $arg2 );
}
if ( isset( $arg3 ) ) {
$arg3 = sanitize_text_field( $arg3 );
}
switch ( sanitize_key( $act_id ) ) {
default:
@@ -806,7 +818,7 @@ if ( ! class_exists( 'um\admin\core\Admin_Builder' ) ) {
* }
* ?>
*/
do_action( 'um_admin_ajax_modal_content__hook', $act_id );
do_action( 'um_admin_ajax_modal_content__hook', sanitize_key( $act_id ) );
/**
* UM hook
*
@@ -824,7 +836,7 @@ if ( ! class_exists( 'um\admin\core\Admin_Builder' ) ) {
* }
* ?>
*/
do_action( "um_admin_ajax_modal_content__hook_{$act_id}" );
do_action( "um_admin_ajax_modal_content__hook_" . sanitize_key( $act_id ) );
$output = ob_get_clean();
break;
@@ -1208,4 +1220,4 @@ if ( ! class_exists( 'um\admin\core\Admin_Builder' ) ) {
}
}
}
}
+25 -20
View File
@@ -26,7 +26,7 @@ if ( ! class_exists( 'um\admin\core\Admin_DragDrop' ) ) {
/**
* Update order of fields
*/
function update_order() {
public function update_order() {
UM()->admin()->check_ajax_nonce();
if ( ! is_user_logged_in() || ! current_user_can( 'manage_options' ) ) {
@@ -38,14 +38,18 @@ if ( ! class_exists( 'um\admin\core\Admin_DragDrop' ) ) {
*/
extract( $_POST );
if ( isset( $form_id ) ) {
$form_id = absint( $form_id );
}
$fields = UM()->query()->get_attr( 'custom_fields', $form_id );
$this->row_data = get_option( 'um_form_rowdata_' . $form_id, array() );
$this->row_data = get_option( 'um_form_rowdata_' . $form_id, array() );
$this->exist_rows = array();
if ( ! empty( $fields ) ) {
foreach ( $fields as $key => $array ) {
if ( $array['type'] == 'row' ) {
if ( 'row' === $array['type'] ) {
$this->row_data[ $key ] = $array;
unset( $fields[ $key ] );
}
@@ -56,6 +60,8 @@ if ( ! class_exists( 'um\admin\core\Admin_DragDrop' ) ) {
foreach ( $_POST as $key => $value ) {
$key = sanitize_key( $key );
// adding rows
if ( 0 === strpos( $key, '_um_row_' ) ) {
@@ -64,18 +70,18 @@ if ( ! class_exists( 'um\admin\core\Admin_DragDrop' ) ) {
$row_id = str_replace( '_um_row_', '', $key );
$row_array = array(
'type' => 'row',
'id' => $value,
'sub_rows' => $_POST[ '_um_rowsub_' . $row_id . '_rows' ],
'cols' => $_POST[ '_um_rowcols_' . $row_id . '_cols' ],
'origin' => $_POST[ '_um_roworigin_' . $row_id . '_val' ],
'type' => 'row',
'id' => sanitize_key( $value ),
'sub_rows' => absint( $_POST[ '_um_rowsub_' . $row_id . '_rows' ] ),
'cols' => absint( $_POST[ '_um_rowcols_' . $row_id . '_cols' ] ),
'origin' => sanitize_key( $_POST[ '_um_roworigin_' . $row_id . '_val' ] ),
);
$row_args = $row_array;
if ( isset( $this->row_data[ $row_array['origin'] ] ) ) {
foreach ( $this->row_data[ $row_array['origin'] ] as $k => $v ) {
if ( $k != 'position' && $k != 'metakey' ) {
if ( 'position' !== $k && 'metakey' !== $k ) {
$update_args[ $k ] = $v;
}
}
@@ -93,7 +99,7 @@ if ( ! class_exists( 'um\admin\core\Admin_DragDrop' ) ) {
if ( 0 === strpos( $key, 'um_position_' ) ) {
$field_key = str_replace( 'um_position_', '', $key );
if ( isset( $fields[ $field_key ] ) ) {
$fields[ $field_key ]['position'] = $value;
$fields[ $field_key ]['position'] = absint( $value );
}
}
@@ -101,7 +107,7 @@ if ( ! class_exists( 'um\admin\core\Admin_DragDrop' ) ) {
if ( 0 === strpos( $key, 'um_row_' ) ) {
$field_key = str_replace( 'um_row_', '', $key );
if ( isset( $fields[ $field_key ] ) ) {
$fields[ $field_key ]['in_row'] = $value;
$fields[ $field_key ]['in_row'] = sanitize_key( $value );
}
}
@@ -109,7 +115,7 @@ if ( ! class_exists( 'um\admin\core\Admin_DragDrop' ) ) {
if ( 0 === strpos( $key, 'um_subrow_' ) ) {
$field_key = str_replace( 'um_subrow_', '', $key );
if ( isset( $fields[ $field_key ] ) ) {
$fields[ $field_key ]['in_sub_row'] = $value;
$fields[ $field_key ]['in_sub_row'] = sanitize_key( $value );
}
}
@@ -117,7 +123,7 @@ if ( ! class_exists( 'um\admin\core\Admin_DragDrop' ) ) {
if ( 0 === strpos( $key, 'um_col_' ) ) {
$field_key = str_replace( 'um_col_', '', $key );
if ( isset( $fields[ $field_key ] ) ) {
$fields[ $field_key ]['in_column'] = $value;
$fields[ $field_key ]['in_column'] = absint( $value );
}
}
@@ -125,21 +131,20 @@ if ( ! class_exists( 'um\admin\core\Admin_DragDrop' ) ) {
if ( 0 === strpos( $key, 'um_group_' ) ) {
$field_key = str_replace( 'um_group_', '', $key );
if ( isset( $fields[ $field_key ] ) ) {
$fields[ $field_key ]['in_group'] = $value;
$fields[ $field_key ]['in_group'] = absint( $value );
}
}
}
foreach ( $this->row_data as $k => $v ) {
if ( ! in_array( $k, $this->exist_rows ) ) {
if ( ! in_array( $k, $this->exist_rows, true ) ) {
unset( $this->row_data[ $k ] );
}
}
update_option( 'um_existing_rows_' . $form_id, $this->exist_rows );
update_option( 'um_form_rowdata_' . $form_id , $this->row_data );
update_option( 'um_form_rowdata_' . $form_id, $this->row_data );
UM()->query()->update_attr( 'custom_fields', $form_id, $fields );
@@ -149,11 +154,11 @@ if ( ! class_exists( 'um\admin\core\Admin_DragDrop' ) ) {
/**
* Load form to maintain form order
*/
function load_field_order() {
public function load_field_order() {
$screen = get_current_screen();
if ( ! isset( $screen->id ) || $screen->id != 'um_form' ) {
if ( ! isset( $screen->id ) || 'um_form' !== $screen->id ) {
return;
} ?>
@@ -235,4 +240,4 @@ if ( ! class_exists( 'um\admin\core\Admin_DragDrop' ) ) {
}
}
}
}
+6 -6
View File
@@ -96,10 +96,10 @@ if ( ! class_exists( 'um\admin\core\Admin_Enqueue' ) ) {
*
*/
function enqueue_cpt_scripts() {
if ( ( isset( $_GET['post_type'] ) && 'um_form' == sanitize_key( $_GET['post_type'] ) ) ||
( isset( $_GET['post'] ) && 'um_form' == get_post_type( absint( $_GET['post'] ) ) ) ) {
if ( ( isset( $_GET['post_type'] ) && 'um_form' === sanitize_key( $_GET['post_type'] ) ) ||
( isset( $_GET['post'] ) && 'um_form' === get_post_type( absint( $_GET['post'] ) ) ) ) {
$this->um_cpt_form_screen = true;
add_action( 'admin_footer', array( $this, 'admin_footer_scripts' ), 20 );
add_action( 'admin_footer', array( $this, 'admin_footer_scripts' ), 20 );
}
$this->post_page = true;
@@ -296,9 +296,9 @@ if ( ! class_exists( 'um\admin\core\Admin_Enqueue' ) ) {
//and WP calculate page height
$hide_footer = false;
global $pagenow, $post;
if ( ( 'post.php' == $pagenow || 'post-new.php' == $pagenow ) &&
( ( isset( $_GET['post_type'] ) && 'um_form' == sanitize_key( $_GET['post_type'] ) ) ||
( isset( $post->post_type ) && 'um_form' == $post->post_type ) ) ) {
if ( ( 'post.php' === $pagenow || 'post-new.php' === $pagenow ) &&
( ( isset( $_GET['post_type'] ) && 'um_form' === sanitize_key( $_GET['post_type'] ) ) ||
( isset( $post->post_type ) && 'um_form' === $post->post_type ) ) ) {
$hide_footer = true;
}
+2 -2
View File
@@ -191,7 +191,7 @@ if ( ! class_exists( 'um\admin\core\Admin_Menu' ) ) {
function um_roles_pages() {
if ( empty( $_GET['tab'] ) ) {
include_once um_path . 'includes/admin/core/list-tables/roles-list-table.php';
} elseif ( sanitize_key( $_GET['tab'] ) == 'add' || sanitize_key( $_GET['tab'] ) == 'edit' ) {
} elseif ( 'add' === sanitize_key( $_GET['tab'] ) || 'edit' === sanitize_key( $_GET['tab'] ) ) {
include_once um_path . 'includes/admin/templates/role/role-edit.php';
} else {
um_js_redirect( add_query_arg( array( 'page' => 'um_roles' ), get_admin_url( 'admin.php' ) ) );
@@ -340,4 +340,4 @@ if ( ! class_exists( 'um\admin\core\Admin_Menu' ) ) {
}
}
}
}
+21 -10
View File
@@ -195,7 +195,7 @@ if ( ! class_exists( 'um\admin\core\Admin_Metabox' ) ) {
* @param $post_id
* @param $post
*/
function save_metabox_custom( $post_id, $post ) {
public function save_metabox_custom( $post_id, $post ) {
// validate nonce
if ( ! isset( $_POST['um_admin_save_metabox_custom_nonce'] ) ||
! wp_verify_nonce( $_POST['um_admin_save_metabox_custom_nonce'], basename( __FILE__ ) ) ) {
@@ -313,7 +313,9 @@ if ( ! class_exists( 'um\admin\core\Admin_Metabox' ) ) {
}
if ( ! empty( $_POST['um_content_restriction'] ) && is_array( $_POST['um_content_restriction'] ) ) {
update_post_meta( $post_id, 'um_content_restriction', $_POST['um_content_restriction'] );
$restriction_meta = UM()->admin()->sanitize_post_restriction_meta( $_POST['um_content_restriction'] );
update_post_meta( $post_id, 'um_content_restriction', $restriction_meta );
} else {
delete_post_meta( $post_id, 'um_content_restriction' );
}
@@ -340,7 +342,9 @@ if ( ! class_exists( 'um\admin\core\Admin_Metabox' ) ) {
}
if ( ! empty( $_POST['um_content_restriction'] ) && is_array( $_POST['um_content_restriction'] ) ) {
update_post_meta( $post_id, 'um_content_restriction', $_POST['um_content_restriction'] );
$restriction_meta = UM()->admin()->sanitize_post_restriction_meta( $_POST['um_content_restriction'] );
update_post_meta( $post_id, 'um_content_restriction', $restriction_meta );
} else {
delete_post_meta( $post_id, 'um_content_restriction' );
}
@@ -666,7 +670,9 @@ if ( ! class_exists( 'um\admin\core\Admin_Metabox' ) ) {
}
if ( ! empty( $_REQUEST['um_content_restriction'] ) && is_array( $_REQUEST['um_content_restriction'] ) ) {
update_term_meta( $termID, 'um_content_restriction', $_REQUEST['um_content_restriction'] );
$restriction_meta = UM()->admin()->sanitize_term_restriction_meta( $_REQUEST['um_content_restriction'] );
update_term_meta( $termID, 'um_content_restriction', $restriction_meta );
} else {
delete_term_meta( $termID, 'um_content_restriction' );
}
@@ -851,7 +857,7 @@ if ( ! class_exists( 'um\admin\core\Admin_Metabox' ) ) {
)
);
if ( ! isset( $_GET['id'] ) || 'administrator' != sanitize_key( $_GET['id'] ) ) {
if ( ! isset( $_GET['id'] ) || 'administrator' !== sanitize_key( $_GET['id'] ) ) {
$roles_metaboxes[] = array(
'id' => 'um-admin-form-home',
'title' => __( 'Homepage Options', 'ultimate-member' ),
@@ -1094,13 +1100,14 @@ if ( ! class_exists( 'um\admin\core\Admin_Metabox' ) ) {
delete_post_meta( $post_id, '_um_search_filters_gmt' );
//save metadata
foreach ( $_POST['um_metadata'] as $k => $v ) {
$metadata = UM()->admin()->sanitize_member_directory_meta( $_POST['um_metadata'] );
foreach ( $metadata as $k => $v ) {
if ( $k == '_um_show_these_users' && trim( $_POST['um_metadata'][ $k ] ) ) {
if ( $k == '_um_show_these_users' && trim( $v ) ) {
$v = preg_split( '/[\r\n]+/', $v, -1, PREG_SPLIT_NO_EMPTY );
}
if ( $k == '_um_exclude_these_users' && trim( $_POST['um_metadata'][ $k ] ) ) {
if ( $k == '_um_exclude_these_users' && trim( $v ) ) {
$v = preg_split( '/[\r\n]+/', $v, -1, PREG_SPLIT_NO_EMPTY );
}
@@ -1172,7 +1179,11 @@ if ( ! class_exists( 'um\admin\core\Admin_Metabox' ) ) {
// save
delete_post_meta( $post_id, '_um_profile_metafields' );
foreach ( $_POST['form'] as $k => $v ) {
$form_meta = UM()->admin()->sanitize_form_meta( $_POST['form'] );
foreach ( $form_meta as $k => $v ) {
if ( strstr( $k, '_um_' ) ) {
if ( $k === '_um_is_default' ) {
$mode = UM()->query()->get_attr( 'mode', $post_id );
@@ -2411,4 +2422,4 @@ if ( ! class_exists( 'um\admin\core\Admin_Metabox' ) ) {
}
}
}
}
+4 -4
View File
@@ -146,9 +146,9 @@ if ( ! class_exists( 'um\admin\core\Admin_Navmenu' ) ) {
/**
* @param $menu_id
* @param $menu_item_db_id
* @param $menu_item_args
* @param int $menu_id
* @param int $menu_item_db_id
* @param array $menu_item_args
*/
function _save( $menu_id, $menu_item_db_id, $menu_item_args ) {
if ( defined( 'DOING_AJAX' ) && DOING_AJAX ) {
@@ -167,7 +167,7 @@ if ( ! class_exists( 'um\admin\core\Admin_Navmenu' ) ) {
if ( ! empty( $_POST[ $key ][ $menu_item_db_id ] ) ) {
// Do some checks here...
$value = is_array( $_POST[ $key ][ $menu_item_db_id ] ) ?
array_keys( $_POST[ $key ][ $menu_item_db_id ] ) : $_POST[ $key ][ $menu_item_db_id ];
array_map( 'sanitize_key', array_keys( $_POST[ $key ][ $menu_item_db_id ] ) ) : (int) $_POST[ $key ][ $menu_item_db_id ];
} else {
$value = null;
}
+3 -3
View File
@@ -580,8 +580,8 @@ if ( ! class_exists( 'um\admin\core\Admin_Notices' ) ) {
'message' => $message,
), 4 );
} else {
if ( isset( $_GET['msg'] ) && 'updated' == sanitize_key( $_GET['msg'] ) ) {
if ( isset( $_GET['page'] ) && 'um_options' == sanitize_key( $_GET['page'] ) ) {
if ( isset( $_GET['msg'] ) && 'updated' === sanitize_key( $_GET['msg'] ) ) {
if ( isset( $_GET['page'] ) && 'um_options' === sanitize_key( $_GET['page'] ) ) {
$this->add_notice( 'settings_upgrade', array(
'class' => 'updated',
'message' => '<p>' . __( 'Settings successfully upgraded', 'ultimate-member' ) . '</p>',
@@ -697,4 +697,4 @@ if ( ! class_exists( 'um\admin\core\Admin_Notices' ) ) {
wp_send_json_success();
}
}
}
}
File diff suppressed because it is too large Load Diff
+24 -25
View File
@@ -306,13 +306,13 @@ if ( ! class_exists( 'um\admin\core\Admin_Users' ) ) {
* @param $query
* @return mixed
*/
function sort_by_newest( $query ) {
public function sort_by_newest( $query ) {
global $pagenow;
if ( is_admin() && $pagenow == 'users.php' ) {
if ( is_admin() && 'users.php' === $pagenow ) {
if ( ! isset( $_REQUEST['orderby'] ) ) {
$query->query_vars["order"] = 'desc';
$query->query_orderby = " ORDER BY user_registered " . ( $query->query_vars["order"] == 'desc' ? 'desc ' : 'asc ' ); //set sort order
$query->query_vars['order'] = 'desc';
$query->query_orderby = ' ORDER BY user_registered ' . ( 'desc' === $query->query_vars['order'] ? 'desc ' : 'asc ' ); //set sort order
}
}
@@ -326,13 +326,13 @@ if ( ! class_exists( 'um\admin\core\Admin_Users' ) ) {
* @param $query
* @return mixed
*/
function filter_users_by_status( $query ) {
public function filter_users_by_status( $query ) {
global $wpdb, $pagenow;
if ( is_admin() && $pagenow == 'users.php' && ! empty( $_REQUEST['um_status'] ) ) {
if ( is_admin() && 'users.php' === $pagenow && ! empty( $_REQUEST['um_status'] ) ) {
$status = sanitize_key( $_REQUEST['um_status'] );
if ( $status == 'needs-verification' ) {
if ( 'needs-verification' === $status ) {
$query->query_where = str_replace('WHERE 1=1',
"WHERE 1=1 AND {$wpdb->users}.ID IN (
SELECT {$wpdb->usermeta}.user_id FROM $wpdb->usermeta
@@ -349,7 +349,6 @@ if ( ! class_exists( 'um\admin\core\Admin_Users' ) ) {
$query->query_where
);
}
}
return $query;
@@ -360,9 +359,9 @@ if ( ! class_exists( 'um\admin\core\Admin_Users' ) ) {
* Add status links to WP Users List Table
*
* @param $views
* @return array|mixed|void
* @return array
*/
function add_status_links( $views ) {
public function add_status_links( $views ) {
remove_filter( 'pre_user_query', array( &$this, 'filter_users_by_status' ) );
$old_views = $views;
@@ -375,17 +374,17 @@ if ( ! class_exists( 'um\admin\core\Admin_Users' ) ) {
}
$status = array(
'approved' => __( 'Approved', 'ultimate-member' ),
'awaiting_admin_review' => __( 'Pending review', 'ultimate-member' ),
'awaiting_email_confirmation' => __( 'Waiting e-mail confirmation', 'ultimate-member' ),
'inactive' => __( 'Inactive', 'ultimate-member' ),
'rejected' => __( 'Rejected', 'ultimate-member' )
'approved' => __( 'Approved', 'ultimate-member' ),
'awaiting_admin_review' => __( 'Pending review', 'ultimate-member' ),
'awaiting_email_confirmation' => __( 'Waiting e-mail confirmation', 'ultimate-member' ),
'inactive' => __( 'Inactive', 'ultimate-member' ),
'rejected' => __( 'Rejected', 'ultimate-member' ),
);
UM()->query()->count_users_by_status( 'unassigned' );
foreach ( $status as $k => $v ) {
if ( isset( $_REQUEST['um_status'] ) && sanitize_key( $_REQUEST['um_status'] ) == $k ) {
if ( isset( $_REQUEST['um_status'] ) && sanitize_key( $_REQUEST['um_status'] ) === $k ) {
$current = 'class="current"';
} else {
$current = '';
@@ -429,11 +428,11 @@ if ( ! class_exists( 'um\admin\core\Admin_Users' ) ) {
// hide filters with not accessible roles
if ( ! current_user_can( 'administrator' ) ) {
$wp_roles = wp_roles();
$wp_roles = wp_roles();
$can_view_roles = um_user( 'can_view_roles' );
if ( ! empty( $can_view_roles ) ) {
foreach ( $wp_roles->get_names() as $this_role => $name ) {
if ( ! in_array( $this_role, $can_view_roles ) ) {
if ( ! in_array( $this_role, $can_view_roles, true ) ) {
unset( $views[ $this_role ] );
}
}
@@ -447,20 +446,20 @@ if ( ! class_exists( 'um\admin\core\Admin_Users' ) ) {
/**
* Bulk user editing actions
*/
function um_bulk_users_edit() {
public function um_bulk_users_edit() {
// bulk edit users
if ( ! empty( $_REQUEST['users'] ) && ! empty( $_REQUEST['um_bulkedit'] ) && ! empty( $_REQUEST['um_bulk_action'] ) ) {
$rolename = UM()->roles()->get_priority_user_role( get_current_user_id() );
$role = get_role( $rolename );
$role = get_role( $rolename );
if ( ! current_user_can( 'edit_users' ) && ! $role->has_cap( 'edit_users' ) ) {
wp_die( __( 'You do not have enough permissions to do that.', 'ultimate-member' ) );
if ( ! current_user_can( 'edit_users' ) && ! $role->has_cap( 'edit_users' ) ) {
wp_die( esc_html__( 'You do not have enough permissions to do that.', 'ultimate-member' ) );
}
check_admin_referer( 'bulk-users' );
$users = array_map( 'absint', (array) $_REQUEST['users'] );
$users = array_map( 'absint', (array) $_REQUEST['users'] );
$bulk_action = current( array_filter( $_REQUEST['um_bulk_action'] ) );
foreach ( $users as $user_id ) {
@@ -552,4 +551,4 @@ if ( ! class_exists( 'um\admin\core\Admin_Users' ) ) {
}
}
}
}
@@ -1,11 +1,13 @@
<?php if ( ! defined( 'ABSPATH' ) ) exit;
<?php if ( ! defined( 'ABSPATH' ) ) {
exit;
}
global $wpdb;
if ( isset( $_REQUEST['_wp_http_referer'] ) ) {
$redirect = remove_query_arg( array( '_wp_http_referer' ), wp_unslash( $_REQUEST['_wp_http_referer'] ) );
} else {
$redirect = get_admin_url(). 'admin.php?page=um_roles';
$redirect = get_admin_url() . 'admin.php?page=um_roles';
}
global $wp_roles;
@@ -16,9 +18,9 @@ if ( isset( $_GET['action'] ) ) {
case 'delete': {
$role_keys = array();
if ( isset( $_REQUEST['id'] ) ) {
check_admin_referer( 'um_role_delete' . sanitize_key( $_REQUEST['id'] ) . get_current_user_id() );
check_admin_referer( 'um_role_delete' . sanitize_key( $_REQUEST['id'] ) . get_current_user_id() );
$role_keys = (array) sanitize_key( $_REQUEST['id'] );
} elseif( isset( $_REQUEST['item'] ) ) {
} elseif ( isset( $_REQUEST['item'] ) ) {
check_admin_referer( 'bulk-' . sanitize_key( __( 'Roles', 'ultimate-member' ) ) );
$role_keys = array_map( 'sanitize_key', $_REQUEST['item'] );
}
@@ -40,7 +42,7 @@ if ( isset( $_GET['action'] ) ) {
delete_option( "um_role_{$role_key}_meta" );
$um_roles = array_diff( $um_roles, array( $role_key ) );
$roleID = 'um_' . $role_key;
$roleID = 'um_' . $role_key;
$um_custom_roles[] = $roleID;
//check if role exist before removing it
@@ -51,11 +53,11 @@ if ( isset( $_GET['action'] ) ) {
//set for users with deleted roles role "Subscriber"
$args = array(
'blog_id' => get_current_blog_id(),
'role__in' => $um_custom_roles,
'number' => -1,
'count_total' => false,
'fields' => 'ids',
'blog_id' => get_current_blog_id(),
'role__in' => $um_custom_roles,
'number' => -1,
'count_total' => false,
'fields' => 'ids',
);
$users_to_subscriber = get_users( $args );
if ( ! empty( $users_to_subscriber ) ) {
@@ -70,7 +72,12 @@ if ( isset( $_GET['action'] ) ) {
//update user role if it's empty
if ( empty( $object_user->roles ) ) {
wp_update_user( array( 'ID' => $user_id, 'role' => 'subscriber' ) );
wp_update_user(
array(
'ID' => $user_id,
'role' => 'subscriber',
)
);
}
}
}
@@ -85,7 +92,7 @@ if ( isset( $_GET['action'] ) ) {
if ( isset( $_REQUEST['id'] ) ) {
check_admin_referer( 'um_role_reset' . sanitize_key( $_REQUEST['id'] ) . get_current_user_id() );
$role_keys = (array) sanitize_key( $_REQUEST['id'] );
} elseif( isset( $_REQUEST['item'] ) ) {
} elseif ( isset( $_REQUEST['item'] ) ) {
check_admin_referer( 'bulk-' . sanitize_key( __( 'Roles', 'ultimate-member' ) ) );
$role_keys = array_map( 'sanitize_key', $_REQUEST['item'] );
}
@@ -98,7 +105,7 @@ if ( isset( $_GET['action'] ) ) {
$role_meta = get_option( "um_role_{$role_key}_meta" );
if ( ! empty( $role_meta['_um_is_custom'] ) ) {
unset( $role_keys[ array_search( $role_key, $role_keys ) ] );
unset( $role_keys[ array_search( $role_key, $role_keys, true ) ] );
continue;
}
@@ -113,14 +120,14 @@ if ( isset( $_GET['action'] ) ) {
//remove extra query arg
if ( ! empty( $_GET['_wp_http_referer'] ) ) {
um_js_redirect( remove_query_arg( array( '_wp_http_referer', '_wpnonce'), wp_unslash( $_SERVER['REQUEST_URI'] ) ) );
um_js_redirect( remove_query_arg( array( '_wp_http_referer', '_wpnonce' ), wp_unslash( $_SERVER['REQUEST_URI'] ) ) );
}
$order_by = 'name';
$order = ( isset( $_GET['order'] ) && 'asc' == strtolower( sanitize_key( $_GET['order'] ) ) ) ? 'ASC' : 'DESC';
$order = ( isset( $_GET['order'] ) && 'asc' === strtolower( sanitize_key( $_GET['order'] ) ) ) ? 'ASC' : 'DESC';
if ( ! class_exists( 'WP_List_Table' ) ) {
require_once( ABSPATH . 'wp-admin/includes/class-wp-list-table.php' );
require_once ABSPATH . 'wp-admin/includes/class-wp-list-table.php';
}
@@ -171,11 +178,11 @@ class UM_Roles_List_Table extends WP_List_Table {
*
* @param array $args
*/
function __construct( $args = array() ){
function __construct( $args = array() ) {
$args = wp_parse_args( $args, array(
'singular' => __( 'item', 'ultimate-member' ),
'plural' => __( 'items', 'ultimate-member' ),
'ajax' => false
'singular' => __( 'item', 'ultimate-member' ),
'plural' => __( 'items', 'ultimate-member' ),
'ajax' => false,
) );
$this->no_items_message = $args['plural'] . ' ' . __( 'not found.', 'ultimate-member' );
@@ -199,9 +206,9 @@ class UM_Roles_List_Table extends WP_List_Table {
*
*/
function prepare_items() {
$columns = $this->get_columns();
$hidden = array();
$sortable = $this->get_sortable_columns();
$columns = $this->get_columns();
$hidden = array();
$sortable = $this->get_sortable_columns();
$this->_column_headers = array( $columns, $hidden, $sortable );
}
@@ -236,11 +243,11 @@ class UM_Roles_List_Table extends WP_List_Table {
*/
function set_sortable_columns( $args = array() ) {
$return_args = array();
foreach( $args as $k=>$val ) {
if( is_numeric( $k ) ) {
$return_args[ $val ] = array( $val, $val == $this->default_sorting_field );
} else if( is_string( $k ) ) {
$return_args[ $k ] = array( $val, $k == $this->default_sorting_field );
foreach ( $args as $k => $val ) {
if ( is_numeric( $k ) ) {
$return_args[ $val ] = array( $val, $val === $this->default_sorting_field );
} elseif ( is_string( $k ) ) {
$return_args[ $k ] = array( $val, $k === $this->default_sorting_field );
} else {
continue;
}
@@ -336,21 +343,21 @@ class UM_Roles_List_Table extends WP_List_Table {
function column_title( $item ) {
$actions = array();
$actions['edit'] = '<a href="admin.php?page=um_roles&tab=edit&id=' . $item['key'] . '">' . __( 'Edit', 'ultimate-member' ). '</a>';
$actions['edit'] = '<a href="admin.php?page=um_roles&tab=edit&id=' . esc_attr( $item['key'] ) . '">' . __( 'Edit', 'ultimate-member' ) . '</a>';
if ( ! empty( $item['_um_is_custom'] ) ) {
$actions['delete'] = '<a href="admin.php?page=um_roles&action=delete&id=' . $item['key'] . '&_wpnonce=' . wp_create_nonce( 'um_role_delete' . $item['key'] . get_current_user_id() ) . '" onclick="return confirm( \'' . __( 'Are you sure you want to delete this role?', 'ultimate-member' ) . '\' );">' . __( 'Delete', 'ultimate-member' ). '</a>';
$actions['delete'] = '<a href="admin.php?page=um_roles&action=delete&id=' . esc_attr( $item['key'] ) . '&_wpnonce=' . wp_create_nonce( 'um_role_delete' . $item['key'] . get_current_user_id() ) . '" onclick="return confirm( \'' . __( 'Are you sure you want to delete this role?', 'ultimate-member' ) . '\' );">' . __( 'Delete', 'ultimate-member' ) . '</a>';
} else {
$role_meta = get_option( "um_role_{$item['key']}_meta" );
if ( ! empty( $role_meta ) ) {
$actions['reset'] = '<a href="admin.php?page=um_roles&action=reset&id=' . $item['key'] . '&_wpnonce=' . wp_create_nonce( 'um_role_reset' . $item['key'] . get_current_user_id() ) . '" onclick="return confirm( \'' . __( 'Are you sure you want to reset UM role meta?', 'ultimate-member' ) . '\' );">' . __( 'Reset UM Role meta', 'ultimate-member' ). '</a>';
$actions['reset'] = '<a href="admin.php?page=um_roles&action=reset&id=' . esc_attr( $item['key'] ) . '&_wpnonce=' . wp_create_nonce( 'um_role_reset' . $item['key'] . get_current_user_id() ) . '" onclick="return confirm( \'' . __( 'Are you sure you want to reset UM role meta?', 'ultimate-member' ) . '\' );">' . __( 'Reset UM Role meta', 'ultimate-member' ) . '</a>';
}
}
return sprintf('%1$s %2$s', '<strong><a class="row-title" href="admin.php?page=um_roles&tab=edit&id=' . $item['key'] . '">' . stripslashes( $item['name'] ) . '</a></strong>', $this->row_actions( $actions ) );
return sprintf('%1$s %2$s', '<strong><a class="row-title" href="admin.php?page=um_roles&tab=edit&id=' . esc_attr( $item['key'] ) . '">' . stripslashes( $item['name'] ) . '</a></strong>', $this->row_actions( $actions ) );
}
@@ -487,7 +494,7 @@ $ListTable->um_set_pagination_args( array( 'total_items' => count( $roles ), 'pe
</h2>
<?php if ( ! empty( $_GET['msg'] ) ) {
switch( sanitize_key( $_GET['msg'] ) ) {
switch ( sanitize_key( $_GET['msg'] ) ) {
case 'd':
echo '<div id="message" class="updated fade"><p>' . __( 'User Role <strong>Deleted</strong> Successfully.', 'ultimate-member' ) . '</p></div>';
break;
@@ -498,4 +505,4 @@ $ListTable->um_set_pagination_args( array( 'total_items' => count( $roles ), 'pe
<input type="hidden" name="page" value="um_roles" />
<?php $ListTable->display(); ?>
</form>
</div>
</div>
@@ -32,7 +32,7 @@ function um_upgrade_get_users_per_role20beta1() {
'meta_query' => array(
array(
'key' => 'role',
'value' => $_POST['key_in_meta']
'value' => sanitize_key( $_POST['key_in_meta'] ),
)
),
'number' => '',
@@ -62,10 +62,10 @@ function um_upgrade_update_users_per_page20beta1() {
'meta_query' => array(
array(
'key' => 'role',
'value' => $_POST['key_in_meta']
'value' => sanitize_key( $_POST['key_in_meta'] ),
)
),
'paged' => $_POST['page'],
'paged' => absint( $_POST['page'] ),
'number' => $users_per_page,
);
$all_users = get_users( $args );
@@ -74,17 +74,17 @@ function um_upgrade_update_users_per_page20beta1() {
foreach ( $all_users as $k => $user ) {
$user_object = get_userdata( $user->ID );
if ( ! in_array( $_POST['role_key'], $all_wp_roles ) ) {
$user_object->add_role( 'um_' . $_POST['role_key'] );
if ( ! in_array( sanitize_key( $_POST['role_key'] ), $all_wp_roles ) ) {
$user_object->add_role( 'um_' . sanitize_key( $_POST['role_key'] ) );
} else {
if ( ! in_array( $_POST['role_key'], (array) $user_object->roles ) ) {
$user_object->add_role( $_POST['role_key'] );
if ( ! in_array( sanitize_key( $_POST['role_key'] ), (array) $user_object->roles ) ) {
$user_object->add_role( sanitize_key( $_POST['role_key'] ) );
}
}
}
$from = ( $_POST['page'] * $users_per_page ) - $users_per_page + 1;
$to = $_POST['page'] * $users_per_page;
$from = ( absint( $_POST['page'] ) * $users_per_page ) - $users_per_page + 1;
$to = absint( $_POST['page'] ) * $users_per_page;
wp_send_json_success( array( 'message' => sprintf( __( 'Users from %s to %s was upgraded successfully...', 'ultimate-member' ), $from, $to ) ) );
} else {
@@ -184,7 +184,7 @@ function um_upgrade_update_forum_per_page20beta1() {
$p_query = new WP_Query;
$bb_forums = $p_query->query( array(
'post_type' => 'forum',
'paged' => $_POST['page'],
'paged' => absint( $_POST['page'] ),
'posts_per_page' => $posts_per_page,
'fields' => 'ids'
) );
@@ -212,8 +212,8 @@ function um_upgrade_update_forum_per_page20beta1() {
}
}
$from = ( $_POST['page'] * $posts_per_page ) - $posts_per_page + 1;
$to = $_POST['page'] * $posts_per_page;
$from = ( absint( $_POST['page'] ) * $posts_per_page ) - $posts_per_page + 1;
$to = absint( $_POST['page'] ) * $posts_per_page;
wp_send_json_success( array( 'message' => sprintf( __( 'Forums from %s to %s was upgraded successfully...', 'ultimate-member' ), $from, $to ) ) );
} else {
@@ -250,7 +250,7 @@ function um_upgrade_update_products_per_page20beta1() {
$p_query = new WP_Query;
$wc_products = $p_query->query( array(
'post_type' => 'product',
'paged' => $_POST['page'],
'paged' => absint( $_POST['page'] ),
'posts_per_page' => $posts_per_page,
'fields' => 'ids'
) );
@@ -299,8 +299,8 @@ function um_upgrade_update_products_per_page20beta1() {
}
}
$from = ( $_POST['page'] * $posts_per_page ) - $posts_per_page + 1;
$to = $_POST['page'] * $posts_per_page;
$from = ( absint( $_POST['page'] ) * $posts_per_page ) - $posts_per_page + 1;
$to = absint( $_POST['page'] ) * $posts_per_page;
wp_send_json_success( array( 'message' => sprintf( __( 'Woocommerce Products from %s to %s was upgraded successfully...', 'ultimate-member' ), $from, $to ) ) );
} else {
@@ -321,4 +321,4 @@ function um_upgrade_email_templates20beta1() {
delete_option( 'um_roles_associations' );
wp_send_json_success( array( 'message' => __( 'Email Templates was upgraded successfully', 'ultimate-member' ) ) );
}
}
@@ -36,7 +36,7 @@ function um_upgrade_metadata_per_user213beta3() {
ORDER BY u.ID
LIMIT %d, %d
) as dt",
( $_POST['page'] - 1 ) * $per_page,
( absint( $_POST['page'] ) - 1 ) * $per_page,
$per_page
), ARRAY_A );
@@ -112,8 +112,8 @@ function um_upgrade_metadata_per_user213beta3() {
}
}
$from = ( $_POST['page'] * $per_page ) - $per_page + 1;
$to = $_POST['page'] * $per_page;
$from = ( absint( $_POST['page'] ) * $per_page ) - $per_page + 1;
$to = absint( $_POST['page'] ) * $per_page;
wp_send_json_success( array( 'message' => sprintf( __( 'Metadata from %s to %s users were upgraded successfully...', 'ultimate-member' ), $from, $to ) ) );
}
@@ -144,4 +144,4 @@ KEY meta_value_indx (um_value(191))
update_option( 'um_last_version_upgrade', '2.1.3-beta3' );
wp_send_json_success( array( 'message' => __( 'Usermeta table was upgraded successfully', 'ultimate-member' ) ) );
}
}
@@ -1,18 +1,23 @@
<?php if ( ! defined( 'ABSPATH' ) ) exit; ?>
<?php if ( ! defined( 'ABSPATH' ) ) {
exit;
} ?>
<div class="um-admin-metabox">
<?php UM()->admin_forms( array(
'class' => 'um-member-directory-appearance um-top-label',
'prefix_id' => 'um_metadata',
'fields' => array(
array(
'id' => '_um_directory_template',
'type' => 'select',
'label' => __( 'Template', 'ultimate-member' ),
'value' => UM()->query()->get_meta_value( '_um_directory_template', null, UM()->options()->get( 'directory_template' ) ),
'options' => UM()->shortcodes()->get_templates( 'members' ),
)
<?php
UM()->admin_forms(
array(
'class' => 'um-member-directory-appearance um-top-label',
'prefix_id' => 'um_metadata',
'fields' => array(
array(
'id' => '_um_directory_template',
'type' => 'select',
'label' => __( 'Template', 'ultimate-member' ),
'value' => UM()->query()->get_meta_value( '_um_directory_template', null, UM()->options()->get( 'directory_template' ) ),
'options' => UM()->shortcodes()->get_templates( 'members' ),
),
),
)
) )->render_form(); ?>
</div>
)->render_form();
?>
</div>
+105 -97
View File
@@ -1,4 +1,6 @@
<?php if ( ! defined( 'ABSPATH' ) ) exit;
<?php if ( ! defined( 'ABSPATH' ) ) {
exit;
}
global $post_id;
@@ -7,117 +9,123 @@ $_um_roles_value = empty( $_um_roles_value ) ? array() : $_um_roles_value;
$show_these_users = get_post_meta( get_the_ID(), '_um_show_these_users', true );
if ( $show_these_users ) {
$show_these_users = implode( "\n", str_replace( "\r", "", $show_these_users ) );
$show_these_users = implode( "\n", str_replace( "\r", '', $show_these_users ) );
}
$exclude_these_users = get_post_meta( get_the_ID(), '_um_exclude_these_users', true );
if ( $exclude_these_users ) {
$exclude_these_users = implode( "\n", str_replace( "\r", "", $exclude_these_users ) );
$exclude_these_users = implode( "\n", str_replace( "\r", '', $exclude_these_users ) );
}
$_um_view_types_value = get_post_meta( $post_id, '_um_view_types', true );
$_um_view_types_value = empty( $_um_view_types_value ) ? array( 'grid', 'list' ) : $_um_view_types_value;
$view_types_options = array_map( function( $item ) {
return $item['title'];
}, UM()->member_directory()->view_types );
$view_types_options = array_map(
function( $item ) {
return $item['title'];
},
UM()->member_directory()->view_types
);
$conditional = array();
foreach ( $view_types_options as $key => $value ) {
$conditional[] = '_um_view_types_' . $key;
} ?>
}
$fields = array(
array(
'id' => '_um_mode',
'type' => 'hidden',
'value' => 'directory',
),
array(
'id' => '_um_view_types',
'type' => 'multi_checkbox',
'label' => __( 'View type(s)', 'ultimate-member' ),
'tooltip' => __( 'View type a specific parameter in the directory', 'ultimate-member' ),
'options' => $view_types_options,
'columns' => 3,
'value' => $_um_view_types_value,
'data' => array( 'fill__um_default_view' => 'checkbox_key' ),
),
array(
'id' => '_um_default_view',
'type' => 'select',
'label' => __( 'Default view type', 'ultimate-member' ),
'tooltip' => __( 'Default directory view type', 'ultimate-member' ),
'options' => $view_types_options,
'value' => UM()->query()->get_meta_value( '_um_default_view', null, 'grid' ),
'conditional' => array( implode( '|', $conditional ), '~', 1 ),
),
array(
'id' => '_um_roles',
'type' => 'multi_checkbox',
'label' => __( 'User Roles to Display', 'ultimate-member' ),
'tooltip' => __( 'If you do not want to show all members, select only user roles to appear in this directory', 'ultimate-member' ),
'options' => UM()->roles()->get_roles(),
'columns' => 3,
'value' => $_um_roles_value,
),
array(
'id' => '_um_has_profile_photo',
'type' => 'checkbox',
'label' => __( 'Only show members who have uploaded a profile photo', 'ultimate-member' ),
'tooltip' => __( 'If \'Use Gravatars\' as profile photo is enabled, this option is ignored', 'ultimate-member' ),
'value' => UM()->query()->get_meta_value( '_um_has_profile_photo' ),
),
array(
'id' => '_um_has_cover_photo',
'type' => 'checkbox',
'label' => __( 'Only show members who have uploaded a cover photo', 'ultimate-member' ),
'value' => UM()->query()->get_meta_value( '_um_has_cover_photo' ),
),
array(
'id' => '_um_show_these_users',
'type' => 'textarea',
'label' => __( 'Only show specific users (Enter one username per line)', 'ultimate-member' ),
'value' => $show_these_users,
),
array(
'id' => '_um_exclude_these_users',
'type' => 'textarea',
'label' => __( 'Exclude specific users (Enter one username per line)', 'ultimate-member' ),
'value' => $exclude_these_users,
),
);
/**
* UM hook
*
* @type filter
* @title um_admin_extend_directory_options_general
* @description Extend Directory options fields
* @input_vars
* [{"var":"$fields","type":"array","desc":"Directory options fields"}]
* @change_log
* ["Since: 2.0"]
* @usage add_filter( 'um_admin_directory_sort_users_select', 'function_name', 10, 1 );
* @example
* <?php
* add_filter( 'um_admin_directory_sort_users_select', 'my_directory_sort_users_select', 10, 1 );
* function my_directory_sort_users_select( $sort_types ) {
* // your code here
* return $sort_types;
* }
* ?>
*/
$fields = apply_filters( 'um_admin_extend_directory_options_general', $fields ); ?>
<div class="um-admin-metabox">
<?php $fields = array(
<?php
UM()->admin_forms(
array(
'id' => '_um_mode',
'type' => 'hidden',
'value' => 'directory',
),
array(
'id' => '_um_view_types',
'type' => 'multi_checkbox',
'label' => __( 'View type(s)', 'ultimate-member' ),
'tooltip' => __( 'View type a specific parameter in the directory', 'ultimate-member' ),
'options' => $view_types_options,
'columns' => 3,
'value' => $_um_view_types_value,
'data' => array( 'fill__um_default_view' => 'checkbox_key' ),
),
array(
'id' => '_um_default_view',
'type' => 'select',
'label' => __( 'Default view type', 'ultimate-member' ),
'tooltip' => __( 'Default directory view type', 'ultimate-member' ),
'options' => $view_types_options,
'value' => UM()->query()->get_meta_value( '_um_default_view', null, 'grid' ),
'conditional' => array( implode( '|', $conditional ), '~', 1 )
),
array(
'id' => '_um_roles',
'type' => 'multi_checkbox',
'label' => __( 'User Roles to Display', 'ultimate-member' ),
'tooltip' => __( 'If you do not want to show all members, select only user roles to appear in this directory', 'ultimate-member' ),
'options' => UM()->roles()->get_roles(),
'columns' => 3,
'value' => $_um_roles_value,
),
array(
'id' => '_um_has_profile_photo',
'type' => 'checkbox',
'label' => __( 'Only show members who have uploaded a profile photo', 'ultimate-member' ),
'tooltip' => __( 'If \'Use Gravatars\' as profile photo is enabled, this option is ignored', 'ultimate-member' ),
'value' => UM()->query()->get_meta_value( '_um_has_profile_photo' ),
),
array(
'id' => '_um_has_cover_photo',
'type' => 'checkbox',
'label' => __( 'Only show members who have uploaded a cover photo', 'ultimate-member' ),
'value' => UM()->query()->get_meta_value( '_um_has_cover_photo' ),
),
array(
'id' => '_um_show_these_users',
'type' => 'textarea',
'label' => __( 'Only show specific users (Enter one username per line)', 'ultimate-member' ),
'value' => $show_these_users,
),
array(
'id' => '_um_exclude_these_users',
'type' => 'textarea',
'label' => __( 'Exclude specific users (Enter one username per line)', 'ultimate-member' ),
'value' => $exclude_these_users,
),
);
/**
* UM hook
*
* @type filter
* @title um_admin_extend_directory_options_general
* @description Extend Directory options fields
* @input_vars
* [{"var":"$fields","type":"array","desc":"Directory options fields"}]
* @change_log
* ["Since: 2.0"]
* @usage add_filter( 'um_admin_directory_sort_users_select', 'function_name', 10, 1 );
* @example
* <?php
* add_filter( 'um_admin_directory_sort_users_select', 'my_directory_sort_users_select', 10, 1 );
* function my_directory_sort_users_select( $sort_types ) {
* // your code here
* return $sort_types;
* }
* ?>
*/
$fields = apply_filters( 'um_admin_extend_directory_options_general', $fields );
UM()->admin_forms( array(
'class' => 'um-member-directory-general um-half-column',
'prefix_id' => 'um_metadata',
'fields' => $fields
) )->render_form(); ?>
'class' => 'um-member-directory-general um-half-column',
'prefix_id' => 'um_metadata',
'fields' => $fields,
)
)->render_form();
?>
<div class="um-admin-clear"></div>
</div>
</div>
@@ -1,68 +1,72 @@
<?php if ( ! defined( 'ABSPATH' ) ) exit; ?>
<?php if ( ! defined( 'ABSPATH' ) ) {
exit;
} ?>
<div class="um-admin-metabox">
<?php UM()->admin_forms( array(
'class' => 'um-member-directory-pagination um-half-column',
'prefix_id' => 'um_metadata',
'fields' => array(
array(
'id' => '_um_must_search',
'type' => 'checkbox',
'label' => __( 'Show results only after search/filtration', 'ultimate-member' ),
'tooltip' => __( 'If turned on, member results will only appear after search/filter is performed', 'ultimate-member' ),
'value' => UM()->query()->get_meta_value( '_um_must_search' ),
'conditional' => array( '_um_search||_um_filters', '=', 1 ),
),
array(
'id' => '_um_max_users',
'type' => 'number',
'label' => __( 'Maximum number of profiles', 'ultimate-member' ),
'tooltip' => __( 'Use this setting to control the maximum number of profiles to appear in this directory. Leave blank to disable this limit', 'ultimate-member' ),
'value' => UM()->query()->get_meta_value( '_um_max_users', null, 'na' ),
'size' => 'small'
),
array(
'id' => '_um_profiles_per_page',
'type' => 'number',
'label' => __( 'Number of profiles per page', 'ultimate-member' ),
'tooltip' => __( 'Number of profiles to appear on page for standard users', 'ultimate-member' ),
'value' => UM()->query()->get_meta_value( '_um_profiles_per_page', null, 12 ),
'size' => 'small'
),
array(
'id' => '_um_profiles_per_page_mobile',
'type' => 'number',
'label' => __( 'Number of profiles per page (for Mobiles & Tablets)', 'ultimate-member' ),
'tooltip' => __( 'Number of profiles to appear on page for mobile users', 'ultimate-member' ),
'value' => UM()->query()->get_meta_value( '_um_profiles_per_page_mobile', null, 8 ),
'size' => 'small'
),
array(
'id' => '_um_directory_header',
'type' => 'text',
'label' => __( 'Results Text', 'ultimate-member' ),
'tooltip' => __( 'Customize the search result text . e.g. Found 3,000 Members. Leave this blank to not show result text', 'ultimate-member' ),
'description' => __( 'You could use {total_users} placeholder for getting users count', 'ultimate-member' ),
'value' => UM()->query()->get_meta_value('_um_directory_header', null, 'na' ),
),
array(
'id' => '_um_directory_header_single',
'type' => 'text',
'label' => __( 'Single Result Text', 'ultimate-member' ),
'tooltip' => __( 'Same as above but in case of 1 user found only', 'ultimate-member' ),
'description' => __( 'You could use {total_users} placeholder for getting users count', 'ultimate-member' ),
'value' => UM()->query()->get_meta_value('_um_directory_header_single', null, 'na' ),
),
array(
'id' => '_um_directory_no_users',
'type' => 'text',
'label' => __( 'Custom text if no users were found', 'ultimate-member' ),
'tooltip' => __( 'This is the text that is displayed if no users are found during a search', 'ultimate-member' ),
'value' => UM()->query()->get_meta_value('_um_directory_no_users', null, 'na' ),
<?php
UM()->admin_forms(
array(
'class' => 'um-member-directory-pagination um-half-column',
'prefix_id' => 'um_metadata',
'fields' => array(
array(
'id' => '_um_must_search',
'type' => 'checkbox',
'label' => __( 'Show results only after search/filtration', 'ultimate-member' ),
'tooltip' => __( 'If turned on, member results will only appear after search/filter is performed', 'ultimate-member' ),
'value' => UM()->query()->get_meta_value( '_um_must_search' ),
'conditional' => array( '_um_search||_um_filters', '=', 1 ),
),
array(
'id' => '_um_max_users',
'type' => 'number',
'label' => __( 'Maximum number of profiles', 'ultimate-member' ),
'tooltip' => __( 'Use this setting to control the maximum number of profiles to appear in this directory. Leave blank to disable this limit', 'ultimate-member' ),
'value' => UM()->query()->get_meta_value( '_um_max_users', null, 'na' ),
'size' => 'small',
),
array(
'id' => '_um_profiles_per_page',
'type' => 'number',
'label' => __( 'Number of profiles per page', 'ultimate-member' ),
'tooltip' => __( 'Number of profiles to appear on page for standard users', 'ultimate-member' ),
'value' => UM()->query()->get_meta_value( '_um_profiles_per_page', null, 12 ),
'size' => 'small',
),
array(
'id' => '_um_profiles_per_page_mobile',
'type' => 'number',
'label' => __( 'Number of profiles per page (for Mobiles & Tablets)', 'ultimate-member' ),
'tooltip' => __( 'Number of profiles to appear on page for mobile users', 'ultimate-member' ),
'value' => UM()->query()->get_meta_value( '_um_profiles_per_page_mobile', null, 8 ),
'size' => 'small',
),
array(
'id' => '_um_directory_header',
'type' => 'text',
'label' => __( 'Results Text', 'ultimate-member' ),
'tooltip' => __( 'Customize the search result text . e.g. Found 3,000 Members. Leave this blank to not show result text', 'ultimate-member' ),
'description' => __( 'You could use {total_users} placeholder for getting users count', 'ultimate-member' ),
'value' => UM()->query()->get_meta_value( '_um_directory_header', null, 'na' ),
),
array(
'id' => '_um_directory_header_single',
'type' => 'text',
'label' => __( 'Single Result Text', 'ultimate-member' ),
'tooltip' => __( 'Same as above but in case of 1 user found only', 'ultimate-member' ),
'description' => __( 'You could use {total_users} placeholder for getting users count', 'ultimate-member' ),
'value' => UM()->query()->get_meta_value( '_um_directory_header_single', null, 'na' ),
),
array(
'id' => '_um_directory_no_users',
'type' => 'text',
'label' => __( 'Custom text if no users were found', 'ultimate-member' ),
'tooltip' => __( 'This is the text that is displayed if no users are found during a search', 'ultimate-member' ),
'value' => UM()->query()->get_meta_value( '_um_directory_no_users', null, 'na' ),
),
),
)
) )->render_form(); ?>
)->render_form();
?>
<div class="um-admin-clear"></div>
</div>
</div>
+115 -112
View File
@@ -1,117 +1,120 @@
<?php if ( ! defined( 'ABSPATH' ) ) exit; ?>
<?php if ( ! defined( 'ABSPATH' ) ) {
exit;
}
$user_fields = array();
foreach ( UM()->builtin()->all_user_fields() as $key => $arr ) {
$user_fields[ $key ] = isset( $arr['title'] ) ? $arr['title'] : '';
}
$post_id = get_the_ID();
$_um_tagline_fields = get_post_meta( $post_id, '_um_tagline_fields', true );
$_um_reveal_fields = get_post_meta( $post_id, '_um_reveal_fields', true );
$fields = array(
array(
'id' => '_um_profile_photo',
'type' => 'checkbox',
'label' => __( 'Enable Profile Photo', 'ultimate-member' ),
'value' => UM()->query()->get_meta_value( '_um_profile_photo', null, 1 ),
),
array(
'id' => '_um_cover_photos',
'type' => 'checkbox',
'label' => __( 'Enable Cover Photo', 'ultimate-member' ),
'tooltip' => __( 'If turned on, the users cover photo will appear in the directory', 'ultimate-member' ),
'value' => UM()->query()->get_meta_value( '_um_cover_photos', null, 1 ),
),
array(
'id' => '_um_show_name',
'type' => 'checkbox',
'label' => __( 'Show display name', 'ultimate-member' ),
'value' => UM()->query()->get_meta_value( '_um_show_name', null, 1 ),
),
array(
'id' => '_um_show_tagline',
'type' => 'checkbox',
'label' => __( 'Show tagline below profile name', 'ultimate-member' ),
'value' => UM()->query()->get_meta_value( '_um_show_tagline' ),
),
array(
'id' => '_um_tagline_fields',
'type' => 'multi_selects',
'label' => __( 'Choose field(s) to display in tagline', 'ultimate-member' ),
'value' => $_um_tagline_fields,
'conditional' => array( '_um_show_tagline', '=', 1 ),
'add_text' => __( 'Add New Custom Field', 'ultimate-member' ),
'options' => $user_fields,
'show_default_number' => 1,
'sorting' => true,
),
array(
'id' => '_um_show_userinfo',
'type' => 'checkbox',
'label' => __( 'Show extra user information below tagline?', 'ultimate-member' ),
'value' => UM()->query()->get_meta_value( '_um_show_userinfo' ),
),
array(
'id' => '_um_reveal_fields',
'type' => 'multi_selects',
'label' => __( 'Choose field(s) to display in extra user information section', 'ultimate-member' ),
'value' => $_um_reveal_fields,
'add_text' => __( 'Add New Custom Field', 'ultimate-member' ),
'conditional' => array( '_um_show_userinfo', '=', 1 ),
'options' => $user_fields,
'show_default_number' => 1,
'sorting' => true,
),
array(
'id' => '_um_show_social',
'type' => 'checkbox',
'label' => __( 'Show social connect icons in extra user information section', 'ultimate-member' ),
'value' => UM()->query()->get_meta_value( '_um_show_social' ),
'conditional' => array( '_um_show_userinfo', '=', 1 ),
),
array(
'id' => '_um_userinfo_animate',
'type' => 'checkbox',
'label' => __( 'Hide extra user information to the reveal section', 'ultimate-member' ),
'tooltip' => __( 'If not checked always shown', 'ultimate-member' ),
'value' => UM()->query()->get_meta_value( '_um_userinfo_animate' ),
'conditional' => array( '_um_show_userinfo', '=', 1 ),
),
);
/**
* UM hook
*
* @type filter
* @title um_admin_extend_directory_options_general
* @description Extend Directory options fields
* @input_vars
* [{"var":"$fields","type":"array","desc":"Directory options fields"}]
* @change_log
* ["Since: 2.0"]
* @usage add_filter( 'um_admin_directory_sort_users_select', 'function_name', 10, 1 );
* @example
* <?php
* add_filter( 'um_admin_directory_sort_users_select', 'my_directory_sort_users_select', 10, 1 );
* function my_directory_sort_users_select( $sort_types ) {
* // your code here
* return $sort_types;
* }
* ?>
*/
$fields = apply_filters( 'um_admin_extend_directory_options_profile', $fields ); ?>
<div class="um-admin-metabox">
<?php $user_fields = array();
foreach ( UM()->builtin()->all_user_fields() as $key => $arr ) {
$user_fields[ $key ] = isset( $arr['title'] ) ? $arr['title'] : '';
}
$post_id = get_the_ID();
$_um_tagline_fields = get_post_meta( $post_id, '_um_tagline_fields', true );
$_um_reveal_fields = get_post_meta( $post_id, '_um_reveal_fields', true );
$fields = array(
<?php
UM()->admin_forms(
array(
'id' => '_um_profile_photo',
'type' => 'checkbox',
'label' => __( 'Enable Profile Photo', 'ultimate-member' ),
'value' => UM()->query()->get_meta_value( '_um_profile_photo', null, 1 ),
),
array(
'id' => '_um_cover_photos',
'type' => 'checkbox',
'label' => __( 'Enable Cover Photo', 'ultimate-member' ),
'tooltip' => __( 'If turned on, the users cover photo will appear in the directory', 'ultimate-member' ),
'value' => UM()->query()->get_meta_value( '_um_cover_photos', null, 1 ),
),
array(
'id' => '_um_show_name',
'type' => 'checkbox',
'label' => __( 'Show display name', 'ultimate-member' ),
'value' => UM()->query()->get_meta_value( '_um_show_name', null, 1 ),
),
array(
'id' => '_um_show_tagline',
'type' => 'checkbox',
'label' => __( 'Show tagline below profile name', 'ultimate-member' ),
'value' => UM()->query()->get_meta_value( '_um_show_tagline' ),
),
array(
'id' => '_um_tagline_fields',
'type' => 'multi_selects',
'label' => __( 'Choose field(s) to display in tagline', 'ultimate-member' ),
'value' => $_um_tagline_fields,
'conditional' => array( '_um_show_tagline', '=', 1 ),
'add_text' => __( 'Add New Custom Field', 'ultimate-member' ),
'options' => $user_fields,
'show_default_number' => 1,
'sorting' => true,
),
array(
'id' => '_um_show_userinfo',
'type' => 'checkbox',
'label' => __( 'Show extra user information below tagline?', 'ultimate-member' ),
'value' => UM()->query()->get_meta_value( '_um_show_userinfo' ),
),
array(
'id' => '_um_reveal_fields',
'type' => 'multi_selects',
'label' => __( 'Choose field(s) to display in extra user information section', 'ultimate-member' ),
'value' => $_um_reveal_fields,
'add_text' => __( 'Add New Custom Field', 'ultimate-member' ),
'conditional' => array( '_um_show_userinfo', '=', 1 ),
'options' => $user_fields,
'show_default_number' => 1,
'sorting' => true,
),
array(
'id' => '_um_show_social',
'type' => 'checkbox',
'label' => __( 'Show social connect icons in extra user information section', 'ultimate-member' ),
'value' => UM()->query()->get_meta_value( '_um_show_social' ),
'conditional' => array( '_um_show_userinfo', '=', 1 )
),
array(
'id' => '_um_userinfo_animate',
'type' => 'checkbox',
'label' => __( 'Hide extra user information to the reveal section', 'ultimate-member' ),
'tooltip' => __( 'If not checked always shown', 'ultimate-member' ),
'value' => UM()->query()->get_meta_value( '_um_userinfo_animate' ),
'conditional' => array( '_um_show_userinfo', '=', 1 )
),
);
/**
* UM hook
*
* @type filter
* @title um_admin_extend_directory_options_general
* @description Extend Directory options fields
* @input_vars
* [{"var":"$fields","type":"array","desc":"Directory options fields"}]
* @change_log
* ["Since: 2.0"]
* @usage add_filter( 'um_admin_directory_sort_users_select', 'function_name', 10, 1 );
* @example
* <?php
* add_filter( 'um_admin_directory_sort_users_select', 'my_directory_sort_users_select', 10, 1 );
* function my_directory_sort_users_select( $sort_types ) {
* // your code here
* return $sort_types;
* }
* ?>
*/
$fields = apply_filters( 'um_admin_extend_directory_options_profile', $fields );
UM()->admin_forms( array(
'class' => 'um-member-directory-profile um-half-column',
'prefix_id' => 'um_metadata',
'fields' => $fields,
) )->render_form(); ?>
'class' => 'um-member-directory-profile um-half-column',
'prefix_id' => 'um_metadata',
'fields' => $fields,
)
)->render_form();
?>
<div class="um-admin-clear"></div>
</div>
</div>
+92 -89
View File
@@ -1,97 +1,100 @@
<?php if ( ! defined( 'ABSPATH' ) ) exit;
<?php if ( ! defined( 'ABSPATH' ) ) {
exit;
}
global $post_id; ?>
global $post_id;
$_um_roles_search_value = get_post_meta( $post_id, '_um_roles_can_search', true );
$_um_roles_search_value = empty( $_um_roles_search_value ) ? array() : $_um_roles_search_value;
$_um_roles_filter_value = get_post_meta( $post_id, '_um_roles_can_filter', true );
$_um_roles_filter_value = empty( $_um_roles_filter_value ) ? array() : $_um_roles_filter_value;
$_um_search_fields = get_post_meta( $post_id, '_um_search_fields', true );
$_um_search_filters = get_post_meta( $post_id, '_um_search_filters', true ); ?>
<div class="um-admin-metabox">
<?php
$_um_roles_search_value = get_post_meta( $post_id, '_um_roles_can_search', true );
$_um_roles_search_value = empty( $_um_roles_search_value ) ? array() : $_um_roles_search_value;
$_um_roles_filter_value = get_post_meta( $post_id, '_um_roles_can_filter', true );
$_um_roles_filter_value = empty( $_um_roles_filter_value ) ? array() : $_um_roles_filter_value;
$_um_search_fields = get_post_meta( $post_id, '_um_search_fields', true );
$_um_search_filters = get_post_meta( $post_id, '_um_search_filters', true );
UM()->admin_forms( array(
'class' => 'um-member-directory-search um-half-column',
'prefix_id' => 'um_metadata',
'fields' => array(
array(
'id' => '_um_search',
'type' => 'checkbox',
'label' => __( 'Enable Search feature', 'ultimate-member' ),
'tooltip' => __( 'If turned on, users will be able to search members in this directory', 'ultimate-member' ),
'value' => UM()->query()->get_meta_value( '_um_search' ),
),
array(
'id' => '_um_roles_can_search',
'type' => 'multi_checkbox',
'label' => __( 'User Roles that can use search', 'ultimate-member' ),
'tooltip' => __( 'If you want to allow specific user roles to be able to search only', 'ultimate-member' ),
'value' => $_um_roles_search_value,
'options' => UM()->roles()->get_roles(),
'columns' => 3,
'conditional' => array( '_um_search', '=', 1 )
),
array(
'id' => '_um_filters',
'type' => 'checkbox',
'label' => __( 'Enable Filters feature', 'ultimate-member' ),
'tooltip' => __( 'If turned on, users will be able to filter members in this directory', 'ultimate-member' ),
'value' => UM()->query()->get_meta_value( '_um_filters' ),
),
array(
'id' => '_um_roles_can_filter',
'type' => 'multi_checkbox',
'label' => __( 'User Roles that can use filters', 'ultimate-member' ),
'tooltip' => __( 'If you want to allow specific user roles to be able to filter only', 'ultimate-member' ),
'value' => $_um_roles_filter_value,
'options' => UM()->roles()->get_roles(),
'columns' => 3,
'conditional' => array( '_um_filters', '=', 1 )
),
array(
'id' => '_um_search_fields',
'type' => 'multi_selects',
'label' => __( 'Choose filter(s) meta to enable', 'ultimate-member' ),
'value' => $_um_search_fields,
'conditional' => array( '_um_filters', '=', 1 ),
'options' => UM()->member_directory()->filter_fields,
'add_text' => __( 'Add New Custom Field', 'ultimate-member' ),
'show_default_number' => 1,
'sorting' => true,
),
array(
'id' => '_um_filters_expanded',
'type' => 'checkbox',
'label' => __( 'Expand the filter bar by default', 'ultimate-member' ),
'tooltip' => __( 'If turned on, filters bar will be visible after a page loading', 'ultimate-member' ),
'value' => UM()->query()->get_meta_value( '_um_filters_expanded' ),
'conditional' => array( '_um_filters', '=', 1 )
),
array(
'id' => '_um_filters_is_collapsible',
'type' => 'checkbox',
'label' => __( 'Can filter bar be collapsed', 'ultimate-member' ),
'tooltip' => __( 'If turned on, filters bar can be collapsed after a page loading', 'ultimate-member' ),
'value' => UM()->query()->get_meta_value( '_um_filters_is_collapsible' ),
'conditional' => array( '_um_filters_expanded', '=', 1 )
),
array(
'id' => '_um_search_filters',
'type' => 'md_default_filters',
'label' => __( 'Admin filtering', 'ultimate-member' ),
'tooltip' => __( 'Limit which users appear in the member directory e.g only display users from USA', 'ultimate-member' ),
'value' => $_um_search_filters,
'options' => UM()->member_directory()->filter_fields,
'add_text' => __( 'Add New Filter', 'ultimate-member' ),
'show_default_number' => 0,
UM()->admin_forms(
array(
'class' => 'um-member-directory-search um-half-column',
'prefix_id' => 'um_metadata',
'fields' => array(
array(
'id' => '_um_search',
'type' => 'checkbox',
'label' => __( 'Enable Search feature', 'ultimate-member' ),
'tooltip' => __( 'If turned on, users will be able to search members in this directory', 'ultimate-member' ),
'value' => UM()->query()->get_meta_value( '_um_search' ),
),
array(
'id' => '_um_roles_can_search',
'type' => 'multi_checkbox',
'label' => __( 'User Roles that can use search', 'ultimate-member' ),
'tooltip' => __( 'If you want to allow specific user roles to be able to search only', 'ultimate-member' ),
'value' => $_um_roles_search_value,
'options' => UM()->roles()->get_roles(),
'columns' => 3,
'conditional' => array( '_um_search', '=', 1 ),
),
array(
'id' => '_um_filters',
'type' => 'checkbox',
'label' => __( 'Enable Filters feature', 'ultimate-member' ),
'tooltip' => __( 'If turned on, users will be able to filter members in this directory', 'ultimate-member' ),
'value' => UM()->query()->get_meta_value( '_um_filters' ),
),
array(
'id' => '_um_roles_can_filter',
'type' => 'multi_checkbox',
'label' => __( 'User Roles that can use filters', 'ultimate-member' ),
'tooltip' => __( 'If you want to allow specific user roles to be able to filter only', 'ultimate-member' ),
'value' => $_um_roles_filter_value,
'options' => UM()->roles()->get_roles(),
'columns' => 3,
'conditional' => array( '_um_filters', '=', 1 ),
),
array(
'id' => '_um_search_fields',
'type' => 'multi_selects',
'label' => __( 'Choose filter(s) meta to enable', 'ultimate-member' ),
'value' => $_um_search_fields,
'conditional' => array( '_um_filters', '=', 1 ),
'options' => UM()->member_directory()->filter_fields,
'add_text' => __( 'Add New Custom Field', 'ultimate-member' ),
'show_default_number' => 1,
'sorting' => true,
),
array(
'id' => '_um_filters_expanded',
'type' => 'checkbox',
'label' => __( 'Expand the filter bar by default', 'ultimate-member' ),
'tooltip' => __( 'If turned on, filters bar will be visible after a page loading', 'ultimate-member' ),
'value' => UM()->query()->get_meta_value( '_um_filters_expanded' ),
'conditional' => array( '_um_filters', '=', 1 ),
),
array(
'id' => '_um_filters_is_collapsible',
'type' => 'checkbox',
'label' => __( 'Can filter bar be collapsed', 'ultimate-member' ),
'tooltip' => __( 'If turned on, filters bar can be collapsed after a page loading', 'ultimate-member' ),
'value' => UM()->query()->get_meta_value( '_um_filters_is_collapsible' ),
'conditional' => array( '_um_filters_expanded', '=', 1 ),
),
array(
'id' => '_um_search_filters',
'type' => 'md_default_filters',
'label' => __( 'Admin filtering', 'ultimate-member' ),
'tooltip' => __( 'Limit which users appear in the member directory e.g only display users from USA', 'ultimate-member' ),
'value' => $_um_search_filters,
'options' => UM()->member_directory()->filter_fields,
'add_text' => __( 'Add New Filter', 'ultimate-member' ),
'show_default_number' => 0,
),
),
)
) )->render_form(); ?>
)->render_form();
?>
<div class="um-admin-clear"></div>
</div>
</div>
@@ -1,4 +1,6 @@
<?php if ( ! defined( 'ABSPATH' ) ) exit; ?>
<?php if ( ! defined( 'ABSPATH' ) ) {
exit;
} ?>
<div class="um-admin-metabox">
@@ -24,4 +26,4 @@
<p><?php echo UM()->shortcodes()->get_shortcode( get_the_ID() ); ?></p>
<!-- <p>--><?php //echo UM()->shortcodes()->get_default_shortcode( get_the_ID() ); ?><!--</p>-->
</div>
</div>
+56 -53
View File
@@ -1,62 +1,65 @@
<?php if ( ! defined( 'ABSPATH' ) ) exit;
<?php if ( ! defined( 'ABSPATH' ) ) {
exit;
}
global $post_id;
$_um_sorting_fields = get_post_meta( $post_id, '_um_sorting_fields', true );
$_um_sorting_fields = empty( $_um_sorting_fields ) ? array() : $_um_sorting_fields; ?>
$_um_sorting_fields = empty( $_um_sorting_fields ) ? array() : $_um_sorting_fields;
$fields = array(
array(
'id' => '_um_sortby',
'type' => 'select',
'label' => __( 'Default sort users by', 'ultimate-member' ),
'tooltip' => __( 'Default sorting users by a specific parameter in the directory', 'ultimate-member' ),
'options' => UM()->member_directory()->default_sorting,
'value' => UM()->query()->get_meta_value( '_um_sortby' ),
),
array(
'id' => '_um_sortby_custom',
'type' => 'text',
'label' => __( 'Meta key', 'ultimate-member' ),
'tooltip' => __( 'To sort by a custom field, enter the meta key of field here', 'ultimate-member' ),
'value' => UM()->query()->get_meta_value( '_um_sortby_custom', null, 'na' ),
'conditional' => array( '_um_sortby', '=', 'other' ),
),
array(
'id' => '_um_sortby_custom_label',
'type' => 'text',
'label' => __( 'Label of custom sort', 'ultimate-member' ),
'tooltip' => __( 'To sort by a custom field, enter the label of sorting here', 'ultimate-member' ),
'value' => UM()->query()->get_meta_value( '_um_sortby_custom_label', null, 'na' ),
'conditional' => array( '_um_sortby', '=', 'other' ),
),
array(
'id' => '_um_enable_sorting',
'type' => 'checkbox',
'label' => __( 'Enable custom sorting', 'ultimate-member' ),
'tooltip' => __( 'Whether to provide an ability to change the sorting on the directory page', 'ultimate-member' ),
'value' => UM()->query()->get_meta_value( '_um_enable_sorting' ),
),
array(
'id' => '_um_sorting_fields',
'type' => 'md_sorting_fields',
'label' => __( 'Choose field(s) to enable in sorting', 'ultimate-member' ),
'value' => $_um_sorting_fields,
'options' => array_merge( UM()->member_directory()->sort_fields, array( 'other' => __( 'Other (Custom Field)', 'ultimate-member' ) ) ),
'add_text' => __( 'Add New Field', 'ultimate-member' ),
'show_default_number' => 1,
'conditional' => array( '_um_enable_sorting', '=', 1 ),
),
); ?>
<div class="um-admin-metabox">
<?php $fields = array(
<?php
UM()->admin_forms(
array(
'id' => '_um_sortby',
'type' => 'select',
'label' => __( 'Default sort users by', 'ultimate-member' ),
'tooltip' => __( 'Default sorting users by a specific parameter in the directory', 'ultimate-member' ),
'options' => UM()->member_directory()->default_sorting,
'value' => UM()->query()->get_meta_value( '_um_sortby' ),
),
array(
'id' => '_um_sortby_custom',
'type' => 'text',
'label' => __( 'Meta key', 'ultimate-member' ),
'tooltip' => __( 'To sort by a custom field, enter the meta key of field here', 'ultimate-member' ),
'value' => UM()->query()->get_meta_value( '_um_sortby_custom', null, 'na' ),
'conditional' => array( '_um_sortby', '=', 'other' )
),
array(
'id' => '_um_sortby_custom_label',
'type' => 'text',
'label' => __( 'Label of custom sort', 'ultimate-member' ),
'tooltip' => __( 'To sort by a custom field, enter the label of sorting here', 'ultimate-member' ),
'value' => UM()->query()->get_meta_value( '_um_sortby_custom_label', null, 'na' ),
'conditional' => array( '_um_sortby', '=', 'other' )
),
array(
'id' => '_um_enable_sorting',
'type' => 'checkbox',
'label' => __( 'Enable custom sorting', 'ultimate-member' ),
'tooltip' => __( 'Whether to provide an ability to change the sorting on the directory page', 'ultimate-member' ),
'value' => UM()->query()->get_meta_value( '_um_enable_sorting' ),
),
array(
'id' => '_um_sorting_fields',
'type' => 'md_sorting_fields',
'label' => __( 'Choose field(s) to enable in sorting', 'ultimate-member' ),
'value' => $_um_sorting_fields,
'options' => array_merge( UM()->member_directory()->sort_fields, array( 'other' => __( 'Other (Custom Field)', 'ultimate-member' ) ) ),
'add_text' => __( 'Add New Field', 'ultimate-member' ),
'show_default_number' => 1,
'conditional' => array( '_um_enable_sorting', '=', 1 ),
'class' => 'um-member-directory-sorting um-half-column',
'prefix_id' => 'um_metadata',
'fields' => $fields,
)
);
UM()->admin_forms( array(
'class' => 'um-member-directory-sorting um-half-column',
'prefix_id' => 'um_metadata',
'fields' => $fields
) )->render_form(); ?>
)->render_form();
?>
<div class="um-admin-clear"></div>
</div>
</div>
+8 -7
View File
@@ -1,5 +1,6 @@
<?php if ( ! defined( 'ABSPATH' ) ) exit;
<?php if ( ! defined( 'ABSPATH' ) ) {
exit;
}
if ( empty( UM()->builder()->form_id ) ) {
UM()->builder()->form_id = $this->form_id;
@@ -9,8 +10,10 @@ if ( empty( UM()->builder()->form_id ) ) {
<div class="um-admin-drag-ctrls-demo um-admin-drag-ctrls">
<a href="javascript:void(0);" class="active" data-modal="UM_preview_form" data-modal-size="smaller" data-dynamic-content="um_admin_preview_form"
data-arg1="<?php esc_attr( the_ID() ); ?>" data-arg2=""><?php _e('Live Preview','ultimate-member'); ?></a>
<a href="javascript:void(0);" class="active" data-modal="UM_preview_form" data-modal-size="smaller"
data-dynamic-content="um_admin_preview_form" data-arg1="<?php echo esc_attr( get_the_ID() ); ?>" data-arg2="">
<?php esc_html_e( 'Live Preview', 'ultimate-member' ); ?>
</a>
</div>
@@ -19,9 +22,7 @@ if ( empty( UM()->builder()->form_id ) ) {
<div class="um-admin-drag">
<div class="um-admin-drag-ajax" data-form_id="<?php echo esc_attr( UM()->builder()->form_id ); ?>">
<?php UM()->builder()->show_builder(); ?>
</div>
<div class="um-admin-drag-addrow um-admin-tipsy-n" title="<?php esc_attr_e( 'Add Master Row', 'ultimate-member' ); ?>"
@@ -31,4 +32,4 @@ if ( empty( UM()->builder()->form_id ) ) {
</div>
</div>
</div>
@@ -1,102 +1,106 @@
<?php if ( ! defined( 'ABSPATH' ) ) exit; ?>
<?php if ( ! defined( 'ABSPATH' ) ) {
exit;
} ?>
<div class="um-admin-metabox">
<?php UM()->admin_forms( array(
'class' => 'um-form-login-customize um-top-label',
'prefix_id' => 'form',
'fields' => array(
array(
'id' => '_um_login_use_custom_settings',
'type' => 'select',
'label' => __( 'Apply custom settings to this form', 'ultimate-member' ),
'tooltip' => __( 'Switch to yes if you want to customize this form settings, styling &amp; appearance', 'ultimate-member' ),
'value' => UM()->query()->get_meta_value( '_um_login_use_custom_settings', null, 0 ),
'options' => array(
0 => __( 'No', 'ultimate-member' ),
1 => __( 'Yes', 'ultimate-member' ),
<?php
UM()->admin_forms(
array(
'class' => 'um-form-login-customize um-top-label',
'prefix_id' => 'form',
'fields' => array(
array(
'id' => '_um_login_use_custom_settings',
'type' => 'select',
'label' => __( 'Apply custom settings to this form', 'ultimate-member' ),
'tooltip' => __( 'Switch to yes if you want to customize this form settings, styling &amp; appearance', 'ultimate-member' ),
'value' => UM()->query()->get_meta_value( '_um_login_use_custom_settings', null, 0 ),
'options' => array(
0 => __( 'No', 'ultimate-member' ),
1 => __( 'Yes', 'ultimate-member' ),
),
),
),
array(
'id' => '_um_login_template',
'type' => 'select',
'label' => __( 'Template', 'ultimate-member' ),
'value' => UM()->query()->get_meta_value( '_um_login_template', null, UM()->options()->get( 'login_template' ) ),
'options' => UM()->shortcodes()->get_templates( 'login' ),
'conditional' => array( '_um_login_use_custom_settings', '=', 1 )
),
array(
'id' => '_um_login_max_width',
'type' => 'text',
'label' => __( 'Max. Width (px)', 'ultimate-member' ),
'tooltip' => __( 'The maximum width of shortcode in pixels e.g. 600px', 'ultimate-member' ),
'value' => UM()->query()->get_meta_value('_um_login_max_width', null, UM()->options()->get( 'login_max_width' ) ),
'conditional' => array( '_um_login_use_custom_settings', '=', 1 )
),
array(
'id' => '_um_login_icons',
'type' => 'select',
'label' => __( 'Field Icons', 'ultimate-member' ),
'tooltip' => __( 'Whether to show field icons and where to show them relative to the field', 'ultimate-member' ),
'value' => UM()->query()->get_meta_value( '_um_login_icons', null, UM()->options()->get( 'login_icons' ) ) ,
'options' => array(
'field' => __( 'Show inside text field', 'ultimate-member' ),
'label' => __( 'Show with label', 'ultimate-member' ),
'off' => __( 'Turn off', 'ultimate-member' )
array(
'id' => '_um_login_template',
'type' => 'select',
'label' => __( 'Template', 'ultimate-member' ),
'value' => UM()->query()->get_meta_value( '_um_login_template', null, UM()->options()->get( 'login_template' ) ),
'options' => UM()->shortcodes()->get_templates( 'login' ),
'conditional' => array( '_um_login_use_custom_settings', '=', 1 ),
),
'conditional' => array( '_um_login_use_custom_settings', '=', 1 )
),
array(
'id' => '_um_login_primary_btn_word',
'type' => 'text',
'label' => __( 'Primary Button Text', 'ultimate-member' ),
'tooltip' => __( 'Customize the button text', 'ultimate-member' ),
'value' => UM()->query()->get_meta_value( '_um_login_primary_btn_word', null, UM()->options()->get( 'login_primary_btn_word' ) ),
'conditional' => array( '_um_login_use_custom_settings', '=', 1 )
),
array(
'id' => '_um_login_secondary_btn',
'type' => 'select',
'label' => __( 'Show Secondary Button', 'ultimate-member' ),
'value' => UM()->query()->get_meta_value( '_um_login_secondary_btn', null, UM()->options()->get( 'login_secondary_btn' ) ),
'conditional' => array( '_um_login_use_custom_settings', '=', 1 ),
'options' => array(
0 => __( 'No', 'ultimate-member' ),
1 => __( 'Yes', 'ultimate-member' ),
),
),
array(
'id' => '_um_login_secondary_btn_word',
'type' => 'text',
'label' => __( 'Secondary Button Text', 'ultimate-member' ),
'tooltip' => __( 'Customize the button text', 'ultimate-member' ),
'value' => UM()->query()->get_meta_value( '_um_login_secondary_btn_word', null, UM()->options()->get( 'login_secondary_btn_word' ) ),
'conditional' => array( '_um_login_secondary_btn', '=', 1 )
),
array(
'id' => '_um_login_forgot_pass_link',
'type' => 'select',
'label' => __( 'Show Forgot Password Link?', 'ultimate-member' ),
'value' => UM()->query()->get_meta_value( '_um_login_forgot_pass_link', null, UM()->options()->get('login_forgot_pass_link') ),
'conditional' => array( '_um_login_use_custom_settings', '=', 1 ),
'options' => array(
0 => __( 'No', 'ultimate-member' ),
1 => __( 'Yes', 'ultimate-member' ),
array(
'id' => '_um_login_max_width',
'type' => 'text',
'label' => __( 'Max. Width (px)', 'ultimate-member' ),
'tooltip' => __( 'The maximum width of shortcode in pixels e.g. 600px', 'ultimate-member' ),
'value' => UM()->query()->get_meta_value( '_um_login_max_width', null, UM()->options()->get( 'login_max_width' ) ),
'conditional' => array( '_um_login_use_custom_settings', '=', 1 ),
),
),
array(
'id' => '_um_login_show_rememberme',
'type' => 'select',
'label' => __( 'Show "Remember Me"?', 'ultimate-member' ),
'value' => UM()->query()->get_meta_value( '_um_login_show_rememberme', null, UM()->options()->get('login_show_rememberme') ),
'conditional' => array( '_um_login_use_custom_settings', '=', 1 ),
'options' => array(
0 => __( 'No', 'ultimate-member' ),
1 => __( 'Yes', 'ultimate-member' ),
array(
'id' => '_um_login_icons',
'type' => 'select',
'label' => __( 'Field Icons', 'ultimate-member' ),
'tooltip' => __( 'Whether to show field icons and where to show them relative to the field', 'ultimate-member' ),
'value' => UM()->query()->get_meta_value( '_um_login_icons', null, UM()->options()->get( 'login_icons' ) ),
'options' => array(
'field' => __( 'Show inside text field', 'ultimate-member' ),
'label' => __( 'Show with label', 'ultimate-member' ),
'off' => __( 'Turn off', 'ultimate-member' ),
),
'conditional' => array( '_um_login_use_custom_settings', '=', 1 ),
),
array(
'id' => '_um_login_primary_btn_word',
'type' => 'text',
'label' => __( 'Primary Button Text', 'ultimate-member' ),
'tooltip' => __( 'Customize the button text', 'ultimate-member' ),
'value' => UM()->query()->get_meta_value( '_um_login_primary_btn_word', null, UM()->options()->get( 'login_primary_btn_word' ) ),
'conditional' => array( '_um_login_use_custom_settings', '=', 1 ),
),
array(
'id' => '_um_login_secondary_btn',
'type' => 'select',
'label' => __( 'Show Secondary Button', 'ultimate-member' ),
'value' => UM()->query()->get_meta_value( '_um_login_secondary_btn', null, UM()->options()->get( 'login_secondary_btn' ) ),
'conditional' => array( '_um_login_use_custom_settings', '=', 1 ),
'options' => array(
0 => __( 'No', 'ultimate-member' ),
1 => __( 'Yes', 'ultimate-member' ),
),
),
array(
'id' => '_um_login_secondary_btn_word',
'type' => 'text',
'label' => __( 'Secondary Button Text', 'ultimate-member' ),
'tooltip' => __( 'Customize the button text', 'ultimate-member' ),
'value' => UM()->query()->get_meta_value( '_um_login_secondary_btn_word', null, UM()->options()->get( 'login_secondary_btn_word' ) ),
'conditional' => array( '_um_login_secondary_btn', '=', 1 ),
),
array(
'id' => '_um_login_forgot_pass_link',
'type' => 'select',
'label' => __( 'Show Forgot Password Link?', 'ultimate-member' ),
'value' => UM()->query()->get_meta_value( '_um_login_forgot_pass_link', null, UM()->options()->get( 'login_forgot_pass_link' ) ),
'conditional' => array( '_um_login_use_custom_settings', '=', 1 ),
'options' => array(
0 => __( 'No', 'ultimate-member' ),
1 => __( 'Yes', 'ultimate-member' ),
),
),
array(
'id' => '_um_login_show_rememberme',
'type' => 'select',
'label' => __( 'Show "Remember Me"?', 'ultimate-member' ),
'value' => UM()->query()->get_meta_value( '_um_login_show_rememberme', null, UM()->options()->get( 'login_show_rememberme' ) ),
'conditional' => array( '_um_login_use_custom_settings', '=', 1 ),
'options' => array(
0 => __( 'No', 'ultimate-member' ),
1 => __( 'Yes', 'ultimate-member' ),
),
),
),
)
) )->render_form(); ?>
)->render_form();
?>
<div class="um-admin-clear"></div>
</div>
</div>
@@ -1,34 +1,38 @@
<?php if ( ! defined( 'ABSPATH' ) ) exit; ?>
<?php if ( ! defined( 'ABSPATH' ) ) {
exit;
} ?>
<div class="um-admin-metabox">
<?php UM()->admin_forms( array(
'class' => 'um-form-login-settings um-top-label',
'prefix_id' => 'form',
'fields' => array(
array(
'id' => '_um_login_after_login',
'type' => 'select',
'label' => __( 'Redirection after Login', 'ultimate-member' ),
'tooltip' => __( 'Change this If you want to override role redirection settings after login only.', 'ultimate-member' ),
'value' => UM()->query()->get_meta_value( '_um_login_after_login', null, 0 ),
'options' => array(
'0' => __( 'Default', 'ultimate-member' ),
'redirect_profile' => __( 'Redirect to profile', 'ultimate-member' ),
'redirect_url' => __( 'Redirect to URL', 'ultimate-member' ),
'refresh' => __( 'Refresh active page', 'ultimate-member' ),
'redirect_admin' => __( 'Redirect to WordPress Admin', 'ultimate-member' ),
<?php
UM()->admin_forms(
array(
'class' => 'um-form-login-settings um-top-label',
'prefix_id' => 'form',
'fields' => array(
array(
'id' => '_um_login_after_login',
'type' => 'select',
'label' => __( 'Redirection after Login', 'ultimate-member' ),
'tooltip' => __( 'Change this If you want to override role redirection settings after login only.', 'ultimate-member' ),
'value' => UM()->query()->get_meta_value( '_um_login_after_login', null, 0 ),
'options' => array(
'0' => __( 'Default', 'ultimate-member' ),
'redirect_profile' => __( 'Redirect to profile', 'ultimate-member' ),
'redirect_url' => __( 'Redirect to URL', 'ultimate-member' ),
'refresh' => __( 'Refresh active page', 'ultimate-member' ),
'redirect_admin' => __( 'Redirect to WordPress Admin', 'ultimate-member' ),
),
),
array(
'id' => '_um_login_redirect_url',
'type' => 'text',
'label' => __( 'Set Custom Redirect URL', 'ultimate-member' ),
'value' => UM()->query()->get_meta_value( '_um_login_redirect_url', null, 'na' ),
'conditional' => array( '_um_login_after_login', '=', 'redirect_url' ),
),
),
array(
'id' => '_um_login_redirect_url',
'type' => 'text',
'label' => __( 'Set Custom Redirect URL', 'ultimate-member' ),
'value' => UM()->query()->get_meta_value('_um_login_redirect_url', null, 'na' ),
'conditional' => array( '_um_login_after_login', '=', 'redirect_url' )
)
)
) )->render_form(); ?>
)->render_form();
?>
<div class="um-admin-clear"></div>
</div>
</div>
+17 -9
View File
@@ -1,21 +1,29 @@
<?php if ( ! defined( 'ABSPATH' ) ) exit;
<?php if ( ! defined( 'ABSPATH' ) ) {
exit;
}
$is_core = get_post_meta( get_the_ID(), '_um_core', true ); ?>
<div class="um-admin-boxed-links um-admin-ajaxlink <?php if ( $is_core ) echo 'is-core-form'; ?>">
<div class="um-admin-boxed-links um-admin-ajaxlink<?php echo $is_core ? ' is-core-form' : ''; ?>">
<?php if ( $is_core ) { ?>
<p><?php _e( '<strong>Note:</strong> Form type cannot be changed for the default forms.', 'ultimate-member' ); ?></p>
<p>
<strong><?php esc_html_e( 'Note: ', 'ultimate-member' ); ?></strong><?php esc_html_e( 'Form type cannot be changed for the default forms.', 'ultimate-member' ); ?>
</p>
<?php } ?>
<a href="javascript:void(0);" data-role="register"><?php _e( 'Registration Form', 'ultimate-member' ); ?></a>
<a href="javascript:void(0);" data-role="register">
<?php esc_html_e( 'Registration Form', 'ultimate-member' ); ?>
</a>
<a href="javascript:void(0);" data-role="profile"><?php _e('Profile Form', 'ultimate-member' ); ?></a>
<a href="javascript:void(0);" data-role="profile">
<?php esc_html_e( 'Profile Form', 'ultimate-member' ); ?>
</a>
<a href="javascript:void(0);" data-role="login"><?php _e( 'Login Form', 'ultimate-member' ); ?></a>
<a href="javascript:void(0);" data-role="login">
<?php esc_html_e( 'Login Form', 'ultimate-member' ); ?>
</a>
<input type="hidden" name="form[_um_mode]" id="form__um_mode" value="<?php echo esc_attr( UM()->query()->get_meta_value( '_um_mode', null, 'register' ) ); ?>" />
</div>
<div class="um-admin-clear"></div>
<div class="um-admin-clear"></div>
@@ -1,208 +1,211 @@
<?php if ( ! defined( 'ABSPATH' ) ) exit; ?>
<?php if ( ! defined( 'ABSPATH' ) ) {
exit;
}
$profile_role_array = array();
foreach ( UM()->roles()->get_roles() as $key => $value ) {
$_um_profile_role = UM()->query()->get_meta_value( '_um_profile_role', $key );
if ( ! empty( $_um_profile_role ) ) {
$profile_role_array[] = $_um_profile_role;
}
} ?>
<div class="um-admin-metabox">
<?php $profile_role_array = array();
foreach ( UM()->roles()->get_roles() as $key => $value ) {
$_um_profile_role = UM()->query()->get_meta_value( '_um_profile_role', $key );
if ( ! empty( $_um_profile_role ) ) {
$profile_role_array[] = $_um_profile_role;
}
}
UM()->admin_forms( array(
'class' => 'um-form-profile-customize um-top-label',
'prefix_id' => 'form',
'fields' => array(
array(
'id' => '_um_profile_use_custom_settings',
'type' => 'select',
'label' => __( 'Apply custom settings to this form', 'ultimate-member' ),
'tooltip' => __( 'Switch to yes if you want to customize this form settings, styling &amp; appearance', 'ultimate-member' ),
'value' => UM()->query()->get_meta_value( '_um_profile_use_custom_settings', null, 0 ),
'options' => array(
0 => __( 'No', 'ultimate-member' ),
1 => __( 'Yes', 'ultimate-member' ),
<?php
UM()->admin_forms(
array(
'class' => 'um-form-profile-customize um-top-label',
'prefix_id' => 'form',
'fields' => array(
array(
'id' => '_um_profile_use_custom_settings',
'type' => 'select',
'label' => __( 'Apply custom settings to this form', 'ultimate-member' ),
'tooltip' => __( 'Switch to yes if you want to customize this form settings, styling &amp; appearance', 'ultimate-member' ),
'value' => UM()->query()->get_meta_value( '_um_profile_use_custom_settings', null, 0 ),
'options' => array(
0 => __( 'No', 'ultimate-member' ),
1 => __( 'Yes', 'ultimate-member' ),
),
),
array(
'id' => '_um_profile_role',
'type' => 'select',
'multi' => true,
'label' => __( 'Make this profile form role-specific', 'ultimate-member' ),
'tooltip' => __( 'Please note if you make a profile form specific to a role then you must make sure that every other role is assigned a profile form', 'ultimate-member' ),
'value' => $profile_role_array,
'options' => UM()->roles()->get_roles(),
'conditional' => array( '_um_profile_use_custom_settings', '=', 1 ),
),
array(
'id' => '_um_profile_template',
'type' => 'select',
'label' => __( 'Template', 'ultimate-member' ),
'value' => UM()->query()->get_meta_value( '_um_profile_template', null, UM()->options()->get( 'profile_template' ) ),
'options' => UM()->shortcodes()->get_templates( 'profile' ),
'conditional' => array( '_um_profile_use_custom_settings', '=', 1 ),
),
array(
'id' => '_um_profile_max_width',
'type' => 'text',
'label' => __( 'Max. Width (px)', 'ultimate-member' ),
'tooltip' => __( 'The maximum width of shortcode in pixels e.g. 600px', 'ultimate-member' ),
'value' => UM()->query()->get_meta_value( '_um_profile_max_width', null, UM()->options()->get( 'profile_max_width' ) ),
'conditional' => array( '_um_profile_use_custom_settings', '=', 1 ),
),
array(
'id' => '_um_profile_area_max_width',
'type' => 'text',
'label' => __( 'Profile Area Max. Width (px)', 'ultimate-member' ),
'tooltip' => __( 'The maximum width of the profile area inside profile (below profile header)', 'ultimate-member' ),
'value' => UM()->query()->get_meta_value( '_um_profile_area_max_width', null, UM()->options()->get( 'profile_area_max_width' ) ),
'conditional' => array( '_um_profile_use_custom_settings', '=', 1 ),
),
array(
'id' => '_um_profile_icons',
'type' => 'select',
'label' => __( 'Field Icons', 'ultimate-member' ),
'tooltip' => __( 'Whether to show field icons and where to show them relative to the field', 'ultimate-member' ),
'value' => UM()->query()->get_meta_value( '_um_profile_icons', null, UM()->options()->get( 'profile_icons' ) ),
'options' => array(
'field' => __( 'Show inside text field', 'ultimate-member' ),
'label' => __( 'Show with label', 'ultimate-member' ),
'off' => __( 'Turn off', 'ultimate-member' ),
),
'conditional' => array( '_um_profile_use_custom_settings', '=', 1 ),
),
array(
'id' => '_um_profile_primary_btn_word',
'type' => 'text',
'label' => __( 'Primary Button Text', 'ultimate-member' ),
'tooltip' => __( 'Customize the button text', 'ultimate-member' ),
'value' => UM()->query()->get_meta_value( '_um_profile_primary_btn_word', null, UM()->options()->get( 'profile_primary_btn_word' ) ),
'conditional' => array( '_um_profile_use_custom_settings', '=', 1 ),
),
array(
'id' => '_um_profile_secondary_btn',
'type' => 'select',
'label' => __( 'Show Secondary Button', 'ultimate-member' ),
'value' => UM()->query()->get_meta_value( '_um_profile_secondary_btn', null, UM()->options()->get( 'profile_secondary_btn' ) ),
'conditional' => array( '_um_profile_use_custom_settings', '=', 1 ),
'options' => array(
0 => __( 'No', 'ultimate-member' ),
1 => __( 'Yes', 'ultimate-member' ),
),
),
array(
'id' => '_um_profile_secondary_btn_word',
'type' => 'text',
'label' => __( 'Secondary Button Text', 'ultimate-member' ),
'tooltip' => __( 'Customize the button text', 'ultimate-member' ),
'value' => UM()->query()->get_meta_value( '_um_profile_secondary_btn_word', null, UM()->options()->get( 'profile_secondary_btn_word' ) ),
'conditional' => array( '_um_profile_secondary_btn', '=', 1 ),
),
array(
'id' => '_um_profile_cover_enabled',
'type' => 'select',
'label' => __( 'Enable Cover Photos', 'ultimate-member' ),
'value' => UM()->query()->get_meta_value( '_um_profile_cover_enabled', null, 1 ),
'conditional' => array( '_um_profile_use_custom_settings', '=', 1 ),
'options' => array(
0 => __( 'No', 'ultimate-member' ),
1 => __( 'Yes', 'ultimate-member' ),
),
),
array(
'id' => '_um_profile_coversize',
'type' => 'select',
'label' => __( 'Cover Photo Size', 'ultimate-member' ),
'tooltip' => __( 'Set the profile photo size in pixels here', 'ultimate-member' ),
'value' => UM()->query()->get_meta_value( '_um_profile_coversize', null, UM()->options()->get( 'profile_coversize' ) ),
'options' => UM()->files()->get_profile_photo_size( 'cover_thumb_sizes' ),
'conditional' => array( '_um_profile_cover_enabled', '=', 1 ),
),
array(
'id' => '_um_profile_cover_ratio',
'type' => 'select',
'label' => __( 'Cover photo ratio', 'ultimate-member' ),
'tooltip' => __( 'The shortcode is centered by default unless you specify otherwise here', 'ultimate-member' ),
'value' => UM()->query()->get_meta_value( '_um_profile_cover_ratio', null, UM()->options()->get( 'profile_cover_ratio' ) ),
'options' => array(
'1.6:1' => '1.6:1',
'2.7:1' => '2.7:1',
'2.2:1' => '2.2:1',
'3.2:1' => '3.2:1',
),
'conditional' => array( '_um_profile_cover_enabled', '=', 1 ),
),
array(
'id' => '_um_profile_disable_photo_upload',
'type' => 'select',
'label' => __( 'Disable Profile Photo Upload', 'ultimate-member' ),
'tooltip' => __( 'Switch on/off the profile photo uploader', 'ultimate-member' ),
'value' => UM()->query()->get_meta_value( '_um_profile_disable_photo_upload', null, UM()->options()->get( 'disable_profile_photo_upload' ) ),
'conditional' => array( '_um_profile_use_custom_settings', '=', 1 ),
'options' => array(
0 => __( 'No', 'ultimate-member' ),
1 => __( 'Yes', 'ultimate-member' ),
),
),
array(
'id' => '_um_profile_photosize',
'type' => 'select',
'label' => __( 'Profile Photo Size', 'ultimate-member' ),
'tooltip' => __( 'Set the profile photo size in pixels here', 'ultimate-member' ),
'value' => UM()->query()->get_meta_value( '_um_profile_photosize', null, UM()->options()->get( 'profile_photosize' ) ),
'options' => UM()->files()->get_profile_photo_size( 'photo_thumb_sizes' ),
'conditional' => array( '_um_profile_use_custom_settings', '=', 1 ),
),
array(
'id' => '_um_profile_photo_required',
'type' => 'select',
'label' => __( 'Make Profile Photo Required', 'ultimate-member' ),
'tooltip' => __( 'Require user to update a profile photo when updating their profile', 'ultimate-member' ),
'value' => UM()->query()->get_meta_value( '_um_profile_photo_required' ),
'conditional' => array( '_um_profile_use_custom_settings', '=', 1 ),
'options' => array(
0 => __( 'No', 'ultimate-member' ),
1 => __( 'Yes', 'ultimate-member' ),
),
),
array(
'id' => '_um_profile_show_name',
'type' => 'select',
'label' => __( 'Show display name in profile header?', 'ultimate-member' ),
'value' => UM()->query()->get_meta_value( '_um_profile_show_name', null, 1 ),
'conditional' => array( '_um_profile_use_custom_settings', '=', 1 ),
'options' => array(
0 => __( 'No', 'ultimate-member' ),
1 => __( 'Yes', 'ultimate-member' ),
),
),
array(
'id' => '_um_profile_show_social_links',
'type' => 'select',
'label' => __( 'Show social links in profile header?', 'ultimate-member' ),
'value' => UM()->query()->get_meta_value( '_um_profile_show_social_links', null, UM()->options()->get( 'profile_show_social_links' ) ),
'conditional' => array( '_um_profile_use_custom_settings', '=', 1 ),
'options' => array(
0 => __( 'No', 'ultimate-member' ),
1 => __( 'Yes', 'ultimate-member' ),
),
),
array(
'id' => '_um_profile_show_bio',
'type' => 'select',
'label' => __( 'Show user description in profile header?', 'ultimate-member' ),
'value' => UM()->query()->get_meta_value( '_um_profile_show_bio', null, 1 ),
'conditional' => array( '_um_profile_use_custom_settings', '=', 1 ),
'options' => array(
0 => __( 'No', 'ultimate-member' ),
1 => __( 'Yes', 'ultimate-member' ),
),
),
),
array(
'id' => '_um_profile_role',
'type' => 'select',
'multi' => true,
'label' => __( 'Make this profile form role-specific', 'ultimate-member' ),
'tooltip' => __( 'Please note if you make a profile form specific to a role then you must make sure that every other role is assigned a profile form', 'ultimate-member' ),
'value' => $profile_role_array,
'options' => UM()->roles()->get_roles(),
'conditional' => array( '_um_profile_use_custom_settings', '=', 1 )
),
array(
'id' => '_um_profile_template',
'type' => 'select',
'label' => __( 'Template', 'ultimate-member' ),
'value' => UM()->query()->get_meta_value( '_um_profile_template', null, UM()->options()->get( 'profile_template' ) ),
'options' => UM()->shortcodes()->get_templates( 'profile' ),
'conditional' => array( '_um_profile_use_custom_settings', '=', 1 )
),
array(
'id' => '_um_profile_max_width',
'type' => 'text',
'label' => __( 'Max. Width (px)', 'ultimate-member' ),
'tooltip' => __( 'The maximum width of shortcode in pixels e.g. 600px', 'ultimate-member' ),
'value' => UM()->query()->get_meta_value('_um_profile_max_width', null, UM()->options()->get( 'profile_max_width' ) ),
'conditional' => array( '_um_profile_use_custom_settings', '=', 1 )
),
array(
'id' => '_um_profile_area_max_width',
'type' => 'text',
'label' => __( 'Profile Area Max. Width (px)', 'ultimate-member' ),
'tooltip' => __( 'The maximum width of the profile area inside profile (below profile header)', 'ultimate-member' ),
'value' => UM()->query()->get_meta_value('_um_profile_area_max_width', null, UM()->options()->get( 'profile_area_max_width' ) ),
'conditional' => array( '_um_profile_use_custom_settings', '=', 1 )
),
array(
'id' => '_um_profile_icons',
'type' => 'select',
'label' => __( 'Field Icons', 'ultimate-member' ),
'tooltip' => __( 'Whether to show field icons and where to show them relative to the field', 'ultimate-member' ),
'value' => UM()->query()->get_meta_value( '_um_profile_icons', null, UM()->options()->get( 'profile_icons' ) ) ,
'options' => array(
'field' => __( 'Show inside text field', 'ultimate-member' ),
'label' => __( 'Show with label', 'ultimate-member' ),
'off' => __( 'Turn off', 'ultimate-member' )
),
'conditional' => array( '_um_profile_use_custom_settings', '=', 1 )
),
array(
'id' => '_um_profile_primary_btn_word',
'type' => 'text',
'label' => __( 'Primary Button Text', 'ultimate-member' ),
'tooltip' => __( 'Customize the button text', 'ultimate-member' ),
'value' => UM()->query()->get_meta_value( '_um_profile_primary_btn_word', null, UM()->options()->get( 'profile_primary_btn_word' ) ),
'conditional' => array( '_um_profile_use_custom_settings', '=', 1 )
),
array(
'id' => '_um_profile_secondary_btn',
'type' => 'select',
'label' => __( 'Show Secondary Button', 'ultimate-member' ),
'value' => UM()->query()->get_meta_value( '_um_profile_secondary_btn', null, UM()->options()->get( 'profile_secondary_btn' ) ),
'conditional' => array( '_um_profile_use_custom_settings', '=', 1 ),
'options' => array(
0 => __( 'No', 'ultimate-member' ),
1 => __( 'Yes', 'ultimate-member' ),
),
),
array(
'id' => '_um_profile_secondary_btn_word',
'type' => 'text',
'label' => __( 'Secondary Button Text', 'ultimate-member' ),
'tooltip' => __( 'Customize the button text', 'ultimate-member' ),
'value' => UM()->query()->get_meta_value( '_um_profile_secondary_btn_word', null, UM()->options()->get( 'profile_secondary_btn_word' ) ),
'conditional' => array( '_um_profile_secondary_btn', '=', 1 )
),
array(
'id' => '_um_profile_cover_enabled',
'type' => 'select',
'label' => __( 'Enable Cover Photos', 'ultimate-member' ),
'value' => UM()->query()->get_meta_value( '_um_profile_cover_enabled', null, 1 ),
'conditional' => array( '_um_profile_use_custom_settings', '=', 1 ),
'options' => array(
0 => __( 'No', 'ultimate-member' ),
1 => __( 'Yes', 'ultimate-member' ),
),
),
array(
'id' => '_um_profile_coversize',
'type' => 'select',
'label' => __( 'Cover Photo Size', 'ultimate-member' ),
'tooltip' => __( 'Set the profile photo size in pixels here', 'ultimate-member' ),
'value' => UM()->query()->get_meta_value( '_um_profile_coversize', null, UM()->options()->get( 'profile_coversize' ) ),
'options' => UM()->files()->get_profile_photo_size( 'cover_thumb_sizes' ),
'conditional' => array( '_um_profile_cover_enabled', '=', 1 )
),
array(
'id' => '_um_profile_cover_ratio',
'type' => 'select',
'label' => __( 'Cover photo ratio', 'ultimate-member' ),
'tooltip' => __( 'The shortcode is centered by default unless you specify otherwise here', 'ultimate-member' ),
'value' => UM()->query()->get_meta_value( '_um_profile_cover_ratio', null, UM()->options()->get( 'profile_cover_ratio' ) ),
'options' => array(
'1.6:1' => '1.6:1',
'2.7:1' => '2.7:1',
'2.2:1' => '2.2:1',
'3.2:1' => '3.2:1'
),
'conditional' => array( '_um_profile_cover_enabled', '=', 1 )
),
array(
'id' => '_um_profile_disable_photo_upload',
'type' => 'select',
'label' => __( 'Disable Profile Photo Upload', 'ultimate-member' ),
'tooltip' => __( 'Switch on/off the profile photo uploader', 'ultimate-member' ),
'value' => UM()->query()->get_meta_value( '_um_profile_disable_photo_upload', null, UM()->options()->get( 'disable_profile_photo_upload' ) ),
'conditional' => array( '_um_profile_use_custom_settings', '=', 1 ),
'options' => array(
0 => __( 'No', 'ultimate-member' ),
1 => __( 'Yes', 'ultimate-member' ),
),
),
array(
'id' => '_um_profile_photosize',
'type' => 'select',
'label' => __( 'Profile Photo Size', 'ultimate-member' ),
'tooltip' => __( 'Set the profile photo size in pixels here', 'ultimate-member' ),
'value' => UM()->query()->get_meta_value( '_um_profile_photosize', null, UM()->options()->get( 'profile_photosize' ) ),
'options' => UM()->files()->get_profile_photo_size( 'photo_thumb_sizes' ),
'conditional' => array( '_um_profile_use_custom_settings', '=', 1 )
),
array(
'id' => '_um_profile_photo_required',
'type' => 'select',
'label' => __( 'Make Profile Photo Required', 'ultimate-member' ),
'tooltip' => __( 'Require user to update a profile photo when updating their profile', 'ultimate-member' ),
'value' => UM()->query()->get_meta_value( '_um_profile_photo_required' ),
'conditional' => array( '_um_profile_use_custom_settings', '=', 1 ),
'options' => array(
0 => __( 'No', 'ultimate-member' ),
1 => __( 'Yes', 'ultimate-member' ),
),
),
array(
'id' => '_um_profile_show_name',
'type' => 'select',
'label' => __( 'Show display name in profile header?', 'ultimate-member' ),
'value' => UM()->query()->get_meta_value( '_um_profile_show_name', null, 1 ),
'conditional' => array( '_um_profile_use_custom_settings', '=', 1 ),
'options' => array(
0 => __( 'No', 'ultimate-member' ),
1 => __( 'Yes', 'ultimate-member' ),
),
),
array(
'id' => '_um_profile_show_social_links',
'type' => 'select',
'label' => __( 'Show social links in profile header?', 'ultimate-member' ),
'value' => UM()->query()->get_meta_value( '_um_profile_show_social_links', null, UM()->options()->get( 'profile_show_social_links' ) ),
'conditional' => array( '_um_profile_use_custom_settings', '=', 1 ),
'options' => array(
0 => __( 'No', 'ultimate-member' ),
1 => __( 'Yes', 'ultimate-member' ),
),
),
array(
'id' => '_um_profile_show_bio',
'type' => 'select',
'label' => __( 'Show user description in profile header?', 'ultimate-member' ),
'value' => UM()->query()->get_meta_value( '_um_profile_show_bio', null, 1 ),
'conditional' => array( '_um_profile_use_custom_settings', '=', 1 ),
'options' => array(
0 => __( 'No', 'ultimate-member' ),
1 => __( 'Yes', 'ultimate-member' ),
),
),
)
) )->render_form(); ?>
)->render_form();
?>
<div class="um-admin-clear"></div>
</div>
</div>
@@ -1,32 +1,37 @@
<?php if ( ! defined( 'ABSPATH' ) ) exit; ?>
<?php if ( ! defined( 'ABSPATH' ) ) {
exit;
}
$user_fields = array();
foreach ( UM()->builtin()->all_user_fields() as $key => $arr ) {
$user_fields[ $key ] = isset( $arr['title'] ) ? $arr['title'] : '';
}
$post_id = get_the_ID();
$_um_search_fields = get_post_meta( $post_id, '_um_profile_metafields', true );
$_um_search_fields = empty( $_um_search_fields ) ? array() : $_um_search_fields; ?>
<div class="um-admin-metabox">
<?php $user_fields = array();
foreach ( UM()->builtin()->all_user_fields() as $key => $arr ) {
$user_fields[ $key ] = isset( $arr['title'] ) ? $arr['title'] : '';
}
$post_id = get_the_ID();
$_um_search_fields = get_post_meta( $post_id, '_um_profile_metafields', true );
$_um_search_fields = empty( $_um_search_fields ) ? array() : $_um_search_fields;
UM()->admin_forms( array(
'class' => 'um-form-profile-settings um-top-label',
'prefix_id' => 'form',
'fields' => array(
array(
'id' => '_um_profile_metafields',
'type' => 'multi_selects',
'label' => __( 'Field(s) to show in user meta', 'ultimate-member' ),
'tooltip' => __( 'Fields selected here will appear in the profile header area below the user\'s display name', 'ultimate-member' ),
'value' => $_um_search_fields,
'options' => $user_fields,
'add_text' => __( 'Add New Field', 'ultimate-member' ),
'show_default_number' => 0,
)
<?php
UM()->admin_forms(
array(
'class' => 'um-form-profile-settings um-top-label',
'prefix_id' => 'form',
'fields' => array(
array(
'id' => '_um_profile_metafields',
'type' => 'multi_selects',
'label' => __( 'Field(s) to show in user meta', 'ultimate-member' ),
'tooltip' => __( 'Fields selected here will appear in the profile header area below the user\'s display name', 'ultimate-member' ),
'value' => $_um_search_fields,
'options' => $user_fields,
'add_text' => __( 'Add New Field', 'ultimate-member' ),
'show_default_number' => 0,
),
),
)
) )->render_form(); ?>
)->render_form();
?>
<div class="um-admin-clear"></div>
</div>
</div>
@@ -1,95 +1,99 @@
<?php if ( ! defined( 'ABSPATH' ) ) exit; ?>
<?php if ( ! defined( 'ABSPATH' ) ) {
exit;
}
foreach ( UM()->roles()->get_roles( __( 'Default', 'ultimate-member' ) ) as $key => $value ) {
$_um_register_role = UM()->query()->get_meta_value( '_um_register_role', $key );
if ( ! empty( $_um_register_role ) ) {
$register_role = $_um_register_role;
}
} ?>
<div class="um-admin-metabox">
<?php foreach ( UM()->roles()->get_roles( __( 'Default', 'ultimate-member' ) ) as $key => $value ) {
$_um_register_role = UM()->query()->get_meta_value( '_um_register_role', $key );
if ( ! empty( $_um_register_role ) )
$register_role = $_um_register_role;
}
UM()->admin_forms( array(
'class' => 'um-form-register-customize um-top-label',
'prefix_id' => 'form',
'fields' => array(
array(
'id' => '_um_register_use_custom_settings',
'type' => 'select',
'label' => __( 'Apply custom settings to this form', 'ultimate-member' ),
'tooltip' => __( 'Switch to yes if you want to customize this form settings, styling &amp; appearance', 'ultimate-member' ),
'value' => UM()->query()->get_meta_value( '_um_register_use_custom_settings', null, 0 ),
'options' => array(
0 => __( 'No', 'ultimate-member' ),
1 => __( 'Yes', 'ultimate-member' ),
<?php
UM()->admin_forms(
array(
'class' => 'um-form-register-customize um-top-label',
'prefix_id' => 'form',
'fields' => array(
array(
'id' => '_um_register_use_custom_settings',
'type' => 'select',
'label' => __( 'Apply custom settings to this form', 'ultimate-member' ),
'tooltip' => __( 'Switch to yes if you want to customize this form settings, styling &amp; appearance', 'ultimate-member' ),
'value' => UM()->query()->get_meta_value( '_um_register_use_custom_settings', null, 0 ),
'options' => array(
0 => __( 'No', 'ultimate-member' ),
1 => __( 'Yes', 'ultimate-member' ),
),
),
array(
'id' => '_um_register_role',
'type' => 'select',
'label' => __( 'Assign role to form', 'ultimate-member' ),
'value' => ! empty( $register_role ) ? $register_role : 0,
'options' => UM()->roles()->get_roles( __( 'Default', 'ultimate-member' ) ),
'conditional' => array( '_um_register_use_custom_settings', '=', 1 ),
),
array(
'id' => '_um_register_template',
'type' => 'select',
'label' => __( 'Template', 'ultimate-member' ),
'value' => UM()->query()->get_meta_value( '_um_register_template', null, UM()->options()->get( 'register_template' ) ),
'options' => UM()->shortcodes()->get_templates( 'register' ),
'conditional' => array( '_um_register_use_custom_settings', '=', 1 ),
),
array(
'id' => '_um_register_max_width',
'type' => 'text',
'label' => __( 'Max. Width (px)', 'ultimate-member' ),
'tooltip' => __( 'The maximum width of shortcode in pixels e.g. 600px', 'ultimate-member' ),
'value' => UM()->query()->get_meta_value( '_um_register_max_width', null, UM()->options()->get( 'register_max_width' ) ),
'conditional' => array( '_um_register_use_custom_settings', '=', 1 ),
),
array(
'id' => '_um_register_icons',
'type' => 'select',
'label' => __( 'Field Icons', 'ultimate-member' ),
'tooltip' => __( 'Whether to show field icons and where to show them relative to the field', 'ultimate-member' ),
'value' => UM()->query()->get_meta_value( '_um_register_icons', null, UM()->options()->get( 'register_icons' ) ),
'options' => array(
'field' => __( 'Show inside text field', 'ultimate-member' ),
'label' => __( 'Show with label', 'ultimate-member' ),
'off' => __( 'Turn off', 'ultimate-member' ),
),
'conditional' => array( '_um_register_use_custom_settings', '=', 1 ),
),
array(
'id' => '_um_register_primary_btn_word',
'type' => 'text',
'label' => __( 'Primary Button Text', 'ultimate-member' ),
'tooltip' => __( 'Customize the button text', 'ultimate-member' ),
'value' => UM()->query()->get_meta_value( '_um_register_primary_btn_word', null, UM()->options()->get( 'register_primary_btn_word' ) ),
'conditional' => array( '_um_register_use_custom_settings', '=', 1 ),
),
array(
'id' => '_um_register_secondary_btn',
'type' => 'select',
'label' => __( 'Show Secondary Button', 'ultimate-member' ),
'value' => UM()->query()->get_meta_value( '_um_register_secondary_btn', null, UM()->options()->get( 'register_secondary_btn' ) ),
'conditional' => array( '_um_register_use_custom_settings', '=', 1 ),
'options' => array(
0 => __( 'No', 'ultimate-member' ),
1 => __( 'Yes', 'ultimate-member' ),
),
),
array(
'id' => '_um_register_secondary_btn_word',
'type' => 'text',
'label' => __( 'Secondary Button Text', 'ultimate-member' ),
'tooltip' => __( 'Customize the button text', 'ultimate-member' ),
'value' => UM()->query()->get_meta_value( '_um_register_secondary_btn_word', null, UM()->options()->get( 'register_secondary_btn_word' ) ),
'conditional' => array( '_um_register_secondary_btn', '=', 1 ),
),
),
array(
'id' => '_um_register_role',
'type' => 'select',
'label' => __( 'Assign role to form', 'ultimate-member' ),
'value' => ! empty( $register_role ) ? $register_role : 0,
'options' => UM()->roles()->get_roles( __( 'Default', 'ultimate-member' ) ),
'conditional' => array( '_um_register_use_custom_settings', '=', 1 )
),
array(
'id' => '_um_register_template',
'type' => 'select',
'label' => __( 'Template', 'ultimate-member' ),
'value' => UM()->query()->get_meta_value( '_um_register_template', null, UM()->options()->get( 'register_template' ) ),
'options' => UM()->shortcodes()->get_templates( 'register' ),
'conditional' => array( '_um_register_use_custom_settings', '=', 1 )
),
array(
'id' => '_um_register_max_width',
'type' => 'text',
'label' => __( 'Max. Width (px)', 'ultimate-member' ),
'tooltip' => __( 'The maximum width of shortcode in pixels e.g. 600px', 'ultimate-member' ),
'value' => UM()->query()->get_meta_value('_um_register_max_width', null, UM()->options()->get( 'register_max_width' ) ),
'conditional' => array( '_um_register_use_custom_settings', '=', 1 )
),
array(
'id' => '_um_register_icons',
'type' => 'select',
'label' => __( 'Field Icons', 'ultimate-member' ),
'tooltip' => __( 'Whether to show field icons and where to show them relative to the field', 'ultimate-member' ),
'value' => UM()->query()->get_meta_value( '_um_register_icons', null, UM()->options()->get( 'register_icons' ) ) ,
'options' => array(
'field' => __( 'Show inside text field', 'ultimate-member' ),
'label' => __( 'Show with label', 'ultimate-member' ),
'off' => __( 'Turn off', 'ultimate-member' )
),
'conditional' => array( '_um_register_use_custom_settings', '=', 1 )
),
array(
'id' => '_um_register_primary_btn_word',
'type' => 'text',
'label' => __( 'Primary Button Text', 'ultimate-member' ),
'tooltip' => __( 'Customize the button text', 'ultimate-member' ),
'value' => UM()->query()->get_meta_value( '_um_register_primary_btn_word', null, UM()->options()->get( 'register_primary_btn_word' ) ),
'conditional' => array( '_um_register_use_custom_settings', '=', 1 )
),
array(
'id' => '_um_register_secondary_btn',
'type' => 'select',
'label' => __( 'Show Secondary Button', 'ultimate-member' ),
'value' => UM()->query()->get_meta_value( '_um_register_secondary_btn', null, UM()->options()->get( 'register_secondary_btn' ) ),
'conditional' => array( '_um_register_use_custom_settings', '=', 1 ),
'options' => array(
0 => __( 'No', 'ultimate-member' ),
1 => __( 'Yes', 'ultimate-member' ),
),
),
array(
'id' => '_um_register_secondary_btn_word',
'type' => 'text',
'label' => __( 'Secondary Button Text', 'ultimate-member' ),
'tooltip' => __( 'Customize the button text', 'ultimate-member' ),
'value' => UM()->query()->get_meta_value( '_um_register_secondary_btn_word', null, UM()->options()->get( 'register_secondary_btn_word' ) ),
'conditional' => array( '_um_register_secondary_btn', '=', 1 )
)
)
) )->render_form(); ?>
)->render_form();
?>
<div class="um-admin-clear"></div>
</div>
</div>
+68 -66
View File
@@ -1,74 +1,76 @@
<?php if ( ! defined( 'ABSPATH' ) ) exit; ?>
<?php if ( ! defined( 'ABSPATH' ) ) {
exit;
}
$options = array(
'' => __( 'Select page', 'ultimate-member' ),
);
$pages = get_pages();
foreach ( $pages as $page ) {
$options[ $page->ID ] = $page->post_title;
} ?>
<div class="um-admin-metabox">
<?php
$options = array(
'' => __( 'Select page', 'ultimate-member' )
);
$pages = get_pages();
foreach ( $pages as $page ) {
$options[$page->ID] = $page->post_title;
}
UM()->admin_forms( array(
'class' => 'um-form-register-gdpr um-top-label',
'prefix_id' => 'form',
'fields' => array(
array(
'id' => '_um_register_use_gdpr',
'type' => 'select',
'label' => __( 'Enable on this form', 'ultimate-member' ),
'value' => UM()->query()->get_meta_value( '_um_register_use_gdpr', null, '' ),
'options' => array(
'0' => __( 'No', 'ultimate-member' ),
'1' => __( 'Yes', 'ultimate-member' )
UM()->admin_forms(
array(
'class' => 'um-form-register-gdpr um-top-label',
'prefix_id' => 'form',
'fields' => array(
array(
'id' => '_um_register_use_gdpr',
'type' => 'select',
'label' => __( 'Enable on this form', 'ultimate-member' ),
'value' => UM()->query()->get_meta_value( '_um_register_use_gdpr', null, '' ),
'options' => array(
'0' => __( 'No', 'ultimate-member' ),
'1' => __( 'Yes', 'ultimate-member' ),
),
),
array(
'id' => '_um_register_use_gdpr_content_id',
'type' => 'select',
'label' => __( 'Content', 'ultimate-member' ),
'value' => UM()->query()->get_meta_value( '_um_register_use_gdpr_content_id', null, '' ),
'options' => $options,
'conditional' => array( '_um_register_use_gdpr', '=', '1' ),
),
array(
'id' => '_um_register_use_gdpr_toggle_show',
'type' => 'text',
'label' => __( 'Toggle Show text', 'ultimate-member' ),
'placeholder' => __( 'Show privacy policy', 'ultimate-member' ),
'value' => UM()->query()->get_meta_value( '_um_register_use_gdpr_toggle_show', null, __( 'Show privacy policy', 'ultimate-member' ) ),
'conditional' => array( '_um_register_use_gdpr', '=', '1' ),
),
array(
'id' => '_um_register_use_gdpr_toggle_hide',
'type' => 'text',
'label' => __( 'Toggle Hide text', 'ultimate-member' ),
'placeholder' => __( 'Hide privacy policy', 'ultimate-member' ),
'value' => UM()->query()->get_meta_value( '_um_register_use_gdpr_toggle_hide', null, __( 'Hide privacy policy', 'ultimate-member' ) ),
'conditional' => array( '_um_register_use_gdpr', '=', '1' ),
),
array(
'id' => '_um_register_use_gdpr_agreement',
'type' => 'text',
'label' => __( 'Checkbox agreement description', 'ultimate-member' ),
'placeholder' => __( 'Please confirm that you agree to our privacy policy', 'ultimate-member' ),
'value' => UM()->query()->get_meta_value( '_um_register_use_gdpr_agreement', null, __( 'Please confirm that you agree to our privacy policy', 'ultimate-member' ) ),
'conditional' => array( '_um_register_use_gdpr', '=', '1' ),
),
array(
'id' => '_um_register_use_gdpr_error_text',
'type' => 'text',
'label' => __( 'Error Text', 'ultimate-member' ),
'placeholder' => __( 'Please confirm your acceptance of our privacy policy', 'ultimate-member' ),
'value' => UM()->query()->get_meta_value( '_um_register_use_gdpr_error_text', null, __( 'Please confirm your acceptance of our privacy policy', 'ultimate-member' ) ),
'conditional' => array( '_um_register_use_gdpr', '=', '1' ),
),
),
array(
'id' => '_um_register_use_gdpr_content_id',
'type' => 'select',
'label' => __( 'Content', 'ultimate-member' ),
'value' => UM()->query()->get_meta_value('_um_register_use_gdpr_content_id', null, '' ),
'options' => $options,
'conditional' => array( '_um_register_use_gdpr', '=', '1' )
),
array(
'id' => '_um_register_use_gdpr_toggle_show',
'type' => 'text',
'label' => __( 'Toggle Show text', 'ultimate-member' ),
'placeholder' => __( 'Show privacy policy', 'ultimate-member' ),
'value' => UM()->query()->get_meta_value('_um_register_use_gdpr_toggle_show', null, __( 'Show privacy policy', 'ultimate-member' ) ),
'conditional' => array( '_um_register_use_gdpr', '=', '1' )
),
array(
'id' => '_um_register_use_gdpr_toggle_hide',
'type' => 'text',
'label' => __( 'Toggle Hide text', 'ultimate-member' ),
'placeholder' => __( 'Hide privacy policy', 'ultimate-member' ),
'value' => UM()->query()->get_meta_value('_um_register_use_gdpr_toggle_hide', null, __( 'Hide privacy policy', 'ultimate-member' ) ),
'conditional' => array( '_um_register_use_gdpr', '=', '1' )
),
array(
'id' => '_um_register_use_gdpr_agreement',
'type' => 'text',
'label' => __( 'Checkbox agreement description', 'ultimate-member' ),
'placeholder' => __( 'Please confirm that you agree to our privacy policy', 'ultimate-member' ),
'value' => UM()->query()->get_meta_value('_um_register_use_gdpr_agreement', null, __( 'Please confirm that you agree to our privacy policy', 'ultimate-member' ) ),
'conditional' => array( '_um_register_use_gdpr', '=', '1' )
),
array(
'id' => '_um_register_use_gdpr_error_text',
'type' => 'text',
'label' => __( 'Error Text', 'ultimate-member' ),
'placeholder' => __( 'Please confirm your acceptance of our privacy policy', 'ultimate-member' ),
'value' => UM()->query()->get_meta_value('_um_register_use_gdpr_error_text', null, __( 'Please confirm your acceptance of our privacy policy', 'ultimate-member' ) ),
'conditional' => array( '_um_register_use_gdpr', '=', '1' )
)
)
) )->render_form(); ?>
)->render_form();
?>
<div class="um-admin-clear"></div>
</div>
</div>
+20 -14
View File
@@ -1,27 +1,33 @@
<?php if ( ! defined( 'ABSPATH' ) ) exit;
<?php if ( ! defined( 'ABSPATH' ) ) {
exit;
}
$role = $object['data']; ?>
<div class="um-admin-metabox">
<?php UM()->admin_forms( array(
'class' => 'um-role-publish um-top-label',
'prefix_id' => 'role',
'fields' => array(
array(
'id' => '_um_priority',
'type' => 'text',
'label' => __( 'Role Priority', 'ultimate-member' ),
'tooltip' => __( 'The higher the number, the higher the priority', 'ultimate-member' ),
'value' => ! empty( $role['_um_priority'] ) ? $role['_um_priority'] : '',
<?php
UM()->admin_forms(
array(
'class' => 'um-role-publish um-top-label',
'prefix_id' => 'role',
'fields' => array(
array(
'id' => '_um_priority',
'type' => 'text',
'label' => __( 'Role Priority', 'ultimate-member' ),
'tooltip' => __( 'The higher the number, the higher the priority', 'ultimate-member' ),
'value' => ! empty( $role['_um_priority'] ) ? $role['_um_priority'] : '',
),
),
)
) )->render_form(); ?>
)->render_form();
?>
</div>
<div class="submitbox" id="submitpost">
<div id="major-publishing-actions">
<input type="submit" value="<?php echo ! empty( $_GET['id'] ) ? esc_attr__( 'Update Role', 'ultimate-member' ) : esc_attr__( 'Create Role', 'ultimate-member' ) ?>" class="button-primary" id="create_role" name="create_role">
<input type="submit" value="<?php echo ! empty( $_GET['id'] ) ? esc_attr__( 'Update Role', 'ultimate-member' ) : esc_attr__( 'Create Role', 'ultimate-member' ) ?>" class="button-primary" id="create_role" name="create_role" />
<input type="button" class="cancel_popup button" value="<?php esc_attr_e( 'Cancel', 'ultimate-member' ) ?>" onclick="window.location = '<?php echo add_query_arg( array( 'page' => 'um_roles' ), admin_url( 'admin.php' ) ) ?>';" />
<div class="clear"></div>
</div>
</div>
</div>
+50 -171
View File
@@ -1,4 +1,6 @@
<?php if ( ! defined( 'ABSPATH' ) ) exit;
<?php if ( ! defined( 'ABSPATH' ) ) {
exit;
}
wp_enqueue_script( 'postbox' );
wp_enqueue_media();
@@ -42,7 +44,7 @@ do_action( 'um_roles_add_meta_boxes', 'um_role_meta' );
*/
do_action( 'um_roles_add_meta_boxes_um_role_meta' );
$data = array();
$data = array();
$option = array();
global $wp_roles;
@@ -60,11 +62,11 @@ if ( ! empty( $_GET['id'] ) ) {
if ( ! empty( $_POST['role'] ) ) {
$id = '';
$id = '';
$redirect = '';
$error = '';
$error = '';
if ( 'add' == sanitize_key( $_GET['tab'] ) ) {
if ( 'add' === sanitize_key( $_GET['tab'] ) ) {
if ( ! wp_verify_nonce( $_POST['um_nonce'], 'um-add-role' ) ) {
$error = __( 'Security Issue', 'ultimate-member' ) . '<br />';
}
@@ -76,155 +78,9 @@ if ( ! empty( $_POST['role'] ) ) {
if ( empty( $error ) ) {
$data = $_POST['role'];
$data = UM()->admin()->sanitize_role_meta( $_POST['role'] );
$all_roles = array_keys( UM()->roles()->get_roles() );
if ( array_key_exists( '_um_priority', $data ) ) {
$data['_um_priority'] = (int) $data['_um_priority'];
}
if ( array_key_exists( '_um_can_access_wpadmin', $data ) ) {
$data['_um_can_access_wpadmin'] = (bool) $data['_um_can_access_wpadmin'];
}
if ( array_key_exists( '_um_can_not_see_adminbar', $data ) ) {
$data['_um_can_not_see_adminbar'] = (bool) $data['_um_can_not_see_adminbar'];
}
if ( array_key_exists( '_um_can_edit_everyone', $data ) ) {
$data['_um_can_edit_everyone'] = (bool) $data['_um_can_edit_everyone'];
}
if ( array_key_exists( '_um_can_edit_roles', $data ) && ! empty( $data['_um_can_edit_roles'] ) ) {
$data['_um_can_edit_roles'] = array_filter( $data['_um_can_edit_roles'], function( $v, $k ) use ( $all_roles ) {
return in_array( $v, $all_roles );
}, ARRAY_FILTER_USE_BOTH );
}
if ( array_key_exists( '_um_can_delete_everyone', $data ) ) {
$data['_um_can_delete_everyone'] = (bool) $data['_um_can_delete_everyone'];
}
if ( array_key_exists( '_um_can_delete_roles', $data ) && ! empty( $data['_um_can_delete_roles'] ) ) {
$data['_um_can_delete_roles'] = array_filter( $data['_um_can_delete_roles'], function( $v, $k ) use ( $all_roles ) {
return in_array( $v, $all_roles );
}, ARRAY_FILTER_USE_BOTH );
}
if ( array_key_exists( '_um_can_edit_profile', $data ) ) {
$data['_um_can_edit_profile'] = (bool) $data['_um_can_edit_profile'];
}
if ( array_key_exists( '_um_can_delete_profile', $data ) ) {
$data['_um_can_delete_profile'] = (bool) $data['_um_can_delete_profile'];
}
if ( array_key_exists( '_um_can_view_all', $data ) ) {
$data['_um_can_view_all'] = (bool) $data['_um_can_view_all'];
}
if ( array_key_exists( '_um_can_view_roles', $data ) && ! empty( $data['_um_can_view_roles'] ) ) {
$data['_um_can_view_roles'] = array_filter( $data['_um_can_view_roles'], function( $v, $k ) use ( $all_roles ) {
return in_array( $v, $all_roles );
}, ARRAY_FILTER_USE_BOTH );
}
if ( array_key_exists( '_um_can_make_private_profile', $data ) ) {
$data['_um_can_make_private_profile'] = (bool) $data['_um_can_make_private_profile'];
}
if ( array_key_exists( '_um_can_access_private_profile', $data ) ) {
$data['_um_can_access_private_profile'] = (bool) $data['_um_can_access_private_profile'];
}
if ( array_key_exists( '_um_profile_noindex', $data ) ) {
$data['_um_profile_noindex'] = $data['_um_profile_noindex'] !== '' ? (bool) $data['_um_profile_noindex'] : $data['_um_profile_noindex'];
}
if ( array_key_exists( '_um_default_homepage', $data ) ) {
$data['_um_default_homepage'] = (bool) $data['_um_default_homepage'];
}
if ( array_key_exists( '_um_redirect_homepage', $data ) ) {
$data['_um_redirect_homepage'] = esc_url_raw( $data['_um_redirect_homepage'] );
}
if ( array_key_exists( '_um_status', $data ) ) {
$data['_um_status'] = ! in_array( sanitize_key( $data['_um_status'] ), [ 'approved', 'checkmail', 'pending' ] ) ? 'approved' : sanitize_key( $data['_um_status'] );
}
if ( array_key_exists( '_um_auto_approve_act', $data ) ) {
$data['_um_auto_approve_act'] = ! in_array( sanitize_key( $data['_um_auto_approve_act'] ), [ 'redirect_profile', 'redirect_url' ] ) ? 'redirect_profile' : sanitize_key( $data['_um_auto_approve_act'] );
}
if ( array_key_exists( '_um_auto_approve_url', $data ) ) {
$data['_um_auto_approve_url'] = esc_url_raw( $data['_um_auto_approve_url'] );
}
if ( array_key_exists( '_um_login_email_activate', $data ) ) {
$data['_um_login_email_activate'] = (bool) $data['_um_login_email_activate'];
}
if ( array_key_exists( '_um_checkmail_action', $data ) ) {
$data['_um_checkmail_action'] = ! in_array( sanitize_key( $data['_um_checkmail_action'] ), [ 'show_message', 'redirect_url' ] ) ? 'show_message' : sanitize_key( $data['_um_checkmail_action'] );
}
if ( array_key_exists( '_um_checkmail_message', $data ) ) {
$data['_um_checkmail_message'] = sanitize_textarea_field( $data['_um_checkmail_message'] );
}
if ( array_key_exists( '_um_checkmail_url', $data ) ) {
$data['_um_checkmail_url'] = esc_url_raw( $data['_um_checkmail_url'] );
}
if ( array_key_exists( '_um_url_email_activate', $data ) ) {
$data['_um_url_email_activate'] = esc_url_raw( $data['_um_url_email_activate'] );
}
if ( array_key_exists( '_um_pending_action', $data ) ) {
$data['_um_pending_action'] = ! in_array( sanitize_key( $data['_um_pending_action'] ), [ 'show_message', 'redirect_url' ] ) ? 'show_message' : sanitize_key( $data['_um_pending_action'] );
}
if ( array_key_exists( '_um_pending_message', $data ) ) {
$data['_um_pending_message'] = sanitize_textarea_field( $data['_um_pending_message'] );
}
if ( array_key_exists( '_um_pending_url', $data ) ) {
$data['_um_pending_url'] = esc_url_raw( $data['_um_pending_url'] );
}
if ( array_key_exists( '_um_after_login', $data ) ) {
$data['_um_after_login'] = ! in_array( sanitize_key( $data['_um_after_login'] ), [ 'redirect_profile', 'redirect_url', 'refresh', 'redirect_admin' ] ) ? 'redirect_profile' : sanitize_key( $data['_um_after_login'] );
}
if ( array_key_exists( '_um_login_redirect_url', $data ) ) {
$data['_um_login_redirect_url'] = esc_url_raw( $data['_um_login_redirect_url'] );
}
if ( array_key_exists( '_um_after_logout', $data ) ) {
$data['_um_after_logout'] = ! in_array( sanitize_key( $data['_um_after_logout'] ), [ 'redirect_home', 'redirect_url' ] ) ? 'redirect_home' : sanitize_key( $data['_um_after_logout'] );
}
if ( array_key_exists( '_um_logout_redirect_url', $data ) ) {
$data['_um_logout_redirect_url'] = esc_url_raw( $data['_um_logout_redirect_url'] );
}
if ( array_key_exists( '_um_after_delete', $data ) ) {
$data['_um_after_delete'] = ! in_array( sanitize_key( $data['_um_after_delete'] ), [ 'redirect_home', 'redirect_url' ] ) ? 'redirect_home' : sanitize_key( $data['_um_after_delete'] );
}
if ( array_key_exists( '_um_delete_redirect_url', $data ) ) {
$data['_um_delete_redirect_url'] = esc_url_raw( $data['_um_delete_redirect_url'] );
}
if ( array_key_exists( 'wp_capabilities', $data ) && ! empty( $data['wp_capabilities'] ) ) {
$data['wp_capabilities'] = array_map( 'boolval', array_filter( $data['wp_capabilities'] ) );
}
$data = apply_filters( 'um_save_role_meta_sanitize', $data );
if ( 'add' == sanitize_key( $_GET['tab'] ) ) {
if ( 'add' === sanitize_key( $_GET['tab'] ) ) {
$data['name'] = trim( esc_html( strip_tags( $data['name'] ) ) );
@@ -237,11 +93,11 @@ if ( ! empty( $_POST['role'] ) ) {
} else {
$auto_increment = UM()->options()->get( 'custom_roles_increment' );
$auto_increment = ! empty( $auto_increment ) ? $auto_increment : 1;
$id = 'custom_role_' . $auto_increment;
$id = 'custom_role_' . $auto_increment;
}
$redirect = add_query_arg( array( 'page'=>'um_roles', 'tab'=>'edit', 'id'=>$id, 'msg'=>'a' ), admin_url( 'admin.php' ) );
} elseif ( 'edit' == sanitize_key( $_GET['tab'] ) && ! empty( $_GET['id'] ) ) {
} elseif ( 'edit' === sanitize_key( $_GET['tab'] ) && ! empty( $_GET['id'] ) ) {
$id = sanitize_key( $_GET['id'] );
$pre_role_meta = get_option( "um_role_{$id}_meta", array() );
@@ -254,16 +110,16 @@ if ( ! empty( $_POST['role'] ) ) {
$all_roles = array_keys( get_editable_roles() );
if ( 'add' == sanitize_key( $_GET['tab'] ) ) {
if ( in_array( 'um_' . $id, $all_roles ) || in_array( $id, $all_roles ) ) {
if ( 'add' === sanitize_key( $_GET['tab'] ) ) {
if ( in_array( 'um_' . $id, $all_roles, true ) || in_array( $id, $all_roles, true ) ) {
$error .= __( 'Role already exists!', 'ultimate-member' ) . '<br />';
}
}
if ( '' == $error ) {
if ( '' === $error ) {
if ( 'add' == sanitize_key( $_GET['tab'] ) ) {
$roles = get_option( 'um_roles', array() );
if ( 'add' === sanitize_key( $_GET['tab'] ) ) {
$roles = get_option( 'um_roles', array() );
$roles[] = $id;
update_option( 'um_roles', $roles );
@@ -297,14 +153,30 @@ $screen_id = $current_screen->id; ?>
<div class="wrap">
<h2>
<?php echo ( 'add' == sanitize_key( $_GET['tab'] ) ) ? __( 'Add New Role', 'ultimate-member' ) : __( 'Edit Role', 'ultimate-member' ) ?>
<?php if ( 'edit' == sanitize_key( $_GET['tab'] ) ) { ?>
<a class="add-new-h2" href="<?php echo esc_url( add_query_arg( array( 'page' => 'um_roles', 'tab' => 'add' ), admin_url( 'admin.php' ) ) ) ?>"><?php _e( 'Add New', 'ultimate-member' ) ?></a>
<?php } ?>
<?php
if ( 'add' === sanitize_key( $_GET['tab'] ) ) {
esc_html_e( 'Add New Role', 'ultimate-member' );
} elseif ( 'edit' === sanitize_key( $_GET['tab'] ) ) {
esc_html_e( 'Edit Role', 'ultimate-member' );
$add_new_link = add_query_arg(
array(
'page' => 'um_roles',
'tab' => 'add',
),
admin_url( 'admin.php' )
);
?>
<a class="add-new-h2" href="<?php echo esc_url( $add_new_link ); ?>">
<?php esc_html_e( 'Add New', 'ultimate-member' ); ?>
</a>
<?php
}
?>
</h2>
<?php if ( ! empty( $_GET['msg'] ) ) {
switch( sanitize_key( $_GET['msg'] ) ) {
<?php
if ( ! empty( $_GET['msg'] ) ) {
switch ( sanitize_key( $_GET['msg'] ) ) {
case 'a':
echo '<div id="message" class="updated fade"><p>' . __( 'User Role <strong>Added</strong> Successfully.', 'ultimate-member' ) . '</p></div>';
break;
@@ -316,13 +188,13 @@ $screen_id = $current_screen->id; ?>
if ( ! empty( $error ) ) { ?>
<div id="message" class="error fade">
<p><?php echo $error ?></p>
<p><?php echo $error; ?></p>
</div>
<?php } ?>
<form id="um_edit_role" action="" method="post">
<input type="hidden" name="role[id]" value="<?php echo isset( $_GET['id'] ) ? esc_attr( sanitize_key( $_GET['id'] ) ) : '' ?>" />
<?php if ( 'add' == sanitize_key( $_GET['tab'] ) ) { ?>
<?php if ( 'add' === sanitize_key( $_GET['tab'] ) ) { ?>
<input type="hidden" name="role[_um_is_custom]" value="1" />
<input type="hidden" name="um_nonce" value="<?php echo esc_attr( wp_create_nonce( 'um-add-role' ) ) ?>" />
<?php } else { ?>
@@ -335,7 +207,7 @@ $screen_id = $current_screen->id; ?>
<div id="post-body-content">
<div id="titlediv">
<div id="titlewrap">
<?php if ( 'add' == sanitize_key( $_GET['tab'] ) ) { ?>
<?php if ( 'add' === sanitize_key( $_GET['tab'] ) ) { ?>
<label for="title" class="screen-reader-text"><?php _e( 'Title', 'ultimate-member' ) ?></label>
<input type="text" name="role[name]" placeholder="<?php esc_attr_e( 'Enter Title Here', 'ultimate-member' ) ?>" id="title" value="<?php echo isset( $data['name'] ) ? $data['name'] : '' ?>" />
<?php } else { ?>
@@ -345,11 +217,18 @@ $screen_id = $current_screen->id; ?>
</div>
</div>
<?php
$object = array(
'data' => $data,
'option' => $option,
);
?>
<div id="postbox-container-1" class="postbox-container">
<?php do_meta_boxes( 'um_role_meta', 'side', array( 'data' => $data, 'option' => $option ) ); ?>
<?php do_meta_boxes( 'um_role_meta', 'side', $object ); ?>
</div>
<div id="postbox-container-2" class="postbox-container">
<?php do_meta_boxes( 'um_role_meta', 'normal', array( 'data' => $data, 'option' => $option ) ); ?>
<?php do_meta_boxes( 'um_role_meta', 'normal', $object ); ?>
</div>
</div>
</div>
@@ -51,7 +51,8 @@
</span>
<?php $role = $object['data'];
<?php
$role = $object['data'];
$role_capabilities = ! empty( $role['wp_capabilities'] ) ? array_keys( $role['wp_capabilities'] ) : array( 'read' );
if ( ! empty( $_GET['id'] ) ) {
@@ -89,4 +90,4 @@
)
)
) )->render_form(); ?>
</div>
</div>