diff --git a/ceske-sluzby.php b/ceske-sluzby.php index f35df12..96cde15 100644 --- a/ceske-sluzby.php +++ b/ceske-sluzby.php @@ -1,996 +1,1047 @@ -setEmail( $posted['billing_email'] ); - - $products = $order->get_items(); - foreach ( $products as $product ) { - $overeno->addProduct( $product['name'] ); - } - - $overeno->addOrderId( $order_id ); - $overeno->send(); - } - catch ( OverflowException $o ) { - $order->add_order_note( 'API klíč pro službu Ověřeno zákazníky nebyl správně nastaven: ' . $o->getMessage() ); - } - catch ( HeurekaOverenoException $e ) { - $order->add_order_note( 'Odeslání dat pro službu Ověřeno zákazníky se nezdařilo: ' . $e->getMessage() ); - } - } -} - -function ceske_sluzby_heureka_mereni_konverzi( $order_id ) { - $api = get_option( 'wc_ceske_sluzby_heureka_konverze-api' ); - if ( ! empty( $api ) ) { - - $order = new WC_Order( $order_id ); - $products = $order->get_items(); ?> - - - - - - - -get_subtotal() ); ?> - - - - - - get_items(); ?> - - - -=' ) ) { - require_once plugin_dir_path( __FILE__ ) . 'includes/ceske-sluzby-functions.php'; - if ( is_admin() ) { - require_once plugin_dir_path( __FILE__ ) . 'includes/class-ceske-sluzby-admin.php'; - require_once plugin_dir_path( __FILE__ ) . 'includes/class-ceske-sluzby-sledovani-zasilek.php'; - WC_Settings_Tab_Ceske_Sluzby_Admin::init(); - $xml_feed = get_option( 'wc_ceske_sluzby_heureka_xml_feed-aktivace' ); - if ( $xml_feed == "yes" ) { - require_once plugin_dir_path( __FILE__ ) . 'includes/class-ceske-sluzby-product-tab.php'; - require_once plugin_dir_path( __FILE__ ) . 'includes/class-ceske-sluzby-varianty.php'; - new WC_Product_Tab_Ceske_Sluzby_Admin(); - } - } - - add_action( 'woocommerce_shipping_init', 'ceske_sluzby_doprava_ulozenka_init' ); - add_filter( 'woocommerce_shipping_methods', 'ceske_sluzby_doprava_ulozenka' ); - - add_action( 'woocommerce_shipping_init', 'ceske_sluzby_doprava_dpd_parcelshop_init' ); - add_filter( 'woocommerce_shipping_methods', 'ceske_sluzby_doprava_dpd_parcelshop' ); - - add_action( 'woocommerce_checkout_order_processed', 'ceske_sluzby_heureka_overeno_zakazniky', 10, 2 ); - add_action( 'woocommerce_thankyou', 'ceske_sluzby_heureka_mereni_konverzi' ); - add_action( 'woocommerce_thankyou', 'ceske_sluzby_sklik_mereni_konverzi' ); - add_action( 'woocommerce_thankyou', 'ceske_sluzby_srovname_mereni_konverzi' ); - add_action( 'wp_footer', 'ceske_sluzby_sklik_retargeting' ); - add_filter( 'wc_order_is_editable', 'ceske_sluzby_moznost_menit_dobirku', 10, 2 ); - add_filter( 'woocommerce_package_rates', 'ceske_sluzby_omezit_dopravu_pokud_dostupna_zdarma', 10, 2 ); - - add_action( 'woocommerce_review_order_after_shipping', 'ceske_sluzby_ulozenka_zobrazit_pobocky' ); - add_action( 'woocommerce_add_shipping_order_item', 'ceske_sluzby_ulozenka_ulozeni_pobocky', 10, 2 ); - add_action( 'woocommerce_checkout_process', 'ceske_sluzby_ulozenka_overit_pobocku' ); - add_action( 'woocommerce_admin_order_data_after_billing_address', 'ceske_sluzby_ulozenka_objednavka_zobrazit_pobocku' ); - add_action( 'woocommerce_email_after_order_table', 'ceske_sluzby_ulozenka_pobocka_email' ); - add_action( 'woocommerce_order_details_after_order_table', 'ceske_sluzby_ulozenka_pobocka_email' ); - - add_action( 'woocommerce_review_order_after_shipping', 'ceske_sluzby_dpd_parcelshop_zobrazit_pobocky' ); - add_action( 'woocommerce_add_shipping_order_item', 'ceske_sluzby_dpd_parcelshop_ulozeni_pobocky', 10, 2 ); - add_action( 'woocommerce_checkout_process', 'ceske_sluzby_dpd_parcelshop_overit_pobocku' ); - add_action( 'woocommerce_admin_order_data_after_billing_address', 'ceske_sluzby_dpd_parcelshop_objednavka_zobrazit_pobocku' ); - add_action( 'woocommerce_email_after_order_table', 'ceske_sluzby_dpd_parcelshop_pobocka_email' ); - add_action( 'woocommerce_order_details_after_order_table', 'ceske_sluzby_dpd_parcelshop_pobocka_email' ); - - add_filter( 'woocommerce_pay4pay_cod_amount', 'ceske_sluzby_ulozenka_dobirka_pay4pay' ); - add_filter( 'woocommerce_pay4pay_cod_amount', 'ceske_sluzby_dpd_parcelshop_dobirka_pay4pay' ); - - $aktivace_recenzi = get_option( 'wc_ceske_sluzby_heureka_recenze_obchodu-aktivace' ); - if ( $aktivace_recenzi == "yes" ) { - add_shortcode( 'heureka-recenze-obchodu', 'ceske_sluzby_heureka_recenze_obchodu' ); - } - - $sledovani_zasilek = get_option( 'wc_ceske_sluzby_dalsi_nastaveni_sledovani-zasilek' ); - if ( $sledovani_zasilek == "yes" ) { - add_filter( 'woocommerce_email_classes', 'ceske_sluzby_sledovani_zasilek_email' ); - add_filter( 'woocommerce_email_actions', 'ceske_sluzby_sledovani_zasilek_email_akce' ); - } - - $aktivace_dodaci_doby = get_option( 'wc_ceske_sluzby_dalsi_nastaveni_dodaci_doba-aktivace' ); - if ( $aktivace_dodaci_doby == "yes" ) { - $dodaci_doba = get_option( 'wc_ceske_sluzby_dodaci_doba_zobrazovani' ); - if ( ! empty ( $dodaci_doba ) ) { - foreach ( $dodaci_doba as $zobrazeni ) { - if ( $zobrazeni == 'get_availability_text' ) { - // Původně použitý filtr woocommerce_get_availability_text je funkční až od WooCommerce 2.6.2 - // https://github.com/woocommerce/woocommerce/commit/33346938855b334861678bccecef4a58e5fc0cfa - add_filter( 'woocommerce_get_availability', 'ceske_sluzby_zobrazit_dodaci_dobu_filtr', 10, 2 ); - } - if ( $zobrazeni == 'before_add_to_cart_form' ) { - add_action( 'woocommerce_before_add_to_cart_form', 'ceske_sluzby_zobrazit_dodaci_dobu_akce' ); - } - if ( $zobrazeni == 'after_shop_loop_item' ) { - add_action( 'woocommerce_after_shop_loop_item', 'ceske_sluzby_zobrazit_dodaci_dobu_akce', 9 ); - } - } - } - $predobjednavka = get_option( 'wc_ceske_sluzby_preorder-aktivace' ); - if ( $predobjednavka == "yes" ) { - add_action( 'admin_enqueue_scripts', 'ceske_sluzby_load_admin_scripts' ); - } - } - - add_action( 'product_cat_add_form_fields', 'ceske_sluzby_xml_kategorie_pridat_pole', 99 ); - add_action( 'product_cat_edit_form_fields', 'ceske_sluzby_xml_kategorie_upravit_pole', 99 ); - add_action( 'created_term', 'ceske_sluzby_xml_kategorie_ulozit', 20, 3 ); - add_action( 'edit_term', 'ceske_sluzby_xml_kategorie_ulozit', 20, 3 ); - add_filter( 'manage_edit-product_cat_columns', 'ceske_sluzby_xml_kategorie_pridat_sloupec' ); - add_filter( 'manage_product_cat_custom_column', 'ceske_sluzby_xml_kategorie_sloupec', 10, 3 ); - - add_action( 'wp_footer', 'ceske_sluzby_heureka_certifikat_spokojenosti' ); // Pouze pro eshop nebo na celém webu? - } -} -add_action( 'plugins_loaded', 'ceske_sluzby_kontrola_aktivniho_pluginu' ); - -function ceske_sluzby_doprava_ulozenka_init() { - if ( ! class_exists( 'WC_Shipping_Ceske_Sluzby_Ulozenka' ) ) { - require_once plugin_dir_path( __FILE__ ) . 'includes/class-ceske-sluzby-ulozenka.php'; - } -} - -function ceske_sluzby_doprava_ulozenka( $methods ) { - $methods[] = 'WC_Shipping_Ceske_Sluzby_Ulozenka'; - return $methods; -} - -function ceske_sluzby_ulozenka_zobrazit_pobocky() { - if ( is_ajax() ) { - // Do budoucna možná použít spíše woocommerce_checkout_update_order_review - parse_str( $_POST['post_data'] ); - $available_shipping = WC()->shipping->load_shipping_methods(); - $chosen_shipping_method = WC()->session->get( 'chosen_shipping_methods' ); - $settings = array(); - - if ( $chosen_shipping_method[0] == "ceske_sluzby_ulozenka" ) { - $settings = $available_shipping[ $chosen_shipping_method[0] ]->settings; - - if ( $settings['enabled'] == "yes" && ! empty ( $settings['ulozenka_id-obchodu'] ) ) { - - $pobocky = new Ceske_Sluzby_Json_Loader(); - // http://docs.ulozenkav3.apiary.io/#pepravnsluby - - $zeme = WC()->customer->get_shipping_country(); - if ( $zeme == "CZ" ) { $zeme_code = "CZE"; } - if ( $zeme == "SK" ) { $zeme_code = "SVK"; } - - $parametry = array( 'provider' => 1, 'country' => $zeme_code ); - ?> - -
- Uloženka: " . $order->get_item_meta( $shipping_item_id, 'ceske_sluzby_ulozenka_pobocka_nazev', true ) . "
"; - } - } -} - -function ceske_sluzby_ulozenka_dobirka_pay4pay( $amount ) { - $available_shipping = WC()->shipping->load_shipping_methods(); - $chosen_shipping_method = WC()->session->get( 'chosen_shipping_methods' ); - if ( $chosen_shipping_method[0] == "ceske_sluzby_ulozenka" ) { - $settings = $available_shipping[ $chosen_shipping_method[0] ]->settings; - $zeme = WC()->customer->get_shipping_country(); - if ( $zeme == "CZ" ) { - if ( ! empty( $settings['ulozenka_dobirka'] ) ) { - $amount = $settings['ulozenka_dobirka']; - } - } - if ( $zeme == "SK" ) { - if ( ! empty( $settings['ulozenka_dobirka-slovensko'] ) ) { - $amount = $settings['ulozenka_dobirka-slovensko']; - } - } - if ( class_exists( 'WOOCS' ) ) { - $amount = apply_filters( 'woocs_exchange_value', $amount ); - } - } - return $amount; -} - -function ceske_sluzby_ulozenka_pobocka_email( $order ) { - if ( $order->has_shipping_method( 'ceske_sluzby_ulozenka' ) ) { - foreach ( $order->get_shipping_methods() as $shipping_item_id => $shipping_item ) { - echo "Uloženka: " . $order->get_item_meta( $shipping_item_id, 'ceske_sluzby_ulozenka_pobocka_nazev', true ) . "
"; - } - } -} - -function ceske_sluzby_doprava_dpd_parcelshop_init() { - if ( ! class_exists( 'WC_Shipping_Ceske_Sluzby_DPD_ParcelShop' ) ) { - require_once plugin_dir_path( __FILE__ ) . 'includes/class-ceske-sluzby-dpd-parcelshop.php'; - require_once plugin_dir_path( __FILE__ ) . 'includes/class-ceske-sluzby-json-loader.php'; - } -} - -function ceske_sluzby_doprava_dpd_parcelshop( $methods ) { - $methods[] = 'WC_Shipping_Ceske_Sluzby_DPD_ParcelShop'; - return $methods; -} - -function ceske_sluzby_dpd_parcelshop_zobrazit_pobocky() { - if ( is_ajax() ) { - parse_str( $_POST['post_data'] ); - $available_shipping = WC()->shipping->load_shipping_methods(); - $chosen_shipping_method = WC()->session->get( 'chosen_shipping_methods' ); - $settings = array(); - - if ( $chosen_shipping_method[0] == "ceske_sluzby_dpd_parcelshop" ) { - $settings = $available_shipping[ $chosen_shipping_method[0] ]->settings; - - if ( $settings['enabled'] == "yes" ) { - - $pobocky = new Ceske_Sluzby_Json_Loader(); - - $zeme = WC()->customer->get_shipping_country(); - if ( $zeme == "CZ" ) { $zeme_code = "CZE"; } - if ( $zeme == "SK" ) { $zeme_code = "SVK"; } - - $parametry = array( 'provider' => 5, 'country' => $zeme_code ); - ?> - -
- DPD ParcelShop: " . $order->get_item_meta( $shipping_item_id, 'ceske_sluzby_dpd_parcelshop_pobocka_nazev', true ) . "
"; - } - } -} - -function ceske_sluzby_dpd_parcelshop_dobirka_pay4pay( $amount ) { - $available_shipping = WC()->shipping->load_shipping_methods(); - $chosen_shipping_method = WC()->session->get( 'chosen_shipping_methods' ); - if ( $chosen_shipping_method[0] == "ceske_sluzby_dpd_parcelshop" ) { - $settings = $available_shipping[ $chosen_shipping_method[0] ]->settings; - $zeme = WC()->customer->get_shipping_country(); - if ( $zeme == "CZ" ) { - if ( ! empty( $settings['dpd_parcelshop_dobirka'] ) ) { - $amount = $settings['dpd_parcelshop_dobirka']; - } - } - if ( $zeme == "SK" ) { - if ( ! empty( $settings['dpd_parcelshop_dobirka-slovensko'] ) ) { - $amount = $settings['dpd_parcelshop_dobirka-slovensko']; - } - } - if ( class_exists( 'WOOCS' ) ) { - $amount = apply_filters( 'woocs_exchange_value', $amount ); - } - } - return $amount; -} - -function ceske_sluzby_dpd_parcelshop_pobocka_email( $order ) { - if ( $order->has_shipping_method( 'ceske_sluzby_dpd_parcelshop' ) ) { - foreach ( $order->get_shipping_methods() as $shipping_item_id => $shipping_item ) { - echo "DPD ParcelShop: " . $order->get_item_meta( $shipping_item_id, 'ceske_sluzby_dpd_parcelshop_pobocka_nazev', true ) . "
"; - } - } -} - -function ceske_sluzby_moznost_menit_dobirku( $zmena, $objednavka ) { -// http://www.separatista.net/forum/tema/woocommerce-a-dobirka - $moznost_zmeny = get_option( 'wc_ceske_sluzby_dalsi_nastaveni_dobirka-zmena' ); - $status = $objednavka->get_status(); - if ( $moznost_zmeny == "yes" && $status == "processing" ) { - $zmena = true; - } - return $zmena; -} - -add_action( 'init', 'ceske_sluzby_aktivace_xml_feed' ); -function ceske_sluzby_aktivace_xml_feed() { - $aktivace_xml = get_option( 'wc_ceske_sluzby_heureka_xml_feed-aktivace' ); - if ( $aktivace_xml == "yes" ) { - require_once plugin_dir_path( __FILE__ ) . 'includes/class-ceske-sluzby-xml.php'; - add_feed( 'heureka', 'heureka_xml_feed_zobrazeni' ); - add_feed( 'zbozi', 'zbozi_xml_feed_zobrazeni' ); - add_feed( 'google', 'google_xml_feed_zobrazeni' ); - - $heureka_xml = get_option( 'wc_ceske_sluzby_xml_feed_heureka-aktivace' ); - if ( $heureka_xml == "yes" ) { - if ( ! wp_next_scheduled( 'ceske_sluzby_heureka_aktualizace_xml' ) ) { - wp_schedule_event( current_time( 'timestamp', 1 ), 'daily', 'ceske_sluzby_heureka_aktualizace_xml' ); - } - } else { - if ( wp_next_scheduled( 'ceske_sluzby_heureka_aktualizace_xml' ) ) { - $timestamp = wp_next_scheduled( 'ceske_sluzby_heureka_aktualizace_xml' ); - wp_unschedule_event( $timestamp, 'ceske_sluzby_heureka_aktualizace_xml' ); - } - } - - $zbozi_xml = get_option( 'wc_ceske_sluzby_xml_feed_zbozi-aktivace' ); - if ( $zbozi_xml == "yes" ) { - if ( ! wp_next_scheduled( 'ceske_sluzby_zbozi_aktualizace_xml' ) ) { - wp_schedule_event( current_time( 'timestamp', 1 ) + MINUTE_IN_SECONDS, 'daily', 'ceske_sluzby_zbozi_aktualizace_xml' ); - } - } else { - if ( wp_next_scheduled( 'ceske_sluzby_zbozi_aktualizace_xml' ) ) { - $timestamp = wp_next_scheduled( 'ceske_sluzby_zbozi_aktualizace_xml' ); - wp_unschedule_event( $timestamp, 'ceske_sluzby_zbozi_aktualizace_xml' ); - } - } - - $pricemania_xml = get_option( 'wc_ceske_sluzby_xml_feed_pricemania-aktivace' ); - if ( $pricemania_xml == "yes" ) { - if ( ! wp_next_scheduled( 'ceske_sluzby_pricemania_aktualizace_xml' ) ) { - wp_schedule_event( current_time( 'timestamp', 1 ) + ( 2 * MINUTE_IN_SECONDS ), 'daily', 'ceske_sluzby_pricemania_aktualizace_xml' ); - } - } else { - if ( wp_next_scheduled( 'ceske_sluzby_pricemania_aktualizace_xml' ) ) { - $timestamp = wp_next_scheduled( 'ceske_sluzby_pricemania_aktualizace_xml' ); - wp_unschedule_event( $timestamp, 'ceske_sluzby_pricemania_aktualizace_xml' ); - } - } - } else { - if ( wp_next_scheduled( 'ceske_sluzby_heureka_aktualizace_xml' ) ) { - $timestamp = wp_next_scheduled( 'ceske_sluzby_heureka_aktualizace_xml' ); - wp_unschedule_event( $timestamp, 'ceske_sluzby_heureka_aktualizace_xml' ); - } - if ( wp_next_scheduled( 'ceske_sluzby_zbozi_aktualizace_xml' ) ) { - $timestamp = wp_next_scheduled( 'ceske_sluzby_zbozi_aktualizace_xml' ); - wp_unschedule_event( $timestamp, 'ceske_sluzby_zbozi_aktualizace_xml' ); - } - if ( wp_next_scheduled( 'ceske_sluzby_pricemania_aktualizace_xml' ) ) { - $timestamp = wp_next_scheduled( 'ceske_sluzby_pricemania_aktualizace_xml' ); - wp_unschedule_event( $timestamp, 'ceske_sluzby_pricemania_aktualizace_xml' ); - } - } -} - -add_action( 'ceske_sluzby_heureka_aktualizace_xml', 'ceske_sluzby_heureka_xml_feed_aktualizace' ); -add_action( 'ceske_sluzby_heureka_aktualizace_xml_batch', 'ceske_sluzby_heureka_xml_feed_aktualizace' ); -function ceske_sluzby_heureka_xml_feed_aktualizace() { - require_once plugin_dir_path( __FILE__ ) . 'includes/class-ceske-sluzby-xml.php'; - heureka_xml_feed_aktualizace(); -} - -add_action( 'ceske_sluzby_zbozi_aktualizace_xml', 'ceske_sluzby_zbozi_xml_feed_aktualizace' ); -add_action( 'ceske_sluzby_zbozi_aktualizace_xml_batch', 'ceske_sluzby_zbozi_xml_feed_aktualizace' ); -function ceske_sluzby_zbozi_xml_feed_aktualizace() { - require_once plugin_dir_path( __FILE__ ) . 'includes/class-ceske-sluzby-xml.php'; - zbozi_xml_feed_aktualizace(); -} - -add_action( 'ceske_sluzby_pricemania_aktualizace_xml', 'ceske_sluzby_pricemania_xml_feed_aktualizace' ); -add_action( 'ceske_sluzby_pricemania_aktualizace_xml_batch', 'ceske_sluzby_pricemania_xml_feed_aktualizace' ); -function ceske_sluzby_pricemania_xml_feed_aktualizace() { - require_once plugin_dir_path( __FILE__ ) . 'includes/class-ceske-sluzby-xml.php'; - pricemania_xml_feed_aktualizace(); -} - -// http://docs.woothemes.com/document/hide-other-shipping-methods-when-free-shipping-is-available/ -function ceske_sluzby_omezit_dopravu_pokud_dostupna_zdarma( $rates, $package ) { - $omezit_dopravu = get_option( 'wc_ceske_sluzby_dalsi_nastaveni_doprava-pouze-zdarma' ); - if ( $omezit_dopravu == "yes" ) { - if ( isset( $rates['free_shipping'] ) ) { - $free_shipping = $rates['free_shipping']; - if ( isset( $rates['local_pickup'] ) ) { - $local_pickup = $rates['local_pickup']; - } - $rates = array(); - $rates['free_shipping'] = $free_shipping; - if ( isset( $local_pickup ) ) { - $rates['local_pickup'] = $local_pickup; - } - } - } - return $rates; -} - -function ceske_sluzby_heureka_recenze_obchodu( $atts ) { - $process = true; - $output = '
- Zatím je nutné ručně doplnit příslušnou kategorii z Heureky (aktuální přehled naleznete zde).
- Příklad: Elektronika | Počítače a kancelář | Software | Multimediální software
- Z CATEGORY_FULLNAME je také třeba vynechat úvodní část " | ".
-
- Zatím je nutné ručně doplnit příslušnou kategorii ze Zbozi.cz (aktuální přehled naleznete zde).
- Příklad: Počítače | Software | Grafický a video software (informace ze sloupce s názvem Celá cesta)
-
- Zatím je nutné ručně doplnit příslušnou kategorii z Heureky (aktuální přehled naleznete zde).
- Příklad: Elektronika | Počítače a kancelář | Software | Multimediální software
- Z CATEGORY_FULLNAME je také třeba vynechat úvodní část " | ".
-
- Zatím je nutné ručně doplnit příslušnou kategorii ze Zbozi.cz (aktuální přehled naleznete zde).
- Příklad: Počítače | Software | Grafický a video software (informace ze sloupce s názvem Celá cesta)
-
+ Uloženka: " . $order->get_item_meta( $shipping_item_id, 'ceske_sluzby_ulozenka_pobocka_nazev', true ) . "
"; + } + } +} + +function ceske_sluzby_ulozenka_dobirka_pay4pay( $amount ) { + $available_shipping = WC()->shipping->load_shipping_methods(); + $chosen_shipping_method = WC()->session->get( 'chosen_shipping_methods' ); + if ( $chosen_shipping_method[0] == "ceske_sluzby_ulozenka" ) { + $settings = $available_shipping[ $chosen_shipping_method[0] ]->settings; + $zeme = WC()->customer->get_shipping_country(); + if ( $zeme == "CZ" ) { + if ( ! empty( $settings['ulozenka_dobirka'] ) ) { + $amount = $settings['ulozenka_dobirka']; + } + } + if ( $zeme == "SK" ) { + if ( ! empty( $settings['ulozenka_dobirka-slovensko'] ) ) { + $amount = $settings['ulozenka_dobirka-slovensko']; + } + } + if ( class_exists( 'WOOCS' ) ) { + $amount = apply_filters( 'woocs_exchange_value', $amount ); + } + } + return $amount; +} + +function ceske_sluzby_ulozenka_pobocka_email( $order ) { + if ( $order->has_shipping_method( 'ceske_sluzby_ulozenka' ) ) { + foreach ( $order->get_shipping_methods() as $shipping_item_id => $shipping_item ) { + echo "Uloženka: " . $order->get_item_meta( $shipping_item_id, 'ceske_sluzby_ulozenka_pobocka_nazev', true ) . "
"; + } + } +} + +function ceske_sluzby_doprava_dpd_parcelshop_init() { + if ( ! class_exists( 'WC_Shipping_Ceske_Sluzby_DPD_ParcelShop' ) ) { + require_once plugin_dir_path( __FILE__ ) . 'includes/class-ceske-sluzby-dpd-parcelshop.php'; + require_once plugin_dir_path( __FILE__ ) . 'includes/class-ceske-sluzby-json-loader.php'; + } +} + +function ceske_sluzby_doprava_dpd_parcelshop( $methods ) { + $methods[] = 'WC_Shipping_Ceske_Sluzby_DPD_ParcelShop'; + return $methods; +} + +function ceske_sluzby_dpd_parcelshop_zobrazit_pobocky() { + if ( is_ajax() ) { + parse_str( $_POST['post_data'] ); + $available_shipping = WC()->shipping->load_shipping_methods(); + $chosen_shipping_method = WC()->session->get( 'chosen_shipping_methods' ); + $settings = array(); + + if ( $chosen_shipping_method[0] == "ceske_sluzby_dpd_parcelshop" ) { + $settings = $available_shipping[ $chosen_shipping_method[0] ]->settings; + + if ( $settings['enabled'] == "yes" ) { + + $pobocky = new Ceske_Sluzby_Json_Loader(); + + $zeme = WC()->customer->get_shipping_country(); + if ( $zeme == "CZ" ) { $zeme_code = "CZE"; } + if ( $zeme == "SK" ) { $zeme_code = "SVK"; } + + $parametry = array( 'provider' => 5, 'country' => $zeme_code ); + ?> + +
+ DPD ParcelShop: " . $order->get_item_meta( $shipping_item_id, 'ceske_sluzby_dpd_parcelshop_pobocka_nazev', true ) . "
"; + } + } +} + +function ceske_sluzby_dpd_parcelshop_dobirka_pay4pay( $amount ) { + $available_shipping = WC()->shipping->load_shipping_methods(); + $chosen_shipping_method = WC()->session->get( 'chosen_shipping_methods' ); + if ( $chosen_shipping_method[0] == "ceske_sluzby_dpd_parcelshop" ) { + $settings = $available_shipping[ $chosen_shipping_method[0] ]->settings; + $zeme = WC()->customer->get_shipping_country(); + if ( $zeme == "CZ" ) { + if ( ! empty( $settings['dpd_parcelshop_dobirka'] ) ) { + $amount = $settings['dpd_parcelshop_dobirka']; + } + } + if ( $zeme == "SK" ) { + if ( ! empty( $settings['dpd_parcelshop_dobirka-slovensko'] ) ) { + $amount = $settings['dpd_parcelshop_dobirka-slovensko']; + } + } + if ( class_exists( 'WOOCS' ) ) { + $amount = apply_filters( 'woocs_exchange_value', $amount ); + } + } + return $amount; +} + +function ceske_sluzby_dpd_parcelshop_pobocka_email( $order ) { + if ( $order->has_shipping_method( 'ceske_sluzby_dpd_parcelshop' ) ) { + foreach ( $order->get_shipping_methods() as $shipping_item_id => $shipping_item ) { + echo "DPD ParcelShop: " . $order->get_item_meta( $shipping_item_id, 'ceske_sluzby_dpd_parcelshop_pobocka_nazev', true ) . "
"; + } + } +} + +function ceske_sluzby_moznost_menit_dobirku( $zmena, $objednavka ) { +// http://www.separatista.net/forum/tema/woocommerce-a-dobirka + $moznost_zmeny = get_option( 'wc_ceske_sluzby_dalsi_nastaveni_dobirka-zmena' ); + $status = $objednavka->get_status(); + if ( $moznost_zmeny == "yes" && $status == "processing" ) { + $zmena = true; + } + return $zmena; +} + +add_action( 'init', 'ceske_sluzby_aktivace_xml_feed' ); +function ceske_sluzby_aktivace_xml_feed() { + $aktivace_xml = get_option( 'wc_ceske_sluzby_heureka_xml_feed-aktivace' ); + if ( $aktivace_xml == "yes" ) { + require_once plugin_dir_path( __FILE__ ) . 'includes/class-ceske-sluzby-xml.php'; + add_feed( 'heureka', 'heureka_xml_feed_zobrazeni' ); + add_feed( 'zbozi', 'zbozi_xml_feed_zobrazeni' ); + add_feed( 'google', 'google_xml_feed_zobrazeni' ); + + $heureka_xml = get_option( 'wc_ceske_sluzby_xml_feed_heureka-aktivace' ); + if ( $heureka_xml == "yes" ) { + if ( ! wp_next_scheduled( 'ceske_sluzby_heureka_aktualizace_xml' ) ) { + wp_schedule_event( current_time( 'timestamp', 1 ), 'daily', 'ceske_sluzby_heureka_aktualizace_xml' ); + } + } else { + if ( wp_next_scheduled( 'ceske_sluzby_heureka_aktualizace_xml' ) ) { + $timestamp = wp_next_scheduled( 'ceske_sluzby_heureka_aktualizace_xml' ); + wp_unschedule_event( $timestamp, 'ceske_sluzby_heureka_aktualizace_xml' ); + } + } + + $zbozi_xml = get_option( 'wc_ceske_sluzby_xml_feed_zbozi-aktivace' ); + if ( $zbozi_xml == "yes" ) { + if ( ! wp_next_scheduled( 'ceske_sluzby_zbozi_aktualizace_xml' ) ) { + wp_schedule_event( current_time( 'timestamp', 1 ) + MINUTE_IN_SECONDS, 'daily', 'ceske_sluzby_zbozi_aktualizace_xml' ); + } + } else { + if ( wp_next_scheduled( 'ceske_sluzby_zbozi_aktualizace_xml' ) ) { + $timestamp = wp_next_scheduled( 'ceske_sluzby_zbozi_aktualizace_xml' ); + wp_unschedule_event( $timestamp, 'ceske_sluzby_zbozi_aktualizace_xml' ); + } + } + + $pricemania_xml = get_option( 'wc_ceske_sluzby_xml_feed_pricemania-aktivace' ); + if ( $pricemania_xml == "yes" ) { + if ( ! wp_next_scheduled( 'ceske_sluzby_pricemania_aktualizace_xml' ) ) { + wp_schedule_event( current_time( 'timestamp', 1 ) + ( 2 * MINUTE_IN_SECONDS ), 'daily', 'ceske_sluzby_pricemania_aktualizace_xml' ); + } + } else { + if ( wp_next_scheduled( 'ceske_sluzby_pricemania_aktualizace_xml' ) ) { + $timestamp = wp_next_scheduled( 'ceske_sluzby_pricemania_aktualizace_xml' ); + wp_unschedule_event( $timestamp, 'ceske_sluzby_pricemania_aktualizace_xml' ); + } + } + } else { + if ( wp_next_scheduled( 'ceske_sluzby_heureka_aktualizace_xml' ) ) { + $timestamp = wp_next_scheduled( 'ceske_sluzby_heureka_aktualizace_xml' ); + wp_unschedule_event( $timestamp, 'ceske_sluzby_heureka_aktualizace_xml' ); + } + if ( wp_next_scheduled( 'ceske_sluzby_zbozi_aktualizace_xml' ) ) { + $timestamp = wp_next_scheduled( 'ceske_sluzby_zbozi_aktualizace_xml' ); + wp_unschedule_event( $timestamp, 'ceske_sluzby_zbozi_aktualizace_xml' ); + } + if ( wp_next_scheduled( 'ceske_sluzby_pricemania_aktualizace_xml' ) ) { + $timestamp = wp_next_scheduled( 'ceske_sluzby_pricemania_aktualizace_xml' ); + wp_unschedule_event( $timestamp, 'ceske_sluzby_pricemania_aktualizace_xml' ); + } + } +} + +add_action( 'ceske_sluzby_heureka_aktualizace_xml', 'ceske_sluzby_heureka_xml_feed_aktualizace' ); +add_action( 'ceske_sluzby_heureka_aktualizace_xml_batch', 'ceske_sluzby_heureka_xml_feed_aktualizace' ); +function ceske_sluzby_heureka_xml_feed_aktualizace() { + require_once plugin_dir_path( __FILE__ ) . 'includes/class-ceske-sluzby-xml.php'; + heureka_xml_feed_aktualizace(); +} + +add_action( 'ceske_sluzby_zbozi_aktualizace_xml', 'ceske_sluzby_zbozi_xml_feed_aktualizace' ); +add_action( 'ceske_sluzby_zbozi_aktualizace_xml_batch', 'ceske_sluzby_zbozi_xml_feed_aktualizace' ); +function ceske_sluzby_zbozi_xml_feed_aktualizace() { + require_once plugin_dir_path( __FILE__ ) . 'includes/class-ceske-sluzby-xml.php'; + zbozi_xml_feed_aktualizace(); +} + +add_action( 'ceske_sluzby_pricemania_aktualizace_xml', 'ceske_sluzby_pricemania_xml_feed_aktualizace' ); +add_action( 'ceske_sluzby_pricemania_aktualizace_xml_batch', 'ceske_sluzby_pricemania_xml_feed_aktualizace' ); +function ceske_sluzby_pricemania_xml_feed_aktualizace() { + require_once plugin_dir_path( __FILE__ ) . 'includes/class-ceske-sluzby-xml.php'; + pricemania_xml_feed_aktualizace(); +} + +// http://docs.woothemes.com/document/hide-other-shipping-methods-when-free-shipping-is-available/ +function ceske_sluzby_omezit_dopravu_pokud_dostupna_zdarma( $rates, $package ) { + $omezit_dopravu = get_option( 'wc_ceske_sluzby_dalsi_nastaveni_doprava-pouze-zdarma' ); + if ( $omezit_dopravu == "yes" ) { + if ( isset( $rates['free_shipping'] ) ) { + $free_shipping = $rates['free_shipping']; + if ( isset( $rates['local_pickup'] ) ) { + $local_pickup = $rates['local_pickup']; + } + $rates = array(); + $rates['free_shipping'] = $free_shipping; + if ( isset( $local_pickup ) ) { + $rates['local_pickup'] = $local_pickup; + } + } + } + return $rates; +} + +function ceske_sluzby_heureka_recenze_obchodu( $atts ) { + $process = true; + $output = '
+ Zatím je nutné ručně doplnit příslušnou kategorii z Heureky (aktuální přehled naleznete zde).
+ Příklad: Elektronika | Počítače a kancelář | Software | Multimediální software
+ Z CATEGORY_FULLNAME je také třeba vynechat úvodní část " | ".
+
+ Zatím je nutné ručně doplnit příslušnou kategorii ze Zbozi.cz (aktuální přehled naleznete zde).
+ Příklad: Počítače | Software | Grafický a video software (informace ze sloupce s názvem Celá cesta)
+
+ Zatím je nutné ručně doplnit příslušnou kategorii z Heureky (aktuální přehled naleznete zde).
+ Příklad: Elektronika | Počítače a kancelář | Software | Multimediální software
+ Z CATEGORY_FULLNAME je také třeba vynechat úvodní část " | ".
+
+ Zatím je nutné ručně doplnit příslušnou kategorii ze Zbozi.cz (aktuální přehled naleznete zde).
+ Příklad: Počítače | Software | Grafický a video software (informace ze sloupce s názvem Celá cesta)
+
+
+
+
+