public function registration($params) { // Loading scripts and styles only when required /* Password Stregth Checker Script */ if (!wp_script_is('form-validate')) { wp_register_script('form-validate', upme_url . 'js/form-validate.js', array('jquery')); wp_enqueue_script('form-validate'); $validate_strings = upme_form_validate_setting(); wp_localize_script('form-validate', 'Validate', $validate_strings); } // Include password strength meter from WordPress core wp_enqueue_script('password-strength-meter'); if (!wp_style_is('upme_password_meter')) { wp_register_style('upme_password_meter', upme_url . 'css/password-meter.css'); wp_enqueue_style('upme_password_meter'); } if (!wp_style_is('upme_date_picker')) { wp_register_style('upme_date_picker', upme_url . 'css/upme-datepicker.css'); wp_enqueue_style('upme_date_picker'); } if (!wp_script_is('upme_date_picker_js')) { wp_register_script('upme_date_picker_js', upme_url . 'js/upme-datepicker.js', array('jquery')); wp_enqueue_script('upme_date_picker_js'); // Set date picker default settings $date_picker_array = upme_date_picker_setting(); wp_localize_script('upme_date_picker_js', 'UPMEDatePicker', $date_picker_array); } do_action('upme_add_registration_scripts'); }
function add_styles($current_page_hook) { $current_option = get_option('upme_options'); /* admin panel css */ wp_register_style('upme_admin', upme_url . 'admin/css/upme-admin.css'); wp_enqueue_style('upme_admin'); if (!wp_script_is('upme_admin_tipsy_js') && '0' == $current_option['disable_tipsy_script_styles']) { wp_register_script('upme_admin_tipsy_js', upme_url . 'js/jquery.tipsy.js', array('jquery')); wp_enqueue_script('upme_admin_tipsy_js'); } if (!wp_script_is('upme_admin_tipsy') && '0' == $current_option['disable_tipsy_script_styles']) { wp_register_style('upme_admin_tipsy', upme_url . 'css/tipsy.css'); wp_enqueue_style('upme_admin_tipsy'); } wp_register_script('upme_admin', upme_url . 'admin/js/upme-admin.js'); wp_enqueue_script('upme_admin'); // Add scripts for various modules wp_register_script('upme_admin_modules', upme_url . 'admin/js/upme-admin-modules.js'); wp_enqueue_script('upme_admin_modules'); $admin_options_array = array('profileKey' => __('New Custom Meta Key', 'upme'), 'separatorKey' => __('Meta Key', 'upme'), 'profileLabel' => __('Label', 'upme'), 'separatorLabel' => __('Separator Text', 'upme'), 'profileHelp' => PROFILE_HELP, 'separatorHelp' => SEPARATOR_HELP, 'AdminAjax' => admin_url('admin-ajax.php'), 'savingSetting' => __('Saving...', 'upme'), 'saveSetting' => __('Save Changes', 'upme'), 'resettingSetting' => __('Resetting...', 'upme'), 'resetSetting' => __('Reset Options', 'upme'), 'adminURL' => get_admin_url('', 'admin.php?page=upme-settings'), 'fieldDeleteConfirm' => __('Are you sure you want to delete this field?', 'upme'), 'cacheCompletedUsers' => __('users Completed', 'upme'), 'fieldUpdateProcessing' => __(' Processing.....', 'upme'), 'fieldUpdateCompleted' => __(' Update Completed', 'upme'), 'customFileFieldTypes' => $this->custom_file_field_types); wp_localize_script('upme_admin', 'UPMEAdmin', $admin_options_array); $admin_modules_options_array = array('AdminAjax' => admin_url('admin-ajax.php'), 'adminURL' => get_admin_url('', 'admin.php?page=upme-modules'), 'userRoleRequired' => __('User role is required.', 'upme'), 'redirectURLRequired' => __('Redirect URL is required.', 'upme'), 'pageRequired' => __('Restricted Pages are required.', 'upme'), 'postRequired' => __('Restricted Posts are required.', 'upme'), 'categoriesRequired' => __('Restricted Categories are required.', 'upme'), 'savingResRule' => __('Adding Restriction Rule', 'upme'), 'saveResRule' => __('Add Restriction Rule', 'upme'), 'savingSetting' => __('Saving...', 'upme'), 'saveSetting' => __('Save Changes', 'upme'), 'resettingSetting' => __('Resetting...', 'upme'), 'resetSetting' => __('Reset Options', 'upme'), 'emailTitleRequired' => __('Email Template Title is required', 'upme'), 'emailSubjectRequired' => __('Email Subject is required', 'upme'), 'downloadFields' => __('Downloading Fields', 'upme'), 'downloadSettings' => __('Downloading Settings', 'upme')); wp_localize_script('upme_admin_modules', 'UPMEAdminModules', $admin_modules_options_array); wp_register_style('upme_font_awesome', upme_url . 'css/font-awesome.min.css'); wp_enqueue_style('upme_font_awesome'); /* google fonts */ if ('0' == $current_option['disable_opensans_google_font']) { wp_register_style('upme_google_fonts', '//fonts.googleapis.com/css?family=Open+Sans:400italic,700italic,400,700&subset=latin,latin-ext'); wp_enqueue_style('upme_google_fonts'); } /* Drag & Drop */ //wp_register_script('upme_drag_drop', upme_url . 'admin/js/drag-drop.js'); //wp_enqueue_script('upme_drag_drop'); wp_enqueue_script('jquery-ui-sortable'); /* Tabify */ wp_register_script('upme_tabify', upme_url . 'admin/js/upme-tabify.js', array('jquery', 'upme_admin')); wp_enqueue_script('upme_tabify'); if ('profile.php' == $current_page_hook || 'user-edit.php' == $current_page_hook) { wp_register_style('upme_date_picker', upme_url . 'css/upme-datepicker.css'); wp_enqueue_style('upme_date_picker'); wp_register_script('upme_date_picker_js', upme_url . 'js/upme-datepicker.js', array('jquery')); wp_enqueue_script('upme_date_picker_js'); wp_localize_script('upme_date_picker_js', 'UPMEDatePicker', upme_date_picker_setting()); } $lang_strings = upme_tinymce_language_setting(); wp_register_script('upme_tmce', upme_url . 'admin/js/tinymce_language_strings.js'); wp_enqueue_script('upme_tmce'); wp_localize_script('upme_tmce', 'UPMETmce', $lang_strings); // Add scripts for chosen library wp_register_script('upme_chosen_js', upme_url . 'admin/js/chosen/chosen.jquery.js'); wp_enqueue_script('upme_chosen_js'); wp_register_style('upme_chosen_css', upme_url . 'admin/js/chosen/chosen.css'); wp_enqueue_style('upme_chosen_css'); do_action('upme_admin_add_styles'); }
/** * Adds custom forms to the registration forms. */ function upme_login_head() { wp_register_style('upme_login_style', upme_url . 'registration/upme-register.css'); wp_enqueue_style('upme_login_style'); wp_register_style('upme_date_picker', upme_url . 'css/upme-datepicker.css'); wp_enqueue_style('upme_date_picker'); wp_register_script('upme_date_picker_js', upme_url . 'js/upme-datepicker.js', array('jquery')); wp_enqueue_script('upme_date_picker_js'); wp_localize_script('upme_date_picker_js', 'UPMEDatePicker', upme_date_picker_setting()); }
function display($args = array()) { global $post, $wp_query, $upme_options; $current_option = $upme_options->upme_settings; // Loading CSS and Script only when required /* Tipsy script */ if (!wp_script_is('upme_tipsy') && '0' == $current_option['disable_tipsy_script_styles']) { wp_register_script('upme_tipsy', upme_url . 'js/jquery.tipsy.js', array('jquery')); wp_enqueue_script('upme_tipsy'); } /* Tipsy css */ if (!wp_style_is('upme_tipsy') && '0' == $current_option['disable_tipsy_script_styles']) { wp_register_style('upme_tipsy', upme_url . 'css/tipsy.css'); wp_enqueue_style('upme_tipsy'); } /* date_picker */ if (!wp_style_is('upme_date_picker')) { wp_register_style('upme_date_picker', upme_url . 'css/upme-datepicker.css'); wp_enqueue_style('upme_date_picker'); } if (!wp_script_is('upme_date_picker_js')) { wp_register_script('upme_date_picker_js', upme_url . 'js/upme-datepicker.js', array('jquery')); wp_enqueue_script('upme_date_picker_js'); wp_localize_script('upme_date_picker_js', 'UPMEDatePicker', upme_date_picker_setting()); } // Set date picker default settings $date_picker_array = upme_date_picker_setting(); wp_localize_script('upme_date_picker_js', 'UPMEDatePicker', $date_picker_array); /* Capture logged in user ID */ if (is_user_logged_in()) { $current_user = wp_get_current_user(); if ($current_user instanceof WP_User) { $this->logged_in_user = $current_user->ID; } } /* Arguments */ $defaults = array('id' => null, 'group' => null, 'width' => 1, 'view' => null, 'show_stats' => null, 'show_social_bar' => null, 'use_in_sidebar' => null, 'users_per_page' => '50', 'hide_until_search' => null, 'orderby' => 'registered', 'order' => 'desc', 'orderby_custom' => false, 'show_id' => false, 'role' => null, 'group_meta' => null, 'group_meta_value' => null, 'recent_posts' => null, 'logout_redirect' => null, 'new_window' => null, 'modal' => null, 'modal_view' => null, 'show_role' => false, 'show_profile_status' => false, 'show_result_count' => false, 'display' => 'yes', 'limit_results' => false, 'hide_admins' => false, 'name' => wp_generate_password(12, false), 'show_random' => 'no', 'result_range_start' => false, 'result_range_count' => false); $args = wp_parse_args($args, $defaults); $this->upme_args = $args; extract($args, EXTR_SKIP); $this->profile_show_status = $show_profile_status; $this->profile_show_id = $show_id; $this->profile_show_role = $show_role; $this->profile_order_field = $orderby; $this->profile_orderby_custom_status = $orderby_custom; $this->show_random = $show_random; $this->result_range_start = $result_range_start; $this->result_range_count = $result_range_count; $this->profile_order = 'asc'; if (strtolower($order) == 'asc' || strtolower($order) == 'desc') { $this->profile_order = $order; } $this->profile_role = $role; $this->hide_admin_role = $hide_admins; /* Set form name for allowing multiple profile forms through filters */ $this->profile_form_name = $name; $sidebar_class = null; if ($use_in_sidebar) { $sidebar_class = 'upme-sidebar'; } $curauth = get_query_var('author_name') ? get_user_by('slug', get_query_var('author_name')) : get_userdata(get_query_var('author')); /* Using group shuts down id */ if (!$group) { $this->author_filtering_status = false; if ($id == 'author' && isset($post->post_author)) { $this->author_filtering_status = true; $id = $post->post_author; } else { if ($id == 'author' && isset($curauth->ID)) { $this->author_filtering_status = true; $id = $curauth->ID; } elseif ($this->user_exists($id)) { $id = $id; } elseif (isset($_REQUEST['viewuser']) && $this->user_exists($_REQUEST['viewuser']) && !$use_in_sidebar) { $id = $_REQUEST['viewuser']; } elseif (isset($_REQUEST['username']) && !$use_in_sidebar) { // View profiles by username in default permalinks $userdata = get_user_by('login', $_REQUEST['username']); if ($userdata != false) { $id = $userdata->data->ID; } } elseif (isset($wp_query->query_vars['upme_profile_filter']) && !$use_in_sidebar) { // View profiles by username/user id in custom permalinks $upme_profile_filter_value = $wp_query->query_vars['upme_profile_filter']; $upme_profile_filter_value = str_replace('-at-', '@', urldecode($upme_profile_filter_value)); if (isset($current_option['profile_url_type']) && 2 == $current_option['profile_url_type']) { $userdata = get_user_by('login', $upme_profile_filter_value); if ($userdata != false) { $id = $userdata->data->ID; } } else { $id = $upme_profile_filter_value; } } else { // Current logged ins users profile being viewed $id = $this->logged_in_user; } } // Set the user ID of currently viewed profile $this->current_view_profile_id = $id; // Prevent restriction of logged in users profile $restrict_setting_status = false; if (is_user_logged_in()) { $restrict_setting_status = $this->restricted_user_profile($this->logged_in_user, $this->get_option('users_can_view')); } if ($id == $this->logged_in_user) { $restrict_setting_status = false; } } /* Execute the shortcode and hide the profile. This should be used to get the * user ID of current viewed profile and execute additonal features */ if (!($display == 'yes' || $display == 'true')) { return; } /* If no ID is set, normally logged out */ /* He must login to view his profile. */ if (!$group) { // Check and display messages for INACTIVE profiles $current_profile_status = esc_attr(get_the_author_meta('upme_user_profile_status', $id)); if ($current_option['profile_view_status'] && 'INACTIVE' == $current_profile_status && !$this->can_edit_profile($this->logged_in_user, $id)) { $profile_status_message = $current_option['html_profile_status_msg']; return $profile_status_message; } // Check and display messages for profiles with pending approval $current_approval_status = esc_attr(get_the_author_meta('upme_approval_status', $id)); if ($current_option['profile_approval_status'] && 'INACTIVE' == $current_approval_status && !$this->can_edit_profile($this->logged_in_user, $id)) { $profile_status_message = $current_option['html_profile_approval_pending_msg']; return $profile_status_message; } // Check and display messages for profiles with pending activation $current_activation_status = esc_attr(get_the_author_meta('upme_activation_status', $id)); if ($current_option['set_email_confirmation'] && 'INACTIVE' == $current_activation_status && !$this->can_edit_profile($this->logged_in_user, $id)) { $profile_status_message = __('This account is pending activation.', 'upme'); return $profile_status_message; } if ($id == null && !is_user_logged_in()) { return $this->login_to_view_your_profile(); } elseif ($id && !is_user_logged_in() && !$this->guests_can_view()) { return $this->login_to_view_profile(); } elseif (!is_numeric($id)) { return $this->upme_invalid_user_profile(); } elseif (is_numeric($id) && !get_user_by('id', $id)) { return $this->upme_invalid_user_profile(); } else { return $this->view_profile($id, $width, $view, $group, $show_stats, $show_social_bar, $use_in_sidebar, $users_per_page, null, $role, $recent_posts, $logout_redirect, $new_window, $modal, $modal_view, $show_result_count, $limit_results); } } /* If group of users is used */ if ($group) { if (!is_user_logged_in() && !$this->guests_can_view()) { return $this->login_to_view_profile(); } else { return $this->view_profile($id, $width, $view, $group, $show_stats, $show_social_bar, $use_in_sidebar, $users_per_page, $hide_until_search, $role, $recent_posts, $logout_redirect, $new_window, $modal, $modal_view, $show_result_count, $limit_results); } } }
function show_registration($args = array()) { global $post, $upme_register; // Loading scripts and styles only when required /* Password Stregth Checker Script */ if (!wp_script_is('form-validate')) { wp_register_script('form-validate', upme_url . 'js/form-validate.js', array('jquery')); wp_enqueue_script('form-validate'); $validate_strings = upme_form_validate_setting(); wp_localize_script('form-validate', 'Validate', $validate_strings); } // Include password strength meter from WordPress core wp_enqueue_script('password-strength-meter'); if (!wp_style_is('upme_password_meter')) { wp_register_style('upme_password_meter', upme_url . 'css/password-meter.css'); wp_enqueue_style('upme_password_meter'); } if (!wp_style_is('upme_date_picker')) { wp_register_style('upme_date_picker', upme_url . 'css/upme-datepicker.css'); wp_enqueue_style('upme_date_picker'); } if (!wp_script_is('upme_date_picker_js')) { wp_register_script('upme_date_picker_js', upme_url . 'js/upme-datepicker.js', array('jquery')); wp_enqueue_script('upme_date_picker_js'); // Set date picker default settings $date_picker_array = upme_date_picker_setting(); wp_localize_script('upme_date_picker_js', 'UPMEDatePicker', $date_picker_array); } do_action('upme_add_registration_scripts'); /* Arguments */ $defaults = array('use_in_sidebar' => null, 'redirect_to' => null, 'captcha' => 'no', 'name' => wp_generate_password(12, false), 'user_role' => null); $args = wp_parse_args($args, $defaults); extract($args, EXTR_SKIP); $pic_class = 'upme-pic'; if (is_safari()) { $pic_class = 'upme-pic safari'; } // Default set to blank $this->captcha = ''; if (isset($captcha)) { $this->captcha = $captcha; } $sidebar_class = null; if ($use_in_sidebar) { $sidebar_class = 'upme-sidebar'; } /* Set registration user role on individual registration forms */ $this->registration_user_role = $user_role; /* Set form name for allowing multiple registration forms through filters */ $this->registration_form_name = $name; $display = null; if (get_option('users_can_register') == '1') { /* Get errors */ if (isset($_POST['upme-register-form'])) { $display_errors = $upme_register->get_errors(); } $display .= '<div id="upme-registration" class="upme-wrap upme-registration ' . $sidebar_class . '"> <div class="upme-inner upme-registration-wrapper upme-clearfix">'; // Display the head section for default screen and error messages if (!isset($display_errors['status']) || isset($display_errors['status']) && "error" == $display_errors['status']) { /* UPME Filters for before registration head section */ $display .= apply_filters('upme_register_before_head', ''); // End Filters $display_head = '<div class="upme-head"> <div class="upme-left"> <div class="' . $pic_class . '">'; if (isset($_POST['upme-register']) && $_POST['user_email'] != '') { $display_head .= $this->pic($_POST['user_email'], 50); } else { $display_head .= $this->pic('*****@*****.**', 50); } $display_head .= ' </div>'; $display_head .= ' <div class="upme-name"> <div class="upme-field-name upme-field-name-wide">'; if (isset($_POST['upme-register']) && $_POST['display_name'] != '') { $display_head .= $_POST['display_name']; } else { $display_msg = __('Your display name will appear here.', 'upme'); $display_head .= apply_filters('upme_profile_head_default_message', $display_msg); } $display_head .= ' </div> </div>'; $display_head .= ' </div>'; $display_head .= '<div class="upme-right"></div>'; $display_head .= '<div class="upme-clear"></div> </div>'; /* UPME Filters for customizing head section */ $registration_head_params = array(); $display .= apply_filters('upme_registration_head', $display_head, $registration_head_params); // End Filters } /* UPME Filters for after registration head section */ $display .= apply_filters('upme_register_after_head', ''); // End Filters $display .= ' <div class="upme-main"> <div class="upme-errors" style="display:none;" id="pass_err_holder"> <span class="upme-error upme-error-block" id="pass_err_block"> <i class="upme-icon upme-icon-remove"></i>Please enter a username. </span> </div> '; /* Display errors */ if (isset($_POST['upme-register-form'])) { $display .= $display_errors['display']; } $display .= $this->show_register_form($sidebar_class, $redirect_to, $user_role, $this->registration_form_name); $display .= '</div>'; /* UPME Filters for after registration fields section */ $display .= apply_filters('upme_register_after_fields', ''); // End Filters $display .= '</div> </div>'; } else { $display .= '<div id="upme-registration" class="upme-wrap upme-registration ' . $sidebar_class . '"><div class="upme-inner upme-clearfix"><div class="upme-head">'; if ($this->get_option('html_registration_disabled') != '') { $display .= $this->get_option('html_registration_disabled'); } else { $display .= __('User registration is currently not allowed.', 'upme'); } $display .= '</div></div></div>'; } return $display; }