separate placeholders into filters

This commit is contained in:
andrewshuba
2019-05-06 17:22:57 +03:00
parent 7a5cbf46e7
commit 7812103851
13 changed files with 208 additions and 68 deletions
+4 -4
View File
@@ -74,8 +74,8 @@ if ( ! class_exists( 'um\admin\core\Admin_Users' ) ) {
case 'um_approve_membership':
case 'um_reenable':
add_filter( 'um_template_tags_patterns_hook', 'password_reset_link_tags_patterns', 10, 1 );
add_filter( 'um_template_tags_replaces_hook', 'password_reset_link_tags_replaces', 10, 1 );
add_filter( 'um_template_tags_patterns_hook', array( UM()->password(), 'add_placeholder' ), 10, 1 );
add_filter( 'um_template_tags_replaces_hook', array( UM()->password(), 'add_replace_placeholder' ), 10, 1 );
UM()->user()->approve();
break;
@@ -86,8 +86,8 @@ if ( ! class_exists( 'um\admin\core\Admin_Users' ) ) {
case 'um_resend_activation':
add_filter( 'um_template_tags_patterns_hook', 'account_activation_link_tags_patterns', 10, 1 );
add_filter( 'um_template_tags_replaces_hook', 'account_activation_link_tags_replaces', 10, 1 );
add_filter( 'um_template_tags_patterns_hook', array( UM()->user(), 'add_activation_placeholder' ), 10, 1 );
add_filter( 'um_template_tags_replaces_hook', array( UM()->user(), 'add_activation_replace_placeholder' ), 10, 1 );
UM()->user()->email_pending();
break;
+41
View File
@@ -380,6 +380,9 @@ if ( ! class_exists( 'um\core\Mail' ) ) {
*/
$message = apply_filters( 'um_email_send_message_content', $message, $slug, $args );
add_filter( 'um_template_tags_patterns_hook', array( &$this, 'add_placeholder' ), 10, 1 );
add_filter( 'um_template_tags_replaces_hook', array( &$this, 'add_replace_placeholder' ), 10, 1 );
// Convert tags in email template
return um_convert_tags( $message, $args );
}
@@ -427,6 +430,10 @@ if ( ! class_exists( 'um\core\Mail' ) ) {
* }
* ?>
*/
add_filter( 'um_template_tags_patterns_hook', array( UM()->mail(), 'add_placeholder' ), 10, 1 );
add_filter( 'um_template_tags_replaces_hook', array( UM()->mail(), 'add_replace_placeholder' ), 10, 1 );
$subject = apply_filters( 'um_email_send_subject', UM()->options()->get( $template . '_sub' ), $template );
$this->subject = um_convert_tags( $subject , $args );
@@ -568,5 +575,39 @@ if ( ! class_exists( 'um\core\Mail' ) ) {
return false;
}
}
/**
* UM Placeholders for site url, admin email, submit registration
*
* @param $placeholders
*
* @return array
*/
function add_placeholder( $placeholders ) {
$placeholders[] = '{site_url}';
$placeholders[] = '{admin_email}';
$placeholders[] = '{submitted_registration}';
$placeholders[] = '{login_url}';
$placeholders[] = '{password}';
return $placeholders;
}
/**
* UM Replace Placeholders for site url, admin email, submit registration
*
* @param $replace_placeholders
*
* @return array
*/
function add_replace_placeholder( $replace_placeholders ) {
$replace_placeholders[] = get_bloginfo( 'url' );
$replace_placeholders[] = um_admin_email();
$replace_placeholders[] = um_user_submitted_registration();
$replace_placeholders[] = um_get_core_page( 'login' );
$replace_placeholders[] = esc_html__( 'Your set password', 'ultimate-member' );
return $replace_placeholders;
}
}
}
+30
View File
@@ -1,9 +1,11 @@
<?php
namespace um\core;
// Exit if accessed directly
if ( ! defined( 'ABSPATH' ) ) exit;
if ( ! class_exists( 'um\core\Password' ) ) {
@@ -671,5 +673,33 @@ if ( ! class_exists( 'um\core\Password' ) ) {
nocache_headers();
setcookie( $name, $value, $expire, $path, COOKIE_DOMAIN, is_ssl(), true );
}
/**
* UM Placeholders for reset password
*
* @param $placeholders
*
* @return array
*/
function add_placeholder( $placeholders ) {
$placeholders[] = '{password_reset_link}';
$placeholders[] = '{password}';
return $placeholders;
}
/**
* UM Replace Placeholders for reset password
*
* @param $replace_placeholders
*
* @return array
*/
function add_replace_placeholder( $replace_placeholders ) {
$replace_placeholders[] = um_user( 'password_reset_link' );
$replace_placeholders[] = esc_html__( 'Your set password', 'ultimate-member' );
return $replace_placeholders;
}
}
}
+31
View File
@@ -394,5 +394,36 @@ if ( ! class_exists( 'um\core\Profile' ) ) {
<?php
}
/**
* UM Placeholders for user link, avatar link
*
* @param $placeholders
*
* @return array
*/
function add_placeholder( $placeholders ) {
$placeholders[] = '{user_profile_link}';
$placeholders[] = '{user_avatar_url}';
$placeholders[] = '{password}';
return $placeholders;
}
/**
* UM Replace Placeholders for user link, avatar link
*
* @param $replace_placeholders
*
* @return array
*/
function add_replace_placeholder( $replace_placeholders ) {
$replace_placeholders[] = um_get_user_avatar_url();
$replace_placeholders[] = um_user_profile_url();
$replace_placeholders[] = esc_html__( 'Your set password', 'ultimate-member' );
return $replace_placeholders;
}
}
}
+28
View File
@@ -983,6 +983,8 @@ if ( ! class_exists( 'um\core\Shortcodes' ) ) {
* @return mixed|string
*/
function convert_locker_tags( $str ) {
add_filter( 'um_template_tags_patterns_hook', array( &$this, 'add_placeholder' ), 10, 1 );
add_filter( 'um_template_tags_replaces_hook', array( &$this, 'add_replace_placeholder' ), 10, 1 );
return um_convert_tags( $str, array(), false );
}
@@ -1158,5 +1160,31 @@ if ( ! class_exists( 'um\core\Shortcodes' ) ) {
return $template;
}
/**
* UM Placeholders for login referrer
*
* @param $placeholders
*
* @return array
*/
function add_placeholder( $placeholders ) {
$placeholders[] = '{login_referrer}';
return $placeholders;
}
/**
* UM Replace Placeholders for login referrer
*
* @param $replace_placeholders
*
* @return array
*/
function add_replace_placeholder( $replace_placeholders ) {
$replace_placeholders[] = um_dynamic_login_page_redirect();
return $replace_placeholders;
}
}
}
+30 -2
View File
@@ -1192,8 +1192,10 @@ if ( ! class_exists( 'um\core\User' ) ) {
function password_reset() {
$userdata = get_userdata( um_user('ID') );
get_password_reset_key( $userdata );
add_filter( 'um_template_tags_patterns_hook', 'password_reset_link_tags_patterns', 10, 1 );
add_filter( 'um_template_tags_replaces_hook', 'password_reset_link_tags_replaces', 10, 1 );
add_filter( 'um_template_tags_patterns_hook', array( UM()->password(), 'add_placeholder' ), 10, 1 );
add_filter( 'um_template_tags_replaces_hook', array( UM()->password(), 'add_replace_placeholder' ), 10, 1 );
UM()->mail()->send( um_user('user_email'), 'resetpw_email' );
}
@@ -1899,5 +1901,31 @@ if ( ! class_exists( 'um\core\User' ) ) {
return $hash_email_address;
}
/**
* UM Placeholders for activation link in email
*
* @param $placeholders
*
* @return array
*/
function add_activation_placeholder( $placeholders ) {
$placeholders[] = '{account_activation_link}';
return $placeholders;
}
/**
* UM Replace Placeholders for activation link in email
*
* @param $replace_placeholders
*
* @return array
*/
function add_activation_replace_placeholder( $replace_placeholders ) {
$replace_placeholders[] = um_user( 'account_activation_link' );
return $replace_placeholders;
}
}
}
+4 -4
View File
@@ -100,8 +100,8 @@ function um_action_request_process() {
wp_die( __( 'You do not have permission to make this action.', 'ultimate-member' ) );
}
add_filter( 'um_template_tags_patterns_hook', 'password_reset_link_tags_patterns', 10, 1 );
add_filter( 'um_template_tags_replaces_hook', 'password_reset_link_tags_replaces', 10, 1 );
add_filter( 'um_template_tags_patterns_hook', array( UM()->password(), 'add_placeholder' ), 10, 1 );
add_filter( 'um_template_tags_replaces_hook', array( UM()->password(), 'add_replace_placeholder' ), 10, 1 );
um_fetch_user( $uid );
UM()->user()->approve();
@@ -123,8 +123,8 @@ function um_action_request_process() {
wp_die( __( 'You do not have permission to make this action.', 'ultimate-member' ) );
}
add_filter( 'um_template_tags_patterns_hook', 'account_activation_link_tags_patterns', 10, 1 );
add_filter( 'um_template_tags_replaces_hook', 'account_activation_link_tags_replaces', 10, 1 );
add_filter( 'um_template_tags_patterns_hook', array( UM()->user(), 'add_activation_placeholder' ), 10, 1 );
add_filter( 'um_template_tags_replaces_hook', array( UM()->user(), 'add_activation_replace_placeholder' ), 10, 1 );
um_fetch_user( $uid );
UM()->user()->email_pending();
+1 -1
View File
@@ -482,8 +482,8 @@ function um_profile_dynamic_meta_desc() {
$content = um_convert_tags( UM()->options()->get( 'profile_desc' ) );
$user_id = um_user( 'ID' );
$url = um_user_profile_url();
$url = um_user_profile_url();
$avatar = um_get_user_avatar_url( $user_id, 'original' );
um_reset_user(); ?>
+2 -10
View File
@@ -14,19 +14,11 @@ function um_dynamic_user_profile_pagetitle( $title, $sep = '' ) {
$profile_title = UM()->options()->get( 'profile_title' );
if ( um_is_core_page('user') && um_get_requested_user() ) {
if ( um_is_core_page( 'user' ) && um_get_requested_user() ) {
um_fetch_user( um_get_requested_user() );
$search = array(
'{display_name}',
'{site_name}'
);
$replace = array(
um_user( 'display_name' ),
UM()->options()->get( 'site_name' )
);
$profile_title = str_replace( $search, $replace, $profile_title );
$profile_title = um_convert_tags( $profile_title );
$title = $profile_title;
+22 -47
View File
@@ -103,15 +103,12 @@ function um_clean_user_basename( $value ) {
/**
* Convert template tags
* Getting replace placeholders array
*
* @param $content
* @param array $args
* @param bool $with_kses
*
* @return mixed|string
* @return array
*/
function um_convert_tags( $content, $args = array(), $with_kses = true ) {
function um_replace_placeholders() {
$search = array(
'{display_name}',
'{first_name}',
@@ -119,18 +116,11 @@ function um_convert_tags( $content, $args = array(), $with_kses = true ) {
'{gender}',
'{username}',
'{email}',
'{password}',
'{login_url}',
'{login_referrer}',
'{site_name}',
'{site_url}',
'{admin_email}',
'{user_profile_link}',
'{user_account_link}',
'{submitted_registration}',
'{user_avatar_url}',
);
/**
* UM hook
*
@@ -161,16 +151,8 @@ function um_convert_tags( $content, $args = array(), $with_kses = true ) {
um_user( 'gender' ),
um_user( 'user_login' ),
um_user( 'user_email' ),
um_user( '_um_cool_but_hard_to_guess_plain_pw' ),
um_get_core_page( 'login' ),
um_dynamic_login_page_redirect(),
UM()->options()->get( 'site_name' ),
get_bloginfo( 'url' ),
um_admin_email(),
um_user_profile_url(),
um_get_core_page( 'account' ),
um_user_submitted_registration(),
um_get_user_avatar_url(),
);
/**
@@ -196,7 +178,23 @@ function um_convert_tags( $content, $args = array(), $with_kses = true ) {
*/
$replace = apply_filters( 'um_template_tags_replaces_hook', $replace );
$content = str_replace( $search, $replace, $content );
return array_combine( $search, $replace );
}
/**
* Convert template tags
*
* @param $content
* @param array $args
* @param bool $with_kses
*
* @return mixed|string
*/
function um_convert_tags( $content, $args = array(), $with_kses = true ) {
$placeholders = um_replace_placeholders();
$content = str_replace( array_keys( $placeholders ), array_values( $placeholders ), $content );
if ( $with_kses ) {
$content = wp_kses_decode_entities( $content );
}
@@ -218,29 +216,6 @@ function um_convert_tags( $content, $args = array(), $with_kses = true ) {
return $content;
}
/**
* UM Placeholders for reset password
*
* @param $placeholders
*
* @return array
*/
function password_reset_link_tags_patterns( $placeholders ) {
$placeholders[] = '{password_reset_link}';
return $placeholders;
}
/**
* UM Replace Placeholders for reset password
*
* @param $replace_placeholders
*
* @return array
*/
function password_reset_link_tags_replaces( $replace_placeholders ) {
$replace_placeholders[] = um_user( 'password_reset_link' );
return $replace_placeholders;
}
/**
* UM Placeholders for activation link in email