%PDF- %PDF-
Direktori : /var/www/projetos/romanian.ongrace.com/wp-content/plugins/wp-members/includes/api/ |
Current File : /var/www/projetos/romanian.ongrace.com/wp-content/plugins/wp-members/includes/api/api.php |
<?php /** * WP-Members API Functions * * 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 * @subpackage WP-Members API Functions * @author Chad Butler * @copyright 2006-2020 * * Functions included: * - wpmem_redirect_to_login * - wpmem_is_blocked * - wpmem_login_url * - wpmem_register_url * - wpmem_profile_url * - wpmem_current_url * - wpmem_current_post_id * - wpmem_gettext * - wpmem_use_custom_dialog * - wpmem_login_status * - wpmem_get * - wpmem_is_reg_page * - wpmem_loginout * - wpmem_display_message */ // Exit if accessed directly. if ( ! defined( 'ABSPATH' ) ) { exit(); } /** * Redirects a user to defined login page with return redirect. * * While a specific URL can be passed as an argument, the default will * redirect the user back to the original page using wpmem_current_url(). * * @since 3.0.2 * @since 3.1.1 Moved to API. * @since 3.1.3 Added $redirect_to argument. * * @param string $redirect_to URL to redirect to (default: false). */ function wpmem_redirect_to_login( $redirect_to = false ) { if ( ! is_user_logged_in() ) { $redirect_to = ( $redirect_to ) ? $redirect_to : wpmem_current_url(); wp_safe_redirect( wpmem_login_url( $redirect_to ) ); exit(); } return; } /** * Checks if content is blocked (replaces wpmem_block()). * * @since 3.1.1 * @since 3.3.0 Added $post_id * * @global object $wpmem The WP-Members object class. * @param int $post_id * @return bool $block True if content is blocked, otherwise false. */ function wpmem_is_blocked( $post_id = false ) { global $wpmem; return $wpmem->is_blocked( $post_id ); } /** * Checks if specific post is marked as hidden. * * @since 3.3.2 * * @param int $post_id * @return bool $block True if content is hidden, otherwise false. */ function wpmem_is_hidden( $post_id = false ) { return ( 2 == get_post_meta( $post_id, '_wpmem_block', true ) ) ? true : false; } /** * Returns the block setting for a post. * * @since 3.3.0 * * @global object $wpmem * * @param int $post_id * @return int $block_value */ function wpmem_get_block_setting( $post_id ) { return get_post_meta( $post_id, '_wpmem_block', true ); } /** * Wrapper to get the login page location. * * @since 3.1.1 * @since 3.1.2 Added redirect_to parameter. * * @global object $wpmem The WP_Members object. * @param string $redirect_to URL to return to (optional). * @return string $url The login page url. */ function wpmem_login_url( $redirect_to = false ) { global $wpmem; if ( $redirect_to ) { $url = add_query_arg( 'redirect_to', urlencode( $redirect_to ), $wpmem->user_pages['login'] ); } else { $url = $wpmem->user_pages['login']; } return $url; } /** * Wrapper to get the register page location. * * @since 3.1.1 * * @global object $wpmem The WP_Members object. * @return string The register page url. */ function wpmem_register_url() { global $wpmem; return $wpmem->user_pages['register']; } /** * Wrapper to get the profile page location. * * @since 3.1.1 * @since 3.1.2 Added $a parameter. * * @global object $wpmem The WP_Members object. * @param string $a Action (optional). * @return string The profile page url. */ function wpmem_profile_url( $a = false ) { global $wpmem; return ( $a ) ? add_query_arg( 'a', $a, $wpmem->user_pages['profile'] ) : $wpmem->user_pages['profile']; } /** * Returns an array of user pages. * * @since 3.1.2 * @since 3.1.3 Added array keys. * * @return array $pages { * The URLs of login, register, and user profile pages. * * @type string $login * @type string $register * @type string $profile * } */ function wpmem_user_pages() { $pages = array( 'login' => trailingslashit( wpmem_login_url() ), 'register' => trailingslashit( wpmem_register_url() ), 'profile' => trailingslashit( wpmem_profile_url() ), ); return $pages; } /** * Returns the current full url. * * @since 3.1.1 * @since 3.1.7 Added check for query string. * * @global object $wp * @param boolean $slash Trailing slash the end of the url (default:true). * @param boolean $getq Toggles getting the query string (default:true). * @return string $url The current page full url path. */ function wpmem_current_url( $slash = true, $getq = true ) { global $wp; $url = home_url( add_query_arg( array(), $wp->request ) ); $url = ( $slash ) ? trailingslashit( $url ) : $url; $url = ( $getq && count( $_GET ) > 0 ) ? $url . '?' . $_SERVER['QUERY_STRING'] : $url; return $url; } /** * Gets post ID of current URL. * * @since 3.1.7 * * @return int Post ID. */ function wpmem_current_post_id() { return url_to_postid( wpmem_current_url() ); } /** * Wrapper to return a string from the get_text function. * * @since 3.1.1 * @since 3.1.2 Added $echo argument. * * @global object $wpmem The WP_Members object. * @param string $str The string to retrieve. * @param bool $echo Print the string (default: false). * @return string $str The localized string. */ function wpmem_gettext( $str, $echo = false ) { global $wpmem; if ( $echo ) { echo $wpmem->get_text( $str ); } else { return $wpmem->get_text( $str ); } } /** * Wrapper to use custom dialog. * * @since 3.1.1 * * @param array $defaults Dialog message defaults from the wpmem_msg_dialog_arr filter. * @param string $tag The dialog tag/name. * @param array $dialogs The dialog settings array (passed through filter). * @return array $dialogs The dialog settings array (filtered). */ function wpmem_use_custom_dialog( $defaults, $tag, $dialogs ) { $defaults['msg'] = __( $dialogs[ $tag ], 'wp-members' ); return $defaults; } /** * Returns or displays the user's login status. * * @since 2.0.0 * @since 3.1.2 Moved to api.php, no longer pluggable. * @since 3.1.6 Dependencies now loaded by object. * * @param boolean $echo Determines whether function should print result or not (default: true). * @return string $status The user status string produced by wpmem_inc_memberlinks(). */ function wpmem_login_status( $echo = true ) { if ( is_user_logged_in() ) { $status = wpmem_inc_memberlinks( 'status' ); if ( $echo ) { echo $status; } return $status; } } /** * Utility function to validate $_POST, $_GET, and $_REQUEST. * * While this function retrieves data, remember that the data should generally be * sanitized or escaped depending on how it is used. * * @since 3.1.3 * * @param string $tag The form field or query string. * @param string $default The default value (optional). * @param string $type post|get|request (optional). * @return string */ function wpmem_get( $tag, $default = '', $type = 'post' ) { switch ( $type ) { case 'get': return ( isset( $_GET[ $tag ] ) ) ? $_GET[ $tag ] : $default; break; case 'request': return ( isset( $_REQUEST[ $tag ] ) ) ? $_REQUEST[ $tag ] : $default; break; default: // case 'post': return ( isset( $_POST[ $tag ] ) ) ? $_POST[ $tag ] : $default; break; } } /** * Compares wpmem_reg_page value with the register page URL. * * @since 3.1.4 * @since 3.1.7 Added default of current page ID. * * @param string|int $check_page * @return bool */ function wpmem_is_reg_page( $check = false ) { if ( ! $check ) { $check = get_the_ID(); } else { if ( ! is_int( $check ) ) { global $wpdb; $sql = "SELECT ID FROM $wpdb->posts WHERE post_name = '$check' AND post_status = 'publish' LIMIT 1"; $arr = $wpdb->get_results( $sql, ARRAY_A ); $check = $arr[0]['ID']; } } $reg_page = wpmem_get( 'wpmem_reg_page' ); $check_page = get_permalink( $check ); return ( $check_page == $reg_page ) ? true : false; } /** * Creates a login/logout link. * * @since 3.1.6 * * @param array $args { * Array of arguments to customize output. * * @type string $login_redirect_to The url to redirect to after login (optional). * @type string $logout_redirect_to The url to redirect to after logout (optional). * @type string $login_text Text for the login link (optional). * @type string $logout_text Text for the logout link (optional). * } * @param boolean $echo (default: false) * @return string $link */ function wpmem_loginout( $args = array(), $echo = false ) { global $wpmem; return $wpmem->loginout_args( $args ); } /** * Dispalays requested dialog. * * @since 3.2.0 * * @todo Needs testing and finalization before release. */ function wpmem_display_message( $tag, $echo = true ) { if ( $echo ) { echo wpmem_inc_regmessage( $tag ); } else { return wpmem_inc_regmessage( $tag ); } } /** * Wrapper function for adding custom dialogs. * * @since 3.1.1 * @since 3.3.0 Moved to main API. * * @param array $dialogs Dialog settings array. * @param string $tag Slug for dialog to be added. * @param string $msg The dialog message. * @param string $label Label for admin panel. * @return array $dialogs Dialog settings array with prepped custom dialog added. */ function wpmem_add_custom_dialog( $dialogs, $tag, $msg, $label ) { $msg = ( ! isset( $dialogs[ $tag ] ) ) ? $msg : $dialogs[ $tag ]; $dialogs[ $tag ] = array( 'name' => $tag, 'label' => $label, 'value' => $msg, ); return $dialogs; } /** * Gets an array of hidden post IDs. * * @since 3.3.1 * * @global stdClass $wpmem * @return array */ function wpmem_get_hidden_posts() { global $wpmem; return $wpmem->get_hidden_posts(); } /** * Updates the hiddent posts array. * * @since 3.3.5 * * @global stdClass $wpmem */ function wpmem_update_hidden_posts() { global $wpmem; $wpmem->update_hidden_posts(); } /** * Conditional if REST request. * * @since 3.3.2 * * @global stdClass $wpmem * @return boolean */ function wpmem_is_rest() { global $wpmem; return $wpmem->is_rest; } /** * Gets registration type. * * @since 3.3.5 * * @global stdClass $wpmem * @param string $type (wpmem|native|add_new|woo|woo_checkout) * @return boolean */ function wpmem_is_reg_type( $type ) { global $wpmem; return $wpmem->reg_type[ 'is_' . $type ]; } // End of file.