Plugin Directory

Changeset 2985238


Ignore:
Timestamp:
10/28/2023 08:56:16 AM (2 years ago)
Author:
primersoftware
Message:

Update

Location:
primer-mydata
Files:
2630 added
12 edited

Legend:

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

    r2980244 r2985238  
    55Tested up to: 6.3.2
    66Requires PHP: 7.4
    7 Stable tag: 4.0.9
     7Stable tag: 4.1.0
    88License: GPLv2
    99License URI: https://www.gnu.org/licenses/gpl-2.0.html
     
    143143= 4.0.9 - 2023-10-17 =
    144144* Minor Bug Fixes
     145= 4.1.0 - 2023-10-27 =
     146* Minor Bug Fixes
  • primer-mydata/trunk/admin/class-primer-admin.php

    r2940775 r2985238  
    843843    }
    844844
     845    public function update_receipt_status_on_order_creation ( $order_id ) {
     846        update_post_meta($order_id,'receipt_status', 'not_issued');
     847    }
    845848    public function primer_checkout_create_user( $order_id ) {
    846849        $order = wc_get_order( $order_id );
  • primer-mydata/trunk/admin/includes/my_data_json.php

    r2980244 r2985238  
    11391139        }
    11401140
    1141         //print_r($invoice_data);
     1141
    11421142        return ($invoice_data);
    11431143
     
    12191219                                       &$total, $auth, &$invoice_term, &$insert_taxonomy, &$order, &$user_data, &$user_id, &$order_total_price, &$currency_symbol,
    12201220                                       &$order_country, &$mydata_options, &$series, &$total_vat_number, &$receipt_log_value, &$receipt_log_value_array, &$user_order_email,
    1221                                        &$response_data, &$receipt_log_id, $url_slug, $callingFunction)
     1221                                       &$response_data, &$receipt_log_id, $url_slug, $callingFunction, &$generated_uid)
    12221222    {
    12231223
     
    13421342                    }
    13431343
    1344                     //EDW KATI GINETAI
    13451344                    $this->numbering($order_invoice_type, $order_country, $mydata_options, $series);
    13461345
     
    13481347                    if (!empty($responseMark)) {
    13491348                        update_post_meta($post_id, 'response_invoice_uid', $responseMark);
    1350                         primer_generate_qr($post_id);
    13511349                    }
    13521350                    if (!empty($responseUid)) {
     
    13581356                    $post_ids[] = $post_id;
    13591357                }
     1358                primer_generate_qr($post_id, $generated_uid);
    13601359                $post_id = get_post_meta($id_of_order, 'order_id_from_receipt', true);
    13611360                update_post_meta($post_id, 'response_invoice_mark', $responseMark);
  • primer-mydata/trunk/admin/includes/primer-admin-options.php

    r2980244 r2985238  
    35083508                    $validate_response_block = strpos($response_message, $string_block);
    35093509                    $validate_response = strpos($response_message, $string_r);
     3510                    $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']))));
    35103511                    if($validate_response !== false || $validate_response_block !== false) {
    35113512                        //start checking
     
    35143515                                                                                $total, $auth, $invoice_term, $insert_taxonomy,$order, $user_data, $user_id, $order_total_price, $currency_symbol,
    35153516                                                                                $order_country, $mydata_options, $series, $total_vat_number, $receipt_log_value, $receipt_log_value_array, $user_order_email,
    3516                                                                                 $response_data, $receipt_log_id, $url_slug, $callingFunction);
     3517                                                                                $response_data, $receipt_log_id, $url_slug, $callingFunction, $generated_uid);
    35173518
    35183519                        if ( $status == "break" ) {
     
    35873588                                        if (!empty($invoice_uid)) {
    35883589                                            update_post_meta($post_id, 'response_invoice_uid', $invoice_uid);
    3589                                             primer_generate_qr($post_id);
    35903590                                        }
    35913591
     
    36003600                                        $post_ids[] = $post_id;
    36013601                                    }
     3602                                    primer_generate_qr($post_id, $generated_uid);
    36023603                                    $primer_options = new Primer_Options();
    36033604                                    $post_ids_str = '';
  • primer-mydata/trunk/admin/includes/primer-admin-table.php

    r2980244 r2985238  
    8989                     $transmission_failure_check = get_post_meta($item['order_id'],'transmission_failure_check',true);
    9090                     $failed_credit_receipt_to_issue =  get_post_meta($item['order_id'],'credit_receipt_failed_to_issue',true);
    91                      if(!empty($transmission_failure_order) && $transmission_failure_check == 2){
     91                     $receiptId = get_post_meta($item['order_id'],'order_id_from_receipt',true);
     92                     $verify_success_receipt = get_post_meta($receiptId,'response_invoice_mark',true);
     93                     if((!empty($transmission_failure_order) && $transmission_failure_check == 2) || empty($verify_success_receipt)){
    9294
    9395                         $new_url = add_query_arg(array('receipt' => 'view'), rtrim(get_permalink($receipt_id), '/').'-failed');
     
    101103                         $new_url = add_query_arg(array('receipt' => 'view'), rtrim(get_permalink($receipt_id), '/').'-failed');
    102104                         }
    103                           if($transmission_failure_check == 2){
     105                          if($transmission_failure_check == 2 || !empty($verify_success_receipt)){
    104106                          $new_url = add_query_arg(array('receipt' => 'view'), rtrim(get_permalink($receipt_id), '/'));
     107                          $new_url = preg_replace('/-failed/', '', $new_url);
    105108                          }
    106109                     }
     
    747750                $validate_response_block = strpos($response_message, $string_block);
    748751                $validate_response = strpos($response_message, $string_r);
     752                $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']))));
    749753                if($validate_response !== false || $validate_response_block !== false) {
    750754                    //start checking
     
    753757                                                                            $total, $auth, $invoice_term, $insert_taxonomy,$order, $user_data, $user_id, $order_total_price, $currency_symbol,
    754758                                                                            $order_country, $mydata_options, $series, $total_vat_number, $receipt_log_value, $receipt_log_value_array, $user_order_email,
    755                                                                              $response_data, $receipt_log_id, $url_slug, $callingFunction);
     759                                                                             $response_data, $receipt_log_id, $url_slug, $callingFunction,$generated_uid);
    756760
    757761                    if ( $status == "break" ) {
     
    820824                                if (!empty($invoice_uid)) {
    821825                                    update_post_meta($post_id, 'response_invoice_uid', $invoice_uid);
    822                                     primer_generate_qr($post_id);
     826
    823827                                }
    824828                                if (!empty($invoice_mark)) {
     
    830834                                $post_ids[] = $post_id;
    831835                            }
     836                            primer_generate_qr($post_id, $generated_uid);
    832837                            $primer_options = new Primer_Options();
    833838                            $post_ids_str = '';
  • primer-mydata/trunk/includes/class-primer-cron.php

    r2980244 r2985238  
    111111     * Primer Automation Settings conversation
    112112     */
    113     public function convert_order_to_invoice()
    114     {
    115         global $wpdb, $woocommerce;
    116         $log_ids = array();
     113        public function convert_order_to_invoice()
     114        {
     115            global $wpdb, $woocommerce;
     116            $log_ids = array();
     117
     118            if (!defined('MINUTE_IN_SECONDS')) {
     119                define('MINUTE_IN_SECONDS', 60); // Define it as 60 seconds if not already defined
     120            }
     121            if (get_transient('convert_order_to_invoice_lock')) {
     122                // Already running, skip execution
     123                return;
     124            }
     125            // Set a transient lock to prevent concurrent execution
     126            set_transient('convert_order_to_invoice_lock', true, MINUTE_IN_SECONDS);
     127
    117128        // Get Notification Emails
    118129        $automation_options = get_option('primer_automation');
     
    349360                                    $validate_response_block = strpos($response_message, $string_block);
    350361                                    $validate_response = strpos($response_message, $string_r);
     362                                    $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']))));
    351363                                    if($validate_response !== false || $validate_response_block !== false) {
    352364                                        //start checking
     
    355367                                                                                                $total, $auth, $invoice_term, $insert_taxonomy,$order, $user_data, $user_id, $order_total_price, $currency_symbol,
    356368                                                                                                $order_country, $mydata_options, $series, $total_vat_number, $receipt_log_value, $receipt_log_value_array, $user_order_email,
    357                                                                                                 $response_data, $receipt_log_id, $url_slug, $callingFunction);
     369                                                                                                $response_data, $receipt_log_id, $url_slug, $callingFunction,$generated_uid);
    358370
    359371                                        if ( $status == "break" ) {
     
    421433                                                        if (!empty($invoice_uid)) {
    422434                                                            update_post_meta($post_id, 'response_invoice_uid', $invoice_uid);
    423                                                             primer_generate_qr($post_id);
    424435                                                        }
    425436
     
    434445                                                        $post_ids[] = $post_id;
    435446                                                    }
     447
     448                                                    primer_generate_qr($post_id, $generated_uid);
    436449                                                    $primer_options = new Primer_Options();
    437450                                                    $post_ids_str = '';
     
    725738            $mydata_options['running_conversion'] = 'no';
    726739            update_option('primer_mydata', $mydata_options);
     740            delete_transient('convert_order_to_invoice_lock');
    727741            wp_die();
    728742        }
     
    826840                $post_id_failed = get_post_meta($id_of_order, 'order_id_from_receipt', true);
    827841                $check_api_type = get_post_meta($post_id_failed, 'send_to_api_type', true);
    828                 $log_id_failed = get_post_meta($post_id_failed, 'log_id_for_order', true);
    829                 $failed_credit_receipt_to_issue =  get_post_meta($id_of_order,'credit_receipt_failed_to_issue',true);
    830                 if ($transmission_failure == 1 && $check_api_type == 'production') {
     842                $already_issued = get_post_meta($post_id_failed, 'response_invoice_mark', true);
     843                if ($transmission_failure == 1 && $check_api_type == 'production' && empty($already_issued)) {
    831844                    //checks if it flagged the conversion and the order for 48hours logic
    832845                    $time_for_call_timeout_48 = get_post_meta($id_of_order, 'order_datetime_failed', true);
     
    938951                            continue;
    939952                        }
    940 
     953                        $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']))));
    941954                        $response_from_array = $response_to_array->response;
    942955                        if (!empty($response_to_array)) {
     
    979992                                        if (!empty($invoice_uid)) {
    980993                                            update_post_meta($post_id, 'response_invoice_uid', $invoice_uid);
    981                                             primer_generate_qr($post_id);
    982994                                            update_post_meta($id_of_order, 'transmission_failure_check', 2);
    983995                                        }
     
    9901002                                        $post_ids[] = $post_id;
    9911003                                    }
     1004                                    primer_generate_qr($post_id, $generated_uid);
    9921005                                    $primer_options = new Primer_Options();
    9931006                                    $post_ids_str = '';
     
    13211334                    $receipt_id = (int)$receipt_id;
    13221335                    $order_id = get_post_meta($receipt_id, 'order_id_to_receipt', true);
     1336                    $check_for_mark = get_post_meta ($order_id, 'order_id_from_credit_receipt', true);
     1337                    if ( empty(get_post_meta($check_for_mark, 'response_invoice_mark' ,true))) {
    13231338                    $get_mark_from_receipt = get_post_meta($order_id, 'order_id_from_receipt', true);
    13241339                    $order = new WC_Order($order_id);
     
    14521467                        break;
    14531468                    }
    1454 
     1469                    $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']))));
    14551470                    if (!empty($response_to_array)) {
    14561471                        $response_from_array = $response_to_array->response;
     
    14961511                                    if (!empty($invoice_uid)) {
    14971512                                        update_post_meta($post_id, 'response_invoice_uid', $invoice_uid);
    1498                                         primer_generate_qr($post_id);
    14991513                                    }
    15001514                                    if (!empty($invoice_mark)) {
     
    15061520                                    $post_ids[] = $post_id;
    15071521                                }
     1522                                primer_generate_qr($post_id, $generated_uid);
    15081523                                $primer_options = new Primer_Options();
    15091524                                $post_ids_str = '';
     
    17261741                                            update_post_meta($order_log_id, 'receipt_log_total_status', 'only_issued');
    17271742                                        }
     1743                                        update_post_meta($id_of_order, 'transmission_failure_check', 2);
    17281744                                        $response_data = '<div class="notice notice-success"><p>' . __("Orders converted", "primer") . '</p></div>';
    17291745                            } else { // if(( $response_from_array[0]->statusCode == 'Success'))
     
    17631779                        }
    17641780                    }
     1781                }
    17651782                }
    17661783            }
  • primer-mydata/trunk/includes/class-primer.php

    r2973063 r2985238  
    202202        $this->loader->add_filter( 'wp_delete_post', $plugin_admin, 'prevent_order_deletion_callback');
    203203        $this->loader->add_filter('cron_schedules', $plugin_admin, 'intervals');
     204        $this->loader->add_action('woocommerce_new_order', $plugin_admin, 'update_receipt_status_on_order_creation',10,1 );
    204205        add_filter( 'woocommerce_get_wp_query_args', function( $wp_query_args, $query_vars ){
    205206            if ( isset( $query_vars['meta_query'] ) ) {
  • primer-mydata/trunk/includes/template-tags/primer-tags-display-modules.php

    r2980244 r2985238  
    15351535}
    15361536
    1537 function primer_generate_qr($receipt_id) {
     1537function primer_generate_qr($receipt_id, $generated_uid) {
    15381538    $upload_dir = wp_upload_dir()['basedir'];
    15391539    if (!file_exists($upload_dir . '/primer_qrs')) {
     
    15431543    $is_qr_code_exist = get_post_meta($receipt_id, '_is_qr_code_exist', true);
    15441544    $primer = new Primer();
    1545     $qr_param = $primer::qr_item_param();
    1546     $invoice_uid = get_post_meta($receipt_id, 'response_invoice_uid', true);
    1547     if (empty($is_qr_code_exist) && !empty($invoice_uid)) {
    1548         $receipt_link = "https://primer.gr/mydatasearch/" . $invoice_uid;
     1545    if (empty($is_qr_code_exist) && !empty($generated_uid)) {
     1546        $receipt_link = "https://primer.gr/mydatasearch/" . $generated_uid;
    15491547        $image_name = time() . '_' . $receipt_id . '.png';
    15501548        $image_name = sanitize_text_field($image_name);
  • primer-mydata/trunk/languages/primer-el.po

    r2980244 r2985238  
    33"Project-Id-Version: Primer receipts\n"
    44"POT-Creation-Date: 2023-10-16 15:03+0300\n"
    5 "PO-Revision-Date: 2023-10-16 15:30+0300\n"
     5"PO-Revision-Date: 2023-10-18 17:07+0300\n"
    66"Last-Translator: \n"
    77"Language-Team: \n"
     
    766766"changes (after pressing save) are supported."
    767767msgstr ""
    768 "Μόνο αρχεία Jpg, Png. Το αρχείο πρέπει να είναι 256x256px και μέχρι 75kb. "
     768"Μόνο αρχεία Jpg, Png. Το αρχείο πρέπει να είναι 350x100px και μέχρι 75kb. "
    769769"Υποστηρίζονται μέχρι 3 αλλαγές λογοτύπου (εφόσον έχει πατηθεί το Αποθήκευση)."
    770770
  • primer-mydata/trunk/primer.php

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

    r2980244 r2985238  
    635635                    <td class="qrcodeimg_container">
    636636                        <div class="cont_signs">
    637                             <?php if(get_transmission_failure() != 1 || get_credit_receipt_failed() == 'yes') {
    638                                 primer_get_generated_qr();
    639                             }?>
     637                            <?php primer_get_generated_qr(); ?>
    640638                        </div>
    641639                    </td>
Note: See TracChangeset for help on using the changeset viewer.