File manager - Edit - /home/proidvn/me.proid.vn/wp-content/mu-plugins/proid-express.php
Back
<?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 */ if ( ! function_exists( 'proid_generate_secure_password' ) ) { /** * Generates a cryptographically secure random password. * Replaces all hardcoded 'iLoveProID@' assignments. * * @return string A 24-character password with letters, digits, and symbols. */ function proid_generate_secure_password(): string { return wp_generate_password( 24, true, true ); } } 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( $wpdb->prepare( "SELECT ID FROM {$wpdb->posts} WHERE post_type='my-pro-id' AND post_status='publish' AND post_author=%d", $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)) { // Send generated password to user's email if ( ! empty( $email ) && is_email( $email ) ) { wp_mail( $email, __( 'Your Pro ID account has been created', 'my-pro-id' ), sprintf( "Username: %s\nTemporary Password: %s\n\nPlease log in and change your password immediately:\n%s", $username, $password, home_url( '/wp-login.php' ) ), [ 'Content-Type: text/plain; charset=UTF-8' ] ); } $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>'; } });
| ver. 1.4 |
Github
|
.
| PHP 8.0.30 | Generation time: 0.12 |
proxy
|
phpinfo
|
Settings