%PDF- %PDF-
Direktori : /var/www/projetos/hindi.ongrace.com/wp-content/plugins/wp-members/includes/legacy/ |
Current File : /var/www/projetos/hindi.ongrace.com/wp-content/plugins/wp-members/includes/legacy/dialogs.php |
<?php /** * WP-Members Dialog Functions * * Handles functions that output front-end dialogs to end users. * * This file is part of the WP-Members plugin by Chad Butler * You can find out more about this plugin at https://rocketgeek.com * Copyright (c) 2006-2020 Chad Butler * WP-Members(tm) is a trademark of butlerblog.com * * @package WP-Members * @author Chad Butler * @copyright 2006-2020 * * Functions Included: * - wpmem_inc_loginfailed * - wpmem_inc_regmessage * - wpmem_inc_memberlinks * - wpmem_page_pwd_reset * - wpmem_page_user_edit * - wpmem_page_forgot_username * - wpmem_inc_forgotusername */ // Exit if accessed directly. if ( ! defined( 'ABSPATH' ) ) { exit(); } if ( ! function_exists( 'wpmem_inc_loginfailed' ) ): /** * Login Failed Dialog. * * Returns the login failed error message. * * @since 1.8 * * @global object $wpmem The WP_Members object. * @return string $str The generated html for the login failed message. */ function wpmem_inc_loginfailed() { global $wpmem; // Defaults. $defaults = array( 'div_before' => '<div align="center" id="wpmem_msg">', 'div_after' => '</div>', 'heading_before' => '<h2>', 'heading' => $wpmem->get_text( 'login_failed_heading' ), 'heading_after' => '</h2>', 'p_before' => '<p>', 'message' => $wpmem->get_text( 'login_failed' ), // @todo $wpmem->error 'p_after' => '</p>', 'link' => '<a href="' . esc_url( $_SERVER['REQUEST_URI'] ) . '">' . $wpmem->get_text( 'login_failed_link' ) . '</a>', ); /** * Filter the login failed dialog arguments. * * @since 2.9.0 * @since 3.3.3 Should pass defaults to filter. * * @param array An array of arguments to merge with defaults. */ $args = apply_filters( 'wpmem_login_failed_args', $defaults ); // Merge $args with defaults. $args = wp_parse_args( $args, $defaults ); $str = $args['div_before'] . $args['heading_before'] . $args['heading'] . $args['heading_after'] . $args['p_before'] . $args['message'] . $args['p_after'] . $args['p_before'] . $args['link'] . $args['p_after'] . $args['div_after']; /** * Filter the login failed dialog. * * @since 2.7.3 * * @param string $str The login failed dialog. */ $str = apply_filters( 'wpmem_login_failed', $str ); return $str; } endif; if ( ! function_exists( 'wpmem_inc_regmessage' ) ): /** * Message Dialog. * * Returns various dialogs and error messages. * * @since 1.8 * @since 3.3.0 Changed 'toggles' to 'tags' * * @global object $wpmem * @param string $tag Error message tag to look for specific error messages. * @param string $msg A message that has no tag that is passed directly to the function. * @return string $str The final HTML for the message. */ function wpmem_inc_regmessage( $tag, $msg = '' ) { global $wpmem; // defaults $defaults = array( 'div_before' => '<div class="wpmem_msg" align="center">', 'div_after' => '</div>', 'p_before' => '<p>', 'p_after' => '</p>', 'tags' => array( 'user', 'email', 'success', 'editsuccess', 'pwdchangerr', 'pwdchangesuccess', 'pwdreseterr', 'pwdresetsuccess', ), ); /** * Filter the message arguments. * * @since 2.9.0 * @deprecated 3.3.0 Use wpmem_msg_defaults instead. * * @param array An array of arguments to merge with defaults. */ $args = apply_filters( 'wpmem_msg_args', '' ); /** This filter is documented in /includes/class-wp-members-admin-api.php */ $dialogs = apply_filters( 'wpmem_dialogs', get_option( 'wpmembers_dialogs' ) ); // @todo Temporary(?) workaround for custom dialogs as an array (WP-Members Security). if ( array_key_exists( $tag, $dialogs ) ) { if ( is_array( $dialogs[ $tag ] ) ) { $msg = stripslashes( $dialogs[ $tag ]['value'] ); } else { $msg = $wpmem->get_text( $tag ); $msg = ( $dialogs[ $tag ] == $msg ) ? $msg : __( stripslashes( $dialogs[ $tag ] ), 'wp-members' ); } } $defaults['msg'] = $msg; /** * Filter the message array * * @since 2.9.2 * @since 3.1.1 added $dialogs parameter. * @deprecated 3.3.0 Use wpmem_msg_defaults instead. * * @param array $defaults An array of the defaults. * @param string $tag The tag that we are on, if any. * @param array $dialogs */ $defaults = apply_filters( 'wpmem_msg_dialog_arr', $defaults, $tag, $dialogs ); // Merge $args with defaults. $args = wp_parse_args( $args, $defaults ); // Backwards compatibility for 'toggles'. if ( isset( $args['toggles'] ) ) { $args['tags'] = $args['toggles']; } /** * Filter the message settings. * * @since 3.3.0 * * @param array $defaults An array of the defaults. * @param string $tag The tag that we are on, if any. * @param array $dialogs */ $args = apply_filters( 'wpmem_msg_defaults', $defaults, $tag, $dialogs ); // @todo Temporary(?) workaround for custom dialogs as an array (WP-Members Security). $display_msg = ( is_array( $args['msg'] ) ) ? $args['msg']['value'] : $args['msg']; $str = $args['div_before'] . $args['p_before'] . stripslashes( $display_msg ) . $args['p_after'] . $args['div_after']; /** * Filter the message. * * @since 2.7.4 * @since 3.1.0 Added tag. * * @param string $str The message. * @param string $tag The tag of the message being displayed. */ return apply_filters( 'wpmem_msg_dialog', $str, $tag ); } endif; if ( ! function_exists( 'wpmem_inc_memberlinks' ) ): /** * Member Links Dialog. * * Outputs the links used on the members area. * * @since 2.0 * * @gloabl $user_login * @global object $wpmem * @param string $page * @return string $str */ function wpmem_inc_memberlinks( $page = 'member' ) { global $user_login, $wpmem; /** * Filter the log out link. * * @since 2.8.3 * * @param string The default logout link. */ $logout = apply_filters( 'wpmem_logout_link', add_query_arg( 'a', 'logout' ) ); switch ( $page ) { case 'member': $arr = array( 'before_wrapper' => '', 'wrapper_before' => '<ul>', 'wrapper_after' => '</ul>', 'rows' => array( '<li><a href="' . esc_url( add_query_arg( 'a', 'edit', remove_query_arg( 'key' ) ) ) . '">' . $wpmem->get_text( 'profile_edit' ) . '</a></li>', '<li><a href="' . esc_url( add_query_arg( 'a', 'pwdchange', remove_query_arg( 'key' ) ) ) . '">' . $wpmem->get_text( 'profile_password' ) . '</a></li>', ), 'after_wrapper' => '', ); if ( defined( 'WPMEM_EXP_MODULE' ) && $wpmem->use_exp == 1 && function_exists( 'wpmem_user_page_detail' ) ) { $arr['rows'][] = wpmem_user_page_detail(); } /** * Filter the member links array. * * @since 3.0.9 * @since 3.1.0 Added after_wrapper * * @param array $arr { * The components of the links. * * @type string $before_wrapper Anything that comes before the wrapper. * @type string $wrapper_before The wrapper opening tag (default: <ul>). * @type string $wrapper_after The wrapper closing tag (default: </ul>). * @type array $rows Row items HTML. * @type string $after_wrapper Anything that comes after the wrapper. * } */ $arr = apply_filters( "wpmem_{$page}_links_args", $arr ); $str = $arr['before_wrapper']; $str.= $arr['wrapper_before']; foreach ( $arr['rows'] as $row ) { $str.= $row; } $str.= $arr['wrapper_after']; $str.= $arr['after_wrapper']; /** * Filter the links displayed on the User Profile page (logged in state). * * @since 2.8.3 * * @param string $str The default links. */ $str = apply_filters( "wpmem_{$page}_links", $str ); break; case 'register': $url = ( isset( $wpmem->user_pages['profile'] ) && '' != $wpmem->user_pages['profile'] ) ? $wpmem->user_pages['profile'] : get_option( 'home' ); $arr = array( 'before_wrapper' => '<p>' . sprintf( $wpmem->get_text( 'register_status' ), $user_login ) . '</p>', 'wrapper_before' => '<ul>', 'wrapper_after' => '</ul>', 'rows' => array( '<li><a href="' . esc_url( $logout ) . '">' . $wpmem->get_text( 'register_logout' ) . '</a></li>', '<li><a href="' . esc_url( $url ) . '">' . $wpmem->get_text( 'register_continue' ) . '</a></li>', ), 'after_wrapper' => '', ); /** * Filter the register links array. * * @since 3.0.9 * @since 3.1.0 Added after_wrapper * * @param array $arr { * The components of the links. * * @type string $before_wrapper HTML before the wrapper (default: login status). * @type string $wrapper_before The wrapper opening tag (default: <ul>). * @type string $wrapper_after The wrapper closing tag (default: </ul>). * @type array $rows Row items HTML. * @type string $after_wrapper Anything that comes after the wrapper. * } */ $arr = apply_filters( "wpmem_{$page}_links_args", $arr ); $str = $arr['before_wrapper']; $str.= $arr['wrapper_before']; foreach ( $arr['rows'] as $row ) { $str.= $row; } $str.= $arr['wrapper_after']; $str.= $arr['after_wrapper']; /** * Filter the links displayed on the Register page (logged in state). * * @since 2.8.3 * * @param string $str The default links. */ $str = apply_filters( "wpmem_{$page}_links", $str ); break; case 'login': $logout = urldecode( $logout ); // @todo Resolves sprintf issue if url is encoded. $args = array( 'wrapper_before' => '<p>', 'wrapper_after' => '</p>', 'user_login' => $user_login, 'welcome' => $wpmem->get_text( 'login_welcome' ), 'logout_text' => $wpmem->get_text( 'login_logout' ), 'logout_link' => '<a href="' . esc_url( $logout ) . '">%s</a>', 'separator' => '<br />', ); /** * Filter the status message parts. * * @since 2.9.9 * * @param array $args { * The components of the links. * * @type string $wrapper_before The wrapper opening tag (default: <p>). * @type string $wrapper_after The wrapper closing tag (default: </p>). * @type string $user_login * @type string $welcome * @type string $logout_text * @type string $logout_link * @type string $separator * } */ $args = apply_filters( "wpmem_{$page}_links_args", $args ); // Assemble the message string. $str = $args['wrapper_before'] . sprintf( $args['welcome'], $args['user_login'] ) . $args['separator'] . sprintf( $args['logout_link'], $args['logout_text'] ) . $args['wrapper_after']; /** * Filter the links displayed on the Log In page (logged in state). * * @since 2.8.3 * * @param string $str The default links. */ $str = apply_filters( "wpmem_{$page}_links", $str ); break; case 'status': $args = array( 'wrapper_before' => '<p>', 'wrapper_after' => '</p>', 'user_login' => $user_login, 'welcome' => $wpmem->get_text( 'status_welcome' ), 'logout_text' => $wpmem->get_text( 'status_logout' ), 'logout_link' => '<a href="' . esc_url( $logout ) . '">%s</a>', 'separator' => ' | ', ); /** * Filter the status message parts. * * @since 2.9.9 * * @param array $args { * The components of the links. * * @type string $wrapper_before The wrapper opening tag (default: <p>). * @type string $wrapper_after The wrapper closing tag (default: </p>). * @type string $user_login * @type string $welcome * @type string $logout_text * @type string $logout_link * @type string $separator * } */ $args = apply_filters( 'wpmem_status_msg_args', $args ); // Assemble the message string. $str = $args['wrapper_before'] . sprintf( $args['welcome'], $args['user_login'] ) . $args['separator'] . sprintf( $args['logout_link'], $args['logout_text'] ) . $args['wrapper_after']; break; } return $str; } endif; if ( ! function_exists( 'wpmem_page_pwd_reset' ) ): /** * Password reset forms. * * This function creates both password reset and forgotten * password forms for page=password shortcode. * * @since 2.7.6 * @since 3.2.6 Added nonce validation. * * @global object $wpmem * @param string $wpmem_regchk * @param string $content * @return string $content */ function wpmem_page_pwd_reset( $wpmem_regchk, $content ) { global $wpmem; if ( is_user_logged_in() ) { switch ( $wpmem_regchk ) { case "pwdchangesuccess": $content = $content . wpmem_inc_regmessage( $wpmem_regchk ); break; default: if ( isset( $wpmem_regchk ) && '' != $wpmem_regchk ) { $content .= wpmem_inc_regmessage( $wpmem_regchk, $wpmem->get_text( $wpmem_regchk ) ); } $content = $content . wpmem_change_password_form(); break; } } else { // If the password shortcode page is set as User Profile page. if ( 'getusername' == $wpmem->action ) { return wpmem_page_forgot_username( $wpmem_regchk, $content ); } else { switch( $wpmem_regchk ) { case "pwdresetsuccess": $content = $content . wpmem_inc_regmessage( $wpmem_regchk ); $wpmem_regchk = ''; // Clear regchk. break; default: if ( isset( $wpmem_regchk ) && '' != $wpmem_regchk ) { $content = wpmem_inc_regmessage( $wpmem_regchk, $wpmem->get_text( $wpmem_regchk ) ); } $content = $content . wpmem_reset_password_form(); break; } } } return $content; } endif; if ( ! function_exists( 'wpmem_page_user_edit' ) ): /** * Creates a user edit page. * * @since 2.7.6 * @since 3.3.9 Added $atts * * @global object $wpmem * @global string $wpmem_a * @global string $wpmem_themsg * @param string $wpmem_regchk * @param string $content * @return string $content */ function wpmem_page_user_edit( $wpmem_regchk, $content ) { global $wpmem, $wpmem_a, $wpmem_themsg; /** * Filter the default User Edit heading for shortcode. * * @since 2.7.6 * * @param string The default edit mode heading. */ $heading = apply_filters( 'wpmem_user_edit_heading', $wpmem->get_text( 'profile_heading' ) ); if ( $wpmem_a == "update") { $content.= wpmem_inc_regmessage( $wpmem_regchk, $wpmem_themsg ); } $content = $content . wpmem_register_form( 'edit', $heading ); return $content; } endif; /** * Forgot username form. * * This function creates a form for retrieving a forgotten username. * * @since 3.0.8 * * @param string $wpmem_regchk * @param string $content * @return string $content */ function wpmem_page_forgot_username( $wpmem_regchk, $content ) { if ( ! is_user_logged_in() ) { global $wpmem; switch( $wpmem->regchk ) { case "usernamefailed": $msg = $wpmem->get_text( 'usernamefailed' ); $content = $content . wpmem_inc_regmessage( 'usernamefailed', $msg ) . wpmem_forgot_username_form(); $wpmem->regchk = ''; // Clear regchk. break; case "usernamesuccess": $email = ( isset( $_POST['user_email'] ) ) ? sanitize_email( $_POST['user_email'] ) : ''; $msg = sprintf( $wpmem->get_text( 'usernamesuccess' ), $email ); $content = $content . wpmem_inc_regmessage( 'usernamesuccess', $msg ); $wpmem->regchk = ''; // Clear regchk. break; default: $content = $content . wpmem_forgot_username_form(); break; } } return $content; } /** * Displays the post restricted message. * * @since 3.3.5 * * @return string */ function wpmem_restricted_dialog() { global $wpmem; return $wpmem->forms->add_restricted_msg(); } // End of file.