Пример #1
0
 /**
  * create_document.
  */
 function create_document($order_id, $invoice_type)
 {
     if (false == wcj_is_invoice_created($order_id, $invoice_type)) {
         wcj_create_invoice($order_id, $invoice_type);
     }
     /*
     if ( '' == get_post_meta( $order_id, '_wcj_invoicing_' . $invoice_type . '_number', true ) ) {
     	if ( 'yes' === get_option( 'wcj_invoicing_' . $invoice_type . '_sequential_enabled' ) ) {
     		$the_invoice_number = get_option( 'wcj_invoicing_' . $invoice_type . '_numbering_counter', 1 );
     		update_option( 'wcj_invoicing_' . $invoice_type . '_numbering_counter', ( $the_invoice_number + 1 ) );
     	} else {
     		$the_invoice_number = $order_id;
     	}
     	update_post_meta( $order_id, '_wcj_invoicing_' . $invoice_type . '_number', $the_invoice_number );
     	update_post_meta( $order_id, '_wcj_invoicing_' . $invoice_type . '_date', time() );
     }
     */
 }
 /**
  * Renumerate invoices function.
  *
  * @version 2.3.10
  */
 function renumerate_invoices($invoice_type, $start_number, $start_date, $end_date, $order_statuses, $the_delete_all)
 {
     $output = '';
     if (0 != $start_number) {
         update_option('wcj_invoicing_' . $invoice_type . '_numbering_counter', $start_number);
     }
     $date_query_array = array(array('after' => $start_date, 'inclusive' => true));
     if ('' != $end_date) {
         $date_query_array[0]['before'] = $end_date;
     }
     $deleted_invoices_counter = 0;
     $created_invoices_counter = 0;
     $offset = 0;
     $block_size = 96;
     while (true) {
         $args = array('post_type' => 'shop_order', 'post_status' => 'any', 'posts_per_page' => $block_size, 'offset' => $offset, 'orderby' => 'date', 'order' => 'ASC', 'date_query' => $date_query_array);
         $loop = new WP_Query($args);
         if (!$loop->have_posts()) {
             break;
         }
         while ($loop->have_posts()) {
             $loop->the_post();
             $order_id = $loop->post->ID;
             if (in_array($loop->post->post_status, $order_statuses) && strtotime($loop->post->post_date) >= strtotime($start_date) && (strtotime($loop->post->post_date) <= strtotime($end_date) || '' == $end_date)) {
                 $the_order = wc_get_order($order_id);
                 if (0 != $the_order->get_total()) {
                     wcj_create_invoice($order_id, $invoice_type, strtotime($loop->post->post_date));
                     $created_invoices_counter++;
                 }
             } else {
                 if ($the_delete_all && wcj_is_invoice_created($order_id, $invoice_type)) {
                     wcj_delete_invoice($order_id, $invoice_type);
                     $deleted_invoices_counter++;
                 }
             }
         }
         $offset += $block_size;
     }
     $output .= '<p>' . sprintf(__('Total documents created: %d', 'woocommerce-jetpack'), $created_invoices_counter) . '</p>';
     $output .= '<p>' . sprintf(__('Total documents deleted: %d', 'woocommerce-jetpack'), $deleted_invoices_counter) . '</p>';
     return $output;
 }
 /**
  * create_document.
  *
  * @version 2.5.7
  */
 function create_document($order_id, $invoice_type)
 {
     if (false == wcj_is_invoice_created($order_id, $invoice_type)) {
         wcj_create_invoice($order_id, $invoice_type);
         return true;
     }
     return false;
 }
 /**
  * Renumerate invoices function.
  */
 public function renumerate_invoices($invoice_type, $start_number, $start_date, $order_statuses, $the_delete_all)
 {
     $output = '';
     if (0 != $start_number) {
         update_option('wcj_invoicing_' . $invoice_type . '_numbering_counter', $start_number);
     }
     $args = array('post_type' => 'shop_order', 'post_status' => 'any', 'posts_per_page' => -1, 'orderby' => 'date', 'order' => 'ASC');
     $loop = new WP_Query($args);
     $deleted_invoices_counter = 0;
     $created_invoices_counter = 0;
     while ($loop->have_posts()) {
         $loop->the_post();
         $order_id = $loop->post->ID;
         if (in_array($loop->post->post_status, $order_statuses) && strtotime($loop->post->post_date) >= strtotime($start_date)) {
             $the_order = wc_get_order($order_id);
             if (0 != $the_order->get_total()) {
                 wcj_create_invoice($order_id, $invoice_type, strtotime($loop->post->post_date));
                 $created_invoices_counter++;
             }
         } else {
             if ($the_delete_all && wcj_is_invoice_created($order_id, $invoice_type)) {
                 wcj_delete_invoice($order_id, $invoice_type);
                 $deleted_invoices_counter++;
             }
         }
     }
     $output .= '<p>' . sprintf(__('Total documents created: %d', 'woocommerce-jetpack'), $created_invoices_counter) . '</p>';
     $output .= '<p>' . sprintf(__('Total documents deleted: %d', 'woocommerce-jetpack'), $deleted_invoices_counter) . '</p>';
     return $output;
 }