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();