Current File : /home/bqrcodec/contact.ucceurope.co/wp-content/mu-plugins//proid-express.php
<?php
/**
* Plugin Name: Proid Express
* Description: Helper Functions for ProID Website
* Plugin URI: https://wordpress.org
* Author: WordPress
* Author URI: https://wordpress.org
* Version: 1.0.0
* License: GPL2
* Text Domain: proid-express
*/
function gioi_thieu_shortcode( $atts = array(), $content = '' ) {
return wpautop( get_post_meta( get_the_ID(), 'gioi_thieu', true ) );
}
add_shortcode( 'gioi-thieu-shortcode', 'gioi_thieu_shortcode' );
add_filter( 'jet-form-builder/fields/wysiwyg-field/config', function( $wysiwyg_config ) {
$wysiwyg_config['media_buttons'] = true;
return $wysiwyg_config;
} );
add_action( 'wp_head', function() {
if ( is_page() && ( get_queried_object_id() == 8 ) ) {
?>
<style>
.page-id-8 .media-frame-menu,
.media-frame .attachments-browser .media-toolbar,
.page-id-8 a.edit-attachment,
.page-id-8 .media-modal-content .media-menu,
.page-id-8 .media-frame-title + h2.media-frame-menu-heading {
display: none;
}
.page-id-8 div#media-frame-title,
.page-id-8 .media-frame-toolbar,
.page-id-8 .media-frame-content,
.page-id-8 .media-frame-router {
left: 0;
}
.page-id-8 .media-router .media-menu-item {
border-radius: 0;
color: #000;
}
</style>
<?php
}
if ( is_an_author_logged_in() ) {
?>
<style>
li#wp-admin-bar-elementor_inspector,
li#wp-admin-bar-jet_plugins,
li#wp-admin-bar-new-content,
li#wp-admin-bar-elementor_edit_page {
display: none;
}
</style>
<?php
}
} );
function proid_restrict_media_library( $wp_query_obj ) {
global $current_user, $pagenow;
if ( ! is_a( $current_user, 'WP_User' ) ) {
return;
}
if( 'admin-ajax.php' != $pagenow || $_REQUEST['action'] != 'query-attachments' ) {
return;
}
if ( in_array('author', (array) $current_user->roles ) && ! current_user_can( 'manage_media_library' ) ) {
$wp_query_obj->set( 'author', $current_user->ID );
return;
}
}
add_action( 'pre_get_posts','proid_restrict_media_library' );
function is_an_author_logged_in() {
$status = false;
if ( is_user_logged_in() ) {
$user = wp_get_current_user();
$status = ( in_array( 'author', (array) $user->roles ) );
}
return $status;
}
add_action( 'admin_init', function() {
if( is_an_author_logged_in() ) {
remove_menu_page( 'edit.php' );
remove_menu_page( 'upload.php' );
}
}, 80);
/*
add_action( 'wp_footer', function() {
if ( is_page() && get_queried_object_id() == 8 ) {
?>
<script>
var attachment_modifier_added = false;
jQuery(document).on('click', function() {
attachment_modifier_added = true;
wp.media.frame.on('selection:toggle', function(e) {
window.setTimeout(function() {
jQuery('#attachment-display-settings-size').val('full').trigger('change');
}, 10);
});
});
</script>
<?php
}
}, 99999 );
*/
function generate_email_signature_for_me() {
if ( is_user_logged_in() ) {
global $wpdb;
$user_id = get_current_user_id();
$user = wp_get_current_user();
$post_id = $wpdb->get_var( "SELECT ID FROM {$wpdb->posts} WHERE post_type='my-pro-id' AND post_status='publish' AND post_author='{$user_id}' " );
if ( $post_id ) {
$name = get_post_meta( $post_id, 'name', true );
if ( empty( $name ) ) {
$name = $user->display_name;
}
$email = get_post_meta( $post_id, 'email', true );
$phone = get_post_meta( $post_id, 'zalo', true );
$website = get_post_meta( $post_id, 'website', true );
$address = get_post_meta( $post_id, 'address', true );
$company_logo = 'https://me.proid.vn/wp-content/uploads/2023/02/profile-with-white-bg-1.png';
$avatar = get_post_meta( $post_id, 'avatar1', true );
$profile_image = get_post_meta( $post_id, 'profile-image', true );
// var_dump( $avatar );
if ( ! empty( $avatar ) && is_array( $avatar ) && isset( $avatar['url'] ) && ! empty( $avatar['url'] ) ) {
$company_logo = $avatar['url'];
}
if ( ! empty( $profile_image ) && ! is_array( $profile_image ) ) {
$company_logo = $profile_image;
}
if ( empty( $email ) ) {
$email = $user->user_email;
}
} else {
$name = $user->display_name;
$email = $user->user_email;
$company_logo = 'https://me.proid.vn/wp-content/uploads/2023/02/profile-with-white-bg-1.png';
}
$markup = '';
$markup .= '<div class="email-signature-content"><table width="100%" border="0" style="margin-top:20px;font-family:Arial,Helvetica,sans-serif;color:#000;max-width: 400px;" cellspacing="0" cellpadding="0" class="email-signature">';
$markup .= '<tr>';
$markup .= '<td width="30%" valign="middle" style="background:none;border:none;padding:0;">';
$markup .= '<img src="' . $company_logo . '" width="100px" style="max-width:100%;height:auto;border-radius:50%;" />';
$markup .= '</td>';
$markup .= '<td width="2%" style="background:none;padding:0;border:none;"></td>';
$markup .= '<td width="68%" style="background:none;border:none;padding:0;font-size:14px;line-height:1.4;">';
$markup .= '<strong style="font-size:16px;">' . $name . '</strong>';
$markup .= '<hr style="border:1px solid #d02234;" />';
$markup .= '<div><a href="mailto:' . $email . '" style="text-decoration:none;color:#d02234;">' . $email . '</a></div>';
if ( ! empty( $phone ) ) {
$markup .= '<div><a href="tel:' . $phone . '" style="text-decoration:none;color:#d02234;">' . $phone . '</a></div>';
}
if ( ! empty( $website ) ) {
$markup .= '<div><a href="' . $website . '" style="text-decoration:none;color:#d02234;">' . $website . '</a></div>';
}
if ( ! empty( $address ) ) {
$markup .= '<div style="line-height:1;">' . $address . '</div>';
}
$markup .= '</td>';
$markup .= '</tr>';
$markup .= '</table></div>';
}
echo $markup;
}
add_action('wp_footer', function() {
echo '<div class="the-email-signature">';
echo '<div class="the-email-signature-overlay"></div>';
echo '<div class="the-email-signature-modal">';
echo '<a href="#" class="the-email-signature-close"><i class="fa fa-close"></i></a>';
echo '<div id="the-email-signature">';
generate_email_signature_for_me();
echo '<span class="email-copy-text"><i class="fa fa-copy"></i></span>';
echo '</div>';
echo '</div>';
?>
<script>
(function(n){n.fn.copiq=function(e){var t=n.extend({parent:"body",content:"",onSuccess:function(){},onError:function(){}},e);return this.each(function(){var e=n(this);e.on("click",function(){var n=e.parents(t.parent).find(t.content);var o=document.createRange();var c=window.getSelection();o.selectNodeContents(n[0]);c.removeAllRanges();c.addRange(o);try{var r=document.execCommand("copy");var a=r?"onSuccess":"onError";t[a](e,n,c.toString())}catch(i){}c.removeAllRanges()})})}})(jQuery);
</script>
<script>
jQuery('.jet-profile-menu__item a[href*="account/chu-ky-email"]').on('click', function( e ) {
e.preventDefault();
jQuery('.the-email-signature').addClass('show');
// jQuery( '#the-email-signature' ).select();
// document.execCommand( 'copy' );
});
jQuery('.the-email-signature-overlay,.the-email-signature-close').on('click', function(e) {
e.preventDefault();
jQuery('.the-email-signature').removeClass('show');
});
jQuery('.email-copy-text').copiq({
parent: '#the-email-signature',
content: '.email-signature-content',
});
</script>
<?php
echo '</div>';
});
// Disable Admin Bar for Author Role.
add_action( 'init', function() {
if ( is_an_author_logged_in() ) {
add_filter( 'show_admin_bar', '__return_false' );
}
} );
/*function handle_custom_query_filters( $query ) {
if ( isset( $_POST['query'] ) && isset( $_POST['query']['_meta_query_name, author, phone, email|search'] ) ) {
$query->set( 's', $_POST['query']['_meta_query_name, author, phone, email|search'] );
echo '<pre>';
print_r( $query->get('meta_query') );
print_r( $query->get('tax_query') );
echo '</pre>';
}
}
add_action( 'pre_get_posts', 'handle_custom_query_filters', 9999 );*/
function add_custom_where_for_proid( $where ) {
if ( isset( $_POST['query'] ) && isset( $_POST['query']['_meta_query_name, author, phone, email|search'] ) ) {
$st = esc_sql( $_POST['query']['_meta_query_name, author, phone, email|search'] );
if ( ! empty( $st ) ) {
$where .= ' OR post_title LIKE "%' . $st . '%"';
// echo $where;
}
}
return $where;
}
add_action( 'posts_where', 'add_custom_where_for_proid' );
add_action( 'jet-form-builder/custom-action/update_all_proids_for_premium_member', function($result, $request ) {
if ( is_user_logged_in() ) {
$user = wp_get_current_user();
if ( in_array('pro_id_premium_member', (array) $user->roles ) ) {
// get all users
$items = get_posts( array(
'post_type' => 'my-pro-id',
'posts_per_page' => -1,
'fields' => 'ids',
'author' => get_current_user_id(),
) );
global $wpdb;
foreach ( $items as $post_id ) {
// make the updates here
// if ( false ) {
if ( isset( $request->request_data['_organization'] ) && ! empty( $request->request_data['_organization'] ) ) {
update_post_meta( $post_id, 'organization', $request->request_data['_organization'] );
}
if ( isset( $request->request_data['_website'] ) && ! empty( $request->request_data['_website'] ) ) {
update_post_meta( $post_id, 'website', $request->request_data['_website'] );
}
if ( isset( $request->request_data['company_logo'] ) && ! empty( $request->request_data['company_logo'] ) ) {
update_post_meta( $post_id, 'logocongty', $request->request_data['company_logo'] );
}
if ( isset( $request->request_data['_cover_image'] ) && ! empty( $request->request_data['_cover_image'] ) ) {
update_post_meta( $post_id, 'cover-image', $request->request_data['_cover_image'] );
}
if ( isset( $request->request_data['_content'] ) && ! empty( $request->request_data['_content'] ) ) {
$wpdb->update( $wpdb->posts, array( 'post_content', $request->request_data['_content'] ), array( 'ID' => $post_id ) );
}
if ( isset( $request->request_data['address'] ) && ! empty( $request->request_data['address'] ) ) {
update_post_meta( $post_id, 'address', $request->request_data['address'] );
}
if ( isset( $request->request_data['gioi_thieu'] ) && ! empty( $request->request_data['gioi_thieu'] ) ) {
update_post_meta( $post_id, 'gioi-thieu', $request->request_data['gioi_thieu'] );
}
if ( isset( $request->request_data['album_anh'] ) && ! empty( $request->request_data['album_anh'] ) ) {
update_post_meta( $post_id, 'gallery', $request->request_data['album_anh'] );
}
if ( isset( $request->request_data['_color'] ) && ! empty( $request->request_data['_color'] ) ) {
update_post_meta( $post_id, 'color', $request->request_data['_color'] );
}
if ( isset( $request->request_data['facebook'] ) && ! empty( $request->request_data['facebook'] ) ) {
update_post_meta( $post_id, 'facebook', $request->request_data['facebook'] );
}
if ( isset( $request->request_data['instagram'] ) && ! empty( $request->request_data['instagram'] ) ) {
update_post_meta( $post_id, 'instagram', $request->request_data['instagram'] );
}
if ( isset( $request->request_data['youtube'] ) && ! empty( $request->request_data['youtube'] ) ) {
update_post_meta( $post_id, 'youtube', $request->request_data['youtube'] );
}
if ( isset( $request->request_data['tiktok1'] ) && ! empty( $request->request_data['tiktok1'] ) ) {
update_post_meta( $post_id, 'tiktok1', $request->request_data['tiktok1'] );
}
if ( isset( $request->request_data['shopee'] ) && ! empty( $request->request_data['shopee'] ) ) {
update_post_meta( $post_id, 'shopee', $request->request_data['shopee'] );
}
if ( isset( $request->request_data['whatsapp'] ) && ! empty( $request->request_data['whatsapp'] ) ) {
update_post_meta( $post_id, 'whatsapp', $request->request_data['whatsapp'] );
}
if ( isset( $request->request_data['linkedin'] ) && ! empty( $request->request_data['linkedin'] ) ) {
update_post_meta( $post_id, 'linkedin', $request->request_data['linkedin'] );
}
if ( isset( $request->request_data['video1'] ) && ! empty( $request->request_data['video1'] ) ) {
update_post_meta( $post_id, 'video1', $request->request_data['video1'] );
}
if ( isset( $request->request_data['video2'] ) && ! empty( $request->request_data['video2'] ) ) {
update_post_meta( $post_id, 'video2', $request->request_data['video2'] );
}
if ( isset( $request->request_data['video3'] ) && ! empty( $request->request_data['video3'] ) ) {
update_post_meta( $post_id, 'video3', $request->request_data['video3'] );
}
}
// }
}
}
}, 10, 3 );
if( isset( $_REQUEST['form_id'] ) && $_REQUEST['form_id'] == '956e7fd' ) {
add_action( 'init', function() {
$post_id = $_REQUEST['queried_id'];
// die('here');
// if (function_exists('litespeed_purge_post')) {
update_post_meta( $post_id, 'demo-status', array( 'activate' => 'false', 'deactivate' => 'true' ) );
// litespeed_purge_post($post_id);
do_action( 'litespeed_purge_post', $post_id );
// die('here');
// }
}, 1 );
}
function check_owner_product_purchase_on_status_change( $order_id, $old_status, $new_status ) {
if ( stristr( $new_status, 'processing' ) || stristr( $new_status, 'complete' ) ) {
check_owner_product_purchase( $order_id );
}
}
function check_owner_product_purchase( $order_id ) {
if ( $order_id < 198862 || get_post_meta( $order_id, 'owner_purchase_checked', true ) == 'y' ) {
return;
}
update_post_meta( $order_id, 'owner_purchase_checked', 'y' );
$order = wc_get_order( $order_id );
$owner_post_found = false;
$quantity = 1;
foreach ( $order->get_items() as $item_id => $item ) {
if ( $item->get_product_id() == 199088 ) {
$owner_post_found = true;
$quantity = (int) $item->get_quantity();
break;
}
}
if ( $owner_post_found ) {
$num_of_users = $quantity;
$user_role = 'pro_id_premium_member';
$activate_status = '';
$permalinks = array();
for( $i = 1; $i <= $num_of_users; $i++ ) {
$username = isset($_POST['username']) && !empty($_POST['username']) ?
sanitize_text_field($_POST['username']) : 'PROID'.substr(md5(uniqid()), 0, 8);
$password = 'iLoveProID@';
$email = $username . '@proid.vn';
// create the user
$user_id = wp_create_user( $username, $password, $email );
if ($user_id && !is_wp_error($user_id)) {
$demo_status = 'deactivate';
add_user_meta($user_id, 'demo-status', $demo_status, true);
$expiry_date = isset($_POST['expiry_date']) ? sanitize_text_field($_POST['expiry_date']) : '';
add_user_meta($user_id, 'expiry-date', $expiry_date, true);
wp_update_user( array( 'ID' => $user_id, 'role' => $user_role ) );
} else {
return;
}
$post_title = $username;
$post_id = wp_insert_post(array(
'post_title' => $post_title,
'post_type' => 'my-pro-id',
'post_status' => 'publish',
'post_author' => $user_id,
));
update_post_meta($post_id, 'color', '#d02234ff');
update_post_meta($post_id, 'facebook', 'https://www.facebook.com/profile.php?id=100089436709589');
update_post_meta($post_id, 'youtube', 'danhthiepthongminhproid');
update_post_meta($post_id, 'zalo', '0965784668');
update_post_meta($post_id, 'expiry-date', $expiry_date);
update_post_meta( $post_id, 'demo-status', $activate_status );
update_post_meta( $order_id, 'owner_purchase_created_post', 'y' );
if ( $post_id ) {
array_push( $permalinks, home_url( '/?my-pro-id=' . $username ) );
}
}
$filename = substr( md5( $username ), 0, 10 ) . '-' . rand( 1111, 99999 ) . rand( 11, 99 ) . 'permalinks.txt';
$upload_dir = wp_upload_dir();
$txt_file = fopen( $upload_dir['basedir'] . '/' . $filename, 'w' );
fwrite( $txt_file, implode( "\n", $permalinks ) );
fclose( $txt_file );
update_post_meta( $order_id, 'owner_purchase_permalinks', $filename );
update_post_meta( $order_id, 'owner_purchase_post_id', $post_id );
}
}
//add_action( 'woocommerce_payment_complete', 'check_owner_product_purchase' );
add_action( 'woocommerce_order_status_changed', 'check_owner_product_purchase_on_status_change', 10, 3 );
if( isset( $_GET['test--order'] ) ) {
add_action( 'init', function() {
check_owner_product_purchase(198869);
});
}
add_action( 'woocommerce_thankyou', function( $order_id ) {
$created_post_id = get_post_meta( $order_id, 'owner_purchase_post_id', true );
if ( ! empty( $created_post_id ) ) {
echo '<div class="order-pro-id-block">';
echo '<a href="' . home_url( '/wp-content/uploads/' ) . get_post_meta( $order_id, 'owner_purchase_permalinks', true ) . '" class="button" target="_blank">' . __( 'Tải link tài khoản Pro ID', 'my-pro-id' ) . '</a>';
echo '</div>';
}
});