Пример #1
0
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;
    }
}
Пример #2
0
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;
            }
        }
    }
}