Plugin Directory

Changeset 3022529


Ignore:
Timestamp:
01/16/2024 04:47:08 PM (2 years ago)
Author:
primersoftware
Message:

Update

Location:
primer-mydata
Files:
2630 added
14 edited

Legend:

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

    r3008952 r3022529  
    55Tested up to: 6.4.2
    66Requires PHP: 7.4
    7 Stable tag: 4.1.1
     7Stable tag: 4.1.2
    88License: GPLv2
    99License URI: https://www.gnu.org/licenses/gpl-2.0.html
     
    147147= 4.1.1 - 2023-12-12 =
    148148* Minor Bug Fixes
     149= 4.1.2 - 2024-01-16 =
     150* Minor Bug Fixes
  • primer-mydata/trunk/admin/class-primer-admin.php

    r3008952 r3022529  
    923923            // Get the order ID
    924924            $order_id = $post->ID;
    925             //update_post_meta(232345,'gfdg', $order_id);
    926925            // Check for the specific postmeta value
    927926            $specific_value = get_post_meta($order_id, 'receipt_status', true);
  • primer-mydata/trunk/admin/includes/my_data_json.php

    r3008952 r3022529  
    6767        $invoice_data['invoice'][0]['issuer']['country'] = 'GR';
    6868        if ($callingFunction == 'convert_select_orders' || $callingFunction == 'convert_order_to_invoice' ) {
    69             if (isset($licenses['currentBranchID']) && $licenses['currentBranchID'] != 0) {
     69            if (isset($licenses['currentBranchID']) && $licenses['currentBranchID'] != "0") {
    7070                $invoice_data['invoice'][0]['issuer']['branch'] = $licenses['currentBranchID'];
    7171            } else {
     
    369369            $gramma = $serie == 'EMPTY' ? '0' : $serie;
    370370            $typos = $invoiceType;
    371             if ( $typos == 11.1 || $typos == 11.2 ) {
     371            if ( $typos == '11.1' || $typos == '11.2' ) {
    372372                $typos = 'greek_receipt';
    373373            }
    374             elseif ( $typos == 1.1 || $typos == 2.1) {
     374            elseif ( $typos == '1.1' || $typos == '2.1') {
    375375                $typos = 'greek_invoice';
    376376            }
    377             elseif ( $typos == 1.2 || $typos == 2.2 || $typos == 1.3 || $typos == 2.3) {
     377            elseif ( $typos == '1.2' || $typos == '2.2' || $typos == '1.3' || $typos == '2.3') {
    378378                $typos = 'english_invoice';
    379379            }
    380             elseif ( $typos == 11.4 ) {
     380            elseif ( $typos == '11.4' ) {
    381381                $typos = 'credit-receipt';
    382382            }
    383             elseif ( $typos == 5.1 ) {
     383            elseif ( $typos == '5.1' ) {
    384384                $typos = 'credit-invoice';
    385385            }
    386             if ( $gramma == 0 ) {
    387                 $gramma = "EMPTY";
    388             }
    389             if ($branch != 0) {
    390                 global $wpdb;
    391                 $query = $wpdb->prepare("
     386            $identifier = $gramma . "_" . $arithmos . "_" . $typos . "_" . $branch;
     387            global $wpdb;
     388            $query = $wpdb->prepare("
    392389                SELECT post_id
    393390                FROM {$wpdb->postmeta}
    394                 WHERE meta_key = '_primer_receipt_series' AND meta_value = %s
    395                 AND post_id IN (
    396                     SELECT post_id
    397                     FROM {$wpdb->postmeta}
    398                     WHERE meta_key = '_primer_receipt_number' AND meta_value = %s
    399                 )
    400                 AND post_id IN (
    401                     SELECT post_id
    402                     FROM {$wpdb->postmeta}
    403                     WHERE meta_key = 'receipt_type' AND meta_value = %s
    404                 )
    405                  AND post_id IN (
    406                     SELECT post_id
    407                     FROM {$wpdb->postmeta}
    408                     WHERE meta_key = 'branchID' AND meta_value = %s
    409                 )
     391                WHERE meta_key = 'numbering_identifier' AND meta_value = %s
    410392                LIMIT 1
    411             ", $gramma, $arithmos, $typos, $branch);
    412             } else {
    413                 global $wpdb;
    414                 $query = $wpdb->prepare("
    415                 SELECT post_id
    416                 FROM {$wpdb->postmeta}
    417                 WHERE meta_key = '_primer_receipt_series' AND meta_value = %s
    418                 AND post_id IN (
    419                     SELECT post_id
    420                     FROM {$wpdb->postmeta}
    421                     WHERE meta_key = '_primer_receipt_number' AND meta_value = %s
    422                 )
    423                 AND post_id IN (
    424                     SELECT post_id
    425                     FROM {$wpdb->postmeta}
    426                     WHERE meta_key = 'receipt_type' AND meta_value = %s
    427                 )
    428                 AND (
    429                     post_id NOT IN (
    430                         SELECT post_id
    431                         FROM {$wpdb->postmeta}
    432                         WHERE meta_key = 'branchID'
    433                     ) OR
    434                     post_id IN (
    435                         SELECT post_id
    436                         FROM {$wpdb->postmeta}
    437                         WHERE meta_key = 'branchID' AND meta_value = 0
    438                     )
    439                 )
    440                 LIMIT 1
    441             ", $gramma, $arithmos, $typos,$branch);
    442             }
     393            ", $identifier);
    443394            $results = $wpdb->get_results($query);
    444             if ($results) {
     395            if ($results != null) {
    445396                $this->numbering($order_invoice_type,$order_country,$mydata_options,$series,$is_credit);
    446397                update_option('primer_mydata', $mydata_options);
     398
    447399                return "rerun";
    448400            }
     
    472424            $order_date_failed = get_post_meta($id_of_order, 'order_date_failed', true);
    473425            $invoice_data['invoice'][0]['transmissionFailure'] = '1';
     426            $invoice_data['invoice'][0]['invoiceHeader']['issueDate'] = "$order_date_failed";
     427        }
     428        if ($transmission_failure == 3) {
     429            $order_date_failed = get_post_meta($id_of_order, 'order_date_failed', true);
     430            $invoice_data['invoice'][0]['transmissionFailure'] = '2';
    474431            $invoice_data['invoice'][0]['invoiceHeader']['issueDate'] = "$order_date_failed";
    475432        }
     
    11481105            }
    11491106        }
     1107        // filter array of incomeClassification for amount > 0
     1108        $invoice_data['invoice'][0]['invoiceSummary']['incomeClassification'] = array_values(array_filter($invoice_data['invoice'][0]['invoiceSummary']['incomeClassification'], function($obj) {
     1109            return ($obj["amount"]) > 0;
     1110        }));
    11501111
    11511112        $order_city = $order->get_billing_city();
     
    11731134
    11741135        if ($order_country == 'GR' && ($order_invoice_type == 'primer_invoice' || $order_invoice_type == 'invoice')) {
     1136            $order_vatNumber = trim($order_vatNumber);
    11751137            $invoice_data['invoice'][0]['counterpart']['vatNumber'] = $order_vatNumber;
    11761138            $invoice_data['invoice'][0]['counterpart']['country'] = $order_country;
     
    13171279                                       &$total, $auth, &$invoice_term, &$insert_taxonomy, &$order, &$user_data, &$user_id, &$order_total_price, &$currency_symbol,
    13181280                                       &$order_country, &$mydata_options, &$series, &$total_vat_number, &$receipt_log_value, &$receipt_log_value_array, &$user_order_email,
    1319                                        &$response_data, &$receipt_log_id, $url_slug, $callingFunction, &$generated_uid)
     1281                                       &$response_data, &$receipt_log_id, $url_slug, &$callingFunction, &$generated_uid, $post_id_failed,$connectionFailedMessage)
    13201282    {
    13211283
    13221284        $primer_smtp = PrimerSMTP::get_instance();
    13231285        $primer_smtp_options = get_option('primer_emails');
     1286        $primer_license_data = get_option('primer_licenses');
     1287        $credit = false;
    13241288        if ($api_type == 'test') {
    13251289            $url_slug = 'https://test-mydataapi.primer.gr';
    13261290        }
    1327         $receipt_id = get_post_meta($id_of_order, 'order_id_from_receipt', true);
    1328         $invoice_status_url = $url_slug . '/v2/invoices/getInvoicesStatus';
     1291        $invoice_status_url = $url_slug . '/v2/invoices/getInvoiceFromUID';
    13291292        $time_for_call = get_post_meta($id_of_order, 'order_date_failed_timeout', true);
    13301293        if (empty($time_for_call)) {
    13311294            $time_for_call = $gr_time;
    13321295        }
    1333         $json_code = '';
    1334         $json_code .= "$time_for_call";
    1335         $json_code .= $serie;
    1336         $json_code .= "$number";
    1337         $json_code .= "$invoiceType";
    1338         if (($order_invoice_type == 'primer_invoice' || $order_invoice_type == 'invoice')) {
    1339             $json_code .= "$order_vatNumber";
    1340         } else {
    1341             $json_code .= "999999999";
    1342         }
    1343         $json_code .= "$user_vat";
    1344         $json_code .= "0";
    1345         $json_code .= "$total";
    1346         $last_curl_args = array(
     1296        $branch = '';
     1297        if ($callingFunction == 'convert_select_orders' || $callingFunction == 'convert_order_to_invoice' ) {
     1298            if (isset($primer_license_data['currentBranchID']) && $primer_license_data['currentBranchID'] != "0") {
     1299                $branch = $primer_license_data['currentBranchID'];
     1300            } else {
     1301                // If currentBranchID is not stored or is 0, set it to "0"
     1302                $branch = "0";
     1303            }
     1304        } elseif ($callingFunction == 'primer_cancel_invoice') {
     1305            $order_id_from_receipt = get_post_meta($id_of_order, 'order_id_from_receipt', true);
     1306            $branchIDfromReceipt = get_post_meta($order_id_from_receipt, 'branchID', true);
     1307            if ($branchIDfromReceipt == null) {
     1308                $branch = "0";
     1309            } else {
     1310                $branch = $branchIDfromReceipt;
     1311            }
     1312        } elseif ( $callingFunction == 'convert_order_to_invoice_failed' ) {
     1313            $order_id_from_receipt = get_post_meta($id_of_order, 'order_id_from_receipt', true);
     1314            $branchIDfromReceipt = get_post_meta($order_id_from_receipt, 'branchID', true);
     1315            if ($branchIDfromReceipt == null) {
     1316                $branch = "0";
     1317            } else {
     1318                $branch = $branchIDfromReceipt;
     1319            }
     1320        } elseif ( $callingFunction == 'primer_cancel_invoice_cron' ) {
     1321            $order_id_from_receipt = get_post_meta($id_of_order, 'order_id_from_receipt', true);
     1322            $branchIDfromReceipt = get_post_meta($order_id_from_receipt, 'branchID', true);
     1323            if ($branchIDfromReceipt == null) {
     1324                $branch = "0";
     1325            } else {
     1326                $branch = $branchIDfromReceipt;
     1327            }
     1328        }
     1329        if($serie == 'EMPTY'){
     1330            $serie = '0';
     1331        }
     1332        $generated_uid = strtoupper(sha1(iconv("UTF-8", "ISO-8859-7",strval($user_vat).'-'.strval($time_for_call).'-'.strval($branch).'-'.strval($invoiceType).'-'.strval($serie).'-'.strval($number))));
     1333        $curl_args = array(
    13471334            'timeout' => 15,
    13481335            'redirection' => 10,
     
    13551342            'sslverify' => false
    13561343        );
    1357         $last_curl_args['body'] = '["' . $json_code . '"]';
    1358         $last_response_request = wp_remote_post($invoice_status_url, $last_curl_args);
     1344        $curl_args['body'] = '{
     1345                "uid": "'.$generated_uid.'"
     1346            }';
     1347        $last_response_request = wp_remote_post($invoice_status_url, $curl_args);
    13591348        $last_response = wp_remote_retrieve_body($last_response_request);
    13601349        $last_info = wp_remote_retrieve_response_code($last_response_request);
     1350        if($serie == '0') {
     1351            $serie = 'EMPTY';
     1352        }
    13611353        if (!empty($last_info)) {
    1362             if ($last_info == '200') {
     1354            if ($last_info == '200' || $last_info > 500) {
    13631355                $last_response_to_array = json_decode($last_response);
    13641356                $responseUid = $last_response_to_array[0]->uid;
     
    13661358                $responseAuthCode = $last_response_to_array[0]->authenticationCode;
    13671359                if (!ini_get('allow_url_fopen')) {
    1368                     $response_data .= '<div class="primer_popup popup_error"><div><h3>'.__('Php option allow_url_fopen is disabled! Please communicate with your hosting provider in order to activate it.', 'primer') .'</h3><br><br><br><br><br></div>';
     1360                    $response_data .= '<div class="primer_popup popup_error"><div><h3>' . __('Php option allow_url_fopen is disabled! Please communicate with your hosting provider in order to activate it.', 'primer') . '</h3><br><br><br><br><br></div>';
    13691361                    $response_data .= '<button class="popup_ok button button-primary">OK</button></div>';
    13701362                    $receipt_log_value .= __('Php option allow_url_fopen is disabled! Please communicate with your hosting provider in order to activate it.', 'primer');
    13711363                    return "break";
    13721364                }
    1373                 if ($callingFunction == 'primer_cancel_invoice') {
    1374                     $post_id = wp_insert_post(array(
    1375                         'post_type' => 'primer_receipt',
    1376                         'post_title' => 'Credit Receipt for order #' . $id_of_order,
    1377                         'comment_status' => 'closed',
    1378                         'ping_status' => 'closed',
    1379                         'post_status' => 'publish',
    1380                     ));
    1381                 } else {
    1382                     $post_id = wp_insert_post(array(
    1383                         'post_type' => 'primer_receipt',
    1384                         'post_title' => 'Receipt for order #' . $id_of_order,
    1385                         'comment_status' => 'closed',
    1386                         'ping_status' => 'closed',
    1387                         'post_status' => 'publish',
    1388                     ));
     1365                if($post_id_failed != null) {
     1366                    if ($callingFunction == 'primer_cancel_invoice') {
     1367                        $post_id = wp_insert_post(array(
     1368                            'post_type' => 'primer_receipt',
     1369                            'post_title' => 'Credit Receipt for order #' . $id_of_order,
     1370                            'comment_status' => 'closed',
     1371                            'ping_status' => 'closed',
     1372                            'post_status' => 'publish',
     1373                        ));
     1374                    } elseif ($callingFunction == 'convert_order_to_invoice_failed') {
     1375                        $post_id = wp_insert_post(array(
     1376                            'post_type' => 'primer_receipt',
     1377                            'post_title' => 'Receipt for order #' . $id_of_order . '-failed',
     1378                            'comment_status' => 'closed',
     1379                            'ping_status' => 'closed',
     1380                            'post_status' => 'publish',
     1381                        ));
     1382                    } elseif ($callingFunction == 'primer_cancel_invoice_cron') {
     1383                        $post_id = wp_insert_post(array(
     1384                            'post_type' => 'primer_receipt',
     1385                            'post_title' => 'Credit Receipt for order #' . $id_of_order . '-failed',
     1386                            'comment_status' => 'closed',
     1387                            'ping_status' => 'closed',
     1388                            'post_status' => 'publish',
     1389                        ));
     1390                    } else {
     1391                        $post_id = wp_insert_post(array(
     1392                            'post_type' => 'primer_receipt',
     1393                            'post_title' => 'Receipt for order #' . $id_of_order,
     1394                            'comment_status' => 'closed',
     1395                            'ping_status' => 'closed',
     1396                            'post_status' => 'publish',
     1397                        ));
     1398                    }
     1399                } else {
     1400                    $post_id = $post_id_failed;
    13891401                }
    13901402                wp_set_object_terms($post_id, $invoice_term, $insert_taxonomy, false);
    13911403                if ($post_id) {
    1392                     foreach ($order->get_items() as $item_id => $item_data) {
    1393                         $product_name = $item_data->get_name();
    1394                         add_post_meta($post_id, 'receipt_product', $product_name);
    1395                     }
    1396 
    13971404                    $issue_date = new DateTime("now", new DateTimeZone("Europe/Athens"));
    13981405                    $invoice_date = $issue_date->format('d/m/Y');
    13991406                    $invoice_time = $issue_date->format('H:i');
    1400                     if ( $callingFunction == 'primer_cancel_invoice' ) {
    1401 
     1407                    if ( $callingFunction == 'primer_cancel_invoice' || $callingFunction == 'primer_cancel_invoice_cron') {
    14021408                        update_post_meta($post_id, 'credit_success_mydata_date', $invoice_date);
    14031409                        update_post_meta($post_id, 'credit_success_mydata_time', $invoice_time);
    1404 
    1405                     }
    1406                     else {
    1407 
     1410                    } else {
    14081411                        update_post_meta($post_id, 'success_mydata_date', $invoice_date);
    14091412                        update_post_meta($post_id, 'success_mydata_time', $invoice_time);
    1410 
    14111413                    }
    14121414                    update_post_meta($post_id, 'receipt_type', $invoice_term);
    14131415                    update_post_meta($post_id, 'send_to_api_type', $api_type);
    1414                     //APO EDW KAI KATW DEN EINAI CREDIT
    1415 
    1416                     if ( $callingFunction == 'primer_cancel_invoice') {
    1417 
    1418                         update_post_meta($post_id, 'order_id_to_credit_receipt', $id_of_order);
     1416                    update_post_meta($post_id, 'order_id_to_receipt', $id_of_order);
     1417                    if ( $callingFunction == 'primer_cancel_invoice' || $callingFunction == 'primer_cancel_invoice_cron') {
    14191418                        update_post_meta($id_of_order, 'order_id_from_credit_receipt', $post_id);
    1420                         $receipt_id = get_post_meta($id_of_order, 'order_id_from_receipt', true);
    1421 
    1422                     } else {
    1423 
    1424                         update_post_meta($post_id, 'order_id_to_receipt', $id_of_order);
     1419                    } else {
    14251420                        update_post_meta($id_of_order, 'order_id_from_receipt', $post_id);
    1426                         $receipt_id = get_post_meta($id_of_order, 'order_id_from_receipt', true);
    1427 
    1428                     }
    1429 
     1421                    }
    14301422                    add_post_meta($post_id, 'receipt_client', $user_data);
    14311423                    add_post_meta($post_id, 'receipt_client_id', $user_id);
     
    14331425                    update_post_meta($post_id, '_primer_receipt_number', $number);
    14341426                    update_post_meta($post_id, '_primer_receipt_series', $serie);
    1435 
    1436                     if ( $callingFunction == 'primer_cancel_invoice') {
    1437 
     1427                    if ( $last_info == 512 ) {
     1428                        update_post_meta($post_id, 'connection_fail_message', 'ΑΔΥΝΑΜΙΑ ΔΙΑΣΥΝΔΕΣΗΣ ΠΑΡΟΧΟΥ - ΑΑΔΕ');
     1429                    } elseif ( $last_info > 500 ) {
     1430                        update_post_meta($post_id, 'connection_fail_message', 'ΑΔΥΝΑΜΙΑ ΔΙΑΣΥΝΔΕΣΗΣ ΟΝΤΟΤΗΤΑΣ - ΠΑΡΟΧΟΥ');
     1431                    }
     1432                    if ($serie == "EMPTY" ) {
     1433                        $identifier = "0" . "_" . $number . "_" . $invoice_term . "_" . $branch;
     1434                    } else {
     1435                        $identifier = $serie . "_" . $number . "_" . $invoice_term . "_" . $branch;
     1436                    }
     1437                    update_post_meta($post_id, 'numbering_identifier',$identifier);
     1438                    if ( $callingFunction == 'primer_cancel_invoice' || $callingFunction == 'primer_cancel_invoice_cron') {
    14381439                        update_post_meta( $post_id, 'credit_receipt', 'yes' );
    1439 
    1440                     }
    1441 
    1442                     $this->numbering($order_invoice_type, $order_country, $mydata_options, $series);
    1443 
     1440                        $credit = true;
     1441                    }
     1442                    $this->numbering($order_invoice_type, $order_country, $mydata_options, $series, $credit);
    14441443                    update_option('primer_mydata', $mydata_options);
    14451444                    if (!empty($responseMark)) {
     
    14521451                        update_post_meta($post_id, 'response_invoice_authcode', $responseAuthCode);
    14531452                    }
    1454                     $post_ids[] = $post_id;
    1455                 }
     1453                    update_post_meta($post_id, 'branchID', $branch);
     1454                    update_post_meta($post_id, 'connection_fail_message', '');
     1455                    if ($callingFunction == 'convert_order_to_invoice_failed' || $callingFunction == 'primer_cancel_invoice_cron') {
     1456                        update_post_meta($post_id, 'connection_fail_message', $connectionFailedMessage);
     1457                    }
     1458                }
     1459
    14561460                primer_generate_qr($post_id, $generated_uid);
    1457                 $post_id = get_post_meta($id_of_order, 'order_id_from_receipt', true);
     1461                //$post_id = get_post_meta($id_of_order, 'order_id_from_receipt', true);
    14581462                update_post_meta($post_id, 'response_invoice_mark', $responseMark);
    14591463                update_post_meta($post_id, 'response_invoice_uid', $responseUid);
     
    15671571                            mkdir($upload_dir . '/email-invoices');
    15681572                        }
    1569                         $post_name = get_the_title($receipt_id);
     1573                        $post_name = get_the_title($post_id);
    15701574                        $post_name = str_replace(' ', '_', $post_name);
    15711575                        $post_name = str_replace('#', '', $post_name);
     
    15971601                        if (!empty($primer_smtp_options['quote_available_content'])) {
    15981602                            $primer_smtp_message = $primer_smtp_options['quote_available_content'];
     1603                            $client_first_name = get_post_meta($id_of_order, '_billing_first_name', true);
     1604                            $client_last_name = get_post_meta($id_of_order, '_billing_last_name', true);
     1605                            $client_email = get_post_meta($id_of_order, '_billing_email', true);
     1606                            $streetAddress = get_post_meta($id_of_order, '_billing_address_1', true);
     1607                            $townCity = get_post_meta($id_of_order, '_billing_city', true);
     1608                            $phone = get_post_meta($id_of_order, '_billing_phone' , true);
     1609                            $primer_smtp_message = str_replace('{ClientFirstName}', $client_first_name, $primer_smtp_message);
     1610                            $primer_smtp_message = str_replace('{ClientLastName}', $client_last_name, $primer_smtp_message);
     1611                            $primer_smtp_message = str_replace('{ClientEmail}', $client_email, $primer_smtp_message);
     1612                            $primer_smtp_message = str_replace('{StreetAddress}', $streetAddress, $primer_smtp_message);
     1613                            $primer_smtp_message = str_replace('{TownCity}', $townCity, $primer_smtp_message);
     1614                            $primer_smtp_message = str_replace('{Phone}', $phone, $primer_smtp_message);
    15991615                        } else {
    16001616                            $primer_smtp_message = __('Test email message', 'primer');
     
    16051621                            $primer_automatically_send_file = 'yes';
    16061622                        }
    1607                         if ( $callingFunction == 'primer_cancel_invoice' ) {
     1623                        if ( $callingFunction == 'primer_cancel_invoice' || $callingFunction == 'primer_cancel_invoice_cron' ) {
    16081624                            $order_log_id = get_post_meta($id_of_order, 'credit_log_id_for_order', true);
    16091625                        } else {
     
    16111627                        }
    16121628
    1613                         if ($order_log_id) {
    1614 
    1615                             if ( $callingFunction == 'primer_cancel_invoice' ) {
     1629                        if (!empty($order_log_id)) {
     1630
     1631                            if ( $callingFunction == 'primer_cancel_invoice' || $callingFunction == 'primer_cancel_invoice_cron') {
    16161632
    16171633                                update_post_meta($post_id, 'credit_log_id_for_order', $order_log_id);
     
    16601676                                update_post_meta($order_log_id, 'receipt_log_total_status', 'only_issued');
    16611677                            }
    1662                             update_post_meta($receipt_id, 'exist_error_log', 'exist_log');
     1678                            update_post_meta($post_id, 'exist_error_log', 'exist_log');
    16631679                        } else {
    16641680                            if (!$primer_smtp->credentials_configured()) {
     
    16721688                    }
    16731689                    update_post_meta($id_of_order, 'transmission_failure_check', 2);
     1690                    if ( $callingFunction == 'primer_cancel_invoice' || $callingFunction == 'primer_cancel_invoice_cron') {
     1691                        update_post_meta($id_of_order, 'cancelled','yes');
     1692                        update_post_meta($post_id, 'cancelled','yes');
     1693                    }
    16741694                    //$response_data = '<div class="primer_popup popup_success"><p>' . __('Orders converted', 'primer') . '</p></div>';
    16751695                    $response_data = '<div class="primer_popup popup_success"><div>';
    1676                     $response_data .= '<h3>'.__("Orders converted", "primer").'</h3>';
     1696                    $response_data .= '<h3>'.__("Orders converted", "primer").'</h3><br><br><br><br><br>';
    16771697                    $response_data .= '<button class="popup_ok button button-primary">OK</button>';
    16781698                    $response_data .= '</div></div>';
    1679                     echo json_encode($response_data);
    1680                 } else {
    1681                     // update number + 1
     1699                    return "break";
     1700                } else {
    16821701                    $last_response = __('Something went wrong. Please try again!', 'primer');
    1683                     if ( $callingFunction == 'primer_cancel_invoice' ) {
    1684                         $credit = true;
    1685                     } else {
    1686                         $credit = false;
    1687                     }
    1688                     $this->numbering($order_invoice_type, $order_country, $mydata_options, $series, $credit);
    16891702                    $receipt_log_value_array[] = $last_response;
    16901703                    $response_data .= '<div class="primer_popup popup_error"><div><h3><strong>' . $last_response . '</strong></h3><br><br><br><br><br></div>';
     
    16981711                }
    16991712            } else {
    1700                 // update number + 1
    17011713                $last_response = __('Something went wrong. Please try again!', 'primer');
    1702                 $credit = false;
    1703                 if ( $callingFunction == 'primer_cancel_invoice' ) {
    1704                     $credit = true;
    1705                 }
    1706                 $this->numbering($order_invoice_type, $order_country, $mydata_options, $series, $credit);
    17071714                $receipt_log_value = $last_response;
    17081715                $receipt_log_value_array[] = $last_response;
  • primer-mydata/trunk/admin/includes/primer-admin-options.php

    r3008952 r3022529  
    34623462        $password = $primer_license_data['password'] ? $primer_license_data['password'] : '';
    34633463        $user_vat = $primer_license_data['companyVatNumber'];
     3464        $callingFunction = "primer_cancel_invoice";
    34643465        $send_api_invoice = true;
    34653466        $url_slug = 'https://wp-mydataapi.primer.gr';
     
    35433544                    $receipt_log_value_array = array();//edw
    35443545                    $insert_taxonomy = 'receipt_status';
    3545                     //$serie = get_post_meta($receipt_id, '_primer_receipt_series', true);
    35463546                    $serie = '';
    35473547                    $series = '';
    3548                     //$number = get_post_meta($receipt_id, '_primer_receipt_number', true);
    35493548                    $number = '';
    35503549                    $invoice_time = '';
     
    35543553                    $receipt_log_value = '';
    35553554                    $total = '';
    3556                     $callingFunction = "primer_cancel_invoice";
    35573555                    $get_mark_from_receipt = '';
    3558                     //EDW KALW TIN METHODO
    35593556                    $create_json_instance = new Create_json();
    35603557                    $Vat_exemption_categories = $create_json_instance->getVatExemptionCategories();
     
    35853582                    $response_message = wp_remote_retrieve_body($response);
    35863583                    $response_code = wp_remote_retrieve_response_code($response);
     3584                    $is_timeout = false ;
    35873585                    $response_to_array = null;
    35883586                    if ( is_wp_error( $response ) ) {
     
    35953593                        $check_string_timeout = strpos($message_timeout,$string_timeout);
    35963594                        if ($check_string_timeout) {
     3595                            $is_timeout = true ;
    35973596                            $first_time = get_post_meta($id_of_order, 'order_date_failed_timeout',true);
    35983597                            if($first_time == null){
     
    36043603                        $response_to_array = wp_remote_retrieve_body($response);
    36053604                    }
    3606                     $time_for_call_timeout_48 = get_post_meta($id_of_order, 'order_datetime_failed',true);
     3605                    $time_for_call_timeout_48 = get_post_meta($id_of_order, 'order_date_failed',true);
    36073606                    $time_for_call_timeout_1 = '';
    3608                     if($time_for_call_timeout_48 && ($response_code == 502 || $response_code == 512)){
     3607                    if($time_for_call_timeout_48 && ($response_code > 500 || $is_timeout)){
    36093608                        $time_for_call_timeout_1 = date('Y-m-d H:i:s', strtotime($time_for_call_timeout_48. ' + 2 days'));
    36103609
     
    36493648                                                                                $total, $auth, $invoice_term, $insert_taxonomy,$order, $user_data, $user_id, $order_total_price, $currency_symbol,
    36503649                                                                                $order_country, $mydata_options, $series, $total_vat_number, $receipt_log_value, $receipt_log_value_array, $user_order_email,
    3651                                                                                 $response_data, $receipt_log_id, $url_slug, $callingFunction, $generated_uid);
     3650                                                                                $response_data, $receipt_log_id, $url_slug, $callingFunction, $generated_uid, null,null);
    36523651
    36533652                        if ( $status == "break" ) {
    3654                             break;
     3653                            continue;
    36553654                        }
    36563655                        else {
    3657                             echo "<br>";
     3656                            //echo "<br>";
    36583657                            update_option('primer_mydata', $mydata_options);
     3658                            $response = array(
     3659                                'status' => 'success',
     3660                                'data' => $response_data
     3661                            );
     3662
     3663                            echo json_encode($response);
     3664                            delete_transient('convert_order_to_invoice_lock');
     3665                            wp_die();
    36593666                        }
    36603667                        //end checking
     
    36773684                            break;
    36783685                        }
    3679                         if (!empty($response_to_array) || ($response_code == 512 || $code_position !== false)) {
     3686                        if (!empty($response_to_array) || ($response_code > 500 || $is_timeout)) {
    36803687                            $response_from_array = $response_to_array->response;
    3681                             if (!empty($response_from_array) || ($response_code == 512 || $code_position !== false)) {
    3682                                 if (($response_from_array[0]->statusCode == 'Success') || ($response_code == 512 || $code_position !== false)) {
     3688                            if (!empty($response_from_array) || ($response_code > 500 || $is_timeout)) {
     3689                                if (($response_from_array[0]->statusCode == 'Success') || ($response_code > 500 || $is_timeout)) {
    36833690                                    $invoice_uid = $response_from_array[0]->invoiceUid;
    36843691                                    $invoice_mark = $response_from_array[0]->invoiceMark;
     
    36923699                                    ));
    36933700                                    wp_set_object_terms($post_id, $invoice_term, $insert_taxonomy, false);
    3694                                     if (($code_position !== false || $response_code == 512) && $general_settings['primer_cron_transmission_failure'] == 'on') {
    3695                                         update_post_meta($post_id, 'transmission_failure_check', 1);
    3696                                         update_post_meta($id_of_order, 'credit_receipt_failed_to_issue', 'yes');
    3697                                     }
    36983701                                    if ($post_id) {
    3699                                         foreach ( $order->get_items() as $item_id => $item_data ) {
    3700                                             $product_name = $item_data->get_name();
    3701                                             add_post_meta($post_id, 'receipt_product', $product_name);
    3702                                         }
    37033702                                        $issue_date = new DateTime("now", new DateTimeZone("Europe/Athens"));
    37043703                                        $invoice_date = $issue_date->format('d/m/Y');
     
    37323731                                        }
    37333732                                        if (!isset($primer_license_data['currentBranchID'])) {
    3734                                             $currentBranchID = 0;
     3733                                            $currentBranchID = "0";
    37353734                                        } else {
    37363735                                            $currentBranchID = get_post_meta($receipt_id, 'branchID', true);
    37373736                                        }
    37383737                                        update_post_meta($post_id, 'branchID', $currentBranchID);
    3739 
    3740                                         $post_ids[] = $post_id;
     3738                                        if ( $serie == "EMPTY" ) {
     3739                                            $identifier = "0" . "_" . $number . "_" . $invoice_term . "_" . $currentBranchID;
     3740                                        } else {
     3741                                            $identifier = $serie . "_" . $number . "_" . $invoice_term . "_" . $currentBranchID;
     3742                                        }
     3743                                        update_post_meta($post_id, 'numbering_identifier', $identifier);
     3744                                        if ($response_code == 512) {
     3745                                            update_post_meta($post_id, 'connection_fail_message', 'ΑΔΥΝΑΜΙΑ ΔΙΑΣΥΝΔΕΣΗΣ ΠΑΡΟΧΟΥ - ΑΑΔΕ');
     3746                                        } elseif ($response_code > 500 || $is_timeout) {
     3747                                            update_post_meta($post_id, 'connection_fail_message', 'ΑΔΥΝΑΜΙΑ ΔΙΑΣΥΝΔΕΣΗΣ ΟΝΤΟΤΗΤΑΣ - ΠΑΡΟΧΟΥ');
     3748                                        } else {
     3749                                            update_post_meta($post_id, 'connection_fail_message', '');
     3750                                        }
    37413751                                    }
    37423752                                    primer_generate_qr($post_id, $generated_uid);
     
    39613971                                                update_post_meta($id_of_order, 'cancelled','yes');
    39623972                                                update_post_meta($receipt_id, 'cancelled','yes');
    3963                                     if (($code_position !== false || $response_code == 512) && $general_settings['primer_cron_transmission_failure'] == 'on') {
    3964                                         update_post_meta($id_of_order, 'transmission_failure_check', 1);
    3965                                         update_post_meta($id_of_order, 'order_date_failed', $gr_time);
    3966                                         update_post_meta($id_of_order, 'order_datetime_failed', date('Y-m-d H:i:s'));
     3973                                    if (($response_code > 500 || $is_timeout) && $general_settings['primer_cron_transmission_failure'] == 'on') {
     3974                                        if ($response_code == 512 ) {
     3975                                            $receipt_log_value .= __('Unable to connect Provider and AADE.', 'primer');
     3976                                            $receipt_log_value_array[] = __('Unable to connect Provider and AADE.', 'primer');
     3977                                            update_post_meta($id_of_order, 'transmission_failure_check', 3);
     3978                                            update_post_meta($post_id, 'transmission_failure_check', 3);
     3979                                            update_post_meta($receipt_log_id, 'receipt_log_error', $receipt_log_value_array);
     3980                                        } else {
     3981                                            $receipt_log_value .= __('Unable to connect Entity and provider..', 'primer');
     3982                                            $receipt_log_value_array[] = __('Unable to connect Entity and provider.', 'primer');
     3983                                            update_post_meta($id_of_order, 'transmission_failure_check', 1);
     3984                                            update_post_meta($post_id, 'transmission_failure_check', 1);
     3985                                            update_post_meta($receipt_log_id, 'receipt_log_error', $receipt_log_value_array);
     3986                                        }
     3987                                        $gr_timezone = new DateTimeZone("Europe/Athens");
     3988                                        $gr_time = new DateTime("now", $gr_timezone);
     3989                                        update_post_meta($id_of_order, 'order_date_failed', $gr_time->format('Y-m-d'));
     3990                                        update_post_meta($id_of_order, 'order_datetime_failed', $gr_time->format('Y-m-d H:i:s'));
    39673991                                        update_post_meta($id_of_order, 'credit_receipt_failed_to_issue', 'yes');
    39683992                                    }
     
    48964920        // Retrieve the HTML content with the specified headers
    48974921        $post_url = get_the_permalink($receipt_id) . $use_url_params;
    4898         //update_post_meta(99999,'test',$post_url);
    48994922        $arrContextOptions = array(
    49004923            "ssl" => array(
  • primer-mydata/trunk/admin/includes/primer-admin-table.php

    r3008952 r3022529  
    597597    $user_vat = $primer_license_data['companyVatNumber'];
    598598    $send_api_invoice = true;
     599    $callingFunction = 'convert_select_orders';
    599600    $url_slug = 'https://wp-mydataapi.primer.gr';
    600601    $auth = base64_encode( "$username" . ':' . "$password" );
     
    612613    );
    613614    $total_vat_number = "$user_vat";
    614     $post_ids = array();
    615615    $log_ids = array();
    616616    $orders = isset($_GET['orders']) ? $_GET['orders'] : '';
     
    673673                    $receipt_log_value = '';
    674674                    $total = '';
    675                     $callingFunction = 'convert_select_orders';
    676675                    //EDW KALW TIN METHODO
    677676                    $create_json_instance = new Create_json();
     
    712711                    $check_string_timeout = strpos($message_timeout,$string_timeout);
    713712                    if ($check_string_timeout) {
     713                        $is_timeout = true;
    714714                        $first_time = get_post_meta($id_of_order, 'order_date_failed_timeout',true);
    715715                        if($first_time == null){
     
    723723                $time_for_call_timeout_48 = get_post_meta($id_of_order, 'order_datetime_failed',true);
    724724                $time_for_call_timeout_1 = '';
    725                 if($time_for_call_timeout_48 && ($response_code == 502 || $response_code == 512)){
     725                if($time_for_call_timeout_48 && ($response_code > 500 || $is_timeout)){
    726726                    $time_for_call_timeout_1 = date('Y-m-d H:i:s', strtotime($time_for_call_timeout_48. ' + 2 days'));
    727727                    if($time_for_call_timeout_1 > $gr_time ){
     
    754754                break;
    755755                }
    756                $string_block = 'Unauthorized to send, expecting Invoice file.';
     756                $string_block = 'Unauthorized to send, expecting Invoice file.';
    757757                $string_r ='It has already been sent for another invoice';
    758758                $validate_response_block = strpos($response_message, $string_block);
     
    765765                                                                            $total, $auth, $invoice_term, $insert_taxonomy,$order, $user_data, $user_id, $order_total_price, $currency_symbol,
    766766                                                                            $order_country, $mydata_options, $series, $total_vat_number, $receipt_log_value, $receipt_log_value_array, $user_order_email,
    767                                                                              $response_data, $receipt_log_id, $url_slug, $callingFunction,$generated_uid);
     767                                                                             $response_data, $receipt_log_id, $url_slug, $callingFunction,$generated_uid, null,null);
    768768
    769769                    if ( $status == "break" ) {
    770                         break;
     770                        continue;
    771771                    }
    772772                    else {
    773                         echo "<br>";
    774                         echo $callingFunction;
     773                        //echo "<br>";
     774                        //echo $callingFunction;
    775775                        update_option('primer_mydata', $mydata_options);
     776                        $response = array(
     777                            'status' => 'success',
     778                            'data' => $response_data
     779                        );
     780
     781                        echo json_encode($response);
     782                        delete_transient('convert_order_to_invoice_lock');
     783                        wp_die();
    776784                    }
    777785             }else if(!$validate_response){
     
    793801                    break;
    794802                }
    795                 if (!empty($response_to_array) || ($response_code == 512 || $code_position !== false)) {
     803                if (!empty($response_to_array) || ($response_code > 500 || $is_timeout)) {
    796804                   $response_from_array = $response_to_array->response;
    797                     if (!empty($response_from_array) || ($response_code == 512 || $code_position !== false)) {
    798                         if (($response_from_array[0]->statusCode == 'Success') || ($response_code == 512 || $code_position !== false)) {
     805                    if (!empty($response_from_array) || ($response_code > 500 || $is_timeout)) {
     806                        if (($response_from_array[0]->statusCode == 'Success') || ($response_code > 500 || $is_timeout)) {
    799807                            $invoice_uid = $response_from_array[0]->invoiceUid;
    800808                            $invoice_mark = $response_from_array[0]->invoiceMark;
     
    809817                            wp_set_object_terms($post_id, $invoice_term, $insert_taxonomy, false);
    810818                            if ($post_id) {
    811                                 foreach ( $order->get_items() as $item_id => $item_data ) {
    812                                     $product_name = $item_data->get_name();
    813                                     add_post_meta($post_id, 'receipt_product', $product_name);
    814                                 }
    815819                                $issue_date = new DateTime("now", new DateTimeZone("Europe/Athens"));
    816820                                $invoice_date = $issue_date->format('d/m/Y');
     
    827831                                update_post_meta( $post_id, '_primer_receipt_number', $number );
    828832                                update_post_meta( $post_id, '_primer_receipt_series', $serie );
     833                                // update_post_meta
    829834                                // update the invoice number
    830835                                 $create_json_instance->numbering($order_invoice_type, $order_country,$mydata_options, $series);
     
    845850                                    $currentBranchID = $primer_license_data['currentBranchID'];
    846851                                }
     852
    847853                                update_post_meta($post_id, 'branchID', $currentBranchID);
    848                                 $post_ids[] = $post_id;
    849                             }
     854                                if ($serie == "EMPTY" ) {
     855                                    $identifier = "0" . "_" . $number . "_" . $invoice_term . "_" . $currentBranchID;
     856                                } else {
     857                                    $identifier = $serie . "_" . $number . "_" . $invoice_term . "_" . $currentBranchID;
     858                                }
     859                                update_post_meta($post_id, 'numbering_identifier',$identifier);
     860                                if ($response_code == 512) {
     861                                    update_post_meta($post_id, 'connection_fail_message', 'ΑΔΥΝΑΜΙΑ ΔΙΑΣΥΝΔΕΣΗΣ ΠΑΡΟΧΟΥ - ΑΑΔΕ');
     862                                } elseif ($response_code > 500 || $is_timeout) {
     863                                    update_post_meta($post_id, 'connection_fail_message', 'ΑΔΥΝΑΜΙΑ ΔΙΑΣΥΝΔΕΣΗΣ ΟΝΤΟΤΗΤΑΣ - ΠΑΡΟΧΟΥ');
     864                                } else {
     865                                    update_post_meta($post_id, 'connection_fail_message', '');
     866                                }
     867                            }
    850868                            primer_generate_qr($post_id, $generated_uid);
    851869                            $primer_options = new Primer_Options();
     
    10661084                                    $mydata_options['timeout_check_48'] = 0;
    10671085                                    update_post_meta($id_of_order, 'failed_48','no');
    1068                                     if (($code_position !== false || $response_code == 512) && $general_settings['primer_cron_transmission_failure'] == 'on') {
    1069                                         update_post_meta($id_of_order, 'transmission_failure_check', 1);
    1070                                         update_post_meta($id_of_order, 'order_date_failed', $gr_time);
    1071                                         update_post_meta($id_of_order, 'order_datetime_failed', date('Y-m-d H:i:s'));
     1086                                    if (($response_code > 500 || $is_timeout) && $general_settings['primer_cron_transmission_failure'] == 'on') {
     1087                                        if ($response_code == 512 ) {
     1088                                            $receipt_log_value .= __('Unable to connect Provider and AADE.', 'primer');
     1089                                            $receipt_log_value_array[] = __('Unable to connect Provider and AADE.', 'primer');
     1090                                            update_post_meta($id_of_order, 'transmission_failure_check', 3);
     1091                                            update_post_meta($receipt_log_id, 'receipt_log_error', $receipt_log_value_array);
     1092                                        } else {
     1093                                            $receipt_log_value .= __('Unable to connect Entity and provider..', 'primer');
     1094                                            $receipt_log_value_array[] = __('Unable to connect Entity and provider.', 'primer');
     1095                                            update_post_meta($id_of_order, 'transmission_failure_check', 1);
     1096                                            update_post_meta($receipt_log_id, 'receipt_log_error', $receipt_log_value_array);
     1097                                        }
     1098                                        $gr_timezone = new DateTimeZone("Europe/Athens");
     1099                                        $gr_time = new DateTime("now", $gr_timezone);
     1100                                        update_post_meta($id_of_order, 'order_date_failed', $gr_time->format('Y-m-d'));
     1101                                        update_post_meta($id_of_order, 'order_datetime_failed', $gr_time->format('Y-m-d H:i:s'));
    10721102                                    }
    10731103                                    $response_data = '<div class="primer_popup popup_success"><div>';
     
    10791109                            $response_data .= is_object($response_from_array[0]->errors) ? json_encode($response_from_array[0]->errors) : $response_from_array[0]->errors;
    10801110                            $receipt_log_value_array[] = $response_data;
     1111                            //sleep(0.5);
    10811112                            continue;
    10821113                        }
     
    11041135
    11051136        }
    1106 
     1137    //usleep(500000);
    11071138    }
    11081139        if (!empty($log_ids)) {
     
    12701301                        data: data,
    12711302                        beforeSend: function () {
    1272                             var table = $('table.table-view-list.orders');
     1303                            var table = $('table.table-view-list');
    12731304                            table.css({ 'opacity': '0.5' });
    12741305                            // Get the z-index of the table-view-list and add 1 to make sure the spinner is on top
  • primer-mydata/trunk/includes/class-primer-cron.php

    r3008952 r3022529  
    155155            $password = $primer_license_data['password'] ? $primer_license_data['password'] : '';
    156156            $user_vat = $primer_license_data['companyVatNumber'];
     157            $callingFunction = "convert_order_to_invoice";
    157158            $send_api_invoice = true;
    158159            $url_slug = 'https://wp-mydataapi.primer.gr';
     
    211212                        update_option('primer_mydata', $mydata_options);
    212213                        array_map( 'sanitize_text_field', $orders );
     214                        //$start_time = microtime(true);
    213215                        foreach ($orders as $order_id) {
    214216                                $order = new WC_Order($order_id);
     
    271273                                    $receipt_log_value='';
    272274                                    $total='';
    273                                     $callingFunction = "convert_order_to_invoice";
    274                                     //EDW KALW TIN METHODO
    275275                                    $create_json_instance = new Create_json();
    276276                                    $Vat_exemption_categories = $create_json_instance->getVatExemptionCategories();
     
    300300                                    $response_message = wp_remote_retrieve_body($response);
    301301                                    $response_code = wp_remote_retrieve_response_code($response);
     302                                    $is_timeout = false;
    302303                                    $response_to_array = null;
    303304                                    if ( is_wp_error( $response ) ) {
     
    309310                                        $check_string_timeout = strpos($message_timeout,$string_timeout);
    310311                                        if ($check_string_timeout) {
     312                                            $is_timeout = true;
    311313                                            $first_time = get_post_meta($id_of_order, 'order_date_failed_timeout',true);
    312314                                            if($first_time == null){
     
    320322                                    $time_for_call_timeout_48 = get_post_meta($id_of_order, 'order_datetime_failed', true);
    321323                                    $time_for_call_timeout_1 = '';
    322                                     if ($time_for_call_timeout_48 && ($response_code == 502 || $response_code == 512)) {
     324                                    if ($time_for_call_timeout_48 && ($response_code > 500 || $is_timeout)) {
    323325                                        $time_for_call_timeout_1 = date('Y-m-d H:i:s', strtotime($time_for_call_timeout_48 . ' + 2 days'));
    324326                                        if ($time_for_call_timeout_1 > $gr_time) {
     
    363365                                                                                                $total, $auth, $invoice_term, $insert_taxonomy,$order, $user_data, $user_id, $order_total_price, $currency_symbol,
    364366                                                                                                $order_country, $mydata_options, $series, $total_vat_number, $receipt_log_value, $receipt_log_value_array, $user_order_email,
    365                                                                                                 $response_data, $receipt_log_id, $url_slug, $callingFunction,$generated_uid);
     367                                                                                                $response_data, $receipt_log_id, $url_slug, $callingFunction,$generated_uid, null,null);
    366368
    367369                                        if ( $status == "break" ) {
    368                                             break;
     370                                            continue;
    369371                                        }
    370372                                        else {
    371                                             echo "<br>";
     373                                            //echo "<br>";
    372374                                            update_option('primer_mydata', $mydata_options);
    373375                                        }
     
    389391                                            continue;
    390392                                        }
    391                                         if (!empty($response_to_array) || ($response_code == 512 || $code_position !== false)) {
     393                                        if (!empty($response_to_array) || ($response_code > 500 || $is_timeout)) {
    392394                                            $response_from_array = $response_to_array->response;
    393                                             if (!empty($response_from_array) || ($response_code == 512 || $code_position !== false)) {
    394                                                 if (($response_from_array[0]->statusCode == 'Success') || ($response_code == 512 || $code_position !== false)) {
     395                                            if (!empty($response_from_array) || ($response_code > 500 || $is_timeout)) {
     396                                                if (($response_from_array[0]->statusCode == 'Success') || ($response_code > 500 || $is_timeout)) {
    395397
    396398                                                    $invoice_uid = $response_from_array[0]->invoiceUid;
     
    406408                                                    wp_set_object_terms($post_id, $invoice_term, $insert_taxonomy, false);
    407409                                                    if ($post_id) {
    408                                                         foreach ($order->get_items() as $item_id => $item_data) {
    409                                                             $product_name = $item_data->get_name();
    410                                                             add_post_meta($post_id, 'receipt_product', $product_name);
    411                                                         }
    412410                                                        $issue_date = new DateTime("now", new DateTimeZone("Europe/Athens"));
    413411                                                        $invoice_date = $issue_date->format('d/m/Y');
     
    444442                                                        }
    445443                                                        update_post_meta($post_id, 'branchID', $currentBranchID);
    446 
    447                                                         $post_ids[] = $post_id;
     444                                                        if ( $serie == "EMPTY" ) {
     445                                                            $identifier = "0" . "_" . $number . "_" . $invoice_term . "_" . $currentBranchID;
     446                                                        } else {
     447                                                            $identifier = $serie . "_" . $number . "_" . $invoice_term . "_" . $currentBranchID;
     448                                                        }
     449                                                        update_post_meta($post_id, 'numbering_identifier', $identifier);
     450                                                        if ($response_code == 512) {
     451                                                            update_post_meta($post_id, 'connection_fail_message', 'ΑΔΥΝΑΜΙΑ ΔΙΑΣΥΝΔΕΣΗΣ ΠΑΡΟΧΟΥ - ΑΑΔΕ');
     452                                                        } elseif ($response_code > 500 || $is_timeout) {
     453                                                            update_post_meta($post_id, 'connection_fail_message', 'ΑΔΥΝΑΜΙΑ ΔΙΑΣΥΝΔΕΣΗΣ ΟΝΤΟΤΗΤΑΣ - ΠΑΡΟΧΟΥ');
     454                                                        } else {
     455                                                            update_post_meta($post_id, 'connection_fail_message', '');
     456                                                        }
    448457                                                    }
    449458
     
    678687                                                                $mydata_options['timeout_check_48'] = 0;
    679688                                                                update_post_meta($id_of_order, 'failed_48', 'no');
    680                                                     if (($code_position !== false || $response_code == 512) && $general_settings['primer_cron_transmission_failure'] == 'on') {
    681                                                         update_post_meta($id_of_order, 'transmission_failure_check', 1);
    682                                                         update_post_meta($id_of_order, 'order_date_failed', $gr_time);
    683                                                         update_post_meta($id_of_order, 'order_datetime_failed', date('Y-m-d H:i:s'));
     689                                                    if (($response_code > 500 || $is_timeout) && $general_settings['primer_cron_transmission_failure'] == 'on') {
     690                                                        if ($response_code == 512 ) {
     691                                                            $receipt_log_value .= __('Unable to connect Provider and AADE.', 'primer');
     692                                                            $receipt_log_value_array[] = __('Unable to connect Provider and AADE.', 'primer');
     693                                                            update_post_meta($id_of_order, 'transmission_failure_check', 3);
     694                                                            update_post_meta($receipt_log_id, 'receipt_log_error', $receipt_log_value_array);
     695                                                        } else {
     696                                                            $receipt_log_value .= __('Unable to connect Entity and provider..', 'primer');
     697                                                            $receipt_log_value_array[] = __('Unable to connect Entity and provider.', 'primer');
     698                                                            update_post_meta($id_of_order, 'transmission_failure_check', 1);
     699                                                            update_post_meta($receipt_log_id, 'receipt_log_error', $receipt_log_value_array);
     700                                                        }
     701                                                        $gr_timezone = new DateTimeZone("Europe/Athens");
     702                                                        $gr_time = new DateTime("now", $gr_timezone);
     703                                                        update_post_meta($id_of_order, 'order_date_failed', $gr_time->format('Y-m-d'));
     704                                                        update_post_meta($id_of_order, 'order_datetime_failed', $gr_time->format('Y-m-d H:i:s'));
    684705                                                    }
    685                                                             $response_data = '<div class="notice notice-success"><p>' . __("Orders converted", "primer") . '</p></div>';
     706                                                    $response_data = '<div class="notice notice-success"><p>' . __("Orders converted", "primer") . '</p></div>';
    686707                                                } else {
    687708                                                    update_option('primer_mydata', $mydata_options);
     
    744765        $send_to_admin = '';
    745766        $mydata_options = get_option('primer_mydata');
    746 
     767        $callingFunction = "convert_order_to_invoice_failed";
    747768            $classificationType = '';
    748769            $classificationCategory = '';
     
    823844                $check_api_type = get_post_meta($post_id_failed, 'send_to_api_type', true);
    824845                $already_issued = get_post_meta($post_id_failed, 'response_invoice_mark', true);
    825                 if ($transmission_failure == 1 && $check_api_type == 'production' && empty($already_issued)) {
     846                if ( ($transmission_failure == 1 || $transmission_failure == 3) && $check_api_type == 'production' && empty($already_issued)) {
    826847                    //checks if it flagged the conversion and the order for 48hours logic
    827848                    $time_for_call_timeout_48 = get_post_meta($id_of_order, 'order_datetime_failed', true);
     
    872893                    $series = '';
    873894                    $number = get_post_meta($post_id_failed, '_primer_receipt_number', true);
     895                    $connectionFailedMessage = get_post_meta($post_id_failed, 'connection_fail_message', true);
    874896                    $invoice_term='';
    875897                    $response_data='';
     
    877899                    $receipt_log_value='';
    878900                    $total='';
    879                     $callingFunction = "convert_order_to_invoice_failed";
    880                     //EDW KALW TIN METHODO
    881901                    $create_json_instance = new Create_json();
    882902                    $Vat_exemption_categories = $create_json_instance->getVatExemptionCategories();
     
    915935                            update_option('primer_mydata', $mydata_options);
    916936                        }
     937                        $generated_uid = strtoupper(sha1(iconv("UTF-8", "ISO-8859-7",strval($invoice_data['invoice'][0]['issuer']['vatNumber']).'-'.strval($invoice_data['invoice'][0]['invoiceHeader']['issueDate']).'-'.strval($invoice_data['invoice'][0]['issuer']['branch']).'-'.strval($invoice_data['invoice'][0]['invoiceHeader']['invoiceType']).'-'.strval($invoice_data['invoice'][0]['invoiceHeader']['series']).'-'.strval($invoice_data['invoice'][0]['invoiceHeader']['aa']))));
     938                        $string_r ='It has already been sent for another invoice';
     939                        $validate_response = strpos($response_message, $string_r);
     940                        if( $validate_response !== false ) {
     941                            //start checking
     942                            $create_status_instance = new Create_json();
     943                            $status = $create_status_instance -> get_invoice_status($api_type, $id_of_order, $gr_time, $serie, $number, $invoiceType, $order_invoice_type, $order_vatNumber, $user_vat,
     944                                $total, $auth, $invoice_term, $insert_taxonomy,$order, $user_data, $user_id, $order_total_price, $currency_symbol,
     945                                $order_country, $mydata_options, $series, $total_vat_number, $receipt_log_value, $receipt_log_value_array, $user_order_email,
     946                                $response_data, $receipt_log_id, $url_slug, $callingFunction,$generated_uid, $post_id_failed, $connectionFailedMessage);
     947
     948
     949
     950                            if ( $status == "break" ) {
     951                                continue;
     952                            }
     953                            else {
     954                                //echo "<br>";
     955                                update_option('primer_mydata', $mydata_options);
     956                            }
     957                            //end checking
     958                        }
     959
    917960                        if ($mydata_options['check_0_remaining'] == 1 && $api_type == 'production') {
    918961                            $receipt_log_value .= __('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');
     
    921964                            break;
    922965                        }
     966                        //An uparxei mark gia to invoice kai exei ftasei edw tote stamataei edw to cron logo oti einai $response_code 400. Sto invoice status sunexeizei giati $last_info einai 200. To $response edw einai "It has already been sent for another invoice "
    923967                        if ($response_code == 400 || $response_code == 422) {
    924968                            $response_data .= '<div class="notice notice-error"><p>' . $response_message . '</p></div>';
     
    933977                            continue;
    934978                        }
    935                         $generated_uid = strtoupper(sha1(iconv("UTF-8", "ISO-8859-7",strval($invoice_data['invoice'][0]['issuer']['vatNumber']).'-'.strval($invoice_data['invoice'][0]['invoiceHeader']['issueDate']).'-'.strval($invoice_data['invoice'][0]['issuer']['branch']).'-'.strval($invoice_data['invoice'][0]['invoiceHeader']['invoiceType']).'-'.strval($invoice_data['invoice'][0]['invoiceHeader']['series']).'-'.strval($invoice_data['invoice'][0]['invoiceHeader']['aa']))));
     979
    936980                        $response_from_array = $response_to_array->response;
    937981                        if (!empty($response_to_array)) {
     
    950994                                    wp_set_object_terms($post_id, $invoice_term, $insert_taxonomy, false);
    951995                                    if ($post_id) {
    952 
    953                                         foreach ($order->get_items() as $item_id => $item_data) {
    954                                             $product_name = $item_data->get_name();
    955                                             add_post_meta($post_id, 'receipt_product', $product_name);
    956                                         }
    957996                                        $order_date_co = get_post_meta($id_of_order, 'order_date_failed', true);
    958997                                        $order_datetime_co = get_post_meta($id_of_order, 'order_datetime_failed', true);
     
    9831022                                        }
    9841023                                        update_post_meta($post_id,'branchID', $branchID);
    985 
    986                                         $post_ids[] = $post_id;
     1024                                        update_post_meta($post_id,'connection_fail_message',$connectionFailedMessage);
    9871025                                    }
    9881026                                    primer_generate_qr($post_id, $generated_uid);
     
    12681306            $password = $primer_license_data['password'] ? $primer_license_data['password'] : '';
    12691307            $user_vat = $primer_license_data['companyVatNumber'];
     1308            $callingFunction = "primer_cancel_invoice_cron";
    12701309            $url_slug = 'https://wp-mydataapi.primer.gr';
    12711310            $send_api_invoice = true;
     
    12991338                    $receipt_query->the_post();
    13001339                    $receipt_status_text = '';
    1301                     $transmission_failure_receipt = get_post_meta(get_the_ID(),'transmission_failure_check',true);
     1340                        $transmission_failure_receipt = get_post_meta(get_the_ID(),'transmission_failure_check',true);
    13021341                    if(!empty($transmission_failure_receipt)){
    13031342                    $receipt_ids[] = get_the_ID();
     
    13191358                    $get_mark_from_receipt = get_post_meta($order_id, 'order_id_from_receipt', true);
    13201359                    $post_id_failed = get_post_meta($order_id, 'order_id_from_receipt', true);
     1360                    $receipt_id_failed = get_post_meta ($order_id, 'order_id_from_credit_receipt', true);
     1361                    $connectionFailedMessage = get_post_meta($receipt_id_failed, 'connection_fail_message', true);
    13211362                    $branchID = get_post_meta($post_id_failed, 'branchID', true);
    13221363                    if( $branchID == null ) {
     
    13791420                    $vat_number = get_post_meta($id_of_order, '_billing_vat', true);
    13801421                    $insert_taxonomy = 'receipt_status';
    1381                     //EDW KALW TIN METHODO
    1382                     $callingFunction = "primer_cancel_invoice_cron";
    13831422                    $create_json_instance = new Create_json();
    13841423                    $Vat_exemption_categories = $create_json_instance->getVatExemptionCategories();
     
    13891428                        $receipt_log_id,$invoice_term,$gr_time, $invoice_time, $order_total_price,$order_invoice_type,
    13901429                        $order_vatNumber,$user_order_email,$order_country,$user_full_name,$primer_smtp,$log_ids, $callingFunction,$invoiceType,
    1391                         $send_api_invoice, $classificationType, true, $get_mark_from_receipt);
     1430                        $send_api_invoice, $classificationType, true, $get_mark_from_receipt, $connectionFailedMessage);
    13921431
    13931432
     
    14081447                        $response_code = wp_remote_retrieve_response_code($response);
    14091448                        $response_to_array = null;
    1410 
    14111449                        if (is_wp_error($response)) {
    14121450                            $response_data .= '<div class="notice notice-error"><p>' . $response->get_error_message() . '</p></div>';
     
    14341472                        update_option('primer_mydata', $mydata_options);
    14351473                    }
     1474                        $generated_uid = strtoupper(sha1(iconv("UTF-8", "ISO-8859-7",strval($invoice_data['invoice'][0]['issuer']['vatNumber']).'-'.strval($invoice_data['invoice'][0]['invoiceHeader']['issueDate']).'-'.strval($invoice_data['invoice'][0]['issuer']['branch']).'-'.strval($invoice_data['invoice'][0]['invoiceHeader']['invoiceType']).'-'.strval($invoice_data['invoice'][0]['invoiceHeader']['series']).'-'.strval($invoice_data['invoice'][0]['invoiceHeader']['aa']))));
     1475                        $string_r ='It has already been sent for another invoice';
     1476                        $validate_response = strpos($response_message, $string_r);
     1477                        if( $validate_response !== false ) {
     1478                            //start checking
     1479                            $create_status_instance = new Create_json();
     1480                            $status = $create_status_instance -> get_invoice_status($api_type, $id_of_order, $gr_time, $serie, $number, $invoiceType, $order_invoice_type, $order_vatNumber, $user_vat,
     1481                                $total, $auth, $invoice_term, $insert_taxonomy,$order, $user_data, $user_id, $order_total_price, $currency_symbol,
     1482                                $order_country, $mydata_options, $series, $total_vat_number, $receipt_log_value, $receipt_log_value_array, $user_order_email,
     1483                                $response_data, $receipt_log_id, $url_slug, $callingFunction,$generated_uid, $post_id_failed,$connectionFailedMessage);
     1484
     1485                            if ( $status == "break" ) {
     1486                                continue;
     1487                            }
     1488                            else {
     1489                                //echo "<br>";
     1490                                update_option('primer_mydata', $mydata_options);
     1491                            }
     1492                            //end checking
     1493                        }
    14361494                    if ($mydata_options['check_0_remaining'] == 1 && $api_type == 'production') {
    14371495                        $receipt_log_value .= __('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');
     
    14451503                        $receipt_log_value_array[] = $response_to_array;
    14461504                        update_post_meta($receipt_log_id, 'receipt_log_error', $receipt_log_value_array);
    1447                         break;
     1505                        continue;
    14481506                    }
    14491507                    if ($response_code == 403) {
     
    14511509                        $receipt_log_value_array[] = $response_message;
    14521510                        update_post_meta($receipt_log_id, 'receipt_log_error', $receipt_log_value_array);
    1453                         break;
    1454                     }
    1455                     $generated_uid = strtoupper(sha1(iconv("UTF-8", "ISO-8859-7",strval($invoice_data['invoice'][0]['issuer']['vatNumber']).'-'.strval($invoice_data['invoice'][0]['invoiceHeader']['issueDate']).'-'.strval($invoice_data['invoice'][0]['issuer']['branch']).'-'.strval($invoice_data['invoice'][0]['invoiceHeader']['invoiceType']).'-'.strval($invoice_data['invoice'][0]['invoiceHeader']['series']).'-'.strval($invoice_data['invoice'][0]['invoiceHeader']['aa']))));
     1511                        continue;
     1512                    }
     1513
     1514                    //$generated_uid = strtoupper(sha1(iconv("UTF-8", "ISO-8859-7",strval($invoice_data['invoice'][0]['issuer']['vatNumber']).'-'.strval($invoice_data['invoice'][0]['invoiceHeader']['issueDate']).'-'.strval($invoice_data['invoice'][0]['issuer']['branch']).'-'.strval($invoice_data['invoice'][0]['invoiceHeader']['invoiceType']).'-'.strval($invoice_data['invoice'][0]['invoiceHeader']['series']).'-'.strval($invoice_data['invoice'][0]['invoiceHeader']['aa']))));
    14561515                    if (!empty($response_to_array)) {
    14571516                        $response_from_array = $response_to_array->response;
     
    14701529                                wp_set_object_terms($post_id, $invoice_term, $insert_taxonomy, false);
    14711530                                if ($post_id) {
    1472                                     foreach ($order->get_items() as $item_id => $item_data) {
    1473                                         $product_name = $item_data->get_name();
    1474                                         add_post_meta($post_id, 'receipt_product', $product_name);
    1475                                     }
    14761531                                    $order_date_co = get_post_meta($id_of_order, 'order_date_failed', true);
    14771532                                    $order_datetime_co = get_post_meta($id_of_order, 'order_datetime_failed', true);
     
    15051560                                    }
    15061561                                    update_post_meta($post_id,'branchID', $branchID);
    1507                                     $post_ids[] = $post_id;
     1562                                    update_post_meta($post_id,'connection_fail_message',$connectionFailedMessage);
    15081563                                }
    15091564                                primer_generate_qr($post_id, $generated_uid);
  • primer-mydata/trunk/includes/template-tags/primer-tags-display-modules.php

    r3008952 r3022529  
    4747    $branchID = get_post_meta($receipt_id, 'branchID', true);
    4848    if ( $branchID == null ) {
    49         $branchID = 0;
     49        $branchID = "0";
    5050    }
    5151    $primer_license_data = get_option('primer_licenses');
    52     if( isset($branchID) && $branchID != 0) {
     52    if( isset($branchID) && $branchID != "0") {
    5353        $subsidiaries = $primer_license_data['subsidiaries'];
    5454        $currentBranchId = $branchID;
     
    193193                $issuer_container .= '<p><span class="issuer_address skin">ΑΦΜ: 800434990</span></p>';
    194194            }
    195             if ( $branchID != null && $branchID !=0) {
     195            if ( $branchID != null && $branchID != "0") {
    196196                if ($order_customer_country == 'GR') {
    197197                    $issuer_container .= '<p><span class="issuer_address skin">' . __('Υποκατάστημα: ', 'primer') . '' . $subsidiaryStreet. " " . $subsidiaryNumber . '</span></p>';
     
    13301330    $receipt_order_date = get_the_date('d/m/Y', $receipt_id);
    13311331    $receipt_order_time = get_the_date('H:i', $receipt_id);
    1332     if($find_invoice_in_slug == 'credit_receipt' || $find_invoice_in_slug == 'credit_invoice'){
     1332
     1333    if($find_invoice_in_slug == 'credit-receipt' || $find_invoice_in_slug == 'credit-invoice'){
    13331334        $receipt_date = get_post_meta($receipt_id, 'credit_success_mydata_date', true);
    13341335        $receipt_time = get_post_meta($receipt_id, 'credit_success_mydata_time', true);
     
    13381339    }
    13391340
    1340     if (empty($receipt_date)) {
     1341    if (empty($receipt_date)) {
    13411342        $receipt_date = $receipt_order_date;
    13421343    }
     
    17681769    return get_post_meta($order_id,'transmission_failure_check',true);
    17691770}
     1771function get_failure_message(){
     1772    $message = "";
     1773
     1774    $receipt_id = get_the_ID();
     1775    $message = get_post_meta($receipt_id, 'connection_fail_message', true);
     1776
     1777    echo  esc_html($message);
     1778
     1779}
     1780
    17701781function get_credit_receipt_failed(){
    17711782    $receipt_id = get_the_ID();
  • primer-mydata/trunk/languages/primer-el.po

    r3008952 r3022529  
    22msgstr ""
    33"Project-Id-Version: Primer receipts\n"
    4 "POT-Creation-Date: 2023-12-12 17:21+0200\n"
    5 "PO-Revision-Date: 2023-12-12 17:23+0200\n"
     4"POT-Creation-Date: 2023-12-21 13:48+0200\n"
     5"PO-Revision-Date: 2023-12-21 13:52+0200\n"
    66"Last-Translator: \n"
    77"Language-Team: \n"
     
    155155#: admin/includes/primer-admin-options.php:1875
    156156#: admin/includes/primer-admin-receipt-table.php:31
    157 #: includes/class-primer-cron.php:1815
     157#: includes/class-primer-cron.php:1840
    158158msgid "Invoice Type"
    159159msgstr "Τύπος τιμολογίου"
     
    266266msgstr "ΔΟΥ"
    267267
    268 #: admin/class-primer-admin.php:1441
     268#: admin/class-primer-admin.php:1439
    269269msgid "Fail - "
    270270msgstr "Αποτυχία - "
    271271
    272 #: admin/class-primer-admin.php:1441
     272#: admin/class-primer-admin.php:1439
    273273msgid ""
    274274"Time is not correct with Greek time zone. AADE will not accept your invoices."
     
    277277"τα παραστατικά σας."
    278278
    279 #: admin/class-primer-admin.php:1444
    280 #: admin/includes/primer-admin-options.php:4137
    281 #: admin/includes/primer-admin-options.php:4149
    282 #: admin/includes/primer-admin-options.php:4158
     279#: admin/class-primer-admin.php:1442
     280#: admin/includes/primer-admin-options.php:4145
     281#: admin/includes/primer-admin-options.php:4157
     282#: admin/includes/primer-admin-options.php:4166
    283283msgid "Pass"
    284284msgstr "Επιτυχία"
     
    293293msgstr "Product Kind is not configured.PLease try re-activating your product."
    294294
    295 #: admin/includes/my_data_json.php:464 admin/includes/my_data_json.php:465
    296 #: admin/includes/my_data_json.php:466
     295#: admin/includes/my_data_json.php:463 admin/includes/my_data_json.php:464
     296#: admin/includes/my_data_json.php:465
    297297msgid "Only euro is accepted."
    298298msgstr "Μόνο το ευρώ γίνεται αποδεκτό."
    299299
    300 #: admin/includes/my_data_json.php:513 admin/includes/my_data_json.php:514
    301 #: admin/includes/my_data_json.php:515
     300#: admin/includes/my_data_json.php:531 admin/includes/my_data_json.php:532
     301#: admin/includes/my_data_json.php:533
    302302msgid ""
    303303"AADE does not accept zero value orders please enable \"Accept zero total "
     
    308308"θέλετε να εκδώσετε αυτήν την παραγγελία."
    309309
    310 #: admin/includes/my_data_json.php:610
     310#: admin/includes/my_data_json.php:628
    311311msgid "Standard rate"
    312312msgstr "Βασικός Συντελεστής"
    313313
    314 #: admin/includes/my_data_json.php:623 admin/includes/my_data_json.php:624
    315 #: admin/includes/my_data_json.php:626
     314#: admin/includes/my_data_json.php:641 admin/includes/my_data_json.php:642
     315#: admin/includes/my_data_json.php:644
    316316msgid ""
    317317"The order has 0% VAT included.The edition that you currently have does not "
     
    323323"μετατροπή ή μεταβείτε στο www.primer.gr/shop και επιλέξτε άλλη έκδοση."
    324324
    325 #: admin/includes/my_data_json.php:636 admin/includes/my_data_json.php:637
    326 #: admin/includes/my_data_json.php:640
     325#: admin/includes/my_data_json.php:654 admin/includes/my_data_json.php:655
     326#: admin/includes/my_data_json.php:658
    327327msgid ""
    328328"The order has 0% VAT included.Please go to MyData settings and configure a "
     
    334334"φόρου στην οποία συνδέεται το προϊόν."
    335335
    336 #: admin/includes/my_data_json.php:937 admin/includes/my_data_json.php:938
    337 #: admin/includes/my_data_json.php:940
     336#: admin/includes/my_data_json.php:955 admin/includes/my_data_json.php:956
     337#: admin/includes/my_data_json.php:958
    338338msgid ""
    339339"order could not be converted because product value sum is not equal with "
     
    348348"επιλέξετε μια άλλη έκδοση πρόσθετου MyData."
    349349
    350 #: admin/includes/my_data_json.php:1368 admin/includes/my_data_json.php:1370
     350#: admin/includes/my_data_json.php:1387 admin/includes/my_data_json.php:1389
    351351#: admin/includes/primer-admin-options.php:3511
    352352#: admin/includes/primer-admin-options.php:3513
    353 #: admin/includes/primer-admin-table.php:637
    354 #: admin/includes/primer-admin-table.php:639
    355 #: admin/includes/primer-admin-table.php:640 includes/class-primer-cron.php:226
    356 #: includes/class-primer-cron.php:228 includes/class-primer-cron.php:229
    357 #: includes/class-primer-cron.php:854 includes/class-primer-cron.php:856
    358 #: includes/class-primer-cron.php:1338 includes/class-primer-cron.php:1340
     353#: admin/includes/primer-admin-table.php:638
     354#: admin/includes/primer-admin-table.php:640
     355#: admin/includes/primer-admin-table.php:641 includes/class-primer-cron.php:227
     356#: includes/class-primer-cron.php:229 includes/class-primer-cron.php:230
     357#: includes/class-primer-cron.php:877 includes/class-primer-cron.php:879
     358#: includes/class-primer-cron.php:1362 includes/class-primer-cron.php:1364
    359359msgid ""
    360360"Php option allow_url_fopen is disabled! Please communicate with your hosting "
     
    364364"πάροχο hosting για να το ενεργοποιήσετε."
    365365
    366 #: admin/includes/my_data_json.php:1590
     366#: admin/includes/my_data_json.php:1609
    367367#: admin/includes/primer-admin-options.php:3368
    368 #: admin/includes/primer-admin-options.php:3873
    369 #: admin/includes/primer-admin-options.php:5302
    370 #: admin/includes/primer-admin-table.php:980 includes/class-primer-cron.php:580
    371 #: includes/class-primer-cron.php:1114 includes/class-primer-cron.php:1646
    372 #: includes/class-primer-cron.php:2858
     368#: admin/includes/primer-admin-options.php:3879
     369#: admin/includes/primer-admin-options.php:5309
     370#: admin/includes/primer-admin-table.php:989 includes/class-primer-cron.php:587
     371#: includes/class-primer-cron.php:1138 includes/class-primer-cron.php:1671
     372#: includes/class-primer-cron.php:2883
    373373msgid "Test email subject"
    374374msgstr "Δοκιμαστικό θέμα email"
    375375
    376 #: admin/includes/my_data_json.php:1600
     376#: admin/includes/my_data_json.php:1619
    377377#: admin/includes/primer-admin-options.php:3386
    378 #: admin/includes/primer-admin-options.php:3890
    379 #: admin/includes/primer-admin-options.php:5308
    380 #: admin/includes/primer-admin-table.php:997 includes/class-primer-cron.php:599
    381 #: includes/class-primer-cron.php:1132 includes/class-primer-cron.php:1665
     378#: admin/includes/primer-admin-options.php:3896
     379#: admin/includes/primer-admin-options.php:5315
     380#: admin/includes/primer-admin-table.php:1006
     381#: includes/class-primer-cron.php:606 includes/class-primer-cron.php:1156
     382#: includes/class-primer-cron.php:1690
    382383msgid "Test email message"
    383384msgstr "Δοκιμαστικό μήνυμα email"
    384385
    385 #: admin/includes/my_data_json.php:1648 admin/includes/my_data_json.php:1665
    386 #: admin/includes/primer-admin-options.php:3931
    387 #: admin/includes/primer-admin-options.php:3934
    388 #: admin/includes/primer-admin-options.php:3951
    389 #: admin/includes/primer-admin-table.php:1037
    390 #: admin/includes/primer-admin-table.php:1040
    391 #: admin/includes/primer-admin-table.php:1058
    392 #: includes/class-primer-cron.php:646 includes/class-primer-cron.php:670
    393 #: includes/class-primer-cron.php:1169 includes/class-primer-cron.php:1186
    394 #: includes/class-primer-cron.php:1704 includes/class-primer-cron.php:1707
    395 #: includes/class-primer-cron.php:1723
     386#: admin/includes/my_data_json.php:1667 admin/includes/my_data_json.php:1684
     387#: admin/includes/primer-admin-options.php:3937
     388#: admin/includes/primer-admin-options.php:3940
     389#: admin/includes/primer-admin-options.php:3957
     390#: admin/includes/primer-admin-table.php:1046
     391#: admin/includes/primer-admin-table.php:1049
     392#: admin/includes/primer-admin-table.php:1067
     393#: includes/class-primer-cron.php:653 includes/class-primer-cron.php:677
     394#: includes/class-primer-cron.php:1193 includes/class-primer-cron.php:1210
     395#: includes/class-primer-cron.php:1729 includes/class-primer-cron.php:1732
     396#: includes/class-primer-cron.php:1748
    396397msgid "Configure your SMTP credentials"
    397398msgstr "Διαμορφώστε τα διαπιστευτήρια SMTP"
    398399
    399 #: admin/includes/my_data_json.php:1667
    400 #: admin/includes/primer-admin-options.php:3953
    401 #: admin/includes/primer-admin-table.php:1060
    402 #: includes/class-primer-cron.php:672 includes/class-primer-cron.php:1188
    403 #: includes/class-primer-cron.php:1725
     400#: admin/includes/my_data_json.php:1686
     401#: admin/includes/primer-admin-options.php:3959
     402#: admin/includes/primer-admin-table.php:1069
     403#: includes/class-primer-cron.php:679 includes/class-primer-cron.php:1212
     404#: includes/class-primer-cron.php:1750
    404405msgid "Send email automatically on order conversion disabled"
    405406msgstr "Αποστολή email αυτόματα σε κάθε μετατροπή  παραγγελίας"
    406407
    407 #: admin/includes/my_data_json.php:1676
    408 #: admin/includes/primer-admin-options.php:3971
    409 #: admin/includes/primer-admin-table.php:1074
    410 #: includes/class-primer-cron.php:685 includes/class-primer-cron.php:1197
    411 #: includes/class-primer-cron.php:1731
     408#: admin/includes/my_data_json.php:1695
     409#: admin/includes/primer-admin-options.php:3989
     410#: admin/includes/primer-admin-table.php:1095
     411#: includes/class-primer-cron.php:704 includes/class-primer-cron.php:1221
     412#: includes/class-primer-cron.php:1756
    412413msgid "Orders converted"
    413414msgstr "Επιτυχής έκδοση παραστατικού"
    414415
    415 #: admin/includes/my_data_json.php:1682 admin/includes/my_data_json.php:1701
     416#: admin/includes/my_data_json.php:1701 admin/includes/my_data_json.php:1720
    416417#, fuzzy
    417418#| msgid "Something went wrong.The order has already html"
     
    11591160
    11601161#: admin/includes/primer-admin-options.php:1725
    1161 #: includes/class-primer-cron.php:1800
     1162#: includes/class-primer-cron.php:1825
    11621163msgid "Client Company"
    11631164msgstr "Εταιρεία Πελάτη"
    11641165
    11651166#: admin/includes/primer-admin-options.php:1731
    1166 #: includes/class-primer-cron.php:1799
     1167#: includes/class-primer-cron.php:1824
    11671168msgid "Client VAT"
    11681169msgstr "ΑΦΜ Πελάτη"
    11691170
    11701171#: admin/includes/primer-admin-options.php:1737
    1171 #: includes/class-primer-cron.php:1801
     1172#: includes/class-primer-cron.php:1826
    11721173msgid "Client Activity"
    11731174msgstr "Δραστηριότητα"
    11741175
    11751176#: admin/includes/primer-admin-options.php:1743
    1176 #: includes/class-primer-cron.php:1802
     1177#: includes/class-primer-cron.php:1827
    11771178msgid "Client Address"
    11781179msgstr "Διεύθυνση Πελάτη"
    11791180
    11801181#: admin/includes/primer-admin-options.php:1761
    1181 #: includes/class-primer-cron.php:1803
     1182#: includes/class-primer-cron.php:1828
    11821183msgid "Client Phone number"
    11831184msgstr "Αριθμός κινητού τηλεφώνου"
    11841185
    11851186#: admin/includes/primer-admin-options.php:1767
    1186 #: includes/class-primer-cron.php:1804
     1187#: includes/class-primer-cron.php:1829
    11871188msgid "Client Email"
    11881189msgstr "Email Πελάτη"
    11891190
    11901191#: admin/includes/primer-admin-options.php:1773
    1191 #: includes/class-primer-cron.php:1805
     1192#: includes/class-primer-cron.php:1830
    11921193msgid "Client Webpage"
    11931194msgstr "Ιστοσελίδα"
    11941195
    11951196#: admin/includes/primer-admin-options.php:1779
    1196 #: includes/class-primer-cron.php:1806
     1197#: includes/class-primer-cron.php:1831
    11971198msgid "Product name"
    11981199msgstr "Προϊόντα"
    11991200
    12001201#: admin/includes/primer-admin-options.php:1785
    1201 #: includes/class-primer-cron.php:1807
     1202#: includes/class-primer-cron.php:1832
    12021203msgid "Product Quantity"
    12031204msgstr "Ποσότητα Προϊόντος"
    12041205
    12051206#: admin/includes/primer-admin-options.php:1803
    1206 #: includes/class-primer-cron.php:1808
     1207#: includes/class-primer-cron.php:1833
    12071208msgid "VAT Amount per product"
    12081209msgstr "Αξία Φ.Π.Α. προϊόντος"
    12091210
    12101211#: admin/includes/primer-admin-options.php:1809
    1211 #: includes/class-primer-cron.php:1809
     1212#: includes/class-primer-cron.php:1834
    12121213msgid "Total Amount per product"
    12131214msgstr "Τελική Αξία προϊόντος"
    12141215
    12151216#: admin/includes/primer-admin-options.php:1815
    1216 #: includes/class-primer-cron.php:1810
     1217#: includes/class-primer-cron.php:1835
    12171218msgid "Net amount (without VAT) per product"
    12181219msgstr "Καθαρή Αξία προϊόντος"
    12191220
    12201221#: admin/includes/primer-admin-options.php:1821
    1221 #: includes/class-primer-cron.php:1811
     1222#: includes/class-primer-cron.php:1836
    12221223msgid "Total Amount"
    12231224msgstr "Τελική Αξία παραγγελίας"
    12241225
    12251226#: admin/includes/primer-admin-options.php:1839
    1226 #: includes/class-primer-cron.php:1812
     1227#: includes/class-primer-cron.php:1837
    12271228msgid "Total (Sum) VAT Amount"
    12281229msgstr "Αξία Φ.Π.Α. παραγγελίας"
     
    12331234
    12341235#: admin/includes/primer-admin-options.php:1851
    1235 #: includes/class-primer-cron.php:1813
     1236#: includes/class-primer-cron.php:1838
    12361237msgid "Total (Sum) Net Amount"
    12371238msgstr "Καθαρή Αξία παραγγελίας"
    12381239
    12391240#: admin/includes/primer-admin-options.php:1857
    1240 #: includes/class-primer-cron.php:1796
     1241#: includes/class-primer-cron.php:1821
    12411242msgid "Invoice Number"
    12421243msgstr "Αρίθμηση Παραστατικού"
     
    12491250#: admin/includes/primer-admin-receipt-log-automation-table.php:32
    12501251#: admin/includes/primer-admin-receipt-log-table.php:32
    1251 #: includes/class-primer-cron.php:1814 includes/class-primer-cron.php:2723
     1252#: includes/class-primer-cron.php:1839 includes/class-primer-cron.php:2748
    12521253msgid "Invoice Date"
    12531254msgstr "Ημερομηνία τιμολογίου"
     
    13001301
    13011302#: admin/includes/primer-admin-options.php:1957
    1302 #: admin/includes/primer-admin-options.php:5479
     1303#: admin/includes/primer-admin-options.php:5486
    13031304msgid "Select"
    13041305msgstr "Select"
     
    15611562msgstr "Το μήνυμα στάλθηκε με επιτυχία!"
    15621563
     1564#: admin/includes/primer-admin-options.php:3620
    15631565#: admin/includes/primer-admin-options.php:3621
    1564 #: admin/includes/primer-admin-options.php:3622
    1565 #: admin/includes/primer-admin-options.php:3624
    1566 #: admin/includes/primer-admin-table.php:737
    1567 #: admin/includes/primer-admin-table.php:738
    1568 #: admin/includes/primer-admin-table.php:740 includes/class-primer-cron.php:335
    1569 #: includes/class-primer-cron.php:336 includes/class-primer-cron.php:337
    1570 #: includes/class-primer-cron.php:1424 includes/class-primer-cron.php:1425
    1571 #: includes/class-primer-cron.php:1426
     1566#: admin/includes/primer-admin-options.php:3623
     1567#: admin/includes/primer-admin-table.php:739
     1568#: admin/includes/primer-admin-table.php:740
     1569#: admin/includes/primer-admin-table.php:742 includes/class-primer-cron.php:336
     1570#: includes/class-primer-cron.php:337 includes/class-primer-cron.php:338
     1571#: includes/class-primer-cron.php:1449 includes/class-primer-cron.php:1450
     1572#: includes/class-primer-cron.php:1451
    15721573msgid ""
    15731574"Could not connect to AADE. Please check your general settings if you want to "
     
    15791580"την Primer Software εάν το πρόβλημα παραμένει."
    15801581
     1582#: admin/includes/primer-admin-options.php:3633
    15811583#: admin/includes/primer-admin-options.php:3634
    1582 #: admin/includes/primer-admin-options.php:3635
    1583 #: admin/includes/primer-admin-options.php:3637
    1584 #: admin/includes/primer-admin-table.php:750
    1585 #: admin/includes/primer-admin-table.php:751
    1586 #: admin/includes/primer-admin-table.php:753 includes/class-primer-cron.php:348
    1587 #: includes/class-primer-cron.php:349 includes/class-primer-cron.php:350
    1588 #: includes/class-primer-cron.php:918 includes/class-primer-cron.php:919
    1589 #: includes/class-primer-cron.php:920 includes/class-primer-cron.php:1437
    1590 #: includes/class-primer-cron.php:1438 includes/class-primer-cron.php:1439
     1584#: admin/includes/primer-admin-options.php:3636
     1585#: admin/includes/primer-admin-table.php:752
     1586#: admin/includes/primer-admin-table.php:753
     1587#: admin/includes/primer-admin-table.php:755 includes/class-primer-cron.php:349
     1588#: includes/class-primer-cron.php:350 includes/class-primer-cron.php:351
     1589#: includes/class-primer-cron.php:941 includes/class-primer-cron.php:942
     1590#: includes/class-primer-cron.php:943 includes/class-primer-cron.php:1462
     1591#: includes/class-primer-cron.php:1463 includes/class-primer-cron.php:1464
    15911592msgid ""
    15921593"You have no other monthly invoices left.Please go to MyData settings and "
     
    15981599"μήνας έχει παρέλθει και ότι έχετε υπόλοιπα τιμολόγια."
    15991600
    1600 #: admin/includes/primer-admin-options.php:3982
    1601 #: admin/includes/primer-admin-options.php:3983
    1602 #: admin/includes/primer-admin-options.php:3990
    1603 #: admin/includes/primer-admin-options.php:3991
    1604 #: admin/includes/primer-admin-options.php:3993
     1601#: admin/includes/primer-admin-options.php:3971
     1602#: admin/includes/primer-admin-options.php:3972
     1603#: admin/includes/primer-admin-table.php:1079
     1604#: admin/includes/primer-admin-table.php:1080
     1605#: includes/class-primer-cron.php:689 includes/class-primer-cron.php:690
     1606msgid "Unable to connect Entity and provider."
     1607msgstr "Απώλεια Διασύνδεσης Παρόχου - ΑΑΔΕ."
     1608
     1609#: admin/includes/primer-admin-options.php:3976
     1610#: admin/includes/primer-admin-options.php:3977
     1611#: admin/includes/primer-admin-table.php:1084
    16051612#: admin/includes/primer-admin-table.php:1085
    1606 #: admin/includes/primer-admin-table.php:1086
    1607 #: admin/includes/primer-admin-table.php:1093
    1608 #: admin/includes/primer-admin-table.php:1094
    1609 #: admin/includes/primer-admin-table.php:1096
    1610 #: includes/class-primer-cron.php:694 includes/class-primer-cron.php:698
    1611 #: includes/class-primer-cron.php:1209 includes/class-primer-cron.php:1210
    1612 #: includes/class-primer-cron.php:1212 includes/class-primer-cron.php:1743
    1613 #: includes/class-primer-cron.php:1744 includes/class-primer-cron.php:1750
    1614 #: includes/class-primer-cron.php:1751 includes/class-primer-cron.php:1753
     1613#: includes/class-primer-cron.php:694 includes/class-primer-cron.php:695
     1614msgid "Unable to connect Provider and AADE."
     1615msgstr "Απώλεια Διασύνδεσης Οντότητας - Παρόχου."
     1616
     1617#: admin/includes/primer-admin-options.php:4000
     1618#: admin/includes/primer-admin-options.php:4001
     1619#: admin/includes/primer-admin-options.php:4008
     1620#: admin/includes/primer-admin-options.php:4009
     1621#: admin/includes/primer-admin-options.php:4011
     1622#: admin/includes/primer-admin-table.php:1107
     1623#: admin/includes/primer-admin-table.php:1108
     1624#: admin/includes/primer-admin-table.php:1115
     1625#: admin/includes/primer-admin-table.php:1116
     1626#: admin/includes/primer-admin-table.php:1118
     1627#: includes/class-primer-cron.php:713 includes/class-primer-cron.php:717
     1628#: includes/class-primer-cron.php:1233 includes/class-primer-cron.php:1234
     1629#: includes/class-primer-cron.php:1236 includes/class-primer-cron.php:1768
     1630#: includes/class-primer-cron.php:1769 includes/class-primer-cron.php:1775
     1631#: includes/class-primer-cron.php:1776 includes/class-primer-cron.php:1778
    16151632msgid "API not sent."
    16161633msgstr "API δεν έχει σταλεί."
    16171634
    1618 #: admin/includes/primer-admin-options.php:3985
    1619 #: admin/includes/primer-admin-table.php:1088
    1620 #: includes/class-primer-cron.php:1746
     1635#: admin/includes/primer-admin-options.php:4003
     1636#: admin/includes/primer-admin-table.php:1110
     1637#: includes/class-primer-cron.php:1771
    16211638msgid "Something wrong"
    16221639msgstr "Κάποιο λάθος υπάρχει"
    16231640
    1624 #: admin/includes/primer-admin-options.php:4139
     1641#: admin/includes/primer-admin-options.php:4147
    16251642msgid "FAIL - correct folder permissions are: 755 for directories"
    16261643msgstr ""
    16271644"Αποτυχία - διορθώστε τα δικαιώματα των φακέλων σας είναι: 755 για καταλόγους"
    16281645
    1629 #: admin/includes/primer-admin-options.php:4151
     1646#: admin/includes/primer-admin-options.php:4159
    16301647msgid "FAIL - correct files permissions are: 644 for files"
    16311648msgstr ""
    16321649"Αποτυχία - διορθώστε τα δικαιώματα των φακέλων σας είναι: 644 για αρχεία"
    16331650
    1634 #: admin/includes/primer-admin-options.php:4160
     1651#: admin/includes/primer-admin-options.php:4168
    16351652msgid "Fail"
    16361653msgstr "Αποτυχία"
    16371654
    1638 #: admin/includes/primer-admin-options.php:4168
     1655#: admin/includes/primer-admin-options.php:4176
    16391656msgid "Pass. The versions match"
    16401657msgstr "Επιτυχία. Οι εκδόσεις ταιριάζουν"
    16411658
    1642 #: admin/includes/primer-admin-options.php:4170
     1659#: admin/includes/primer-admin-options.php:4178
    16431660msgid "Fail. The versions do not match"
    16441661msgstr "Αποτυχία. Οι εκδόσεις δεν ταιριάζουν"
    16451662
    1646 #: admin/includes/primer-admin-options.php:4214
     1663#: admin/includes/primer-admin-options.php:4222
    16471664msgid "Server compatibility check"
    16481665msgstr "Έλεγχος συμβατότητας διακομιστή"
    16491666
    1650 #: admin/includes/primer-admin-options.php:4215
     1667#: admin/includes/primer-admin-options.php:4223
    16511668msgid "Results: "
    16521669msgstr "Αποτελέσματα: "
    16531670
    1654 #: admin/includes/primer-admin-options.php:4219
     1671#: admin/includes/primer-admin-options.php:4227
    16551672msgid "Cron capability: "
    16561673msgstr "Υποστήριξη cron: "
    16571674
    1658 #: admin/includes/primer-admin-options.php:4224
     1675#: admin/includes/primer-admin-options.php:4232
    16591676msgid "Folders permissions: "
    16601677msgstr "Δικαιώματα φακέλων: "
    16611678
    1662 #: admin/includes/primer-admin-options.php:4229
     1679#: admin/includes/primer-admin-options.php:4237
    16631680msgid "File permissions: "
    16641681msgstr "Δικαιώματα αρχείων: "
    16651682
    1666 #: admin/includes/primer-admin-options.php:4234
     1683#: admin/includes/primer-admin-options.php:4242
    16671684msgid "Time zone: "
    16681685msgstr "Ζώνη ώρας: "
    16691686
    1670 #: admin/includes/primer-admin-options.php:4239
     1687#: admin/includes/primer-admin-options.php:4247
    16711688msgid "Latest plugin version: "
    16721689msgstr "Τελευταία έκδοση του plugin: "
    16731690
    1674 #: admin/includes/primer-admin-options.php:4244
     1691#: admin/includes/primer-admin-options.php:4252
    16751692msgid "Wordpress version: "
    16761693msgstr "Έκδοση Wordpress: "
    16771694
    1678 #: admin/includes/primer-admin-options.php:4249
     1695#: admin/includes/primer-admin-options.php:4257
    16791696msgid "Woocommerce version: "
    16801697msgstr "Έκδοση Woocommerce: "
    16811698
    1682 #: admin/includes/primer-admin-options.php:4306
     1699#: admin/includes/primer-admin-options.php:4314
    16831700msgid "ΟΡΟΙ ΚΑΙ ΠΡΟΫΠΟΘΕΣΕΙΣ"
    16841701msgstr "ΟΡΟΙ ΚΑΙ ΠΡΟΫΠΟΘΕΣΕΙΣ"
    16851702
    1686 #: admin/includes/primer-admin-options.php:4650
     1703#: admin/includes/primer-admin-options.php:4658
    16871704msgid "The Numbering of the invoices has been reset."
    16881705msgstr "'Έχει γίνει επαναφορά στην αρίθμηση των τιμολογίων."
    16891706
    1690 #: admin/includes/primer-admin-options.php:5207
     1707#: admin/includes/primer-admin-options.php:5214
    16911708msgid ""
    16921709"PHP OpenSSL extension is not installed on the server. It's required by "
     
    16991716"το εγκαταστήσουν."
    17001717
    1701 #: admin/includes/primer-admin-options.php:5210
     1718#: admin/includes/primer-admin-options.php:5217
    17021719msgid ""
    17031720"PHP OpenSSL extension is not installed on the server. It is required for "
     
    17111728
    17121729#. translators: %s is PHP version
    1713 #: admin/includes/primer-admin-options.php:5218
     1730#: admin/includes/primer-admin-options.php:5225
    17141731#, php-format
    17151732msgid ""
     
    17201737"ή νεότερη."
    17211738
    1722 #: admin/includes/primer-admin-options.php:5243
     1739#: admin/includes/primer-admin-options.php:5250
    17231740msgid ""
    17241741"Please enter a valid email address in the 'Send email from account' field."
     
    17271744"\"Αποστολή email από τον λογαριασμό\"."
    17281745
    1729 #: admin/includes/primer-admin-options.php:5273
     1746#: admin/includes/primer-admin-options.php:5280
    17301747msgid "Please enter a valid port in the 'SMTP Port' field."
    17311748msgstr "Παρακαλώ εισάγετε μια έγκυρη θύρα στο πεδίο \"θύρα SMTP\"."
    17321749
    1733 #: admin/includes/primer-admin-options.php:5283
     1750#: admin/includes/primer-admin-options.php:5290
    17341751msgid "Settings saved."
    17351752msgstr "Οι ρυθμίσεις αποθηκεύτηκαν."
    17361753
    1737 #: admin/includes/primer-admin-options.php:5285
     1754#: admin/includes/primer-admin-options.php:5292
    17381755msgid "Settings are not saved."
    17391756msgstr "Οι ρυθμίσεις δεν έχουν αποθηκευτεί."
    17401757
    1741 #: admin/includes/primer-admin-options.php:5296
     1758#: admin/includes/primer-admin-options.php:5303
    17421759msgid "Please enter a valid email address in the recipient email field."
    17431760msgstr ""
     
    17531770#: admin/includes/primer-admin-receipt-log-automation-table.php:29
    17541771#: admin/includes/primer-admin-receipt-log-table.php:29
    1755 #: includes/class-primer-cron.php:2720
     1772#: includes/class-primer-cron.php:2745
    17561773msgid "Order No"
    17571774msgstr "Αριθμός παραγγελίας"
     
    17591776#: admin/includes/primer-admin-receipt-log-automation-table.php:30
    17601777#: admin/includes/primer-admin-receipt-log-table.php:30
    1761 #: admin/includes/primer-admin-table.php:41 includes/class-primer-cron.php:2721
     1778#: admin/includes/primer-admin-table.php:41 includes/class-primer-cron.php:2746
    17621779msgid "Order Date"
    17631780msgstr "Ημερομηνία παραγγελίας"
     
    17651782#: admin/includes/primer-admin-receipt-log-automation-table.php:31
    17661783#: admin/includes/primer-admin-receipt-log-table.php:31
    1767 #: includes/class-primer-cron.php:2722
     1784#: includes/class-primer-cron.php:2747
    17681785msgid "Invoice No"
    17691786msgstr "Αριθμός τιμολογίου"
     
    17721789#: admin/includes/primer-admin-receipt-log-table.php:33
    17731790#: admin/includes/primer-admin-receipt-table.php:34
    1774 #: admin/includes/primer-admin-table.php:43 includes/class-primer-cron.php:2724
     1791#: admin/includes/primer-admin-table.php:43 includes/class-primer-cron.php:2749
    17751792msgid "Client"
    17761793msgstr "Πελάτης"
     
    17781795#: admin/includes/primer-admin-receipt-log-automation-table.php:34
    17791796#: admin/includes/primer-admin-receipt-log-table.php:34
    1780 #: includes/class-primer-cron.php:2725
     1797#: includes/class-primer-cron.php:2750
    17811798msgid "Issued receipt"
    17821799msgstr "Εκδοθείσα απόδειξη"
     
    17891806#: admin/includes/primer-admin-receipt-log-automation-table.php:36
    17901807#: admin/includes/primer-admin-receipt-log-table.php:36
    1791 #: includes/class-primer-cron.php:2727
     1808#: includes/class-primer-cron.php:2752
    17921809msgid "Receipt Error"
    17931810msgstr "Σφάλμα Απόδειξης"
     
    18721889
    18731890#: admin/includes/primer-admin-receipt-table.php:88
    1874 #: includes/class-primer-cron.php:2084
     1891#: includes/class-primer-cron.php:2109
    18751892#: includes/template-tags/primer-tags-display-modules.php:1287
    18761893msgid "Τιμολόγιο Πώλησης"
     
    18831900
    18841901#: admin/includes/primer-admin-receipt-table.php:94
    1885 #: includes/class-primer-cron.php:2093
     1902#: includes/class-primer-cron.php:2118
    18861903#: includes/template-tags/primer-tags-display-modules.php:1293
    18871904msgid "Πιστωτικό Στοιχείο Λιανικής"
     
    18891906
    18901907#: admin/includes/primer-admin-receipt-table.php:97
    1891 #: includes/class-primer-cron.php:2096
     1908#: includes/class-primer-cron.php:2121
    18921909#: includes/template-tags/primer-tags-display-modules.php:1296
    18931910msgid "Πιστωτικό Τιμολόγιο Συσχετιζόμενο"
     
    20382055msgstr "Δεν βρέθηκαν παραγγελίες."
    20392056
    2040 #: admin/includes/primer-admin-table.php:644
     2057#: admin/includes/primer-admin-table.php:645
    20412058#, fuzzy
    20422059#| msgid "Action failed. Please refresh the page and retry."
     
    20452062"Η ενέργεια απέτυχε. Παρακαλώ ανανεώστε την σελίδα και προσπαθήστε ξανά."
    20462063
    2047 #: admin/includes/primer-admin-table.php:646
    20482064#: admin/includes/primer-admin-table.php:647
     2065#: admin/includes/primer-admin-table.php:648
    20492066msgid "This order has already been issued by the automation. Press refresh."
    20502067msgstr ""
    20512068
    2052 #: admin/includes/primer-admin-table.php:1334
     2069#: admin/includes/primer-admin-table.php:1360
    20532070msgid "Send JSON for order "
    20542071msgstr "Αποστολή JSON για την παραγγελια "
    20552072
    2056 #: admin/includes/primer-admin-table.php:1346
     2073#: admin/includes/primer-admin-table.php:1372
    20572074msgid "Send HTML JSON for order "
    20582075msgstr "Αποστολή HTML JSON για την παραγγελία "
    20592076
    2060 #: includes/class-primer-cron.php:632 includes/class-primer-cron.php:640
     2077#: includes/class-primer-cron.php:639 includes/class-primer-cron.php:647
    20612078msgid "Email failed. Please check your email configuration"
    20622079msgstr "Το email απέτυχε. Ελέγξτε τη διαμόρφωση του email σας"
    20632080
    2064 #: includes/class-primer-cron.php:1797
     2081#: includes/class-primer-cron.php:1822
    20652082msgid "Series of the Invoice"
    20662083msgstr "Series of the Invoice"
    20672084
    2068 #: includes/class-primer-cron.php:1798
     2085#: includes/class-primer-cron.php:1823
    20692086msgid "Client Name"
    20702087msgstr "Πελάτης"
    20712088
    2072 #: includes/class-primer-cron.php:2081
     2089#: includes/class-primer-cron.php:2106
    20732090msgid "Απόδειξη Λιανικής Πώλησης"
    20742091msgstr "Απόδειξη Λιανικής Πώλησης"
    20752092
    2076 #: includes/class-primer-cron.php:2087
     2093#: includes/class-primer-cron.php:2112
    20772094msgid "Τιμολόγιο Πώλησης / Ενδοκοινοτικές Παραδόσεις"
    20782095msgstr "Τιμολόγιο Πώλησης / Ενδοκοινοτικές Παραδόσεις"
    20792096
    2080 #: includes/class-primer-cron.php:2090
     2097#: includes/class-primer-cron.php:2115
    20812098msgid "Τιμολόγιο Πώλησης / Παραδόσεις Τρίτων Χωρών"
    20822099msgstr "Τιμολόγιο Πώλησης / Παραδόσεις Τρίτων Χωρών"
    20832100
    2084 #: includes/class-primer-cron.php:2595
     2101#: includes/class-primer-cron.php:2620
    20852102msgid "Your export file from Primer"
    20862103msgstr "Το αρχείο εξαγωγής σας από το Primer"
    20872104
    2088 #: includes/class-primer-cron.php:2726
     2105#: includes/class-primer-cron.php:2751
    20892106msgid "Email send"
    20902107msgstr "Email έχει σταλεί"
    20912108
    2092 #: includes/class-primer-cron.php:2728
     2109#: includes/class-primer-cron.php:2753
    20932110msgid "Email Error"
    20942111msgstr "Σφάλμα email"
     
    30873104msgstr "primer.gr"
    30883105
     3106#~ msgid "Loss of Entity-Provider Interconnection."
     3107#~ msgstr "Απώλεια Διασύνδεσης Οντότητας - Παρόχου."
     3108
     3109#~ msgid "Loss of Provider-AADE Interconnection."
     3110#~ msgstr "Απώλεια Διασύνδεσης Παρόχου - ΑΑΔΕ."
     3111
    30893112#~ msgid "Already running a conversion"
    30903113#~ msgstr "Already running a conversion"
  • primer-mydata/trunk/primer.php

    r3008952 r3022529  
    1818 * Plugin URI:        primer.gr/plugin/
    1919 * Description:      Issue receipts and invoices with woocommerce.
    20  * Version:           4.1.1
     20 * Version:           4.1.2
    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', '4.1.1');
     38define( 'PRIMER_VERSION', '4.1.2');
    3939define( 'PRIMER_NAME', 'Primer MyData' );
    4040
  • primer-mydata/trunk/public/class-primer-public.php

    r2980244 r3022529  
    112112            wp_enqueue_script($this->plugin_name, plugin_dir_url(__FILE__) . 'js/primer-public.js', array('jquery'), $this->version, false);
    113113            wp_localize_script( $this->plugin_name, 'primer_validation_ajax_obj', array( 'ajax_url' => admin_url( 'admin-ajax.php' ) ) );
    114             wp_localize_script( $this->plugin_name, 'primer_validation_ajax_obj', array('ajaxurl' => admin_url( 'admin-ajax.php' ),));
     114            wp_localize_script( $this->plugin_name, 'primer_validation_ajax_obj', array('ajaxurl' => admin_url( 'admin-ajax.php' )));
    115115        }
    116116        wp_enqueue_script('primer-select-woo-js', plugin_dir_url( __FILE__ ) . 'js/selectWoo.full.js', array('jquery'), PRIMER_VERSION, false);
  • primer-mydata/trunk/public/js/primer-public.js

    r3008952 r3022529  
    6262        });
    6363        var radiobtn = document.getElementById("billing_invoice_type_receipt");
    64         radiobtn.checked = true;
     64        if(radiobtn){
     65            radiobtn.checked = true;
     66        }
    6567        checkInvoiceFieldsVisibility($invoice_type.val());
    6668        function checkInvoiceFieldsVisibility(radio_val) {
     
    6870            var invoice_type = radio_val === 'primer_invoice';
    6971            if (invoice_type) {
    70                 //my_callback()
    7172                $('.invoice_type-hide').slideDown('fast');
    7273                $('#billing_vat_field label > .optional').remove();
     
    9293                }
    9394            } else {
    94                 //my_callback()
    9595                $('.invoice_type-hide').slideUp('fast');
    9696                $('#billing_company_field').find('abbr').remove();
     
    184184            });
    185185        }
     186
     187
     188
    186189        // remove tax from checkout for VIES CHECK
    187190        $(document).on('blur paste','#billing_vat',function() {
    188             var $this=$(this);
    189             var country = $('#billing_country').val()
     191            var $this = $(this);
     192            var country = $('#billing_country').val();
    190193            var isChecked = $('#billing_invoice_type_receipt').is(':checked') ? 1 : 0;
    191             jQuery.ajax({
    192                 type: "POST",
    193                 url: primer_validation_ajax_obj.ajaxurl,
    194                 data: {
    195                     action: "vat_number_validation",
    196                     vat: $this.val(),
    197                     isCountry: country,
    198                     isChecked: isChecked
    199                 },
    200                 success: function(response) {
    201                     jQuery( 'body' ).trigger( 'update_checkout' );
    202                     //console.log(response);
    203                 }, error: function(error) {
    204                     //console.log(error);
    205                 }
    206             });
    207         })
    208 
    209 
    210 
    211 
    212 
    213 
    214 
    215         // get vat details from AADE
    216         $(document).on('blur paste','#billing_vat',function(){
    217             var $this=$(this);
    218             console.log($invoice_type.val());
    219             jQuery('body').trigger('update_checkout');
    220             jQuery.ajax({
    221                 type : "post",
    222                 url : primer_validation_ajax_obj.ajaxurl,
    223                 data : {
    224                     action: "primer_timologio_for_wc_aade_fill",
    225                     vat : $this.val()
    226                 },
    227                 success: function(response) {
    228                     if (response.onomasia) {
    229                         $('#billing_company').val(response.onomasia);
    230                     }
    231 
    232                     if (response.doy) {
    233                         document.getElementById("billing_doy").value = response.doy;
    234                         $('#billing_doy').trigger('change');
    235                         console.log($('#billing_doy').val());
    236                     }
    237 
    238                     if (response.postal_address) {
    239                         $('#billing_address_1').val(response.postal_address);
    240                     }
    241 
    242                     if (response.postal_address_no) {
    243                         $('#billing_address_1').val($('#billing_address_1').val()+" "+response.postal_address_no);
    244                     }
    245 
    246                     if (response.postal_area_description) {
    247                         $('#billing_city').val(response.postal_area_description);
    248                     }
    249 
    250                     if (response.postal_zip_code) {
    251                         $('#billing_postcode').val(response.postal_zip_code);
    252                     }
    253 
    254                     if (response.activities && response.activities[0]) {
    255                         $('#billing_store').val(response.activities[0]);
    256                     }
    257                 }
    258                 , error: function(error) {
    259                     console.log(error);
    260                 }
    261             });
    262         });
    263 
    264 
    265 
    266         function my_callback() {
    267             jQuery('body').trigger('update_checkout');
    268 
    269         }
    270 
     194
     195            if (country !== 'GR') {
     196                // Code for countries other than Greece
     197                jQuery.ajax({
     198                    type: "POST",
     199                    url: primer_validation_ajax_obj.ajaxurl,
     200                    data: {
     201                        action: "vat_number_validation",
     202                        vat: $this.val(),
     203                        isCountry: country,
     204                        isChecked: isChecked
     205                    },
     206                    success: function (response) {
     207                        jQuery('body').trigger('update_checkout');
     208                        console.log(response);
     209                    },
     210                    error: function (error) {
     211                        console.log(error);
     212                    }
     213                });
     214            } else {
     215                // Code for Greece
     216                jQuery('body').trigger('update_checkout');
     217                jQuery.ajax({
     218                    type: "post",
     219                    url: primer_validation_ajax_obj.ajaxurl,
     220                    data: {
     221                        action: "primer_timologio_for_wc_aade_fill",
     222                        vat: $this.val()
     223                    },
     224                    success: function(response) {
     225                        console.log(response)
     226                        if (response.onomasia) {
     227                            $('#billing_company').val(response.onomasia);
     228                        }
     229
     230                        if (response.doy) {
     231                            document.getElementById("billing_doy").value = response.doy;
     232                            $('#billing_doy').trigger('change');
     233                            console.log($('#billing_doy').val());
     234                        }
     235
     236                        if (response.postal_address) {
     237                            $('#billing_address_1').val(response.postal_address);
     238                        }
     239
     240                        if (response.postal_address_no) {
     241                            $('#billing_address_1').val($('#billing_address_1').val()+" "+response.postal_address_no);
     242                        }
     243
     244                        if (response.postal_area_description) {
     245                            $('#billing_city').val(response.postal_area_description);
     246                        }
     247
     248                        if (response.postal_zip_code) {
     249                            $('#billing_postcode').val(response.postal_zip_code);
     250                        }
     251
     252                        if (response.activities && response.activities[0]) {
     253                            $('#billing_store').val(response.activities[0]);
     254                        }
     255                    }
     256                    , error: function(error) {
     257                        console.log(error);
     258                    }
     259                });
     260            }
     261        });
    271262        $('#billing_doy').selectWoo();
    272 
    273263        $(window).bind('beforeunload', function(){
    274             my_callback()
    275264            $("input[name='billing_invoice_type_receipt']").prop('checked',true);
    276             //jQuery('#billing_invoice_type_receipt').prop('checked', true);
    277             //$('#billing_invoice_type').trigger('change');
    278265        });
    279266
  • primer-mydata/trunk/public/partials/primer-receipt-display.php

    r2985238 r3022529  
    654654            <p> <span class="sender_sign">https://primer.gr/searchinvoice Provided by Primer Software P.C.</span></p>
    655655            <p class="mydata_sign">
    656                 <?php if(get_transmission_failure() != 1 || get_credit_receipt_failed() == 'yes'){ ?>
    657                     <?php if(get_date_failed() != null){ ?>
    658                         <span class="uid_sign"> ΑΔΥΝΑΜΙΑ ΣΥΝΔΕΣΗΣ ΜΕ ΠΑΡΟΧΟ</span>
    659                         <br>
    660                     <?php } ?>
     656                <span class="uid_sign"> <?php  get_failure_message() ?></span><br>
    661657                <span>uid: </span> <span class="uid_sign"><?php primer_invoice_uid(); ?></span>
    662658                <span>mark:</span> <span class="mark_sign"><?php primer_invoice_mark(); ?></span>
    663659                <span>authcode:</span> <span class="authcode_sign"><?php primer_invoice_authcode(); ?></span>
    664                 <?php }else{ ?>
    665                 <span class="uid_sign"> ΑΔΥΝΑΜΙΑ ΣΥΝΔΕΣΗΣ ΜΕ ΠΑΡΟΧΟ</span>
    666                 <?php } ?>
    667             </p>
    668         </div>
     660            </p>
     661        </div>
    669662
    670663
  • primer-mydata/trunk/views/get_order_list.php

    r3008952 r3022529  
    8080                    switch ($transmission_failure) {
    8181                        case 1:
     82                        case 3:
    8283                            $transmission_failure_message = 'Αδυναμία σύνδεσης';
    8384                            break;
     
    159160                        switch ($transmission_failure) {
    160161                            case 1:
     162                            case 3:
    161163                                $transmission_failure_message = 'Αδυναμία σύνδεσης';
    162164                                break;
    163165                            case 2:
    164                                 $transmission_failure_message = 'Επιτυχής Αποστoλή';
     166                                $transmission_failure_message = 'Επιτυχής Αποστολή';
    165167                                break;
    166168                            case 4:
     
    239241                    switch ($transmission_failure) {
    240242                        case 1:
     243                        case 3:
    241244                            $transmission_failure_message = 'Αδυναμία σύνδεσης';
    242245                            break;
    243246                        case 2:
    244                             $transmission_failure_message = 'Επιτυχής Αποστoλή';
     247                            $transmission_failure_message = 'Επιτυχής Αποστολή';
    245248                            break;
    246249                        case 4:
     
    311314                    }
    312315                    $transmission_failure_message='';
    313                     if($transmission_failure == 1){
     316                    if($transmission_failure == 1 || $transmission_failure == 3){
    314317                        $transmission_failure_message = 'Αδυναμία σύνδεσης';
    315318                    }else if($transmission_failure == 2){
    316                         $transmission_failure_message = 'Επιτυχής Αποστoλή';
     319                        $transmission_failure_message = 'Επιτυχής Αποστολή';
    317320                    }else if($transmission_failure == 4){
    318321                        $transmission_failure_message = 'Αδυναμία Αποστολής HTML';
     
    389392                    switch ($transmission_failure) {
    390393                        case 1:
     394                        case 3:
    391395                            $transmission_failure_message = 'Αδυναμία σύνδεσης';
    392396                            break;
    393397                        case 2:
    394                             $transmission_failure_message = 'Επιτυχής Αποστoλή';
     398                            $transmission_failure_message = 'Επιτυχής Αποστολή';
    395399                            break;
    396400                        case 4:
     
    401405                            break;
    402406                    }
     407
    403408
    404409                    $this->orders_array[$order_count]['order_id'] = $id_of_order;
     
    471476                    switch ($transmission_failure) {
    472477                        case 1:
     478                        case 3:
    473479                            $transmission_failure_message = 'Αδυναμία σύνδεσης';
    474480                            break;
    475481                        case 2:
    476                             $transmission_failure_message = 'Επιτυχής Αποστoλή';
     482                            $transmission_failure_message = 'Επιτυχής Αποστολή';
    477483                            break;
    478484                        case 4:
     
    483489                            break;
    484490                    }
     491
    485492                    $this->orders_array[$order_count]['order_id'] = $id_of_order;
    486493                    $this->orders_array[$order_count]['order_date'] = $order_paid_date;
     
    551558                    switch ($transmission_failure) {
    552559                        case 1:
     560                        case 3:
    553561                            $transmission_failure_message = 'Αδυναμία σύνδεσης';
    554562                            break;
    555563                        case 2:
    556                             $transmission_failure_message = 'Επιτυχής Αποστoλή';
     564                            $transmission_failure_message = 'Επιτυχής Αποστολή';
    557565                            break;
    558566                        case 4:
     
    560568                            break;
    561569                        default:
    562                             $transmission_failure_message = '';
    563                     }
     570                            break;
     571                    }
     572
    564573                    $this->orders_array[$order_count]['order_id'] = $id_of_order;
    565574                    $this->orders_array[$order_count]['order_date'] = $order_paid_date;
     
    639648            }
    640649            $transmission_failure_message = '';
    641             if ($transmission_failure == 1) {
     650            if ($transmission_failure == 1 || $transmission_failure == 3) {
    642651                $transmission_failure_message = 'Αδυναμία σύνδεσης';
    643652            } else if ($transmission_failure == 2) {
    644                 $transmission_failure_message = 'Επιτυχής Αποστoλή';
     653                $transmission_failure_message = 'Επιτυχής Αποστολή';
    645654            } else if ($transmission_failure == 4) {
    646655                $transmission_failure_message = 'Αδυναμία Αποστολής HTML';
     
    809818                    }
    810819                    $transmission_failure_message='';
    811                     if($transmission_failure == 1){
     820                    if($transmission_failure == 1 || $transmission_failure == 3){
    812821                        $transmission_failure_message = 'Αδυναμία σύνδεσης';
    813822                    }else if($transmission_failure == 2){
    814                         $transmission_failure_message = 'Επιτυχής Αποστoλή';
     823                        $transmission_failure_message = 'Επιτυχής Αποστολή';
    815824                    }else if($transmission_failure == 4){
    816825                        $transmission_failure_message = 'Αδυναμία Αποστολής HTML';
     
    885894                    }
    886895                    $transmission_failure_message = '';
    887                     if ($transmission_failure == 1) {
     896                    if ($transmission_failure == 1 || $transmission_failure == 3) {
    888897                        $transmission_failure_message = 'Αδυναμία σύνδεσης';
    889898                    } else if ($transmission_failure == 2) {
    890                         $transmission_failure_message = 'Επιτυχής Αποστoλή';
     899                        $transmission_failure_message = 'Επιτυχής Αποστολή';
    891900                    } else if ($transmission_failure == 4) {
    892901                        $transmission_failure_message = 'Αδυναμία Αποστολής HTML';
     
    964973                    }
    965974                    $transmission_failure_message = '';
    966                     if ($transmission_failure == 1) {
     975                    if ($transmission_failure == 1 || $transmission_failure == 3) {
    967976                        $transmission_failure_message = 'Αδυναμία σύνδεσης';
    968977                    } else if ($transmission_failure == 2) {
    969                         $transmission_failure_message = 'Επιτυχής Αποστoλή';
     978                        $transmission_failure_message = 'Επιτυχής Αποστολή';
    970979                    } else if ($transmission_failure == 4) {
    971980                        $transmission_failure_message = 'Αδυναμία Αποστολής HTML';
Note: See TracChangeset for help on using the changeset viewer.