1 && $optgroup_label != '' && !empty($optgroup3)) { $optgroup_start = array(array('label' => $optgroup_label, 'value' => NULL, 'optgroup' => 'start')); $optgroup_end = array(array('label' => $optgroup_label, 'value' => NULL, 'optgroup' => 'end')); $optgroup3 = array_merge($optgroup_start, $optgroup3, $optgroup_end); } $options = array_merge($options, $optgroup3); } } else { $optgroup1 = uwp_string_to_options($optgroup, $translated); $options = array_merge($options, $optgroup1); } } } else { $options = uwp_string_to_options($option_values, $translated); } return $options; } /** * Converts string value to options array. * Used in select, multiselect and radio fields. * * @since 1.0.0 * @package userswp * * @param string $input Input String * @param bool $translated Do you want to translate the output? * * @return array Options array. */ function uwp_string_to_options($input = '', $translated = false) { $return = array(); if ($input != '') { $input = trim($input); $input = rtrim($input, ","); $input = ltrim($input, ","); $input = trim($input); } $input_arr = explode(',', $input); if (!empty($input_arr)) { foreach ($input_arr as $input_str) { $input_str = trim($input_str); if (strpos($input_str, "/") !== false) { $input_str = explode("/", $input_str, 2); $label = trim($input_str[0]); if ($translated && $label != '') { $label = __($label, 'userswp'); } $label = ucfirst($label); $value = trim($input_str[1]); } else { if ($translated && $input_str != '') { $input_str = __($input_str, 'userswp'); } $label = ucfirst($input_str); $value = $input_str; } if ($label != '') { $return[] = array('label' => $label, 'value' => $value, 'optgroup' => NULL); } } } return $return; } /** * Resizes the image. * * @since 1.0.0 * @package userswp * * @param string $image Reference a local file * @param int $width Image width * @param int $height Image height * @param float $scale Image scale ratio. * * @return mixed Resized image. */ function uwp_resizeImage($image,$width,$height,$scale) { /** @noinspection PhpUnusedLocalVariableInspection */ list($imagewidth, $imageheight, $imageType) = getimagesize($image); $imageType = image_type_to_mime_type($imageType); $newImageWidth = ceil($width * $scale); $newImageHeight = ceil($height * $scale); $newImage = imagecreatetruecolor($newImageWidth,$newImageHeight); $source = false; switch($imageType) { case "image/gif": $source=imagecreatefromgif($image); break; case "image/pjpeg": case "image/jpeg": case "image/jpg": $source=imagecreatefromjpeg($image); break; case "image/png": case "image/x-png": $source=imagecreatefrompng($image); break; } imagecopyresampled($newImage,$source,0,0,0,0,$newImageWidth,$newImageHeight,$width,$height); switch($imageType) { case "image/gif": imagegif($newImage,$image); break; case "image/pjpeg": case "image/jpeg": case "image/jpg": imagejpeg($newImage,$image,90); break; case "image/png": case "image/x-png": imagepng($newImage,$image); break; } chmod($image, 0777); return $image; } /** * Resizes thumbnail image. * * @since 1.0.0 * @package userswp * * @param string $thumb_image_name * @param string $image * @param int $x x-coordinate of source point. * @param int $y y-coordinate of source point. * @param int $src_w Source width. * @param int $src_h Source height. * @param float $scale Image scale ratio. * * @return mixed Resized image. */ function uwp_resizeThumbnailImage($thumb_image_name, $image, $x, $y, $src_w, $src_h, $scale){ // ignore image createion warnings @ini_set('gd.jpeg_ignore_warning', 1); /** @noinspection PhpUnusedLocalVariableInspection */ list($imagewidth, $imageheight, $imageType) = getimagesize($image); $imageType = image_type_to_mime_type($imageType); $newImageWidth = ceil($src_w * $scale); $newImageHeight = ceil($src_h * $scale); $newImage = imagecreatetruecolor($newImageWidth,$newImageHeight); $source = false; switch($imageType) { case "image/gif": $source=imagecreatefromgif($image); break; case "image/pjpeg": case "image/jpeg": case "image/jpg": $source=imagecreatefromjpeg($image); break; case "image/png": case "image/x-png": $source=imagecreatefrompng($image); break; } imagecopyresampled($newImage,$source,0,0,$x,$y,$newImageWidth, $newImageHeight, $src_w, $src_h); switch($imageType) { case "image/gif": imagegif($newImage, $thumb_image_name); break; case "image/pjpeg": case "image/jpeg": case "image/jpg": imagejpeg($newImage, $thumb_image_name, 100); break; case "image/png": case "image/x-png": imagepng($newImage, $thumb_image_name); break; } chmod($thumb_image_name, 0777); return $thumb_image_name; } /** * Logs the error message. * * @since 1.0.0 * @package userswp * * @param array|object|string $log Error message. * * @return void */ function uwp_error_log($log){ /* * A filter to override the WP_DEBUG setting for function uwp_error_log(). */ $should_log = apply_filters( 'uwp_log_errors', WP_DEBUG); if ( true === $should_log ) { if ( is_array( $log ) || is_object( $log ) ) { error_log( print_r( $log, true ) ); } else { error_log( $log ); } } } /** * Prints the users page main content. * * @since 1.0.0 * @package userswp * * @return void */ function get_uwp_users_list() { global $wpdb; $keyword = false; if (isset($_GET['uwps']) && $_GET['uwps'] != '') { $keyword = stripslashes(strip_tags($_GET['uwps'])); } $sort_by = false; if (isset($_GET['uwp_sort_by']) && $_GET['uwp_sort_by'] != '') { $sort_by = strip_tags(esc_sql($_GET['uwp_sort_by'])); } $paged = ( get_query_var( 'paged' ) ) ? absint( get_query_var( 'paged' ) ) : 1; $number = uwp_get_option('profile_no_of_items', 10); $where = ''; $where = apply_filters('uwp_users_search_where', $where, $keyword); if ($keyword || $where) { if (empty($where)) { $users = $wpdb->get_results($wpdb->prepare( "SELECT DISTINCT SQL_CALC_FOUND_ROWS $wpdb->users.* FROM $wpdb->users INNER JOIN $wpdb->usermeta ON ( $wpdb->users.ID = $wpdb->usermeta.user_id ) WHERE 1=1 AND ( ( $wpdb->usermeta.meta_key = 'first_name' AND $wpdb->usermeta.meta_value LIKE %s ) OR ( $wpdb->usermeta.meta_key = 'last_name' AND $wpdb->usermeta.meta_value LIKE %s ) OR user_login LIKE %s OR user_nicename LIKE %s OR display_name LIKE %s OR user_email LIKE %s ) ORDER BY display_name ASC LIMIT 0, 20", array( '%' . $keyword . '%', '%' . $keyword . '%', '%' . $keyword . '%', '%' . $keyword . '%', '%' . $keyword . '%', '%' . $keyword . '%' ) )); } else { $usermeta_table = uwp_get_table_prefix() . 'uwp_usermeta'; $users = $wpdb->get_results( "SELECT DISTINCT SQL_CALC_FOUND_ROWS $wpdb->users.* FROM $wpdb->users INNER JOIN $usermeta_table ON ( $wpdb->users.ID = $usermeta_table.user_id ) WHERE 1=1 $where ORDER BY display_name ASC LIMIT 0, 20"); } } else { $args = array( 'number' => (int) $number, 'paged' => $paged ); if ($sort_by) { switch ($sort_by) { case "newer": $args['orderby'] = 'registered'; $args['order'] = 'desc'; break; case "older": $args['orderby'] = 'registered'; $args['order'] = 'asc'; break; case "alpha_asc": $args['orderby'] = 'display_name'; $args['order'] = 'asc'; break; case "alpha_desc": $args['orderby'] = 'display_name'; $args['order'] = 'desc'; break; } } $users_query = new WP_User_Query($args); $users = $users_query->get_results(); } $result = count_users(); $total_user = $result['total_users']; $total_pages=ceil($total_user/$number); $layout_class = uwp_get_layout_class(); ?> registered, 'src') ); if ( in_array('font-awesome.css', $srcs) || in_array('font-awesome.min.css', $srcs) ) { /* echo 'font-awesome.css registered'; */ } else { wp_register_style('font-awesome', '//maxcdn.bootstrapcdn.com/font-awesome/4.6.3/css/font-awesome.min.css', array(), null); wp_enqueue_style('font-awesome'); } } else { wp_register_style('font-awesome', '//maxcdn.bootstrapcdn.com/font-awesome/4.6.3/css/font-awesome.min.css', array(), null); wp_enqueue_style('font-awesome'); } } /** * Gets the custom field info for given key. * * @since 1.0.0 * @package userswp * * @param string $htmlvar_name Custom field key. * * @return object Field info. */ function uwp_get_custom_field_info($htmlvar_name) { global $wpdb; $table_name = uwp_get_table_prefix() . 'uwp_form_fields'; $field = $wpdb->get_row($wpdb->prepare("SELECT * FROM " . $table_name . " WHERE htmlvar_name = %s", array($htmlvar_name))); return $field; } /** * Returns the Users page layout class based on the setting. * * @since 1.0.0 * @package userswp * * @return string Layout class. */ function uwp_get_layout_class() { $default_layout = uwp_get_option('users_default_layout', 'list'); switch ($default_layout) { case "list": $class = "uwp_listview"; break; case "2col": $class = "uwp_gridview uwp_gridview_2col"; break; case "3col": $class = "uwp_gridview uwp_gridview_3col"; break; case "4col": $class = "uwp_gridview uwp_gridview_4col"; break; case "5col": $class = "uwp_gridview uwp_gridview_5col"; break; default: $class = "uwp_listview"; } return $class; } add_filter( 'get_user_option_metaboxhidden_nav-menus', 'uwp_always_nav_menu_visibility', 10, 3 ); /** * Filters nav menu visibility option value. * * @since 1.0.0 * @package userswp * * @param mixed $result Value for the user's option. * @param string $option Name of the option being retrieved. * @param WP_User $user WP_User object of the user whose option is being retrieved. * * @return array Filtered value. */ function uwp_always_nav_menu_visibility( $result, $option, $user ) { if( is_array($result) && in_array( 'add-users-wp-nav-menu', $result ) ) { $result = array_diff( $result, array( 'add-users-wp-nav-menu' ) ); } return $result; } add_filter('user_profile_picture_description', 'uwp_admin_user_profile_picture_description'); /** * Filters the user profile picture description displayed under the Gravatar. * * @since 1.0.0 * @package userswp * * @param string $description Profile picture description. * * @return string Modified description. */ function uwp_admin_user_profile_picture_description($description) { if (is_admin() && IS_PROFILE_PAGE) { $user_id = get_current_user_id(); $avatar = uwp_get_usermeta($user_id, 'uwp_account_avatar_thumb', ''); if (!empty($avatar)) { $description = sprintf( __( 'You can change your profile picture on your Profile Page.', 'userswp' ), uwp_build_profile_tab_url( $user_id )); } } return $description; } /** * Adds avatar and banner fields in admin side. * * @since 1.0.0 * @package userswp * * @param object $user User object. * * @return void */ function uwp_admin_edit_banner_fields($user) { global $wpdb; $file_obj = new UsersWP_Files(); $table_name = uwp_get_table_prefix() . 'uwp_form_fields'; $fields = $wpdb->get_results("SELECT * FROM " . $table_name . " WHERE (form_type = 'avatar' OR form_type = 'banner') ORDER BY sort_order ASC"); if ($fields) { ?>
field_icon) { $icon = ''; } else { $icon = ''; } if ($field->field_type == 'fieldset') { ?>

site_title; ?>

site_title; ?> htmlvar_name == "uwp_avatar_file") { $value = uwp_get_usermeta($user->ID, "uwp_account_avatar_thumb", ""); } elseif ($field->htmlvar_name == "uwp_banner_file") { $value = uwp_get_usermeta($user->ID, "uwp_account_banner_thumb", ""); } else { $value = ""; } ?> uwp_file_upload_preview($field, $value); ?> htmlvar_name == "uwp_avatar_file") { if (!empty($value)) { ?> htmlvar_name == "uwp_banner_file") { if (!empty($value)) { ?>
'; $extra_where = "AND is_public='2'"; $fields = get_account_form_fields($extra_where); $fields = apply_filters('uwp_account_privacy_fields', $fields); $user_id = get_current_user_id(); if ($fields || $make_profile_private) { ?>
'; } } add_action('uwp_account_menu_display', 'uwp_add_account_menu_links'); /** * Prints "Edit account" page subtab / submenu links. Ex: Privacy * * @since 1.0.0 * @package userswp * * @return void */ function uwp_add_account_menu_links() { if (isset($_GET['type'])) { $type = strip_tags(esc_sql($_GET['type'])); } else { $type = 'account'; } $account_page = uwp_get_option('account_page', false); $account_page_link = get_permalink($account_page); $account_available_tabs = uwp_account_get_available_tabs(); if (!is_array($account_available_tabs) || count($account_available_tabs) <= 1) { return; } echo '