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(); ?>