Plugin Directory

Changeset 2857123


Ignore:
Timestamp:
01/30/2023 01:52:23 PM (3 years ago)
Author:
primersoftware
Message:

Update

Location:
primer-mydata
Files:
2156 added
7 edited

Legend:

Unmodified
Added
Removed
  • primer-mydata/trunk/README.txt

    r2851146 r2857123  
    55Tested up to: 6.1.1
    66Requires PHP: 7.4
    7 Stable tag: 2.2.0
     7Stable tag: 2.3.0
    88License: GPLv2
    99License URI: https://www.gnu.org/licenses/gpl-2.0.html
     
    141141= 2.2.0 - 2023-01-19 =
    142142* Minor Bug Fixes
     143= 2.3.0 - 2023-01-30 =
     144* Minor Bug Fixes
  • primer-mydata/trunk/admin/includes/primer-admin-options.php

    r2850334 r2857123  
    33733373                $check_timeout = get_post_meta($id_of_order, 'failed_48',true);
    33743374                $check_transmission_failure_48 = get_post_meta($id_of_order, 'transmission_failure_check',true);
    3375                 if(($mydata_options['timeout_check_48'] == 1 && $check_timeout != 'yes') || ($mydata_options['timeout_check_48'] == 1 && $check_transmission_failure_48 != 1)){
     3375             /*   if(($mydata_options['timeout_check_48'] == 1 && $check_timeout != 'yes') || ($mydata_options['timeout_check_48'] == 1 && $check_transmission_failure_48 != 1)){
    33763376                    $receipt_log_value .= __('Could not connect to aade for 48 hours. Please check your settings or contact primer software.', 'primer');
    33773377                    $response_data .= '<div class="notice notice-error"><p>'.__('Could not connect to aade for 48 hours. Please check your settings or contact primer software.', 'primer').'</p></div>';
    33783378                    $receipt_log_value_array[] = __('Could not connect to aade for 48 hours. Please check your settings or contact primer software.','primer');
    33793379                    break;
    3380                 }
     3380                } */
    33813381
    33823382                $order_ids[] = $id_of_order;
     
    41254125                                $invoice_data['invoice'][0]['invoiceSummary']['incomeClassification'][1]['classificationType'] = "E3_562";
    41264126                                if($fee_total >0){
    4127                                 $shipping_total = $shipping_total+$fee_total;
     4127                                $shipping_total = number_format((float)($shipping_total + $fee_total), 2,'.','');
    41284128                                $invoice_data['invoice'][0]['invoiceSummary']['incomeClassification'][1]['amount'] = "$shipping_total";
    41294129                                }else{
     
    41314131                                }
    41324132                            }else if($fee_total >0){
    4133                                 $total_for_product = $subtotal - $fee_total;
     4133                                $total_for_product = number_format((float)($subtotal - $fee_total), 2,'.','');
    41344134                                $invoice_data['invoice'][0]['invoiceSummary']['incomeClassification'][0]['amount'] = "$total_for_product";
    41354135                                $invoice_data['invoice'][0]['invoiceSummary']['totalGrossValue'] = "$order_total_price";
     
    41424142                            $invoice_data['invoice'][0]['invoiceSummary']['incomeClassification'][0]['id'] = "1";
    41434143                        } else {
    4144                             $amount_class = $total - $total_tax - $fee_net_value - $shipping_total;
     4144                            $amount_class = number_format((float)($total - $total_tax - $fee_net_value - $shipping_total), 2,'.','');
    41454145                            $invoice_data['invoice'][0]['invoiceSummary']['incomeClassification'][0]['classificationCategory'] = $classificationCategory;
    41464146                            $invoice_data['invoice'][0]['invoiceSummary']['incomeClassification'][0]['classificationType'] = $classificationType;
     
    41584158                                $invoice_data['invoice'][0]['invoiceSummary']['incomeClassification'][$total_counter]['amount'] = "$shipping_total";
    41594159                                }else{
    4160                                     $ship_and_fee = $fee_net_value + $shipping_total;
     4160                                    $ship_and_fee = number_format((float)($fee_net_value + $shipping_total), 2,'.','');
    41614161                                    $invoice_data['invoice'][0]['invoiceSummary']['incomeClassification'][$total_counter]['amount'] = "$ship_and_fee";
    41624162                                }
     
    42884288                        }
    42894289                        $json_code .= "$user_vat";
    4290                         $json_code .= "0";
    42914290                        $json_code .= "$total";
    42924291
  • primer-mydata/trunk/admin/includes/primer-admin-receipt-table.php

    r2848357 r2857123  
    560560                            $('.submit_convert_orders').attr('disabled', true);*/
    561561                        }
    562                         else if(stop_conversion === 'stop'){
     562                     /*   else if(stop_conversion === 'stop'){
    563563                            valid = false;
    564564                            alert('Cound not connect to AADE for more than 48 hours.Please convert the failed orders first to proceed with further conversion.');
    565565                            $('.submit_convert_orders').attr('disabled', true);
    566                         }
    567 
     566                        } */
    568567                        else {
    569568                            valid = true;
    570569                        }
    571                         console.log(valid);
    572570                        return valid;
    573571                    }
  • primer-mydata/trunk/admin/includes/primer-admin-table.php

    r2850334 r2857123  
    14491449                                $invoice_data['invoice'][0]['invoiceSummary']['incomeClassification'][1]['classificationType'] = "E3_562";
    14501450                                if($fee_total >0){
    1451                                 $shipping_total = $shipping_total+$fee_total;
     1451                                $shipping_total = number_format((float)($shipping_total + $fee_total), 2,'.','');
    14521452                                $invoice_data['invoice'][0]['invoiceSummary']['incomeClassification'][1]['amount'] = "$shipping_total";
    14531453                                }else{
     
    14551455                                }
    14561456                            }else if($fee_total >0){
    1457                                 $total_for_product = $subtotal - $fee_total;
     1457                                $total_for_product = number_format((float)($subtotal - $fee_total), 2,'.','');
    14581458                                $invoice_data['invoice'][0]['invoiceSummary']['incomeClassification'][0]['amount'] = "$total_for_product";
    14591459                                $invoice_data['invoice'][0]['invoiceSummary']['totalGrossValue'] = "$order_total_price";
     
    14661466                            $invoice_data['invoice'][0]['invoiceSummary']['incomeClassification'][0]['id'] = "1";
    14671467                        } else {
    1468                             $amount_class = $total - $total_tax - $fee_net_value - $shipping_total;
     1468                            $amount_class = number_format((float)($total - $total_tax - $fee_net_value - $shipping_total), 2,'.','');
    14691469                            $invoice_data['invoice'][0]['invoiceSummary']['incomeClassification'][0]['classificationCategory'] = $classificationCategory;
    14701470                            $invoice_data['invoice'][0]['invoiceSummary']['incomeClassification'][0]['classificationType'] = $classificationType;
     
    14821482                                $invoice_data['invoice'][0]['invoiceSummary']['incomeClassification'][$total_counter]['amount'] = "$shipping_total";
    14831483                                }else{
    1484                                     $ship_and_fee = $fee_net_value + $shipping_total;
     1484                                    $ship_and_fee = number_format((float)($fee_net_value + $shipping_total), 2,'.','');
    14851485                                    $invoice_data['invoice'][0]['invoiceSummary']['incomeClassification'][$total_counter]['amount'] = "$ship_and_fee";
    14861486                                }
     
    16111611            }
    16121612            $json_code .= "$user_vat";
    1613             $json_code .= "0";
    16141613            $json_code .= "$total";
    16151614
  • primer-mydata/trunk/includes/class-primer-cron.php

    r2851146 r2857123  
    1818        add_action('primer_cron_process_credit_failed', array( $this, 'primer_cancel_invoice_cron' ));
    1919        add_action('wp_ajax_primer_fire_cron', array( $this, 'ajax_fire_cron' ));
    20 
    2120        add_action( 'primer_cron_save_settings', array( $this, 'primer_save_export_data' ));
    2221        add_action('primer_cron_export_process', array( $this, 'export_invoice_to_report' ));
     
    2423        add_action('wp_ajax_primer_get_woocommerce_tax_rates', array( $this, 'primer_get_woocommerce_tax_rates' ));
    2524        add_action('primer_cron_primer_license_remaining', array(&$this, 'primer_cron_license_remaining'));
    26 
    2725    }
    28 
    29 
    3026    public function primer_save_automation_data() {
    3127        $next_timestamp = wp_next_scheduled( 'primer_cron_process' );
    3228        $automation_options = get_option('primer_automation');
    33 
    3429        $activation_automation = $automation_options['activation_automation'];
    3530        $automation_duration = $automation_options['automation_duration'];
    36 
    3731        $current_schedule = wp_get_schedule('primer_cron_process');
    38 
    3932        if ($current_schedule !== $automation_duration) {
    4033            wp_unschedule_event( $next_timestamp, 'primer_cron_process');
     
    4336            wp_schedule_event( time(), $automation_duration, 'primer_cron_process' );
    4437        }
    45 
    4638        if (!empty($automation_options) && !empty($activation_automation)) {
    4739            wp_unschedule_event( $next_timestamp, 'primer_cron_process');
     
    5850        $activation_automation_export = $export_options['export_enable_schedule'];
    5951        $automation_export_duration = $export_options['export_time'];
    60 
    6152        $current_schedule = wp_get_schedule('primer_cron_export_process');
    62 
    6353        if ($current_schedule !== $automation_export_duration) {
    6454            wp_unschedule_event( $next_timestamp, 'primer_cron_export_process');
     
    6757            wp_schedule_event( time(), $automation_export_duration, 'primer_cron_export_process' );
    6858        }
    69 
    7059        if (!empty($export_options) && !empty($activation_automation_export)) {
    7160            wp_unschedule_event( $next_timestamp, 'primer_cron_export_process');
     
    10392        $response_answer = wp_remote_retrieve_body($response);
    10493        $response_to_array = json_decode($response_answer);
    105 
    10694        if (!empty($response_to_array)) {
    10795            if (!is_string($response_to_array) && is_object($response_to_array)) {
     
    130118        // Get Notification Emails
    131119        $automation_options = get_option('primer_automation');
    132 
    133120        $mydata_options = get_option('primer_mydata');
    134121        if($mydata_options['running_conversion'] != 'yes') {
    135 
    136122            $mydata_options['running_conversion'] = 'yes';
    137123            update_option('primer_mydata', $mydata_options);
     
    148134            $url_slug = '';
    149135            $api_urls = array();
    150 
    151136            switch ($api_url) {
    152137                case 'test_api':
     
    165150                    $api_type = 'test';
    166151            }
    167 
    168152            $primer_license_data = get_option('primer_licenses');
    169153            $username = $primer_license_data['username'] ? $primer_license_data['username'] : '';
     
    171155            $user_vat = $primer_license_data['companyVatNumber'];
    172156            $test_auth = base64_encode("$username" . ':' . "$password");
    173 
    174157            foreach ($api_urls as $item_url) {
    175 
    176158                $ret = array(
    177159                    'timeout'       => 20,
     
    187169                $ret_code = wp_remote_retrieve_response_code($response_ret);
    188170                $ret_body = wp_remote_retrieve_body($response_ret);
    189 
    190171                if ( ! is_wp_error( $response_ret ) ) {
    191172                    if ($ret_code !== 502) {
     
    204185                $url = 'https://test-mydataapi.ddns.net/v2/invoices/send';
    205186            }
    206 
    207 
    208187            $send_api_invoice = true;
    209188            $auth = base64_encode("$username" . ':' . "$password");
     
    220199                'sslverify'     => false
    221200            );
    222 
    223201            $total_vat_number = "$user_vat";
    224202            $invoiceType = '';
     
    237215                $limit_automation_orders = -1;
    238216            }
    239 
    240217            if (!empty($automation_options) && !empty($activation_automation)) {
    241218                $primer_conditions = $automation_options['primer_conditions'];
    242219                $primer_start_order_date = $automation_options['calendar_date_timestamp'];
    243 
    244220                if (!empty($primer_conditions)) {
    245221                    $condition_order_status = '';
     
    253229                            'meta_value' => 'not_issued', // The comparison argument
    254230                        );
    255 
    256231                        $order_args['status'] = $condition_order_status;
    257 
    258232                        if (!empty($primer_start_order_date)) {
    259233                            $order_args['date_created'] = '>=' . $primer_start_order_date;
    260234                        }
    261 
    262235                        $orders = wc_get_orders($order_args);
    263236                        $orders = array_unique($orders);
     
    299272                                } */
    300273                                $order_country = $order->get_billing_country();
    301                                 $order_create_date = date('F j, Y', $order->get_date_created()->getOffsetTimestamp());
    302                                 $order_paid_date = null;
    303274                                if ( ! empty( $order->get_date_paid() ) ) {
    304275                                    $order_paid_date = date( 'F j, Y', $order->get_date_paid()->getTimestamp() );
     
    324295                                $insert_taxonomy = 'receipt_status';
    325296                                $invoice_term = '';
    326 
    327297                                $invoice_data['invoice'][0]['issuer']['vatNumber'] = "$user_vat";
    328298                                $invoice_data['invoice'][0]['issuer']['country'] = 'GR';
     
    357327                                $series_array['Ψ'] = 'W';
    358328                                $series_array['Ω'] = 'V';
    359 
    360329                                $licenses = get_option('primer_licenses');
    361330                                if(!$licenses['productKind'] || $licenses['productKind'] == 'other'){
     
    363332                                    break;
    364333                                }
    365 
    366334                                if ($order_invoice_type == 'receipt' && $order_country == 'GR') {
    367335                                    $invoice_term = 'greek_receipt';
     
    428396                                    }
    429397                                }
    430 
    431398                                if (($order_invoice_type == 'primer_invoice' || $order_invoice_type == 'invoice') && $order_country == 'GR') {
    432399                                    $invoice_term = 'greek_invoice';
     
    537504                                    }
    538505                                }
    539 
    540506                                $user_data = $user_full_name ? $user_full_name : 'Customer';
    541507                                $user_order_email = $order->get_billing_email();
     
    646612                                            $quantity = $item_data->get_quantity();
    647613                                            $sum += $quantity;
    648                                            /* $product_id = $item_data->get_product_id();
    649                                             $product_instance = wc_get_product($product_id);
    650                                             if($product_instance == null){
    651                                                 $receipt_log_value = 'The order has a deleted product and cannot be issued.';
    652                                                 $receipt_log_value_array[] = __('The order has a deleted product and cannot be issued.', 'primer');
    653                                                 update_post_meta($receipt_log_id, 'receipt_log_error', $receipt_log_value);
    654                                                 break 2;
    655                                             } */
    656614                                            if (!empty($get_coupon)) {
    657615                                                $subtotal_order_payment = $item_data->get_total();
     
    662620                                                continue;
    663621                                            }
    664 
    665622                                            $product_tax_class = $item_data->get_tax_class();
    666623                                            $taxes = WC_Tax::get_rates_for_tax_class($product_tax_class);
     
    735692                                                    $outside_vat = 'yes';
    736693                                            }
    737 
    738 
    739 
    740694                                            if (!empty($get_coupon)) {
    741695                                                $subtotal_item_tax = $item_data->get_total_tax();
     
    829783                                            $item_count++;
    830784                                        }
    831 
    832785                                        if (!empty($get_coupon)) {
    833786                                            $subtotal = ($order->get_subtotal() - $order->get_total_discount());
     
    838791                                            $shipping_tax_rate = round($order->get_shipping_tax() / $order->get_total_shipping(), 2) * 100;
    839792                                            $vatCategory_shipping = '';
    840 
    841793                                            switch ($shipping_tax_rate) {
    842794                                                case "24":
     
    974926                                                    $response_data .= '<div class="notice notice-error"><p>'.__('order could not be converted because product value sum is not equal with total value. A payment fee was used and your edition does not support payment fees. Please create a new order without payment fee or go to www.primer.gr to select another MyData plugin version.', 'primer').'</p></div>';
    975927                                                    $receipt_log_value_array[] = __('order could not be converted because product value sum is not equal with total value. A payment fee was used and your edition does not support payment fees. Please create a new order without payment fee or go to www.primer.gr to select another MyData plugin version.','primer');
     928                                                    $mydata_options['running_conversion'] = 'no';
     929                                                    update_option('primer_mydata', $mydata_options);
    976930                                                    break;
    977931                                                }
     
    10841038                                                $invoice_data['invoice'][0]['invoiceSummary']['incomeClassification'][1]['classificationType'] = "E3_562";
    10851039                                                if($fee_total >0){
    1086                                                     $shipping_total = $shipping_total+$fee_total;
     1040                                                    $shipping_total = number_format((float)($shipping_total + $fee_total), 2,'.','');
    10871041                                                    $invoice_data['invoice'][0]['invoiceSummary']['incomeClassification'][1]['amount'] = "$shipping_total";
    10881042                                                }else{
     
    10901044                                                }
    10911045                                            }else if($fee_total >0){
    1092                                                 $total_for_product = $subtotal - $fee_total;
     1046                                                $total_for_product = number_format((float)($subtotal - $fee_total), 2,'.','');
    10931047                                                $invoice_data['invoice'][0]['invoiceSummary']['incomeClassification'][0]['amount'] = "$total_for_product";
    10941048                                                $invoice_data['invoice'][0]['invoiceSummary']['totalGrossValue'] = "$order_total_price";
     
    11021056                                        } else {
    11031057                                            $shipping_total_unformatted = $order->get_shipping_total();
    1104                                             $amount_class = $total - $total_tax - $fee_net_value - $shipping_total;
     1058                                            $amount_class = number_format((float)($total - $total_tax - $fee_net_value - $shipping_total), 2,'.','');
    11051059                                            $invoice_data['invoice'][0]['invoiceSummary']['incomeClassification'][0]['classificationCategory'] = $classificationCategory;
    11061060                                            $invoice_data['invoice'][0]['invoiceSummary']['incomeClassification'][0]['classificationType'] = $classificationType;
     
    11181072                                                    $invoice_data['invoice'][0]['invoiceSummary']['incomeClassification'][$total_counter]['amount'] = "$shipping_total";
    11191073                                                }else{
    1120                                                     $ship_and_fee = $fee_net_value + $shipping_total;
     1074                                                    $ship_and_fee = number_format((float)($fee_net_value + $shipping_total), 2,'.','');
    11211075                                                    $invoice_data['invoice'][0]['invoiceSummary']['incomeClassification'][$total_counter]['amount'] = "$ship_and_fee";
    11221076                                                }
     
    11491103                                        $invoice_data['invoice'][0]['counterpart']['name'] = $order_billing_company_name;
    11501104                                    }
    1151 
    11521105                                update_post_meta($receipt_log_id, 'receipt_log_automation_error', $receipt_log_value);
    11531106                                update_post_meta($receipt_log_id, 'json_send_to_api', json_encode($invoice_data));
    1154 
    11551107                                if ($send_api_invoice) {
    11561108                                    $curl_args['body'] = json_encode($invoice_data);
     
    11591111                                    $response_code = wp_remote_retrieve_response_code($response);
    11601112                                    $response_to_array = null;
    1161 
    11621113                                    if ( is_wp_error( $response ) ) {
    11631114                                        $response_data .= '<div class="notice notice-error"><p>'.$response->get_error_message().'</p></div>';
     
    11841135                                    if ($time_for_call_timeout_48 && ($response_code == 502 || $response_code == 512)) {
    11851136                                        $time_for_call_timeout_1 = date('Y-m-d H:i:s', strtotime($time_for_call_timeout_48 . ' + 2 days'));
    1186 
    11871137                                        if ($time_for_call_timeout_1 > $gr_time) {
    11881138                                            $mydata_options['timeout_check_48'] = 0;
     
    11991149                                        $response_data .= '<div class="notice notice-error"><p>' . __('Could not connect to AADE. Please check your general settings if you want to enable transmission failure option or contact Primer Software if the problem persists.', 'primer') . '</p></div>';
    12001150                                        $receipt_log_value_array[] = __('Could not connect to AADE. Please check your general settings if you want to enable transmission failure option or contact Primer Software if the problem persists.', 'primer');
    1201                                         break;
     1151                                        $mydata_options['running_conversion'] = 'no';
     1152                                        update_option('primer_mydata', $mydata_options);
     1153                                        continue;
    12021154                                    }
    12031155
     
    12121164                                        $response_data .= '<div class="notice notice-error"><p>' . __('You have no other monthly invoices left.Please go to MyData settings and press "Get Remaining" button if you are sure that the month is passed and you have remaining invoices.', 'primer') . '</p></div>';
    12131165                                        $receipt_log_value_array[] = __('You have no other monthly invoices left.Please go to MyData settings and press "Get Remaining" button if you are sure that the month is passed and you have remaining invoices.', 'primer');
     1166                                        $mydata_options['running_conversion'] = 'no';
     1167                                        update_option('primer_mydata', $mydata_options);
    12141168                                        break;
    12151169                                    }
     
    12441198                                        }
    12451199                                        $json_code .= "$user_vat";
    1246                                         $json_code .= "0";
    12471200                                        $json_code .= "$total";
    12481201
     
    12961249                                                            $url_slug = 'https://test-mydataapi.ddns.net';
    12971250                                                        }
    1298 
    12991251                                                        update_post_meta($post_id, 'order_id_to_receipt', $id_of_order);
    13001252                                                        update_post_meta($id_of_order, 'order_id_from_receipt', $post_id);
    13011253                                                        $receipt_id = get_post_meta($id_of_order, 'order_id_from_receipt', true);
    1302 
    13031254                                                        add_post_meta($post_id, 'receipt_client', $user_data);
    13041255                                                        add_post_meta($post_id, 'receipt_client_id', $user_id);
    13051256                                                        add_post_meta($post_id, 'receipt_price', $order_total_price . ' ' . $currency_symbol);
    1306 
    13071257                                                        update_post_meta($post_id, '_primer_receipt_number', $number);
    13081258                                                        update_post_meta($post_id, '_primer_receipt_series', $serie);
    1309 
    13101259                                                        if ($order_invoice_type == 'receipt' && $order_country == 'GR') {
    13111260
     
    13171266                                                        }
    13181267                                                        if ($order_invoice_type == 'receipt' && $order_country !== 'GR' && check_zone_country($order_country) == true) {
    1319 
    13201268                                                            if ($mydata_options['mydata_api'] == 'production_api') {
    13211269                                                                $mydata_options['invoice_numbering_gr_' . $series . ''] = $mydata_options['invoice_numbering_gr_' . $series . ''] + 1;
     
    13821330                                                    }
    13831331                                                    $post_id = get_post_meta($id_of_order, 'order_id_from_receipt', true);
    1384 
    13851332                                                    update_post_meta($post_id, 'response_invoice_mark', $responseMark);
    13861333                                                    update_post_meta($post_id, 'response_invoice_uid', $responseUid);
     
    13901337                                                    $html_post_fields['uid'] = $responseUid;
    13911338                                                    $html_post_fields['type'] = 'ZIP';
    1392 
    13931339                                                    $photo_id = '';
    1394 
    13951340                                                    $use_upload_logo = isset($mydata_options['primer_use_logo']) ? $mydata_options['primer_use_logo'] : '';
    13961341
     
    14091354                                                        $post_ids_str = $total_vat_number . $responseMark;
    14101355                                                    }
    1411 
    14121356                                                    $post_arr_id = explode(" ", $post_id);
    14131357                                                    $use_url_params = '?type_logo=id';
     
    14161360                                                    $upload_dir = wp_upload_dir()['basedir'];
    14171361                                                    $upload_url = wp_upload_dir()['baseurl'] . '/exported_html_files';
    1418 
    14191362                                                    if ($generate_html_response) {
    1420 
    14211363                                                        $all_files = $upload_dir . '/exported_html_files/tmp_files';
    14221364                                                        $files = $primer_options->get_all_files_as_array($all_files);
    1423 
    14241365                                                        $zip_file_name = $upload_dir . '/exported_html_files/' . $post_ids_str . '_html.zip';
    1425 
    14261366                                                        ob_start();
    14271367                                                        echo $primer_options->create_zip($files, $zip_file_name, $all_files . '/');
     
    14311371                                                            $primer_options->rmdir_recursive($upload_dir . '/exported_html_files/tmp_files');
    14321372                                                        }
    1433 
    14341373                                                        $zip_response = ($create_zip == 'created') ? $upload_url . '/' . $post_ids_str . '_html.zip' : false;
    1435 
    14361374                                                    }
    1437 
    14381375                                                    if ($zip_response !== false) {
    14391376                                                        $html_body_args['invoiceFile'] = curl_file_create(WP_CONTENT_DIR . '/uploads/exported_html_files/' . $post_ids_str . '_html.zip', 'application/zip', $post_ids_str . '_html.zip');
     
    15971534                                                        } else {
    15981535                                                            $mydata_options['last_request'] = $orders;
     1536                                                            $mydata_options['running_conversion'] = 'no';
    15991537                                                            update_option('primer_mydata', $mydata_options);
    16001538                                                            update_post_meta($id_of_order, 'receipt_status', 'not_issued');
     
    16131551                                                            $mydata_options['last_request_url'] = $url_slug;
    16141552                                                        }
    1615                                                        // $receipt_log_value_array[] = __('Conversion failed!Because AADE return null uid,auth code,mark.Please contact technical support.', 'primer');
     1553                                                        $mydata_options['running_conversion'] = 'no';
     1554                                                        update_option('primer_mydata', $mydata_options);
    16161555                                                        break;
    16171556                                                    }
    1618 
    16191557                                                } else {
    16201558                                                    $response_data .= '<div class="notice notice-error"><p>' . __("Something went wrong.The order has already html", "primer") . '</p></div>';
     
    16221560                                                }
    16231561                                            } else {
     1562                                                $mydata_options['running_conversion'] = 'no';
     1563                                                update_option('primer_mydata', $mydata_options);
    16241564                                                $receipt_log_value_array[] = $last_response;
    16251565                                                $response_data .= '<div class="notice notice-error is-dismissible"> <p><strong>' . $last_response . '</strong></p></div>';
    1626                                                 break;
     1566                                                continue;
    16271567                                            }
    16281568                                        } else {
    16291569                                            $receipt_log_value_array[] = __('Conversion failed!Because AADE return null uid,auth code,mark.Please contact technical support.', 'primer');
    16301570                                            $response_data .= '<div class="notice notice-error"><p>' . __('Conversion failed!Because AADE return null uid,auth code,mark.Please contact technical support.', 'primer') . '</p></div>';
    1631 
    16321571                                            $headers = 'From: ' . $primer_smtp_options['from_email_field'] ? $primer_smtp_options['from_email_field'] : 'Primer ' . get_bloginfo('admin_email');
    16331572                                            $to_admin_email = '[email protected]';
     
    16401579                                            $primer_smtp_admin_message = __("Conversion failed!Because AADE return null uid,auth code,mark.Please contact technical support.", 'primer');
    16411580                                            $mailResultAdminSMTP = $primer_smtp->primer_mail_sender($to_admin_email, $from_name_email, $primer_smtp_admin_subject, $primer_smtp_admin_message, '');
    1642                                             break;
     1581                                            continue;
    16431582                                        }
    16441583                                        echo $response_data;
    16451584                                        update_option('primer_mydata', $mydata_options);
    1646 
    1647 
    16481585                                        //end checking
    16491586                                    } else if ($validate_response !== true) {
    1650 
    16511587                                        $find_code_error = 'Gateway';
    16521588                                        $code_position = strpos($response_message, $find_code_error);
     
    16611597                                            $receipt_log_value_array[] = $response_message;
    16621598                                            update_post_meta($receipt_log_id, 'receipt_log_error', $receipt_log_value_array);
    1663                                             break;
     1599                                            continue;
    16641600                                        }
    16651601                                        if ($response_code == 403) {
     
    16671603                                            $receipt_log_value_array[] = $response_message;
    16681604                                            update_post_meta($receipt_log_id, 'receipt_log_error', $receipt_log_value_array);
    1669                                             break;
     1605                                            continue;
    16701606                                        }
    16711607                                        if (!empty($response_to_array) || ($response_code == 512 || $code_position !== false)) {
     
    19921928                                                                $mydata_options['last_request_url'] = $url_slug;
    19931929                                                            }
     1930                                                            $mydata_options['running_conversion'] = 'no';
    19941931                                                            update_option('primer_mydata', $mydata_options);
    19951932                                                            update_post_meta($id_of_order, 'receipt_status', 'not_issued');
     
    20051942                                                            $mydata_options['last_request_url'] = $url_slug;
    20061943                                                        }
     1944                                                        $mydata_options['running_conversion'] = 'no';
    20071945                                                        update_option('primer_mydata', $mydata_options);
    20081946                                                        $receipt_log_value_array[] = __('HTML Response is empty', 'primer');
     
    20431981                                    }
    20441982                                } else {
     1983                                    $mydata_options['running_conversion'] = 'no';
     1984                                    update_option('primer_mydata', $mydata_options);
    20451985                                    break;
    20461986                                }
    20471987                            }
    20481988                        }
    2049                     }
    2050 
     1989                        $mydata_options['running_conversion'] = 'no';
     1990                        update_option('primer_mydata', $mydata_options);
     1991                    }
    20511992                    if (!empty($log_ids)) {
    20521993                        foreach ($log_ids as $log_id) {
     
    20571998                        }
    20581999                    }
    2059 
    20602000                    $primer_send_success_log = '';
    20612001                    $primer_send_fail_log = '';
     
    20662006                        $primer_send_fail_log = $automation_options['send_failed_log'];
    20672007                    }
    2068 
    20692008                    $this->export_csv_log($log_ids, $primer_send_success_log, $primer_send_fail_log);
    2070 
    20712009                }
    20722010            }
     
    21152053                    $api_type = 'test';
    21162054            }
    2117 
    21182055            $primer_license_data = get_option('primer_licenses');
    21192056            $username = $primer_license_data['username'] ? $primer_license_data['username'] : '';
    21202057            $password = $primer_license_data['password'] ? $primer_license_data['password'] : '';
    21212058            $user_vat = $primer_license_data['companyVatNumber'];
    2122 
    21232059            $test_auth = base64_encode("$username" . ':' . "$password");
    2124 
    21252060            foreach ($api_urls as $item_url) {
    21262061
     
    21382073                $ret_code = wp_remote_retrieve_response_code($response_ret);
    21392074                $ret_body = wp_remote_retrieve_body($response_ret);
    2140 
    21412075                if ( ! is_wp_error( $response_ret ) ) {
    21422076                    if ($ret_code !== 502) {
     
    21552089                $url = 'https://test-mydataapi.ddns.net/v2/invoices/send';
    21562090            }
    2157 
    21582091            $send_api_invoice = true;
    21592092            $auth = base64_encode("$username" . ':' . "$password");
     
    22102143                $failed_credit_receipt_to_issue =  get_post_meta($id_of_order,'credit_receipt_failed_to_issue',true);
    22112144                if ($transmission_failure == 1 && $check_api_type == 'production' && $failed_credit_receipt_to_issue != 'yes') {
    2212 
    22132145                    //checks if it flagged the conversion and the order for 48hours logic
    22142146                    $time_for_call_timeout_48 = get_post_meta($id_of_order, 'order_datetime_failed', true);
     
    22272159                    }
    22282160                    $order_country = $order->get_billing_country();
    2229                     $order_create_date = date('F j, Y', $order->get_date_created()->getOffsetTimestamp());
    2230                     $order_paid_date = null;
    2231                     $order_paid_hour = null;
    22322161                    $issue_date = new DateTime("now", new DateTimeZone("Europe/Athens"));
    2233                     $gr_time = $issue_date->format('Y-m-d');
    2234 
    22352162                    $order_paid_date = date('F j, Y', $order->get_date_created()->getTimestamp());
    2236                     $order_paid_hour = date('H:i:s', $order->get_date_created()->getTimestamp());
    2237 
    22382163                    $order_total_price = $order->get_total();
    22392164                    $user_id = $order->get_user_id();
     
    22492174                    }
    22502175                    foreach ($order->get_items() as $item_id => $item_data) {
    2251                       //  $product_id = $item_data->get_product_id();
    2252                        // $product_instance = wc_get_product($product_id);
    2253 
    22542176                        $product_tax_class = $item_data->get_tax_class();
    2255 
    22562177                        $taxes = WC_Tax::get_rates_for_tax_class($product_tax_class);
    2257 
    22582178                        $tax_arr = json_decode(json_encode($taxes), true);
    22592179                        $inside_tax_rate = '';
     
    22682188                        $order_item_tax[] = $inside_tax_rate;
    22692189                    }
    2270 
    22712190                    $order_invoice_type = get_post_meta($id_of_order, '_billing_invoice_type', true);
    2272 
    22732191                    $insert_taxonomy = 'receipt_status';
    22742192                    $invoice_term = '';
    2275 
    22762193                    $invoice_data['invoice'][0]['issuer']['vatNumber'] = "$user_vat";
    22772194                    $invoice_data['invoice'][0]['issuer']['country'] = 'GR';
     
    24032320                        $order->update_status($order_status, '<%Your message%>', TRUE);
    24042321                    }
    2405                     $issue_date = new DateTime("now", new DateTimeZone("Europe/Athens"));
    2406                     $gr_time = $issue_date->format('Y-m-d');
    24072322                    $serie = get_post_meta($post_id_failed, '_primer_receipt_series', true);
    24082323                    $number = get_post_meta($post_id_failed, '_primer_receipt_number', true);
     
    24152330                    ));
    24162331                    update_post_meta($receipt_log_id, 'receipt_log_order_id', $id_of_order);
    2417 
    24182332                    if (!empty($receipt_log_id)) {
    24192333                        update_post_meta($id_of_order, 'log_id_for_order', $receipt_log_id);
    24202334                        update_post_meta($receipt_log_id, 'receipt_log_order_date', $order_paid_date);
    24212335                    }
    2422 
    24232336                    $log_ids[] = $receipt_log_id;
    2424 
    2425                     foreach ($order_item_tax as $item_of_tax) {
    2426                         if ($order_country == 'GR') {
    2427 
    2428                             switch ($item_of_tax) {
    2429                                 case '24':
    2430                                 case '17':
    2431                                 case '13':
    2432                                 case '9':
    2433                                 case '6':
    2434                                 case '4':
    2435                                     $check_gr_tax = true;
    2436                                     break;
    2437                                 default:
    2438                                     $check_gr_tax = false;
    2439 
    2440                             }
    2441                         } else {
    2442                             $check_gr_tax = true;
    2443                         }
    2444                     }
    24452337                    $total_tax = $order->get_total_tax();
    24462338                    $get_coupon = $order->get_coupon_codes();
    24472339                    $shipping_total = $order->get_shipping_total();
    24482340                    $shipping_tax = $order->get_shipping_tax();
    2449                   //  if ($currency == 'EUR') {
     2341                    $order_date_co = get_post_meta($id_of_order, 'order_date_failed', true);
     2342                    $order_datetime_co = get_post_meta($id_of_order, 'order_datetime_failed', true);
    24502343                        $invoice_data['invoice'][0]['invoiceHeader']['series'] = "$serie";
    24512344                        $invoice_data['invoice'][0]['invoiceHeader']['aa'] = $number;
    24522345                        $invoice_data['invoice'][0]['invoiceHeader']['invoiceType'] = $invoiceType;
    24532346                        $invoice_data['invoice'][0]['invoiceHeader']['currency'] = $currency;
    2454                         $invoice_data['invoice'][0]['invoiceHeader']['issueDate'] = $gr_time;
     2347                        $invoice_data['invoice'][0]['transmissionFailure'] = '1';
     2348                        $invoice_data['invoice'][0]['invoiceHeader']['issueDate'] = "$order_date_co";
    24552349                        $transmission_failure = get_post_meta($id_of_order, 'transmission_failure_check', true);
    24562350                    if($currency != 'EUR' && in_array(18, $primer_license_data['wpModules'])){
     
    24712365                        $response_data .= '<div class="notice notice-error"><p>'.__('Only euro is accepted.', 'primer').'</p></div>';
    24722366                    }
    2473                         if ($transmission_failure == 1) {
    2474                             $order_date_co = get_post_meta($id_of_order, 'order_date_failed', true);
    2475                             $invoice_data['invoice'][0]['transmissionFailure'] = '1';
    2476                             $invoice_data['invoice'][0]['invoiceHeader']['issueDate'] = "$order_date_co";
    2477                         }
    24782367                        $sum = 0;
    24792368                        $item_count = 0;
     
    25092398                                $sum += $quantity;
    25102399                                $count_products = count($order->get_items());
    2511                                /* $product_id = $item_data->get_product_id();
    2512                                 $product_instance = wc_get_product($product_id);
    2513                                 if($product_instance == null){
    2514                                     $receipt_log_value = 'The order has a deleted product and cannot be issued.';
    2515                                     $receipt_log_value_array[] = __('The order has a deleted product and cannot be issued.', 'primer');
    2516                                     $response_data .= '<div class="notice notice-error"><p>'.__('The order has a deleted product and cannot be issued.', 'primer').'</p></div>';
    2517                                     update_post_meta($receipt_log_id, 'receipt_log_error', $receipt_log_value);
    2518                                     break 2;
    2519                                 } */
    25202400                                if (!empty($get_coupon)) {
    25212401                                    $subtotal_order_payment = $item_data->get_total();
     
    29552835                                    $invoice_data['invoice'][0]['invoiceSummary']['incomeClassification'][1]['classificationType'] = "E3_562";
    29562836                                    if($fee_total >0){
    2957                                         $shipping_total = $shipping_total+$fee_total;
     2837                                        $shipping_total = number_format((float)($shipping_total + $fee_total), 2,'.','');
    29582838                                        $invoice_data['invoice'][0]['invoiceSummary']['incomeClassification'][1]['amount'] = "$shipping_total";
    29592839                                    }else{
     
    29612841                                    }
    29622842                                }else if($fee_total >0){
    2963                                     $total_for_product = $subtotal - $fee_total;
     2843                                    $total_for_product = number_format((float)($subtotal - $fee_total), 2,'.','');
    29642844                                    $invoice_data['invoice'][0]['invoiceSummary']['incomeClassification'][0]['amount'] = "$total_for_product";
    29652845                                    $invoice_data['invoice'][0]['invoiceSummary']['totalGrossValue'] = "$order_total_price";
     
    29732853                            } else {
    29742854                                $shipping_total_unformatted = $order->get_shipping_total();
    2975                                 $amount_class = $total - $total_tax - $fee_net_value - $shipping_total;
     2855                                $amount_class = number_format((float)($total - $total_tax - $fee_net_value - $shipping_total), 2,'.','');
    29762856                                $invoice_data['invoice'][0]['invoiceSummary']['incomeClassification'][0]['classificationCategory'] = $classificationCategory;
    29772857                                $invoice_data['invoice'][0]['invoiceSummary']['incomeClassification'][0]['classificationType'] = $classificationType;
     
    29892869                                        $invoice_data['invoice'][0]['invoiceSummary']['incomeClassification'][$total_counter]['amount'] = "$shipping_total";
    29902870                                    }else{
    2991                                         $ship_and_fee = $fee_net_value + $shipping_total;
     2871                                        $ship_and_fee = number_format((float)($fee_net_value + $shipping_total), 2,'.','');
    29922872                                        $invoice_data['invoice'][0]['invoiceSummary']['incomeClassification'][$total_counter]['amount'] = "$ship_and_fee";
    29932873                                    }
     
    30202900                            $invoice_data['invoice'][0]['counterpart']['name'] = $order_billing_company_name;
    30212901                        }
    3022 
    3023                   /*  } else {
    3024                         $send_api_invoice = false;
    3025                         $receipt_log_value .= __('Only euro is accepted.', 'primer');
    3026                         $receipt_log_value_array[] = __('Only euro is accepted.', 'primer');
    3027                         $response_data .= '<div class="notice notice-error"><p>' . __('Only euro is accepted.', 'primer') . '</p></div>';
    3028                     }*/
    3029 
    3030 
    30312902                    if (!empty($last_exist_request)) {
    30322903                        $order_exist_status = get_post_meta($last_exist_request[0], 'receipt_status', true);
     
    30712942                            break;
    30722943                        }
    3073 
    30742944                        if ($response_code == 400 || $response_code == 422) {
    30752945                            $response_data .= '<div class="notice notice-error"><p>' . $response_message . '</p></div>';
    30762946                            $receipt_log_value_array[] = $response_message;
    30772947                            update_post_meta($receipt_log_id, 'receipt_log_error', $receipt_log_value_array);
    3078                             break;
     2948                            continue;
    30792949                        }
    30802950                        if ($response_code == 403) {
     
    30822952                            $receipt_log_value_array[] = $response_message;
    30832953                            update_post_meta($receipt_log_id, 'receipt_log_error', $receipt_log_value_array);
    3084                             break;
     2954                            continue;
    30852955                        }
    30862956
     
    31012971                                    ));
    31022972                                    wp_set_object_terms($post_id, $invoice_term, $insert_taxonomy, false);
    3103 
    31042973                                    if ($post_id) {
    31052974
     
    31082977                                            add_post_meta($post_id, 'receipt_product', $product_name);
    31092978                                        }
    3110                                         $issue_date = new DateTime("now", new DateTimeZone("Europe/Athens"));
     2979                                        $order_date_co = get_post_meta($id_of_order, 'order_date_failed', true);
     2980                                        $order_datetime_co = get_post_meta($id_of_order, 'order_datetime_failed', true);
     2981                                        $issue_date = new DateTime($order_datetime_co, new DateTimeZone("Europe/Athens"));
    31112982                                        $invoice_date = $issue_date->format('d/m/Y');
    31122983                                        $invoice_time = $issue_date->format('H:i');
     
    31172988                                        update_post_meta($post_id, 'order_id_to_receipt', $id_of_order);
    31182989                                        update_post_meta($id_of_order, 'order_id_from_receipt', $post_id);
    3119 
    31202990                                        add_post_meta($post_id, 'receipt_client', $user_data);
    31212991                                        add_post_meta($post_id, 'receipt_client_id', $user_id);
     
    31292999                                            update_post_meta($id_of_order, 'transmission_failure_check', 2);
    31303000                                        }
    3131 
    31323001                                        if (!empty($invoice_mark)) {
    31333002                                            update_post_meta($post_id, 'response_invoice_mark', $invoice_mark);
    31343003                                        }
    3135 
    31363004                                        if (!empty($invoice_authcode)) {
    31373005                                            update_post_meta($post_id, 'response_invoice_authcode', $invoice_authcode);
    31383006                                        }
    3139 
    31403007                                        $post_ids[] = $post_id;
    31413008                                    }
    3142 
    31433009                                    $html_body_args = array();
    31443010                                    $html_url = $url_slug . '/v2/invoice/html';
     
    31513017                                    $html_post_fields['type'] = 'ZIP';
    31523018                                    $photo_id = '';
    3153 
    31543019                                    $use_upload_logo = $mydata_options['primer_use_logo'] ? $mydata_options['primer_use_logo'] : '';
    3155 
    31563020                                    if (!empty($mydata_options['image_api_id']) && !empty($use_upload_logo)) {
    31573021                                        $photo_id_arg = explode(':', $mydata_options['image_api_id']);
     
    31633027                                        }
    31643028                                    }
    3165 
    31663029                                    $primer_options = new Primer_Options();
    3167 
    31683030                                    $post_ids_str = '';
    31693031                                    if (!empty($post_id)) {
    31703032                                        $post_ids_str = $total_vat_number . $invoice_mark;
    31713033                                    }
    3172 
    31733034                                    $post_arr_id = explode(" ", $post_id);
    31743035                                    $use_url_params = '?type_logo=id';
     
    31773038                                    $upload_dir = wp_upload_dir()['basedir'];
    31783039                                    $upload_url = wp_upload_dir()['baseurl'] . '/exported_html_files';
    3179 
    31803040                                    if ($generate_html_response) {
    31813041                                        $all_files = $upload_dir . '/exported_html_files/tmp_files';
     
    31853045                                        echo $primer_options->create_zip($files, $zip_file_name, $all_files . '/');
    31863046                                        $create_zip = ob_get_clean();
    3187 
    31883047                                        if ($create_zip == 'created') {
    31893048                                            $primer_options->rmdir_recursive(WP_CONTENT_DIR . '/uploads/exported_html_files/tmp_files');
    31903049                                        }
    3191 
    31923050                                        $zip_response = ($create_zip == 'created') ? $upload_url . '/' . $post_ids_str . '_html.zip' : false;
    31933051                                    }
    3194 
    31953052                                    if ($zip_response !== false) {
    31963053                                        $html_body_args['invoiceFile'] = curl_file_create($_SERVER["DOCUMENT_ROOT"] . '/wp-content/uploads/exported_html_files/' . $post_ids_str . '_html.zip', 'application/zip', $post_ids_str . '_html.zip');
     
    32393096                                            $post_url = get_the_permalink($post_id);
    32403097                                            $post_url = $post_url . '?receipt=view';
    3241 
    32423098                                            $arrContextOptions = array(
    32433099                                                "ssl" => array(
     
    32463102                                                ),
    32473103                                            );
    3248 
    32493104                                            $homepage = file_get_contents($post_url, false, stream_context_create($arrContextOptions));
    3250 //                                                  $homepage = file_get_contents($post_url);
    3251                                             // instantiate and use the dompdf class
    32523105                                            $dompdf = new Dompdf();
    32533106                                            $options = $dompdf->getOptions();
     
    32563109                                            $dompdf->setOptions($options);
    32573110                                            $dompdf->loadHtml($homepage);
    3258 
    32593111                                            // Render the HTML as PDF
    32603112                                            $dompdf->render();
     
    32713123                                            $attachments = $upload_dir . '/email-invoices/' . $post_name . '.pdf';
    32723124                                            $post_issued = 'issued';
    3273                                           /*  if (empty($user_data)) {
    3274                                                 $post_issued = 'not_issued';
    3275                                                 $receipt_log_value .= __('Order Client name is required!', 'primer');
    3276                                             } */
    3277 
    32783125                                            update_post_meta($post_id, 'receipt_status', $post_issued);
    32793126                                            update_post_meta($id_of_order, 'receipt_status', $post_issued);
     
    32823129                                            add_post_meta($post_id, 'receipt_price', $order_total_price . ' ' . $currency_symbol);
    32833130                                            $primer_smtp_options = get_option('primer_emails');
    3284 
    32853131                                            $headers = 'From: ' . $primer_smtp_options['from_email_field'] ? $primer_smtp_options['from_email_field'] : 'Primer ' . get_bloginfo('admin_email');
    32863132                                            if (!empty($primer_smtp_options['email_subject'])) {
     
    33023148                                            }
    33033149                                            $order_log_id = get_post_meta($id_of_order, 'log_id_for_order', true);
    3304 
    33053150                                            if ($order_log_id) {
    33063151                                                update_post_meta($post_id, 'log_id_for_order', $order_log_id);
     
    33133158                                                    $get_issue_status = 'issued';
    33143159                                                }
    3315 
    33163160                                                update_post_meta($order_log_id, 'receipt_log_status', $get_issue_status);
    33173161                                                update_post_meta($order_log_id, 'receipt_log_error', $receipt_log_value);
    33183162                                            }
    3319 
    33203163                                            $email_logs = '';
    3321 
    33223164                                            if (!empty($primer_automatically_send_file) && $primer_automatically_send_file === 'yes') {
    33233165                                                $primer_smtp = PrimerSMTP::get_instance();
     
    33583200                                                update_post_meta($order_log_id, 'receipt_log_total_status', 'only_issued');
    33593201                                            }
    3360 
    33613202                                            update_post_meta($id_of_order, 'invoice_response', $response_with_html);
    3362 
    33633203                                            if ($info_html == '200') {
    33643204                                                update_post_meta($id_of_order, 'transmission_failure_check', 2);
     
    33663206                                                update_post_meta($id_of_order, 'failed_48', 'no');
    33673207                                            } else {
    3368                                                 update_post_meta($id_of_order, 'transmission_failure_check', 3);
     3208                                                update_post_meta($id_of_order, 'transmission_failure_check', 4);
    33693209                                            }
    33703210                                            update_option('primer_mydata', $mydata_options);
     
    33743214                                            update_option('primer_mydata', $mydata_options);
    33753215                                            update_post_meta($id_of_order, 'receipt_status', 'not_issued');
     3216                                            update_post_meta($id_of_order, 'transmission_failure_check', 4);
    33763217                                            update_post_meta($id_of_order, 'html_body_post_fields_save', 'save');
    33773218                                            $receipt_log_value_array[] = $response_with_html;
     
    33913232
    33923233                                } else {
    3393                                     $mydata_options['last_request'] = $orders;
    33943234                                    update_option('primer_mydata', $mydata_options);
    33953235                                    $response_data .= is_object($response_from_array[0]->errors) ? json_encode($response_from_array[0]->errors) : $response_from_array[0]->errors;
     
    34263266            update_option('primer_mydata', $mydata_options);
    34273267        }
    3428 
    3429 
    3430 
    3431 
    34323268    public function primer_cancel_invoice_cron(){
    34333269        $mydata_options = get_option('primer_mydata');
     
    34473283            $api_urls = array();
    34483284            $url_slug = '';
    3449 
    34503285            switch ($api_url) {
    34513286                case 'test_api':
     
    35013336                $url = 'https://test-mydataapi.ddns.net/v2/invoices/send';
    35023337            }
    3503 
    3504 
    35053338            $send_api_invoice = true;
    35063339            $auth = base64_encode( "$username" . ':' . "$password" );
     
    35173350                'sslverify'     => false
    35183351            );
    3519 
    35203352            $total_vat_number = "$user_vat";
    35213353            $invoiceType = '';
     
    35713403                        break;
    35723404                    } */
    3573 
    35743405                    $order_ids[] = $id_of_order;
    35753406                    $order_country = $order->get_billing_country();
    35763407                    $order_create_date = date('F j, Y', $order->get_date_created()->getOffsetTimestamp());
    3577                     $order_paid_date = null;
    3578                     $order_paid_hour = null;
    35793408                    if (!empty($order->get_date_paid())) {
    35803409                        $order_paid_date = date('F j, Y', $order->get_date_paid()->getTimestamp());
    3581                         $order_paid_hour = date('H:i:s', $order->get_date_paid()->getTimestamp());
    35823410                    } else {
    35833411                        $order_paid_date = date('F j, Y', $order->get_date_created()->getTimestamp());
    3584                         $order_paid_hour = date('H:i:s', $order->get_date_created()->getTimestamp());
    3585                     }
    3586 
     3412                    }
    35873413                    $order_total_price = $order->get_total();
    35883414                    $user_id = $order->get_user_id();
     
    36363462                    $series_array['Ψ'] = 'W';
    36373463                    $series_array['Ω'] = 'V';
    3638 
    36393464                    $licenses = get_option('primer_licenses');
    36403465                    if (!$licenses['productKind'] || $licenses['productKind'] == 'other') {
     
    38083633                                $quantity = $item_data->get_quantity();
    38093634                                $sum += $quantity;
    3810                                /* $product_id = $item_data->get_product_id();
    3811                                 $product_instance = wc_get_product($product_id);
    3812                                 if($product_instance == null){
    3813                                     $receipt_log_value = 'The order has a deleted product and cannot be issued.';
    3814                                     $receipt_log_value_array[] = __('The order has a deleted product and cannot be issued.', 'primer');
    3815                                     $response_data .= '<div class="notice notice-error"><p>'.__('The order has a deleted product and cannot be issued.', 'primer').'</p></div>';
    3816                                     update_post_meta($receipt_log_id, 'receipt_log_error', $receipt_log_value);
    3817                                     break 2;
    3818                                 } */
    38193635                                if (!empty($get_coupon)) {
    38203636                                    $subtotal_order_payment = $item_data->get_total();
     
    40893905                                }
    40903906                            }
    4091 
    40923907                            $fee_total = 0;
    40933908                            $fee_total_tax = 0;
     
    42514066                                    $invoice_data['invoice'][0]['invoiceSummary']['incomeClassification'][1]['classificationType'] = "E3_562";
    42524067                                    if ($fee_total > 0) {
    4253                                         $shipping_total = $shipping_total + $fee_total;
     4068                                        $shipping_total = number_format((float)($shipping_total + $fee_total), 2,'.','');
    42544069                                        $invoice_data['invoice'][0]['invoiceSummary']['incomeClassification'][1]['amount'] = "$shipping_total";
    42554070                                    } else {
     
    42574072                                    }
    42584073                                } else if ($fee_total > 0) {
    4259                                     $total_for_product = $subtotal - $fee_total;
     4074                                    $total_for_product = number_format((float)($subtotal - $fee_total), 2,'.','');
    42604075                                    $invoice_data['invoice'][0]['invoiceSummary']['incomeClassification'][0]['amount'] = "$total_for_product";
    42614076                                    $invoice_data['invoice'][0]['invoiceSummary']['totalGrossValue'] = "$order_total_price";
     
    42694084                            } else {
    42704085                                $shipping_total_unformatted = $order->get_shipping_total();
    4271                                 $amount_class = $total - $total_tax - $fee_net_value - $shipping_total;
     4086                                $amount_class = number_format((float)($total - $total_tax - $fee_net_value - $shipping_total), 2,'.','');
    42724087                                $invoice_data['invoice'][0]['invoiceSummary']['incomeClassification'][0]['classificationCategory'] = $classificationCategory;
    42734088                                $invoice_data['invoice'][0]['invoiceSummary']['incomeClassification'][0]['classificationType'] = $classificationType;
     
    42854100                                        $invoice_data['invoice'][0]['invoiceSummary']['incomeClassification'][$total_counter]['amount'] = "$shipping_total";
    42864101                                    } else {
    4287                                         $ship_and_fee = $fee_net_value + $shipping_total;
     4102                                        $ship_and_fee = number_format((float)($fee_net_value + $shipping_total), 2,'.','');
    42884103                                        $invoice_data['invoice'][0]['invoiceSummary']['incomeClassification'][$total_counter]['amount'] = "$ship_and_fee";
    42894104                                    }
    4290 
    42914105                                }
    42924106                                if ($fee_total > 0) {
     
    43004114                        $order_address = $order->get_billing_address_1();
    43014115                        $order_vatNumber = get_post_meta($id_of_order, '_billing_vat', true);
    4302 
    43034116                        if ($order_country == 'GR' && $order_invoice_type == 'invoice') {
    43044117                            $invoice_data['invoice'][0]['counterpart']['vatNumber'] = $order_vatNumber;
     
    43154128                            $invoice_data['invoice'][0]['counterpart']['name'] = $order_billing_company_name;
    43164129                        }
    4317 
    43184130                    if (!empty($last_exist_request)) {
    43194131                        $order_exist_status = get_post_meta($last_exist_request[0], 'receipt_status', true);
     
    43304142                    update_post_meta($receipt_log_id, 'receipt_log_order_id', $id_of_order);
    43314143                    update_post_meta($receipt_log_id, 'receipt_log_error', $receipt_log_value);
    4332 
    43334144                    if ($send_api_invoice) {
    43344145                        $curl_args['body'] = json_encode($invoice_data);
     
    43894200                                $invoice_mark = $response_from_array[0]->invoiceMark;
    43904201                                $invoice_authcode = $response_from_array[0]->authenticationCode;
    4391 
    43924202                                $post_id = wp_insert_post(array(
    43934203                                    'post_type' => 'primer_receipt',
     
    43984208                                ));
    43994209                                wp_set_object_terms($post_id, $invoice_term, $insert_taxonomy, false);
    4400 
    44014210                                if ($post_id) {
    4402 
    44034211                                    foreach ($order->get_items() as $item_id => $item_data) {
    44044212                                        $product_name = $item_data->get_name();
    44054213                                        add_post_meta($post_id, 'receipt_product', $product_name);
    44064214                                    }
    4407 
    4408                                     $issue_date = new DateTime("now", new DateTimeZone("Europe/Athens"));
     4215                                    $order_date_co = get_post_meta($id_of_order, 'order_date_failed', true);
     4216                                    $order_datetime_co = get_post_meta($id_of_order, 'order_datetime_failed', true);
     4217                                    $issue_date = new DateTime($order_datetime_co, new DateTimeZone("Europe/Athens"));
    44094218                                    $invoice_date = $issue_date->format('d/m/Y');
    44104219                                    $invoice_time = $issue_date->format('H:i');
    44114220                                    update_post_meta($post_id, 'credit_success_mydata_date', $invoice_date);
    44124221                                    update_post_meta($post_id, 'credit_success_mydata_time', $invoice_time);
    4413 
    44144222                                    update_post_meta($post_id, 'send_to_api_type', $api_type);
    44154223                                    if ($api_type == 'test') {
    44164224                                        $url_slug = 'https://test-mydataapi.ddns.net';
    44174225                                    }
    4418 
    44194226                                    update_post_meta($post_id, 'order_id_to_receipt', $id_of_order);
    44204227                                    update_post_meta($id_of_order, 'order_id_from_credit_receipt', $post_id);
     
    44384245                                    $post_ids[] = $post_id;
    44394246                                }
    4440 
    44414247                                $html_body_args = array();
    44424248                                $html_url = $url_slug . '/v2/invoice/html';
     
    44484254                                $html_post_fields['type'] = 'ZIP';
    44494255                                $photo_id = '';
    4450 
    44514256                                $use_upload_logo = isset($mydata_options['primer_use_logo']) ? $mydata_options['primer_use_logo'] : '';
    4452 
    44534257                                if (!empty($mydata_options['image_api_id']) && !empty($use_upload_logo)) {
    44544258                                    $photo_id_arg = explode(':', $mydata_options['image_api_id']);
     
    44604264                                    }
    44614265                                }
    4462 
    44634266                                $primer_options = new Primer_Options();
    4464 
    44654267                                $post_ids_str = '';
    44664268                                if (!empty($post_id)) {
    44674269                                    $post_ids_str = $total_vat_number . $invoice_mark;
    44684270                                }
    4469 
    44704271                                $post_arr_id = explode(" ", $post_id);
    44714272                                $use_url_params = '?type_logo=id';
     
    44744275                                $upload_dir = wp_upload_dir()['basedir'];
    44754276                                $upload_url = wp_upload_dir()['baseurl'] . '/exported_html_files';
    4476 
    44774277                                if ($generate_html_response) {
    44784278                                    $all_files = $upload_dir . '/exported_html_files/tmp_files';
     
    45504350                                        $dompdf->setOptions($options);
    45514351                                        $dompdf->loadHtml($homepage);
    4552 
    45534352                                        // Render the HTML as PDF
    45544353                                        $dompdf->render();
     
    45684367                                            file_put_contents($upload_dir_file, $output);
    45694368                                        }
    4570 
    45714369                                        $attachments = $upload_dir . '/email-invoices/' . $post_name . '.pdf';
    45724370                                        $post_issued = 'issued';
    4573                                       /*  if (empty($user_data)) {
    4574                                             $post_issued = 'not_issued';
    4575                                             $receipt_log_value .= __('Order Client name is required!', 'primer');
    4576                                         } */
    4577 
    45784371                                        update_post_meta($post_id, 'receipt_status', $post_issued);
    45794372                                        update_post_meta($id_of_order, 'receipt_status', $post_issued);
     
    45824375                                        add_post_meta($post_id, 'receipt_price', $order_total_price . ' ' . $currency_symbol);
    45834376                                        $primer_smtp_options = get_option('primer_emails');
    4584 
    45854377                                        $headers = 'From: ' . $primer_smtp_options['from_email_field'] ? $primer_smtp_options['from_email_field'] : 'Primer ' . get_bloginfo('admin_email');
    45864378                                        if (!empty($primer_smtp_options['email_subject'])) {
     
    45954387                                            $primer_smtp_message = __('Test email message', 'primer');
    45964388                                        }
    4597 
    45984389                                        $primer_automatically_send_file = $primer_smtp_options['automatically_send_on_conversation'];
    45994390                                        $primer_smtp_type = $primer_smtp_options['smtp_type'];
     
    46014392                                            $primer_automatically_send_file = 'yes';
    46024393                                        }
    4603 
    46044394                                        $order_log_id = get_post_meta($id_of_order, 'credit_log_id_for_order', true);
    4605 
    46064395                                        if ($order_log_id) {
    46074396                                            update_post_meta($post_id, 'credit_log_id_for_order', $order_log_id);
     
    47624551    {
    47634552        global $wpdb, $woocommerce;
    4764 
    47654553        $primer_export_options = get_option('primer_export');
    4766 
    47674554        $invoice_number_title = __('Invoice Number', 'primer');
    47684555        $invoice_series_number_title = __('Series of the Invoice', 'primer');
     
    47854572        $invoice_date_title = __('Invoice Date', 'primer');
    47864573        $invoice_type_title = __('Invoice Type', 'primer');
    4787 
    47884574        $invoice_headers = array(
    47894575            $invoice_number_title,
     
    48084594            $invoice_type_title
    48094595        );
    4810 
    48114596        $client_name = isset($_POST['export_select_client_name']) ? sanitize_text_field($_POST['export_select_client_name']) : $primer_export_options['export_select_client_name'];
    48124597        $client_vat = isset($_POST['export_select_client_vat']) ? sanitize_text_field($_POST['export_select_client_vat']) : $primer_export_options['export_select_client_vat'];
     
    48344619        $primer_export_to = isset($_POST['mydata_export_to']) ? sanitize_text_field($_POST['mydata_export_to']) : '';
    48354620        $column = isset($_POST['export_select_total_vat_rate_amount']) ? sanitize_text_field($_POST['export_select_total_vat_rate_amount']) : $primer_export_options['export_select_total_vat_rate_amount'];
    4836 
    48374621        $db_email_check = isset($primer_export_options['export_email_check']) ? $primer_export_options['export_email_check'] : '';
    48384622        $export_send_email = isset($_POST['export_email_check']) ? sanitize_text_field($_POST['export_email_check']) : $db_email_check;
    48394623        $ajax_send_email = isset($_POST['export_send_email']) ? sanitize_text_field($_POST['export_send_email']) : '';
    4840 
    48414624        if (isset($primer_export_options['export_leave_blank_row'])) {
    48424625            if (empty($primer_leave_blank_row)) {
     
    48444627            }
    48454628        }
    4846 
    48474629        $primer_first_excel_column_name = isset($_POST['export_first_excel_column_name']) ? sanitize_text_field($_POST['export_first_excel_column_name']) : '';
    48484630        $primer_export_only_invoice = isset($_POST['export_only_invoice_details']) ? sanitize_text_field($_POST['export_only_invoice_details']) : '';
     
    48684650            }
    48694651        }
    4870 
    48714652        $export_path_files = '';
    4872 
    48734653        $upload_dir = wp_upload_dir()['basedir'];
    48744654        if (!file_exists($upload_dir . '/primer-export-invoices')) {
     
    48764656        }
    48774657        $export_dir_file = $upload_dir . '/primer-export-invoices';
    4878 
    48794658        $export_path = isset($_POST['export_path']) ? sanitize_text_field($_POST['export_path']) : '';
    48804659        if (isset($primer_export_options['export_path'])) {
     
    49724751        $column = isset($_POST['export_select_total_vat_rate_amount']) ? sanitize_text_field($_POST['export_select_total_vat_rate_amount']) : $primer_export_options['export_select_total_vat_rate_amount'];
    49734752        $receipt_query = new WP_Query($receipt_args);
    4974         update_post_meta(1122,'fsdfs',$receipt_query);
    49754753        $receipt_count = 0;
    49764754        if ($receipt_query->have_posts()):
     
    49944772                    $client_web_value_str = $user_data->user_url;
    49954773                }
    4996 
    49974774                if (!empty($order_from_invoice)) {
    49984775                    $total_order = wc_get_order($order_from_invoice);
     
    50004777                $user_first_name = '';
    50014778                $user_last_name = '';
    5002 
    50034779                $inside_tax_rate = '';
    50044780                if (!empty($total_order)) {
     
    50154791                        array_unshift($tax_classes, '');
    50164792                    }
    5017 
    50184793                    foreach ($total_order->get_items() as $item_id => $item_data) {
    50194794                       // $product_id = $item_data->get_product_id();
     
    50454820                        $net_amount_per_product_value[] = number_format((float)$net_amount_per_product_value_str, 2);
    50464821                    }
    5047 
    50484822                    if (!empty($primer_leave_blank_row)) {
    50494823                        $product_name_value[] = '';
     
    50874861                    }
    50884862                }
    5089 
    50904863                for ($i = 0; $i < $count_product; $i++) {
    50914864                    $total_vat_amount_value[] = number_format((float)$total_vat_amount_value_str, 2,'.','');
     
    50944867                    $total_vat_amount_value[] = '';
    50954868                }
    5096 
    50974869                for ($i = 0; $i < $count_product; $i++) {
    50984870                    $total_amount_value[] = number_format((float)$total_amount_value_str, 2,'.','');
     
    51014873                    $total_amount_value[] = '';
    51024874                }
    5103 
    51044875                for ($i = 0; $i < $count_product; $i++) {
    51054876                    $total_net_amount_value[] = number_format((float)$total_net_amount_value_str, 2,'.','');
     
    51084879                    $total_net_amount_value[] = '';
    51094880                }
    5110 
    51114881                $user_full_name = $user_first_name . ' ' . $user_last_name;
    5112 
    51134882                if (empty($invoice_client_value)) {
    51144883                    $invoice_client_value[] = $user_full_name;
    51154884                }
    5116 
    51174885                if (empty($client_address_value) && !empty($client_address) && !empty($primer_license_data['companyAddress'])) {
    51184886                    $client_address_value = $primer_license_data['companyAddress'];
     
    51384906                    $client_activity_value[] = '';
    51394907                }
    5140 
    51414908                $receipt_number = get_post_meta(get_the_ID(), '_primer_receipt_number', true);
    51424909                $receipt_series_number = get_post_meta(get_the_ID(), '_primer_receipt_series', true);
    5143 
    51444910                $receipt_order_date = get_the_date('d/m/Y', $receipt_id);
    51454911                $receipt_order_time = get_the_date('H:i', $receipt_id);
    5146 
    51474912                $receipt_date = get_post_meta($receipt_id, 'success_mydata_date', true);
    51484913                $receipt_time = get_post_meta($receipt_id, 'success_mydata_time', true);
    5149 
    51504914                if (empty($receipt_date)) {
    51514915                    $receipt_date = $receipt_order_date;
    51524916                }
    5153 
    51544917                if (empty($receipt_time)) {
    51554918                    $receipt_time = $receipt_order_time;
    51564919                }
    5157 
    51584920                for ($i = 0; $i < $count_product; $i++) {
    51594921                    $invoice_date_value[] = "$receipt_date $receipt_time";
     
    51624924                    $invoice_date_value[] = '';
    51634925                }
    5164 
    51654926                if (isset($client_name) && !empty($client_name)) {
    51664927                    for ($i = 0; $i < $count_product; $i++) {
     
    52845045                    $net_total = array();
    52855046                    $total_with_vat = array();
    5286 
    52875047                    $i = 0;
    52885048                    foreach ($order->get_items('tax') as $item_id => $item) {
     
    52925052                        $tax_rate = str_replace('%', '', $tax_percent);
    52935053                        foreach ($order->get_items() as $item_id => $item_tax) {
    5294                            // $product_id = $item_tax->get_product_id();
    5295                            // $product_instance = wc_get_product($product_id);
    52965054                            $product_tax_class = $item_tax->get_tax_class();
    52975055                            $taxes = WC_Tax::get_rates_for_tax_class($product_tax_class);
     
    58805638            }
    58815639        }
    5882 
    58835640        die();
    58845641    }
    5885 
    58865642    function ajax_fire_cron() {
    58875643        echo "OK";
     
    58905646    }
    58915647}
    5892 
    58935648new PrimerCron();
    5894 
    5895 function not_present($list) {
    5896     {
    5897         // Create an array with range from array
    5898         // minimum to maximum.
    5899         $new_array = range(min($list), max($list));
    5900 
    5901         // Find those elements that are present
    5902         // in new_array but not in given list
    5903         return array_diff($new_array, $list);
    5904     }
    5905 }
  • primer-mydata/trunk/primer.php

    r2851146 r2857123  
    1818 * Plugin URI:        primer.gr/plugin/
    1919 * Description:      Issue receipts and invoices with woocommerce.
    20  * Version:           2.2.0
     20 * Version:           2.3.0
    2121 * Author:            Primer Software
    2222 * Author URI:        primer.gr
     
    3636 * Rename this for your plugin and update it as you release new versions.
    3737 */
    38 define( 'PRIMER_VERSION', '2.2.0' );
     38define( 'PRIMER_VERSION', '2.3.0' );
    3939define( 'PRIMER_NAME', 'Primer MyData' );
    4040
  • primer-mydata/trunk/public/partials/primer-receipt-display.php

    r2822848 r2857123  
    3030
    3131        @media print {
    32 
    3332            html,
    3433            body {
    3534                width: 210mm;
    3635                /*height: 297mm;*/
    37                 height: 297mm;
     36                height: 290mm;
    3837            }
    39 
    4038            .page {
    41                 margin: 5px;
     39                margin: 0px;
    4240                border: initial;
    4341                border-radius: initial;
     
    5351        .page {
    5452            width: 210mm;
    55             border: 1px solid #ddd;
    56             height: 295mm;
    57         }
    58 
     53            height: 290mm;
     54        }
    5955        body {
    6056            margin: 0;
    6157            padding: 0;
    6258        }
    63 
    64 
    6559        .invoice-box {
    6660            margin-left: 20px;
     
    492486
    493487        .watermark_message {
    494             position: relative;
     488            position: absolute;
    495489            transform: translate(-5px, -30%) rotate(-45deg);
    496490            left: 0;
    497             bottom: 50%;
     491            bottom: 25%;
    498492            font-size: 222px;
    499493            margin: 0;
     
    515509    <div class="page">
    516510    <div class="invoice-box">
    517         <?php if (get_customer_country() == 'GR'){ ?>
    518         <p class="union_doc_sign skin">ΕΝΙΑΙΟ ΜΗΧΑΝΟΓΡΑΦΙΚΟ ΕΝΤΥΠΟ ΠΟΛΛΑΠΛΩΝ ΧΡΗΣΕΩΝ</p>
    519         <?php } ?>
    520511        <div class="top_table">
    521512            <?php if(get_customer_country() == 'GR'){ ?>
     
    623614
    624615                            <?php primer_display_issuer_order_total_price($i,$last_page); ?>
    625 
    626616                        </div>
    627 
    628617                    </td>
    629 
    630618                </tr>
    631619                </tbody>
    632620            </table>
    633 
    634 
    635             <p> <span class="sender_sign">https://primer.gr/searchinvoice <br>Provided by Primer Software P.C.</span></p><br><br>
     621            <p> <span class="sender_sign">https://primer.gr/searchinvoice <br>Provided by Primer Software P.C.</span></p>
    636622            <p class="mydata_sign">
    637623                <?php if(get_transmission_failure() != 1 || get_credit_receipt_failed() == 'yes'){ ?>
Note: See TracChangeset for help on using the changeset viewer.