img
3 days ago
ARIAL.TTF
3 days ago
background.png
3 days ago
banner-sample.php
3 days ago
class-php-captcha.php
3 days ago
class-pisol-enquiry-quotation-woocommerce-activator.php
3 days ago
class-pisol-enquiry-quotation-woocommerce-deactivator.php
3 days ago
class-pisol-enquiry-quotation-woocommerce-i18n.php
3 days ago
class-pisol-enquiry-quotation-woocommerce-loader.php
3 days ago
class-pisol-enquiry-quotation-woocommerce.php
3 days ago
conflict-fixer.php
3 days ago
includes.php
3 days ago
index.php
3 days ago
pisol.class.form.php
3 days ago
pisol.class.promotion.php
3 days ago
review-icon.svg
3 days ago
review.php
3 days ago
conflict-fixer.php
50 lines
| 1 | <?php |
| 2 | |
| 3 | namespace PISOL\EQW\ADMIN; |
| 4 | if ( ! defined( 'ABSPATH' ) ) exit; |
| 5 | |
| 6 | class ConflictFixer{ |
| 7 | |
| 8 | protected static $instance = null; |
| 9 | |
| 10 | public static function get_instance() { |
| 11 | if ( is_null( self::$instance ) ) { |
| 12 | self::$instance = new self(); |
| 13 | } |
| 14 | return self::$instance; |
| 15 | } |
| 16 | |
| 17 | function __construct(){ |
| 18 | add_action( 'admin_enqueue_scripts', array($this,'remove_conflict_causing_scripts'), 1000 ); |
| 19 | |
| 20 | add_filter( "get_post_metadata", array($this,'make_safe_serialize'), 10, 4 ); |
| 21 | } |
| 22 | |
| 23 | function remove_conflict_causing_scripts(){ |
| 24 | if(isset($_GET['page']) && $_GET['page'] == 'pisol-enquiry-quote'){ |
| 25 | wp_dequeue_style( 'nasa_back_end-css' ); |
| 26 | |
| 27 | /* color picker gets disabled because of this script */ |
| 28 | wp_dequeue_script( 'print-invoices-packing-slip-labels-for-woocommerce' ); |
| 29 | } |
| 30 | } |
| 31 | |
| 32 | function make_safe_serialize($value, $object_id, $meta_key, $single){ |
| 33 | global $wpdb; |
| 34 | if($meta_key == 'pi_products_info'){ |
| 35 | // phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery, WordPress.DB.DirectDatabaseQuery.NoCaching -- Needed direct query for serialized meta value |
| 36 | $pi_products_info = $wpdb->get_var( $wpdb->prepare( |
| 37 | "SELECT meta_value |
| 38 | FROM {$wpdb->postmeta} |
| 39 | WHERE post_id = %d AND meta_key = %s", |
| 40 | $object_id, 'pi_products_info' |
| 41 | ) ); |
| 42 | return is_serialized($pi_products_info) ? @unserialize($pi_products_info, ['allowed_classes' => false]) : []; |
| 43 | } |
| 44 | |
| 45 | return $value; |
| 46 | } |
| 47 | |
| 48 | } |
| 49 | |
| 50 | ConflictFixer::get_instance(); |