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 - výběr pobočky:
-
- - - - load( $parametry )->data->destination as $pobocka ) { - if ( ! empty ( $dpd_parcelshop_branches ) && $dpd_parcelshop_branches == $pobocka->name ) { - $selected = ' selected="selected"'; - } else { - $selected = ''; - } - echo ''; - } ?> - -
- - - - 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_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 = '
'; - $api = get_option( 'wc_ceske_sluzby_heureka_overeno-api' ); - if ( ! empty( $api ) ) { - if ( false === ( $source_xml = get_transient( 'ceske_sluzby_heureka_recenze_zakazniku' ) ) ) { - $url = "http://www." . HEUREKA_URL . "/direct/dotaznik/export-review.php?key=" . $api; - $response = wp_remote_get( $url ); - if ( ! is_wp_error( $response ) ) { - $source_xml = wp_remote_retrieve_body( $response ); - if ( ! empty( $source_xml ) && wp_remote_retrieve_response_code( $response ) == 200 ) { - set_transient( 'ceske_sluzby_heureka_recenze_zakazniku', $source_xml, 24 * HOUR_IN_SECONDS ); - } else { - $process = false; - } - } else { - $output .= 'Nepodařilo se získat data:' . $response->get_error_message(); - } - } - - if ( $process ) { - $recenze_xml = simplexml_load_string( $source_xml, 'SimpleXMLElement', LIBXML_NOCDATA ); - $atributy = shortcode_atts( array( 'limit' => null ), $atts ); - $limit = $atributy['limit']; - $i = 0; - - if ( ! empty( $recenze_xml ) && ! is_scalar( $recenze_xml ) ) { - foreach( $recenze_xml as $recenze ) { - if ( ( ! empty ( $limit ) && $i < $limit ) || empty ( $limit ) ) { - if ( ! empty ( $recenze->summary ) ) { - $i = $i + 1; - $output .= ''; - } - } - else { - break; - } - } - } - else { - $output .= 'Zatím žádné hodnocení.'; - } - } else { - $output .= 'Nepodařilo se získat data.'; - } - } else { - $output .= 'Pro zobrazení recenzí musíte ještě zadat API klíč pro Ověřeno zákazníky.'; - } - $output .= '
'; - return $output; -} - -function ceske_sluzby_xml_kategorie_pridat_pole() { - $global_stav_produkt = get_option( 'wc_ceske_sluzby_xml_feed_heureka_stav_produktu' ); ?> - - České služby: - - - - - -

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

- - - - - - - - Zaškrtněte, pokud chcete odebrat všechny produkty této kategorie z XML feedů. - - - - nastavena hodnota: ' . $stav_produkt_hodnota . '. Nastavení kategorie bude mít ale přednost.'; - } else { - $stav_produkt_text = 'Na úrovni eshopu zatím není nic nastaveno.'; - } ?> - - - - - - - - - - - - - - - Zaškrtněte, pokud chcete označit obsah webu jako erotický. - - - -term_id, 'ceske-sluzby-xml-heureka-kategorie', true ); - $zbozi_kategorie = get_woocommerce_term_meta( $term->term_id, 'ceske-sluzby-xml-zbozi-kategorie', true ); - $xml_vynechano_ulozeno = get_woocommerce_term_meta( $term->term_id, 'ceske-sluzby-xml-vynechano', true ); - $xml_erotika_ulozeno = get_woocommerce_term_meta( $term->term_id, 'ceske-sluzby-xml-erotika', true ); - $xml_stav_produktu = get_woocommerce_term_meta( $term->term_id, 'ceske-sluzby-xml-stav-produktu', true ); - $global_stav_produkt = get_option( 'wc_ceske_sluzby_xml_feed_heureka_stav_produktu' ); ?> - - České služby: - - - - - -

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

- - - - - - - /> - - Zaškrtněte, pokud chcete odebrat všechny produkty této kategorie z XML feedů. - - - - nastavena hodnota: ' . $stav_produkt_hodnota . '. Nastavení kategorie bude mít ale přednost.'; - } else { - $stav_produkt_text = 'Na úrovni eshopu zatím není nic nastaveno.'; - } ?> - - - - - - - - - - - - - - /> - - Zaškrtněte, pokud chcete označit obsah webu jako erotický. - - - -Heureka'; - } - $zbozi_kategorie = get_woocommerce_term_meta( $id, 'ceske-sluzby-xml-zbozi-kategorie', true ); - if ( $zbozi_kategorie ) { - $columns .= 'Zbozi.cz'; - } - $kategorie_vynechano = get_woocommerce_term_meta( $id, 'ceske-sluzby-xml-vynechano', true ); - if ( $kategorie_vynechano ) { - $columns .= 'x'; - } - $stav_produktu = get_woocommerce_term_meta( $id, 'ceske-sluzby-xml-stav-produktu', true ); - if ( $stav_produktu ) { - if ( $stav_produktu == 'used' ) { - $stav_produktu_hodnota = 'Použité (bazar)'; - } else { - $stav_produktu_hodnota = 'Repasované'; - } - $columns .= '
' . $stav_produktu_hodnota; - } - $erotika = get_woocommerce_term_meta( $id, 'ceske-sluzby-xml-erotika', true ); - if ( $erotika ) { - if ( $erotika == 'yes' ) { - $erotika_hodnota = 'Erotický obsah'; - } - $columns .= '
' . $erotika_hodnota; - } - } - return $columns; -} - -function ceske_sluzby_zobrazit_dodaci_dobu_filtr( $availability, $product ) { - $dostupnost = array(); - $predobjednavka = get_post_meta( $product->id, 'ceske_sluzby_xml_preorder_datum', true ); - if ( ! empty ( $predobjednavka ) && $product->is_in_stock() ) { - if ( (int)$predobjednavka >= strtotime( 'NOW', current_time( 'timestamp' ) ) ) { - $availability_predobjednavka = 'Předobjednávka: ' . date_i18n( 'j.n.Y', $predobjednavka ); - $availability['availability'] = $availability_predobjednavka; - } - } - $dodaci_doba = ceske_sluzby_zpracovat_dodaci_dobu_produktu(); - if ( ! empty ( $dodaci_doba ) && $product->is_in_stock() && empty ( $availability_predobjednavka ) ) { - if ( ( (int)$product->get_stock_quantity() <= 0 && $product->managing_stock() ) || ! $product->managing_stock() ) { - if ( get_class( $product ) == "WC_Product_Variation" ) { - $dodaci_doba_varianta = get_post_meta( $product->variation_id, 'ceske_sluzby_dodaci_doba', true ); - if ( empty ( $dodaci_doba_varianta ) ) { - $dodaci_doba_produkt = get_post_meta( $product->parent->id, 'ceske_sluzby_dodaci_doba', true ); - } else { - $dodaci_doba_produkt = $dodaci_doba_varianta; - } - } - elseif ( get_class( $product ) == "WC_Product_Simple" ) { - $dodaci_doba_produkt = get_post_meta( $product->id, 'ceske_sluzby_dodaci_doba', true ); - } - $dostupnost = ceske_sluzby_ziskat_zadanou_dodaci_dobu( $dodaci_doba, $dodaci_doba_produkt ); - if ( empty ( $dostupnost ) ) { - $global_dodaci_doba = get_option( 'wc_ceske_sluzby_xml_feed_heureka_dodaci_doba' ); - $dostupnost = ceske_sluzby_ziskat_zadanou_dodaci_dobu( $dodaci_doba, $global_dodaci_doba ); - } - } - if ( ! empty ( $dostupnost ) ) { - $availability['availability'] = $dostupnost['text']; - } - } - return $availability; -} - -function ceske_sluzby_zobrazit_dodaci_dobu_akce() { - global $product; - $format = ""; - $dostupnost = array(); - $predobjednavka = get_post_meta( $product->id, 'ceske_sluzby_xml_preorder_datum', true ); - if ( ! empty ( $predobjednavka ) && $product->is_in_stock() ) { - if ( (int)$predobjednavka >= strtotime( 'NOW', current_time( 'timestamp' ) ) ) { - $format = ceske_sluzby_ziskat_format_predobjednavky( $predobjednavka ); - } - } - $dodaci_doba = ceske_sluzby_zpracovat_dodaci_dobu_produktu(); - if ( ! empty ( $dodaci_doba ) && $product->is_in_stock() && empty ( $format ) && $product->is_type( 'simple' ) ) { - if ( ( (int)$product->get_stock_quantity() <= 0 && $product->managing_stock() ) || ! $product->managing_stock() ) { - $dodaci_doba_produkt = get_post_meta( $product->id, 'ceske_sluzby_dodaci_doba', true ); - $dostupnost = ceske_sluzby_ziskat_zadanou_dodaci_dobu( $dodaci_doba, $dodaci_doba_produkt ); - if ( empty ( $dostupnost ) ) { - $global_dodaci_doba = get_option( 'wc_ceske_sluzby_xml_feed_heureka_dodaci_doba' ); - $dostupnost = ceske_sluzby_ziskat_zadanou_dodaci_dobu( $dodaci_doba, $global_dodaci_doba ); - } - } else { - $dostupnost = ceske_sluzby_ziskat_zadanou_dodaci_dobu( $dodaci_doba, 0 ); - } - if ( ! empty ( $dostupnost ) ) { - $format = ceske_sluzby_ziskat_format_dodaci_doby( $dostupnost ); - } - } - echo $format; -} - -function ceske_sluzby_load_admin_scripts() { - $screen = get_current_screen(); - $screen_id = $screen ? $screen->id : ''; - if ( in_array( $screen_id, array( 'product', 'edit-product', 'shop_order' ) ) ) { - wp_register_script( 'wc-admin-ceske-sluzby', untrailingslashit( plugins_url( '/', __FILE__ ) ) . '/js/ceske-sluzby-admin.js', array( 'jquery-ui-datepicker' ), CS_VERSION ); - wp_enqueue_script( 'wc-admin-ceske-sluzby' ); - } -} \ No newline at end of file +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 - výběr pobočky:
+
+ + + + load( $parametry )->data->destination as $pobocka ) { + if ( ! empty ( $dpd_parcelshop_branches ) && $dpd_parcelshop_branches == $pobocka->name ) { + $selected = ' selected="selected"'; + } else { + $selected = ''; + } + echo ''; + } ?> + +
+ + + + 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_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 = '
'; + $api = get_option( 'wc_ceske_sluzby_heureka_overeno-api' ); + if ( ! empty( $api ) ) { + if ( false === ( $source_xml = get_transient( 'ceske_sluzby_heureka_recenze_zakazniku' ) ) ) { + $url = "http://www." . HEUREKA_URL . "/direct/dotaznik/export-review.php?key=" . $api; + $response = wp_remote_get( $url ); + if ( ! is_wp_error( $response ) ) { + $source_xml = wp_remote_retrieve_body( $response ); + if ( ! empty( $source_xml ) && wp_remote_retrieve_response_code( $response ) == 200 ) { + set_transient( 'ceske_sluzby_heureka_recenze_zakazniku', $source_xml, 24 * HOUR_IN_SECONDS ); + } else { + $process = false; + } + } else { + $output .= 'Nepodařilo se získat data:' . $response->get_error_message(); + } + } + + if ( $process ) { + $recenze_xml = simplexml_load_string( $source_xml, 'SimpleXMLElement', LIBXML_NOCDATA ); + $atributy = shortcode_atts( array( 'limit' => null ), $atts ); + $limit = $atributy['limit']; + $i = 0; + + if ( ! empty( $recenze_xml ) && ! is_scalar( $recenze_xml ) ) { + foreach( $recenze_xml as $recenze ) { + if ( ( ! empty ( $limit ) && $i < $limit ) || empty ( $limit ) ) { + if ( ! empty ( $recenze->summary ) ) { + $i = $i + 1; + $output .= ''; + } + } + else { + break; + } + } + } + else { + $output .= 'Zatím žádné hodnocení.'; + } + } else { + $output .= 'Nepodařilo se získat data.'; + } + } else { + $output .= 'Pro zobrazení recenzí musíte ještě zadat API klíč pro Ověřeno zákazníky.'; + } + $output .= '
'; + return $output; +} + +function ceske_sluzby_xml_kategorie_pridat_pole() { + $global_stav_produkt = get_option( 'wc_ceske_sluzby_xml_feed_heureka_stav_produktu' ); ?> + + České služby: + + + + + +

+ 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)
+

+ + + + + + + + Zaškrtněte, pokud chcete odebrat všechny produkty této kategorie z XML feedů. + + + + nastavena hodnota: ' . $stav_produkt_hodnota . '. Nastavení kategorie bude mít ale přednost.'; + } else { + $stav_produkt_text = 'Na úrovni eshopu zatím není nic nastaveno.'; + } ?> + + + + + + + + + + + + + + + Zaškrtněte, pokud chcete označit obsah webu jako erotický. + + + +term_id, 'ceske-sluzby-xml-heureka-kategorie', true ); + $zbozi_kategorie = get_woocommerce_term_meta( $term->term_id, 'ceske-sluzby-xml-zbozi-kategorie', true ); + $xml_vynechano_ulozeno = get_woocommerce_term_meta( $term->term_id, 'ceske-sluzby-xml-vynechano', true ); + $xml_erotika_ulozeno = get_woocommerce_term_meta( $term->term_id, 'ceske-sluzby-xml-erotika', true ); + $xml_stav_produktu = get_woocommerce_term_meta( $term->term_id, 'ceske-sluzby-xml-stav-produktu', true ); + $global_stav_produkt = get_option( 'wc_ceske_sluzby_xml_feed_heureka_stav_produktu' ); ?> + + České služby: + + + + + +

+ 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)
+

+ + + + + + + /> + + Zaškrtněte, pokud chcete odebrat všechny produkty této kategorie z XML feedů. + + + + nastavena hodnota: ' . $stav_produkt_hodnota . '. Nastavení kategorie bude mít ale přednost.'; + } else { + $stav_produkt_text = 'Na úrovni eshopu zatím není nic nastaveno.'; + } ?> + + + + + + + + + + + + + + /> + + Zaškrtněte, pokud chcete označit obsah webu jako erotický. + + + +Heureka'; + } + $zbozi_kategorie = get_woocommerce_term_meta( $id, 'ceske-sluzby-xml-zbozi-kategorie', true ); + if ( $zbozi_kategorie ) { + $columns .= 'Zbozi.cz'; + } + $kategorie_vynechano = get_woocommerce_term_meta( $id, 'ceske-sluzby-xml-vynechano', true ); + if ( $kategorie_vynechano ) { + $columns .= 'x'; + } + $stav_produktu = get_woocommerce_term_meta( $id, 'ceske-sluzby-xml-stav-produktu', true ); + if ( $stav_produktu ) { + if ( $stav_produktu == 'used' ) { + $stav_produktu_hodnota = 'Použité (bazar)'; + } else { + $stav_produktu_hodnota = 'Repasované'; + } + $columns .= '
' . $stav_produktu_hodnota; + } + $erotika = get_woocommerce_term_meta( $id, 'ceske-sluzby-xml-erotika', true ); + if ( $erotika ) { + if ( $erotika == 'yes' ) { + $erotika_hodnota = 'Erotický obsah'; + } + $columns .= '
' . $erotika_hodnota; + } + } + return $columns; +} + +function ceske_sluzby_zobrazit_dodaci_dobu_filtr( $availability, $product ) { + $dostupnost = array(); + $predobjednavka = get_post_meta( $product->id, 'ceske_sluzby_xml_preorder_datum', true ); + if ( ! empty ( $predobjednavka ) && $product->is_in_stock() ) { + if ( (int)$predobjednavka >= strtotime( 'NOW', current_time( 'timestamp' ) ) ) { + $availability_predobjednavka = 'Předobjednávka: ' . date_i18n( 'j.n.Y', $predobjednavka ); + $availability['availability'] = $availability_predobjednavka; + } + } + $dodaci_doba = ceske_sluzby_zpracovat_dodaci_dobu_produktu(); + if ( ! empty ( $dodaci_doba ) && $product->is_in_stock() && empty ( $availability_predobjednavka ) ) { + if ( ( (int)$product->get_stock_quantity() <= 0 && $product->managing_stock() ) || ! $product->managing_stock() ) { + if ( get_class( $product ) == "WC_Product_Variation" ) { + $dodaci_doba_varianta = get_post_meta( $product->variation_id, 'ceske_sluzby_dodaci_doba', true ); + if ( empty ( $dodaci_doba_varianta ) ) { + $dodaci_doba_produkt = get_post_meta( $product->parent->id, 'ceske_sluzby_dodaci_doba', true ); + } else { + $dodaci_doba_produkt = $dodaci_doba_varianta; + } + } + elseif ( get_class( $product ) == "WC_Product_Simple" ) { + $dodaci_doba_produkt = get_post_meta( $product->id, 'ceske_sluzby_dodaci_doba', true ); + } + $dostupnost = ceske_sluzby_ziskat_zadanou_dodaci_dobu( $dodaci_doba, $dodaci_doba_produkt ); + if ( empty ( $dostupnost ) ) { + $global_dodaci_doba = get_option( 'wc_ceske_sluzby_xml_feed_heureka_dodaci_doba' ); + $dostupnost = ceske_sluzby_ziskat_zadanou_dodaci_dobu( $dodaci_doba, $global_dodaci_doba ); + } + } + if ( ! empty ( $dostupnost ) ) { + $availability['availability'] = $dostupnost['text']; + } + } + return $availability; +} + +function ceske_sluzby_zobrazit_dodaci_dobu_akce() { + global $product; + $format = ""; + $dostupnost = array(); + $predobjednavka = get_post_meta( $product->id, 'ceske_sluzby_xml_preorder_datum', true ); + if ( ! empty ( $predobjednavka ) && $product->is_in_stock() ) { + if ( (int)$predobjednavka >= strtotime( 'NOW', current_time( 'timestamp' ) ) ) { + $format = ceske_sluzby_ziskat_format_predobjednavky( $predobjednavka ); + } + } + $dodaci_doba = ceske_sluzby_zpracovat_dodaci_dobu_produktu(); + if ( ! empty ( $dodaci_doba ) && $product->is_in_stock() && empty ( $format ) && $product->is_type( 'simple' ) ) { + if ( ( (int)$product->get_stock_quantity() <= 0 && $product->managing_stock() ) || ! $product->managing_stock() ) { + $dodaci_doba_produkt = get_post_meta( $product->id, 'ceske_sluzby_dodaci_doba', true ); + $dostupnost = ceske_sluzby_ziskat_zadanou_dodaci_dobu( $dodaci_doba, $dodaci_doba_produkt ); + if ( empty ( $dostupnost ) ) { + $global_dodaci_doba = get_option( 'wc_ceske_sluzby_xml_feed_heureka_dodaci_doba' ); + $dostupnost = ceske_sluzby_ziskat_zadanou_dodaci_dobu( $dodaci_doba, $global_dodaci_doba ); + } + } else { + $dostupnost = ceske_sluzby_ziskat_zadanou_dodaci_dobu( $dodaci_doba, 0 ); + } + if ( ! empty ( $dostupnost ) ) { + $format = ceske_sluzby_ziskat_format_dodaci_doby( $dostupnost ); + } + } + echo $format; +} + +function ceske_sluzby_load_admin_scripts() { + $screen = get_current_screen(); + $screen_id = $screen ? $screen->id : ''; + if ( in_array( $screen_id, array( 'product', 'edit-product', 'shop_order' ) ) ) { + wp_register_script( 'wc-admin-ceske-sluzby', untrailingslashit( plugins_url( '/', __FILE__ ) ) . '/js/ceske-sluzby-admin.js', array( 'jquery-ui-datepicker' ), CS_VERSION ); + wp_enqueue_script( 'wc-admin-ceske-sluzby' ); + } +} +/** Feedy dashboard widget */ +function ceske_sluzby_feedy_dashboard_widget() { + $url_heureka = site_url('?feed=heureka'); + $url_heureka1 = content_url('/heureka.xml'); + $url_zbozi = site_url('?feed=zbozi'); + $url_zbozi1 = site_url('/obsah/zbozi.xml'); + $url_pricemania = content_url('pricemania.xml'); + $url_google = site_url('?feed=google'); + $dirsd = get_stylesheet_directory_uri(); + ?> +
+
+ +
+
+ Feed pro Heureka.cz najdete zde. +
+
Průběžně generovaný feed pro Heureka.cz najdete zde.
+
+
+ +
+
+ Feed pro Zbozi.cz najdete zde. +
+
Průběžně generovaný feed pro Zbozi.cz najdete zde.
+
+
+ +
+
+ Feed pro Pricemania.cz najdete zde.
+
+
+
+ +
+
+ Feed pro Google Merchant najdete zde.
+
+
+
+