WordPress.org

Plugin Directory

Changeset 1567833


Ignore:
Timestamp:
01/04/17 12:40:46 (13 months ago)
Author:
aribhour
Message:

0.91

Location:
linet-erp-woocommerce-integration/trunk
Files:
14 edited

Legend:

Unmodified
Added
Removed
  • linet-erp-woocommerce-integration/trunk/changelog.txt

    r1565711 r1567833  
    11*** Linet Integration *** 
     2 
     3 
     42016.12.19 - version 0.91 
     5 * Add Ability to chose doc type 
     6 * Add Ability to chose bill 
     7 * Add Ability to chose hook 
    28 
    392016.12.19 - version 0.7 
  • linet-erp-woocommerce-integration/trunk/classes/class-wc-li-autoloader.php

    r1565711 r1567833  
    66  Author: Speedcomp 
    77  Author URI: http://www.linet.org.il 
    8   Version: 0.7 
     8  Version: 0.91 
    99  Text Domain: wc-linet 
    1010  Domain Path: /languages/ 
  • linet-erp-woocommerce-integration/trunk/classes/class-wc-li-invoice-manager.php

    r1565711 r1567833  
    66  Author: Speedcomp 
    77  Author URI: http://www.linet.org.il 
    8   Version: 0.7 
     8  Version: 0.91 
    99  Text Domain: wc-linet 
    1010  Domain Path: /languages/ 
     
    5555        $sendInv = get_option('wc_linet_sync_orders'); 
    5656        //$option = $this->settings->get_option('send_invoices'); 
    57         if ('on' === $sendInv) { 
     57        if ('completed' === $sendInv) { 
    5858            //add_action('woocommerce_order_status_processing', array($this, 'send_invoice')); 
    5959        //} elseif ('completion' === $sendPayments || 'on' === $sendPayments) { 
    6060            add_action('woocommerce_order_status_completed', array($this, 'send_invoice')); 
     61        }elseif('processing' === $sendInv) { 
     62            add_action('woocommerce_order_status_processing', array($this, 'send_invoice')); 
     63        }else{//none... 
     64             
     65             
    6166        } 
    6267    } 
     
    7075     */ 
    7176    public function send_invoice($order_id) { 
    72  
     77         
    7378        // Get the order 
    7479        $order = wc_get_order($order_id); 
    75  
     80        $supported_gateways=$this->settings->get_option('supported_gateways'); 
     81        if(!in_array($order->payment_method, $supported_gateways)){ 
     82            $order->add_order_note(__("LINET: Will not create doc. unsupported gateway", 'wc-linet')); 
     83            return false; 
     84            //echo $order->payment_method;exit; 
     85        } 
     86        //print_r(); 
     87         
     88        //$order->payment_method//if type== 
     89         
     90         
     91         
    7692        // Get the invoice 
    7793        $invoice = $this->get_invoice_by_order($order); 
     
    8096        $logger = new WC_LI_Logger($this->settings); 
    8197 
    82  
     98         
    8399 
    84100        //var_dump($order); 
     
    90106            $logger->write('INVOICE HAS TOTAL OF 0, NOT SENDING ORDER WITH ID ' . $order->id); 
    91107 
    92             $order->add_order_note(__("LINET: Didn't create invoice because total is 0 and send order with zero total is set to off.", 'wc-linet')); 
     108            $order->add_order_note(__("LINET: Didn't create doc. because total is 0 and send order with zero total is set to off.", 'wc-linet')); 
    93109 
    94110            return false; 
     
    98114        //$invoice_request = new WC_LI_Request_Invoice( $this->settings, $invoice ); 
    99115        // Logging 
    100         $logger->write('START LINET NEW INVOICE. order_id=' . $order->id); 
     116        $logger->write('START LINET NEW doc. order_id=' . $order->id); 
    101117 
    102118        // Try to do the request 
     
    119135 
    120136                // Add Order Note 
    121                 $order->add_order_note(__('Linet Invoice created.  ', 'wc-linet') . ' Invoice Docnum: ' . (string) $json_response->body->docnum); 
     137                $order->add_order_note(__('Linet Doc. created.  ', 'wc-linet') . ' Doc. num: ' . (string) $json_response->body->docnum); 
    122138            } else { // XML reponse is not OK 
    123139                // Log reponse 
     
    128144 
    129145                // Add order note 
    130                 $order->add_order_note(__('ERROR creating Linet invoice: ', 'wc-linet') . 
     146                $order->add_order_note(__('ERROR creating Linet doc: ', 'wc-linet') . 
    131147                        __(' ErrorNumber: ', 'wc-linet') . $json_response->status . 
    132148                        __(' ErrorType: ', 'wc-linet') . $json_response->errorCode . 
     
    140156 
    141157            $logger->write($e->getMessage()); 
    142  
     158             
    143159            return false; 
    144160        } 
    145161 
    146         $logger->write('END LINET NEW INVOICE'); 
    147  
     162        $logger->write('END LINET NEW doc.'); 
     163        
    148164        return true; 
    149165    } 
     
    177193                //$order->order_total 
    178194                ); 
    179         //var_dump($contact_manager);exit; 
     195         
    180196        $invoice->set_order($order); 
    181  
     197         
    182198        // Return invoice 
    183199        return $invoice; 
  • linet-erp-woocommerce-integration/trunk/classes/class-wc-li-invoice.php

    r1565711 r1567833  
    77  Author: Speedcomp 
    88  Author URI: http://www.linet.org.il 
    9   Version: 0.7 
     9  Version: 0.91 
    1010  Text Domain: wc-linet 
    1111  Domain Path: /languages/ 
     
    8888        //var_dump($items); 
    8989        $total = 0; 
    90          
    91         $shipping_methods = array(); 
    92         foreach ( $this->order->get_shipping_methods() as $method ) { 
    93                 $shipping_methods[] = $method['method_id']; 
    94                 var_dump( $method); 
    95         } 
    96          
     90 
     91        $genItm = get_option('wc_linet_genral_item'); 
     92        $warehouse = get_option('wc_linet_warehouse_id'); 
     93        //exit; 
    9794 
    9895        foreach ($items as $item) { 
     
    106103                "unit_id" => 0, 
    107104                "iTotalVat" => $item['line_total'], 
     105                "warehouse_id"=>$warehouse, 
    108106            ]; 
    109107            $total+=$item['line_total']; 
    110108        } 
     109 
     110        $shipping_methods = []; 
     111        foreach ($order->get_shipping_methods() as $method) { 
     112            $shipping_methods[] = $method['method_id']; 
     113 
     114            //var_dump(  $method['item_meta']['cost'][0]); 
     115 
     116 
     117            $this->doc['docDet'][] = [ 
     118                "item_id" => $genItm, //getLinetId $item['product_id'] 
     119                "name" => $order->get_shipping_method(), 
     120                "description" => "", 
     121                "qty" => 1, 
     122                "currency_id" => "ILS", 
     123                "unit_id" => 0, 
     124                "iTotalVat" => $order->order_shipping, 
     125                 
     126                 
     127            ]; 
     128 
     129            $total+=  $order->order_shipping; 
     130        } 
     131 
     132 
    111133        //_payment_method_title 
    112134        //_payment_method 
     
    122144        ]; 
    123145 
    124  
     146        $this->total = $total; 
    125147        $this->order = $order; 
    126148        return true; 
     
    141163 
    142164        if ($linetSkuFind == 'on') { 
    143             $res = WC_LI_Settings::sendAPI('search/item', ['sku' => $id]); 
    144             if ($res->body != "No items where found for model") { 
    145                 return $res->body[0]->id; 
     165            // 
     166 
     167            $query = "SELECT `" . $prefix . "postmeta`.meta_value FROM `" . $prefix . "posts` LEFT JOIN `" . $prefix . "postmeta` ON `" . $prefix . "postmeta`.post_id=`" . $prefix . 
     168                    "posts`.ID where `" . $prefix . "posts`.post_type='product' and `" . $prefix . "posts`.post_status = 'publish' and `" . $prefix . 
     169                    "postmeta`.meta_key='_sku' and `" . $prefix . "posts`.id='" . $itemId . "';"; 
     170 
     171            $product_id = $wpdb->get_results($query); 
     172 
     173            //echo "sku:" . $product_id[0]->meta_value;exit; 
     174            if (count($product_id) != 0) { 
     175                $res = WC_LI_Settings::sendAPI('search/item', ['sku' => $product_id[0]->meta_value]); 
     176                if ($res->body != "No items where found for model") { 
     177                    //echo "id(by sku):" . $res->body[0]->id;exit; 
     178                    return $res->body[0]->id; 
     179                } 
    146180            } 
    147181        } else { 
    148182 
    149             $query = "SELECT * FROM `" . $prefix . "posts` LEFT JOIN `" . $prefix . "postmeta` ON `" . $prefix . "postmeta`.post_id=`" . $prefix . 
     183            $query = "SELECT `" . $prefix . "postmeta`.meta_value FROM `" . $prefix . "posts` LEFT JOIN `" . $prefix . "postmeta` ON `" . $prefix . "postmeta`.post_id=`" . $prefix . 
    150184                    "posts`.ID where `" . $prefix . "posts`.post_type='product' and `" . $prefix . "posts`.post_status = 'publish' and `" . $prefix . 
    151                     "postmeta`.meta_key='_linet_id' and `" . $prefix . "postmeta`.meta_value='" . $itemId . "';"; 
     185                    "postmeta`.meta_key='_linet_id' and `" . $prefix . "posts`.id='" . $itemId . "';"; 
    152186 
    153187            $product_id = $wpdb->get_results($query); 
    154188 
     189            //echo "id:". $product_id[0]->meta_value;exit; 
     190 
    155191            if (count($product_id) != 0) { 
    156                 return $product_id[0]->ID; 
     192                return $product_id[0]->meta_value; 
    157193            } 
    158194        } 
     195        //echo "id not found:". $itemId;  exit; 
    159196        $genItm = get_option('wc_linet_genral_item'); 
    160197        return $genItm; //genrel item 
     
    205242            $invoice_name = $this->order->billing_first_name . ' ' . $this->order->billing_last_name; 
    206243        } 
    207  
    208         $body = [ 
    209             "doctype" => 3, 
    210             "status" => 2, 
    211             "account_id" => 113, 
    212             "company" => "Just a Test", 
    213             "currency_id" => "ILS", 
    214         ]; 
     244         
    215245 
    216246 
     
    242272 
    243273 
    244  
    245  
    246         $this->doc["doctype"] = 9; 
     274        $doctype = get_option('wc_linet_linet_doc'); 
     275 
     276        if((9!=$doctype)&&(8!=$doctype)){ 
     277            unset($this->doc["docCheq"]); 
     278        } 
     279        $this->doc["doctype"] = $doctype; 
    247280        $this->doc["status"] = 2; 
    248281        $this->doc["account_id"] = $accId; 
  • linet-erp-woocommerce-integration/trunk/classes/class-wc-li-line-item-manager.php

    r1565711 r1567833  
    66  Author: Speedcomp 
    77  Author URI: http://www.linet.org.il 
    8   Version: 0.7 
     8  Version: 0.91 
    99  Text Domain: wc-linet 
    1010  Domain Path: /languages/ 
  • linet-erp-woocommerce-integration/trunk/classes/class-wc-li-logger.php

    r1565711 r1567833  
    66  Author: Speedcomp 
    77  Author URI: http://www.linet.org.il 
    8   Version: 0.7 
     8  Version: 0.91 
    99  Text Domain: wc-linet 
    1010  Domain Path: /languages/ 
  • linet-erp-woocommerce-integration/trunk/classes/class-wc-li-order-actions.php

    r1565711 r1567833  
    66  Author: Speedcomp 
    77  Author URI: http://www.linet.org.il 
    8   Version: 0.7 
     8  Version: 0.91 
    99  Text Domain: wc-linet 
    1010  Domain Path: /languages/ 
     
    5454        // Add order actions 
    5555         
    56         $sync = get_option('sync_orders'); 
    57         if($sync=='on'){ 
     56        //$sync = get_option('sync_orders'); 
     57        //if($sync){ 
    5858            add_action('woocommerce_order_actions', array($this, 'add_order_actions')); 
    59         } 
     59        //} 
    6060         
    6161         
    6262        //if $order->hasLinetDocId() 
    6363        // Catch order actions 
    64         add_action('woocommerce_order_action_linet_manual_invoice', array($this, 'manual_invoice')); 
     64        add_action('woocommerce_order_action_linet_manual_invoice',  [$this,'manual_invoice']); 
    6565        //add_action('woocommerce_order_action_linet_manual_payment', array($this, 'manual_payment')); 
    6666    } 
     
    8484        $data=get_post_meta($post->ID, '_linet_invoice_id'); 
    8585        //if(count($data)==0) 
    86         $actions['linet_manual_invoice'] = __('Send Invoice to Linet', 'wc-linet'); 
     86            $actions['linet_manual_invoice'] = __('Send Doc. to Linet', 'wc-linet'); 
    8787        //$actions['linet_manual_payment'] = __('Send Payment to Linet', 'wc-linet'); 
    8888 
     
    101101 
    102102 
    103  
     103         
    104104        // Invoice Manager 
    105105        $invoice_manager = new WC_LI_Invoice_Manager($this->settings); 
    106  
     106         
    107107        // Send Invoice 
    108108        $invoice_manager->send_invoice($order->id); 
    109         //var_dump($order);exit; 
     109 
    110110        return true; 
    111111    } 
  • linet-erp-woocommerce-integration/trunk/classes/class-wc-li-payment-manager.php

    r1565711 r1567833  
    66  Author: Speedcomp 
    77  Author URI: http://www.linet.org.il 
    8   Version: 0.7 
     8  Version: 0.91 
    99  Text Domain: wc-linet 
    1010  Domain Path: /languages/ 
  • linet-erp-woocommerce-integration/trunk/classes/class-wc-li-payment.php

    r1565711 r1567833  
    66  Author: Speedcomp 
    77  Author URI: http://www.linet.org.il 
    8   Version: 0.7 
     8  Version: 0.91 
    99  Text Domain: wc-linet 
    1010  Domain Path: /languages/ 
  • linet-erp-woocommerce-integration/trunk/classes/class-wc-li-settings.php

    r1565711 r1567833  
    66  Author: Speedcomp 
    77  Author URI: http://www.linet.org.il 
    8   Version: 0.7 
     8  Version: 0.91 
    99  Text Domain: wc-linet 
    1010  Domain Path: /languages/ 
     
    3535    const OPTION_PREFIX = 'wc_linet_'; 
    3636    const SERVER = "https://app.linet.org.il"; 
    37  
    38     //const SERVER = "https://app.linet.org.il"; 
     37    const DEV_SERVER = "https://dev.linet.org.il"; 
     38 
    3939    // Settings defaults 
    4040    private $settings = array(); 
     
    5656        add_action('wp_ajax_LinetItemSync', 'WC_LI_Settings::catSyncAjax'); 
    5757        add_action('wp_ajax_LinetTest', 'WC_LI_Settings::TestAjax'); 
     58        add_action('wp_ajax_CatList', 'WC_LI_Settings::CatListAjax'); 
     59        add_action('wp_ajax_CatDet', 'WC_LI_Settings::CatDetAjax'); 
    5860 
    5961        if ($override !== null) { 
    6062            $this->override = $override; 
    6163        } 
    62  
     64        $supported_gateways = array(); 
     65         
     66         
     67         
     68        
    6369        // Set the settings 
    6470        $this->settings = array( 
     
    138144                'type' => 'checkbox', 
    139145                'description' => __('Use Linet to sync items', 'wc-linet') . 
    140                 ' <a href="#target" onclick="trySend()">Manual Items Sync</a>' . 
     146                ' <a href="#target" onclick="linet.trySend();">Manual Items Sync</a>' . 
    141147                "<div id='mItems' class='hidden'>" . 
    142148                ' 
     
    148154            , 
    149155            ), 
     156            /* 
     157            'update_cat' => array( 
     158                'title' => __('Update Catagories', 'wc-linet'), 
     159                'default' => '', 
     160                'type' => 'text', 
     161                'description' => __('Use Linet to sync items', 'wc-linet') . 
     162                ' <a href="#getList" onclick="linet.getList();">Get List</a>' . 
     163                "<ul id='catList' class=''>" . 
     164                ' ' . 
     165                "</ul>" 
     166            ),*/ 
     167            'last_update' => array( 
     168                'title' => __('Last Update Time', 'wc-linet'), 
     169                'default' => '', 
     170                'type' => 'text', 
     171                'description' => __('Last Update Time ', 'wc-linet'), 
     172                'options' => array( 
     173                    'readonly' => true, 
     174                ) 
     175            ), 
     176            /* 
     177              'cat_select' => array( 
     178              'title' => __('Categroy Select', 'wc-linet'), 
     179              'default' => 'off', 
     180              'type' => 'checkbox', 
     181              'description' => __('Find Linet items by SKU and not there Item ID', 'wc-linet'), 
     182              ), */ 
    150183            'sku_find' => array( 
    151                 'title' => __('SKU Items', 'wc-linet'), 
     184                'title' => __('SKU Find', 'wc-linet'), 
    152185                'default' => 'off', 
    153186                'type' => 'checkbox', 
     
    156189            'sync_orders' => array( 
    157190                'title' => __('Sync Orders', 'wc-linet'), 
    158                 'default' => 'on', 
    159                 'type' => 'checkbox', 
     191                'default' => 'none', 
     192                //type' => 'checkbox', 
     193                'type' => 'select', 
     194                'options' => array( 
     195                    'none' => __('Manually', 'wc-linet'), 
     196                    'processing' => __('On Creation', 'wc-linet'), 
     197                    'completed' => __('On Completion', 'wc-linet'), 
     198                ), 
    160199                'description' => __('Auto Genrate Invoice Recipet in Linet', 'wc-linet'), 
     200            ), 
     201            'linet_doc' => array( 
     202                'title' => __('Linet Document Type', 'wc-linet'), 
     203                'default' => '9', 
     204                //type' => 'checkbox', 
     205                'type' => 'select', 
     206                'options' => array( 
     207                    '1' => __('Performa', 'wc-linet'), 
     208                     '2' => __('Delivery Doc.', 'wc-linet'), 
     209                    '3' => __('Invoice', 'wc-linet'), 
     210                     
     211                    '7' => __('Sales Order', 'wc-linet'), 
     212                    '8' => __('Receipt', 'wc-linet'), 
     213                    '9' => __('Invoice Receipt', 'wc-linet'), 
     214                    '17' => __('Stock Exist Doc.', 'wc-linet'), 
     215                     
     216                ), 
     217                 
     218                //'options' => $supported_gateways, 
     219                'description' => __('Select linet document type', 'wc-linet'), 
     220            ), 
     221             
     222            'supported_gateways' => array( 
     223                'title' => __('Supported Gateways', 'wc-linet'), 
     224                'default' => '', 
     225                //type' => 'checkbox', 
     226                'type' => 'pay_list', 
     227                //'options' => $supported_gateways, 
     228                'description' => __('Select Gateways to invoice', 'wc-linet'), 
    161229            ), 
    162230            'stock_manage' => array( 
     
    171239                'type' => 'checkbox', 
    172240                'description' => __('Enable logging.  Log file is located at: /wc-logs/', 'wc-linet'), 
     241            ), 
     242            'dev' => array( 
     243                'title' => __('Dev Mode', 'wc-linet'), 
     244                'default' => 'off', 
     245                'type' => 'checkbox', 
     246                'description' => __('Will work aginst the dev server', 'wc-linet'), 
    173247            ), 
    174248        ); 
     
    267341                <h2><?php _e('Linet for WooCommerce', 'wc-linet'); ?></h2> 
    268342 
    269         <?php 
    270         if (isset($_GET['settings-updated']) && ( $_GET['settings-updated'] == 'true' )) { 
    271             echo '<div id="message" class="updated fade"><p><strong>' . __('Your settings have been saved.', 'wc-linet') . '</strong></p></div>'; 
    272         } else if (isset($_GET['settings-updated']) && ( $_GET['settings-updated'] == 'false' )) { 
    273             echo '<div id="message" class="error fade"><p><strong>' . __('There was an error saving your settings.', 'wc-linet') . '</strong></p></div>'; 
    274         } 
    275         ?> 
    276  
    277                  
    278                 <a href="#target1" onclick="doTest()">Test Connection</a> (You can Check The Connection Only After Saving) 
     343                <?php 
     344                if (isset($_GET['settings-updated']) && ( $_GET['settings-updated'] == 'true' )) { 
     345                    echo '<div id="message" class="updated fade"><p><strong>' . __('Your settings have been saved.', 'wc-linet') . '</strong></p></div>'; 
     346                } else if (isset($_GET['settings-updated']) && ( $_GET['settings-updated'] == 'false' )) { 
     347                    echo '<div id="message" class="error fade"><p><strong>' . __('There was an error saving your settings.', 'wc-linet') . '</strong></p></div>'; 
     348                } 
     349                ?> 
     350 
     351 
     352                <a href="#target1" onclick="linet.doTest();">Test Connection</a> (You can Check The Connection Only After Saving) 
    279353                <?php settings_fields('woocommerce_linet'); ?> 
    280                 <?php do_settings_sections('woocommerce_linet'); ?> 
    281                  
     354        <?php do_settings_sections('woocommerce_linet'); ?> 
     355 
    282356 
    283357 
    284358                <p class="submit"><input type="submit" class="button-primary" value="Save"/></p> 
    285359                <script> 
    286                     function doTest() { 
    287                         var data = { 
    288                             'action': 'LinetTest', 
    289                             //'mode': 1 
    290                         }; 
    291  
    292  
    293                         jQuery.post(ajaxurl, data, function (response) { 
    294                             //console.log(response); 
    295                             console.log(response); 
    296                             alert(response.text); 
    297                             //count 
    298  
    299                         },'json'); 
    300  
    301  
    302                     } 
    303  
    304                     function doCall(num) { 
    305                         var data = { 
    306                             'action': 'LinetItemSync', 
    307                             'mode': 1 
    308                         }; 
    309                         max = jQuery('#targetBar').attr("max"); 
    310                         if (num) 
     360                    linet = { 
     361                        catDet: function (response) { 
     362                            jQuery('#catValue' + response.id).html(response.wc_count + "/" + response.linet_count); 
     363 
     364 
     365                        }, 
     366                        getList: function () { 
     367                            var data = { 
     368                                'action': 'CatList', 
     369                                //'mode': 1 
     370                            }; 
     371 
     372 
    311373                            jQuery.post(ajaxurl, data, function (response) { 
    312374                                //console.log(response); 
    313  
    314                                 bar = max - num; 
    315  
    316                                 jQuery('#target').html("Categories Processed:  " + bar + "/" + max + ""); 
    317                                 jQuery('#targetBar').val(bar); 
    318  
    319  
    320  
    321                                 jQuery('#subTarget').html("Item Processed: 0/" + response + ""); 
    322                                 jQuery('#subTargetBar').attr("max", 1 * response); 
    323  
    324                                 subCall(num - 1, 0); 
     375                                jQuery('#catList').html(""); 
     376                                //console.log(response.body.length); 
     377                                for (i = 0; i < response.body.length; i++) { 
     378                                    //console.log(response.body[i].name); 
     379                                    jQuery('#catList').append("<li>" + response.body[i].name + " <span id='catValue" + response.body[i].id + "'></span></li>"); 
     380 
     381                                    jQuery.post(ajaxurl, { 
     382                                        'action': 'CatDet', 
     383                                        'id': response.body[i].id, 
     384                                        'catName': response.body[i].name 
     385                                    }, function (response) { 
     386                                        linet.catDet(response); 
     387 
     388                                    }, 'json'); 
     389 
     390                                } 
     391 
     392 
     393                                //console.log(response); 
     394                                //alert(response.text); 
    325395                                //count 
    326396 
    327                             }); 
    328  
    329  
    330                     } 
    331  
    332  
    333                     function trySend() { 
    334                         var data = { 
    335                             'action': 'LinetItemSync', 
    336                             'mode': 0 
    337                         }; 
    338                         jQuery('#mItems').removeClass('hidden'); 
    339  
    340                         jQuery.post(ajaxurl, data, function (response) { 
    341                             jQuery('#target').html("Categories Processed:  0/" + response + ""); 
    342                             jQuery('#targetBar').attr("max", response); 
    343  
    344                             doCall(response); 
    345                         }); 
    346                         return false 
    347                     } 
    348  
    349                     function doCall(num) { 
    350                         var data = { 
    351                             'action': 'LinetItemSync', 
    352                             'mode': 1 
    353                         }; 
    354                         max = jQuery('#targetBar').attr("max"); 
    355                         if (num) 
     397                            }, 'json'); 
     398 
     399 
     400                        }, 
     401                        doTest: function () { 
     402                            var data = { 
     403                                'action': 'LinetTest', 
     404                                //'mode': 1 
     405                            }; 
     406 
     407 
    356408                            jQuery.post(ajaxurl, data, function (response) { 
    357409                                //console.log(response); 
    358  
    359                                 bar = max - num; 
    360  
    361                                 jQuery('#target').html("Categories Processed:  " + bar + "/" + max + ""); 
    362                                 jQuery('#targetBar').val(bar); 
    363  
    364  
    365  
    366                                 jQuery('#subTarget').html("Item Processed: 0/" + response + ""); 
    367                                 jQuery('#subTargetBar').attr("max", 1 * response); 
    368  
    369                                 subCall(num - 1, 0); 
     410                                console.log(response); 
     411                                alert(response.text); 
    370412                                //count 
    371413 
     414                            }, 'json'); 
     415 
     416 
     417                        }, 
     418                        doCall: function (num) { 
     419                            var data = { 
     420                                'action': 'LinetItemSync', 
     421                                'mode': 1 
     422                            }; 
     423                            max = jQuery('#targetBar').attr("max"); 
     424                            if (num) 
     425                                jQuery.post(ajaxurl, data, function (response) { 
     426                                    //console.log(response); 
     427 
     428                                    bar = max - num; 
     429 
     430                                    jQuery('#target').html("Categories Processed:  " + bar + "/" + max + ""); 
     431                                    jQuery('#targetBar').val(bar); 
     432 
     433 
     434 
     435                                    jQuery('#subTarget').html("Item Processed: 0/" + response + ""); 
     436                                    jQuery('#subTargetBar').attr("max", 1 * response); 
     437 
     438                                    linet.subCall(num - 1, 0); 
     439                                    //count 
     440 
     441                                }); 
     442 
     443 
     444                        }, 
     445                        trySend: function () { 
     446                            var data = { 
     447                                'action': 'LinetItemSync', 
     448                                'mode': 0 
     449                            }; 
     450                            jQuery('#mItems').removeClass('hidden'); 
     451 
     452                            jQuery.post(ajaxurl, data, function (response) { 
     453                                jQuery('#target').html("Categories Processed:  0/" + response + ""); 
     454                                jQuery('#targetBar').attr("max", response); 
     455 
     456                                linet.doCall(response); 
    372457                            }); 
    373  
    374  
    375                     } 
    376                     function subCall(catnum, barnum) { 
    377                         var data = { 
    378                             'action': 'LinetItemSync', 
    379                             'mode': 2 
    380                         }; 
    381  
    382                         submax = 1 * jQuery('#subTargetBar').attr("max"); 
    383  
    384                         //console.log("Catagory:" + catnum + " Items:" + barnum + " Max:" + submax); 
    385                         if (barnum >= submax) { 
    386  
    387                             doCall(catnum); 
    388                         } else { 
    389                             jQuery.post(ajaxurl, data, function (response) { 
    390                                 //console.log("Items Ammount:"+response); 
    391  
    392                                 barnum += (1) * (response); 
    393  
    394                                 jQuery('#subTarget').html("Item Processed: " + barnum + "/" + submax + ""); 
    395                                 jQuery('#subTargetBar').val(barnum); 
    396                                 //console.log("Item Processed:" + barnum + "/" + submax); 
    397                                 subCall(catnum, barnum); 
    398                             }); 
    399  
    400  
    401                         } 
    402                         //next cat  
    403  
    404                     } 
     458                            return false 
     459                        }, 
     460                        doCall: function (num) { 
     461                            var data = { 
     462                                'action': 'LinetItemSync', 
     463                                'mode': 1 
     464                            }; 
     465                            max = jQuery('#targetBar').attr("max"); 
     466                            if (num) 
     467                                jQuery.post(ajaxurl, data, function (response) { 
     468                                    //console.log(response); 
     469 
     470                                    bar = max - num; 
     471 
     472                                    jQuery('#target').html("Categories Processed:  " + bar + "/" + max + ""); 
     473                                    jQuery('#targetBar').val(bar); 
     474 
     475 
     476 
     477                                    jQuery('#subTarget').html("Item Processed: 0/" + response + ""); 
     478                                    jQuery('#subTargetBar').attr("max", 1 * response); 
     479 
     480                                    linet.subCall(num - 1, 0); 
     481                                    //count 
     482 
     483                                }); 
     484 
     485 
     486                        }, 
     487                                subCall: function (catnum, barnum) { 
     488                                    var data = { 
     489                                        'action': 'LinetItemSync', 
     490                                        'mode': 2 
     491                                    }; 
     492 
     493                                    submax = 1 * jQuery('#subTargetBar').attr("max"); 
     494 
     495                                    //console.log("Catagory:" + catnum + " Items:" + barnum + " Max:" + submax); 
     496                                    if (barnum >= submax) { 
     497 
     498                                        linet.doCall(catnum); 
     499                                    } else { 
     500                                        jQuery.post(ajaxurl, data, function (response) { 
     501                                            //console.log("Items Ammount:"+response); 
     502 
     503                                            barnum += (1) * (response); 
     504 
     505                                            jQuery('#subTarget').html("Item Processed: " + barnum + "/" + submax + ""); 
     506                                            jQuery('#subTargetBar').val(barnum); 
     507                                            //console.log("Item Processed:" + barnum + "/" + submax); 
     508                                            linet.subCall(catnum, barnum); 
     509                                        }); 
     510 
     511 
     512                                    } 
     513                                    //next cat  
     514 
     515                                } 
     516 
     517 
     518                    }; 
     519 
     520 
     521 
     522 
     523 
     524 
     525 
     526 
    405527 
    406528 
     
    439561    } 
    440562 
     563    public function input_select($args) { 
     564        $option = $this->get_option($args['key']); 
     565 
     566        $name = esc_attr(self::OPTION_PREFIX . $args['key']); 
     567        $id = esc_attr(self::OPTION_PREFIX . $args['key']); 
     568        echo "<select name='$name' id='$id'>"; 
     569 
     570        foreach ($args['option']['options'] as $key => $value) { 
     571            $selected = selected($option, $key, false); 
     572            $text = esc_html($value); 
     573            $val = esc_attr($key); 
     574            echo "<option value='$val' $selected>$text</option>"; 
     575        } 
     576 
     577        echo '</select>'; 
     578        echo '<p class="description">' . esc_html($args['option']['description']) . '</p>'; 
     579    } 
     580 
     581    public function input_pay_list($args) { 
     582        $option = $this->get_option($args['key']); 
     583 
     584        $name = esc_attr(self::OPTION_PREFIX . $args['key']); 
     585        $id = esc_attr(self::OPTION_PREFIX . $args['key']); 
     586        //echo $option; 
     587        echo "<select name='{$name}[]' id='$id' multiple='true'>"; 
     588         
     589        $pay = new \WC_Payment_Gateways; 
     590         
     591        foreach ($pay->get_available_payment_gateways() as $id => $small) { 
     592            $args['option']['options'][$id] = $small->title; 
     593        } 
     594         
     595         
     596         
     597 
     598        foreach ($args['option']['options'] as $key => $value) { 
     599             $selected=''; 
     600            if(in_array($key, $option)){ 
     601                $selected='selected="selected"'; 
     602            } 
     603            //$selected = selected($option, $key, false); 
     604            $text = esc_html($value); 
     605            $val = esc_attr($key); 
     606            echo "<option value='$val' $selected>$text</option>"; 
     607        } 
     608 
     609        echo '</select>'; 
     610        echo '<p class="description">' . esc_html($args['option']['description']) . '</p>'; 
     611    } 
     612 
    441613    public static function sendAPI($req, $body = []) { 
    442614 
     615 
    443616        $server = Self::SERVER; 
     617        $dev = get_option('wc_linet_dev'); 
     618        if ($dev == 'on') { 
     619            $server = Self::DEV_SERVER; 
     620        } 
     621 
     622        //$dev = get_option('wc_linet_dev'); 
     623        //echo json_encode($server); 
     624        //wp_die(); 
     625 
    444626        $login_id = get_option('wc_linet_consumer_id'); 
    445627        $hash = get_option('wc_linet_consumer_key'); 
     
    468650 
    469651    public static function TestAjax() { 
     652 
    470653        $genral_item = get_option('wc_linet_genral_item'); 
    471654        $res = Self::sendAPI('view/item?id=' . $genral_item); 
     
    474657    } 
    475658 
     659    public static function CatListAjax() { 
     660        //$genral_item = get_option('wc_linet_genral_item'); 
     661        $res = Self::sendAPI('search/itemcategory'); 
     662        echo json_encode($res); 
     663        wp_die(); 
     664    } 
     665 
     666    public static function CatDetAjax() { 
     667        //$genral_item = get_option('wc_linet_genral_item'); 
     668        //$res = Self::sendAPI('search/itemcategory'); 
     669        $id = intval($_POST['id']); 
     670 
     671        $products = Self::sendAPI('search/item', ['category_id' => $id]); 
     672 
     673 
     674 
     675 
     676        global $wpdb; 
     677        $prefix = mysql_real_escape_string($wpdb->prefix); 
     678        $catName = mysql_real_escape_string($_POST['catName']); 
     679        $catName = $_POST['catName']; 
     680 
     681 
     682        $query = "SELECT * FROM `" . $prefix . "term_taxonomy` " . 
     683                " LEFT JOIN `" . $prefix . "postmeta` ON `" . $prefix . "postmeta`.post_id=`" . $prefix . 
     684                "posts`.ID where `" . $prefix . "posts`.post_type='product' and `" . $prefix . "posts`.post_status = 'publish' and `" . $prefix . 
     685                "postmeta`.meta_key='_linet_id' and `" . $prefix . "postmeta`.meta_value='" . $itemId . "';" . 
     686                "LEFT JOIN `" . $prefix . "term_taxonomy` ON `" . $prefix . "term_taxonomy`.term_id=`" . $prefix . "terms`.term_id " . 
     687                "where `" . 
     688                //"postmeta`.meta_key='_linet_id' and `" . $prefix . "postmeta`.meta_value='" . $itemId . "';"; 
     689                $prefix . "term_taxonomy`.taxonomy='product_cat' and `" . $prefix . "terms`.name='" . $catName . "';"; 
     690        $product_id = $wpdb->get_results($query); 
     691 
     692        //echo $query; 
     693 
     694        $arr = array( 
     695            'id' => $id, 
     696            'linet_count' => count($products->body), 
     697            'wc_count' => 'na' 
     698        ); 
     699 
     700 
     701        if (count($product_id) != 0) { 
     702            $term_id = $product_id[0]->term_id; 
     703 
     704 
     705            $arr['wc_count'] = get_term_meta($term_id, 'product_count_product_cat'); 
     706        }//else{ 
     707        //    $arr['wc_count']='NA'; 
     708        //} 
     709 
     710 
     711 
     712 
     713 
     714 
     715 
     716 
     717 
     718 
     719 
     720 
     721 
     722 
     723 
     724        echo json_encode($arr); 
     725        wp_die(); 
     726    } 
     727 
    476728    public static function catSyncAjax() { 
    477729 
     
    482734 
    483735        if ($mode == 0) { 
     736            update_option('wc_linet_last_update', date('d/m/Y H:m:i')); 
    484737            $cats = Self::sendAPI('search/itemcategory'); 
    485738            //$_SESSION['body'] = $cats->body; 
     
    565818                'name' => $cat->name, 
    566819            )); 
     820 
     821            update_term_meta($term_id, 'order', ''); 
     822            update_term_meta($term_id, 'display_type', ''); 
     823            update_term_meta($term_id, 'thumbnail_id', ''); 
     824            update_term_meta($term_id, 'product_count_product_cat', ''); 
    567825        } 
    568826 
     
    577835 
    578836        update_term_meta($term_id, '_linet_cat', $cat->id); 
    579         update_term_meta($term_id, 'order', ''); 
    580         update_term_meta($term_id, 'display_type', ''); 
    581         update_term_meta($term_id, 'thumbnail_id', ''); 
    582         update_term_meta($term_id, 'product_count_product_cat', ''); 
     837 
    583838 
    584839        return $term_id; 
     
    609864                'post_type' => "product", 
    610865            )); 
     866 
     867            update_post_meta($post_id, 'total_sales', '0'); 
     868            update_post_meta($post_id, '_visibility', 'visible'); 
     869            update_post_meta($post_id, '_stock_status', 'instock'); 
     870 
     871            update_post_meta($post_id, '_downloadable', 'no'); 
     872            update_post_meta($post_id, '_virtual', 'no'); 
     873 
     874            update_post_meta($post_id, '_purchase_note', ''); 
     875            update_post_meta($post_id, '_featured', 'no'); 
     876            update_post_meta($post_id, '_weight', ''); 
     877            update_post_meta($post_id, '_length', ''); 
     878            update_post_meta($post_id, '_width', ''); 
     879            update_post_meta($post_id, '_height', ''); 
     880 
     881            update_post_meta($post_id, '_product_attributes', array()); 
     882            update_post_meta($post_id, '_sale_price_dates_from', ''); 
     883            update_post_meta($post_id, '_sale_price_dates_to', ''); 
     884 
     885            update_post_meta($post_id, '_sold_individually', ''); 
     886            update_post_meta($post_id, '_backorders', 'no'); 
    611887        } else { 
    612888            $post_id = $product_id[0]->ID; 
     
    616892 
    617893        wp_set_object_terms($post_id, 'simple', 'product_type'); 
    618         update_post_meta($post_id, '_visibility', 'visible'); 
    619         update_post_meta($post_id, '_stock_status', 'instock'); 
    620         update_post_meta($post_id, 'total_sales', '0'); 
    621         update_post_meta($post_id, '_downloadable', 'no'); 
    622         update_post_meta($post_id, '_virtual', 'yes'); 
    623         update_post_meta($post_id, '_regular_price', ''); 
    624         update_post_meta($post_id, '_sale_price', ''); 
    625         update_post_meta($post_id, '_purchase_note', ''); 
    626         update_post_meta($post_id, '_featured', 'no'); 
    627         update_post_meta($post_id, '_weight', ''); 
    628         update_post_meta($post_id, '_length', ''); 
    629         update_post_meta($post_id, '_width', ''); 
    630         update_post_meta($post_id, '_height', ''); 
     894 
    631895        update_post_meta($post_id, '_sku', $item->item->sku); 
    632896        update_post_meta($post_id, '_linet_id', $item->item->id); 
    633         update_post_meta($post_id, '_product_attributes', array()); 
    634         update_post_meta($post_id, '_sale_price_dates_from', ''); 
    635         update_post_meta($post_id, '_sale_price_dates_to', ''); 
     897 
    636898        update_post_meta($post_id, '_price', $item->item->saleprice); 
    637         update_post_meta($post_id, '_sold_individually', ''); 
    638         update_post_meta($post_id, '_backorders', 'no'); 
     899        update_post_meta($post_id, '_regular_price', $item->item->saleprice); 
     900        update_post_meta($post_id, '_sale_price', $item->item->saleprice); 
     901 
    639902 
    640903        if ($stockManage == 'on') { 
     
    671934 
    672935    public static function catSync() { 
     936        update_option('wc_linet_last_update', date('d/m/Y H:m:i')); 
    673937        $cats = Self::sendAPI('search/itemcategory'); 
    674938        $cats = $cats->body; 
  • linet-erp-woocommerce-integration/trunk/nbproject/private/private.xml

    r1565711 r1567833  
    33    <editor-bookmarks xmlns="http://www.netbeans.org/ns/editor-bookmarks/2" lastBookmarkId="0"/> 
    44    <open-files xmlns="http://www.netbeans.org/ns/projectui-open-files/2"> 
    5         <group> 
    6             <file>file:/home/adam/woo/woocommerce-linet/classes/class-wc-li-settings.php</file> 
    7             <file>file:/home/adam/woo/woocommerce-linet/classes/class-wc-li-invoice.php</file> 
    8             <file>file:/home/adam/woo/woocommerce-linet/woocommerce-linet.php</file> 
    9             <file>file:/home/adam/woo/woocommerce-linet/classes/class-wc-li-payment.php</file> 
    10             <file>file:/home/adam/woo/woocommerce-linet/classes/class-wc-li-order-actions.php</file> 
    11         </group> 
     5        <group/> 
    126    </open-files> 
    137</project-private> 
  • linet-erp-woocommerce-integration/trunk/woo-includes/class-wc-dependencies.php

    r1565711 r1567833  
    66  Author: Speedcomp 
    77  Author URI: http://www.linet.org.il 
    8   Version: 0.7 
     8  Version: 0.91 
    99  Text Domain: wc-linet 
    1010  Domain Path: /languages/ 
  • linet-erp-woocommerce-integration/trunk/woo-includes/woo-functions.php

    r1565711 r1567833  
    66  Author: Speedcomp 
    77  Author URI: http://www.linet.org.il 
    8   Version: 0.7 
     8  Version: 0.91 
    99  Text Domain: wc-linet 
    1010  Domain Path: /languages/ 
  • linet-erp-woocommerce-integration/trunk/woocommerce-linet.php

    r1565711 r1567833  
    66  Author: Speedcomp 
    77  Author URI: http://www.linet.org.il 
    8   Version: 0.9 
     8  Version: 0.91 
    99  Text Domain: wc-linet 
    1010  Domain Path: /languages/ 
     
    4646class WC_Linet { 
    4747 
    48     const VERSION = '0.9'; 
     48    const VERSION = '0.91'; 
    4949 
    5050    /** 
     
    8585        $payment_manager = new WC_LI_Payment_Manager($settings); 
    8686        $payment_manager->setup_hooks(); 
     87         
     88         
     89         
     90         
    8791 
    8892        // Plugins Links 
Note: See TracChangeset for help on using the changeset viewer.