sku); $accounts = MiraviaCore::accounts_by_profile($profile); if(count($accounts) > 0) { MiraviaCore::request_notify($accounts[0]['token'], 'update_stock'); } } return true; } function miravia_save_metadata_product( $id ){ if(isset($_POST['miravia_brand_product'])) { $product = wc_get_product( $id ); $product->update_meta_data( '_miravia_brand_product', sanitize_text_field( $_POST[ 'miravia_brand_product' ] ) ); $product->update_meta_data( '_miravia_unit', sanitize_text_field( $_POST[ 'miravia_unit' ] ) ); $product->update_meta_data( '_miravia_unit_value', sanitize_text_field( $_POST[ 'miravia_unit_value' ] ) ); $product->save_meta_data(); } } function miravia_product_metabox() { require_once(MIRAVIA_VIEWS_PATH . "/metabox/miravia-product.php"); } function colum_orders( $column, $post_id ) { if ($column == 'order_status'){ $orderID = get_post_meta($post_id, '_miravia_order_id', true); if($orderID != '' and $orderID != 0) { echo ''.sprintf(__('Created Vía %s','aliexpress'), 'Miravia').''; } } } function miravia_update_product( $product_id ) { if(get_option('miravia_only_stock', '0') == '1') { return; } global $isSetter; if($product_id instanceof WC_Product) { $product_id = $product_id->ID; }elseif(isset($product_id['id'])) { $product_id = $product_id['id']; } if(get_post_meta($product_id, '_miravia_need_update', true) == '1') { LOG::add("{$product_id} no necesita notificación, ya programada."); return; } LOG::add("Estableciendo notificación para el producto {$product_id}"); update_post_meta($product_id, '_miravia_need_update', '1'); if($isSetter) { LOG::add("No es necesario establecer aviso"); return; } if($product_id) { $sync = MiraviaCore::get_product_miravia($product_id); if($sync) { //ESTABLECER NOTIFICACIÓN $apiKey = MiraviaCore::get_miravia_account_default(); $resultNotify = MiraviaCore::request_notify($apiKey['token'], 'update_stock'); if($resultNotify === -1) { LOG::add("Existe una notificación pendiente"); return; } if($resultNotify) { LOG::add("Seteada notificación correctamente"); $isSetter = true; } } } } function miravia_desactivation() { update_option('miravia_db_version', 0); } public function miravia_profiles_actions( $actions, $post ) { if ( current_user_can( 'edit_posts' ) ) { $actions['miravia'] = '' . __('Edit') . ''; } return $actions; } function colum_product($column, $post_id){ if($column == 'miravia_data') { $html = '
'; $sync = MiraviaCore::get_product_miravia($post_id); $dateUpdated = 'ND'; if($sync and count($sync) > 0) { if($sync[0]['last_updated'] == '0000-00-00 00:00:0') { $dateUpdated = date('d-m-Y H:i:s', strtotime($sync[0]['last_updated'])); } //MiraviaCore::debug($sync); if(count($sync) > 1) { $html .= __('Uploaded with multiple accounts','miraviawoo'); }else{ if($sync[0]['id_miravia'] != '' and $sync[0]['id_miravia'] != 0) { $html .= "View
".__('Last Update:','miraviawoo')." ".$dateUpdated."
"; $html .= "

Status: {$sync[0]['status_text']}

"; } } if(trim($sync[0]['lastError']) != '') { $html .= ''; } }else{ } $html .= '
'; echo wp_kses($html, array( 'a' => array( 'href' => array(), 'class' => array(), 'data-id' => array(), ), 'span' => array( 'class' => array() ), 'i' => array('class' => array(),), 'p' => array() )); } } function add_colum_products( $columns ) { return array_merge( $columns, array( 'miravia_data' => __( 'Miravia', 'miraviawoo' ) ) ); } function load_style() { if(is_admin()) { wp_enqueue_style( 'cssmiravia', plugins_url('assets/css/miravia-admin.css?v='.time(), __FILE__) ); wp_enqueue_script( 'productmiravia', plugins_url('assets/js/products.js?v='.time(), __FILE__), array( 'wp-i18n' ) ); wp_localize_script( 'productmiravia', 'MIRAVIA_DATA_JAVASCRIPT', array( 'adminAjaxURL' => admin_url('admin-ajax.php'), )); wp_enqueue_script( 'jquery-ui-core', false, array('jquery') ); wp_enqueue_script('jquery'); wp_enqueue_script( 'filter_rules_plugin_miravia_localization', plugins_url('lib/filter_rules/localization/es.min.js', __FILE__)); wp_enqueue_script( 'filter_rules_plugin_miravia', plugins_url('lib/filter_rules/jquery.jui_filter_rules.min.js', __FILE__),array('jquery')); wp_enqueue_script( 'filter_rules_miravia', plugins_url('lib/filter_rules_miravia.js?v='.time(), __FILE__), array('jquery')); wp_enqueue_style( 'fontawesome_miravia_css', plugins_url('lib/fontawesome-6.1.2.all.min.css', __FILE__) ); if(isset($_GET['page']) and sanitize_text_field($_GET['page']) == 'miravia_settings') { wp_enqueue_script( 'sweetalert_lib', plugins_url('lib/sweetalert2.min.js', __FILE__) ); wp_enqueue_script( 'select2_lib', plugins_url('lib/select2.min.js', __FILE__) ); wp_enqueue_style( 'select2_css', plugins_url('lib/select2.min.css', __FILE__) ); } wp_enqueue_style( 'filter_rules_css', plugins_url('lib/filter_rules/jquery.jui_filter_rules.bs.min.css', __FILE__) ); wp_enqueue_script( 'fontawesome_miravia_js', plugins_url('lib/fontawesome-6.1.2.all.min.js', __FILE__) ); } } function admin_menu() { global $iconUrl; add_menu_page( esc_html__( 'Miravia', 'miraviawoo' ), esc_html__( 'Miravia', 'miraviawoo'), 'manage_woocommerce', 'miravia_settings', array($this, 'settings_page'), $iconUrl, 55.5 ); // add_submenu_page( // 'miravia_settings', // esc_html__( 'Brands', 'miraviawoo' ), // esc_html__( 'Brands', 'miraviawoo'), // 'manage_woocommerce', // 'miravia_settings&subpage=brands', // array($this, 'settings_page'), // 10 // ); add_submenu_page( 'miravia_settings', esc_html__( 'Orders', 'miraviawoo' ), esc_html__( 'Orders', 'miraviawoo'), 'manage_woocommerce', 'miravia_settings&subpage=orders', array($this, 'settings_page'), 10 ); add_submenu_page( 'miravia_settings', esc_html__( 'Jobs', 'miraviawoo' ), esc_html__( 'Jobs', 'miraviawoo'), 'manage_woocommerce', 'miravia_settings&subpage=jobs', array($this, 'settings_page'), 10 ); add_submenu_page( 'miravia_settings', esc_html__( 'Accounts', 'miraviawoo' ), esc_html__( 'Accounts', 'miraviawoo'), 'manage_woocommerce', 'miravia_settings&subpage=accounts', array($this, 'settings_page'), 10 ); add_submenu_page( 'miravia_settings', esc_html__( 'Profiles', 'miraviawoo' ), esc_html__( 'Profiles', 'miraviawoo'), 'manage_woocommerce', 'miravia_settings&subpage=profiles', array($this, 'settings_page'), 10 ); add_submenu_page( 'miravia_settings', esc_html__( 'Products', 'miraviawoo' ), esc_html__( 'Products', 'miraviawoo'), 'manage_woocommerce', 'miravia_settings&subpage=products', array($this, 'settings_page'), 10 ); add_submenu_page( 'miravia_settings', esc_html__( 'Miravia Products', 'miraviawoo' ), esc_html__( 'Miravia Products', 'miraviawoo'), 'manage_woocommerce', 'miravia_settings&subpage=products_remote', array($this, 'settings_page'), 10 ); add_submenu_page( 'miravia_settings', esc_html__( 'Rules', 'miraviawoo' ), esc_html__( 'Rules', 'miraviawoo'), 'manage_woocommerce', 'miravia_settings&subpage=rules', array($this, 'settings_page'), 10 ); } function create_miravia_order_metabox() { global $post; if(get_post_meta($post->ID, '_miravia_order_id', true)){ add_meta_box( 'aew_number_shipping_metabox', __('Miravia Tracker','miraviawoo'), array($this, 'content_metabox_miravia_order'), 'shop_order', 'normal', 'high' ); } } function content_metabox_miravia_order($post) { require_once(MIRAVIA_VIEWS_PATH . '/metabox/miravia-order.php'); } public function settings_page() { include MIRAVIA_VIEWS_PATH . 'settings.php'; } public function brands_page() { include MIRAVIA_VIEWS_PATH . 'brands.php'; } function admin_init() { } } } $MIRAVIAWOO = new MIRAVIAWOO();