function ninja_forms_login_form($redirect_url = '') { global $ninja_forms_redirect_url; $ninja_forms_redirect_url = $redirect_url; // Check to see if the user is logged in. If they are, display a "logout" link rather than the login form. if (is_user_logged_in()) { $logout_url = '<a href="' . wp_logout_url() . '" title="' . __('Logout', 'ninja-forms-feditor') . '">' . __('Logout', 'ninja-forms-feditor') . '</a>'; $logout_url = apply_filters('ninja_forms_logout_link', $logout_url); return $logout_url; } else { // Grab our plugin settings. $plugin_settings = get_option('ninja_forms_settings'); if (isset($plugin_settings['feditor'])) { $feditor_settings = $plugin_settings['feditor']; } else { $feditor_settings = ''; } remove_action('ninja_forms_display_before_fields', 'ninja_forms_display_req_items'); // Check to see if the "lost password" variable has been set. If it has, show the password recovery information. if (isset($_REQUEST['ninja_forms_lost_password']) and $_REQUEST['ninja_forms_lost_password'] == 1) { $form = ninja_forms_lost_password_form(); } else { // Return our login form. $form_id = $feditor_settings['_login_form']; add_action('ninja_forms_display_after_fields', 'ninja_forms_login_hidden_field'); add_action('ninja_forms_display_after_fields', 'ninja_forms_login_forgot_pass'); add_action('ninja_forms_display_after_fields', 'ninja_forms_login_register_link'); if ($redirect_url != '') { add_action('ninja_forms_display_after_fields', 'ninja_forms_login_redirect_url'); } $form = ninja_forms_return_echo('ninja_forms_display_form', $form_id); $form = apply_filters('ninja_forms_login_form', $form, $form_id); } return $form; } }
function ninja_forms_reset_password_form() { if (is_user_logged_in()) { // If our user is logged in, show a logout link. $logout_url = '<a href="' . wp_logout_url() . '" title="' . __('Logout', 'ninja-forms-feditor') . '">' . __('Logout', 'ninja-forms-feditor') . '</a>'; $logout_url = apply_filters('ninja_forms_logout_link', $logout_url); return $logout_url; } else { // Our user isn't logged in, so test to see if they've got a valid key/login pair. // Grab out plugin settings. $plugin_settings = get_option('ninja_forms_settings'); if (isset($plugin_settings['feditor'])) { $feditor_settings = $plugin_settings['feditor']; } else { $feditor_settings = ''; } $reset = false; // Make sure that we have an action set and that it is 'rp' if (isset($_REQUEST['ninja_forms_action']) and $_REQUEST['ninja_forms_action'] == 'rp') { if (isset($_REQUEST['ninja_forms_key'])) { $key = $_REQUEST['ninja_forms_key']; } else { $key = ''; } if (isset($_REQUEST['ninja_forms_login'])) { $login = $_REQUEST['ninja_forms_login']; } else { $login = ''; } if ($key != '' and $login != '') { $rp_keys = get_option('ninja_forms_rp_keys'); if (is_array($rp_keys) and !empty($rp_keys)) { for ($x = 0; $x < count($rp_keys); $x++) { if ($rp_keys[$x]['key'] == $key and $rp_keys[$x]['login'] == $login) { $reset = true; break; } } } } } if ($reset) { // Our user has a valid key/login pair if (isset($feditor_settings['_reset_password'])) { $form_id = $feditor_settings['_reset_password']; // Add reset password processing. add_action('ninja_forms_display_after_fields', 'ninja_forms_reset_password_hidden_field'); remove_action('ninja_forms_display_before_fields', 'ninja_forms_display_req_items'); $form = ninja_forms_return_echo('ninja_forms_display_form', $form_id); return $form; } else { // The plugin hasn't been properly activated. Return false. return false; } } else { if (isset($_REQUEST['resetpassword']) and $_REQUEST['resetpassword'] != '') { // We're on the page after the user has reset their password already. $form = ninja_forms_login_form(); return '<div class="ninja-forms-response-msg ninja-forms-success-msg">' . $_REQUEST['resetpassword'] . '</div>' . $form; } else { // The user doesn't have a valide key/login pair. Show the lost password form. if (isset($_REQUEST['ninja_forms_action']) and isset($_REQUEST['ninja_forms_key']) and isset($_REQUEST['ninja_forms_login'])) { add_action('ninja_forms_display_before_form_wrap', 'ninja_forms_reset_password_key_error'); } $form = ninja_forms_lost_password_form(); return $form; } } } }