<button  id='button_custom_field_products' class='button-secondary'><?php 
_e('Add Static Field', 'woocommerce-order-export');
?>
</button>
        </div>
    </div>           
</div>

<div id='fields_control_coupons' class='fields_control_style' style="display: none;">
    <div class='div_meta' >
        <label><?php 
_e('Meta key', 'woocommerce-order-export');
?>
:</label><select id='select_custom_meta_coupons'>
                <?php 
foreach (WC_Order_Export_Data_Extractor::get_all_coupon_custom_meta_fields() as $meta_id => $meta_name) {
    echo "<option value={$meta_name} >{$meta_name}</option>";
}
?>
            </select>
        <label><?php 
_e('Column Name', 'woocommerce-order-export');
?>
:</label><input type='text' id='colname_custom_meta_coupons'/></label>
        <div style="text-align: right;">
            <button  id='button_custom_meta_coupons' class='button-secondary'><?php 
_e('Add Field', 'woocommerce-order-export');
?>
</button>
        </div>
    </div>
Example #2
0
				<div style="text-align: right;">
					<button  id='button_custom_field' class='button-secondary'><?php 
_e('Confirm', 'woocommerce-order-export');
?>
</button>
					<button   class='button-secondary button_cancel'><?php 
_e('Cancel', 'woocommerce-order-export');
?>
</button>
				</div>
			</div>
			<div class='div1'><span><strong><?php 
_e('Use sections', 'woocommerce-order-export');
?>
:</strong></span> <?php 
foreach (WC_Order_Export_Data_Extractor::get_order_segments() as $section_id => $section_name) {
    echo "<label ><input type=checkbox value={$section_id} checked class='field_section'>{$section_name} &nbsp;</label>";
}
?>
			</div>
			<div class='div2'>
				<span><strong><?php 
_e('Actions', 'woocommerce-order-export');
?>
:</strong></span>
				<button  id='orders_add_custom_meta' class='button-secondary'><?php 
_e('Add Field', 'woocommerce-order-export');
?>
</button>
				<br><br>
				<button  id='orders_add_custom_field' class='button-secondary'><?php 
 public function get_export_settings($mode, $id = 0)
 {
     if ($mode == 'now' or !$id) {
         $settings = get_option($this->settings_name_now, array());
     } elseif ($mode == 'cron') {
         $all_jobs = get_option($this->settings_name_cron, array());
         if (isset($all_jobs[$id])) {
             $settings = $all_jobs[$id];
         } else {
             $settings = array();
         }
     }
     $defaults = array('statuses' => array(), 'from_date' => '', 'to_date' => '', 'shipping_locations' => array(), 'product_categories' => array(), 'products' => array(), 'product_attributes' => array(), 'product_taxonomies' => array(), 'format' => 'XLS', 'format_xls_display_column_names' => 1, 'format_xls_populate_other_columns_product_rows' => 0, 'format_csv_delimiter' => ',', 'format_csv_linebreak' => '\\r\\n', 'format_csv_display_column_names' => 1, 'format_csv_add_utf8_bom' => 0, 'format_csv_populate_other_columns_product_rows' => 0, 'format_xml_root_tag' => 'Orders', 'format_xml_order_tag' => 'Order', 'format_xml_product_tag' => 'Product', 'format_xml_coupon_tag' => 'Coupon');
     if (!isset($settings['format'])) {
         $settings['format'] = 'XLS';
     }
     if (!isset($settings['order_fields'])) {
         $settings['order_fields'] = array();
     }
     $settings['order_fields'] = $settings['order_fields'] + WC_Order_Export_Data_Extractor::get_order_fields($settings['format']);
     if (!isset($settings['order_product_fields'])) {
         $settings['order_product_fields'] = array();
     }
     $settings['order_product_fields'] = $settings['order_product_fields'] + WC_Order_Export_Data_Extractor::get_order_product_fields($settings['format']);
     if (!isset($settings['order_coupon_fields'])) {
         $settings['order_coupon_fields'] = array();
     }
     $settings['order_coupon_fields'] = $settings['order_coupon_fields'] + WC_Order_Export_Data_Extractor::get_order_coupon_fields($settings['format']);
     return array_merge($defaults, $settings);
 }
 public static function build_file($settings, $make_mode, $output_mode, $offset = false, $limit = false, $filename = '')
 {
     global $wpdb;
     if ($output_mode == 'browser') {
         $filename = 'php://output';
         while (@ob_end_clean()) {
         }
         // remove ob_xx
     } else {
         $filename = !empty($filename) ? $filename : tempnam("/tmp", $settings['format']);
     }
     //add_filter("woe_csv_output_filter",array($this,'testfilter'),10,2);
     $formater = self::init_formater($make_mode, $settings, $filename, $labels, $static_vals);
     $format = strtolower($settings['format']);
     if ($make_mode == 'finish') {
         if ($format != 'xls') {
             $formater->finish();
         }
         return $filename;
     }
     //get IDs
     $sql = WC_Order_Export_Data_Extractor::sql_get_order_ids($settings);
     if ($make_mode == 'preview') {
         $sql .= " ORDER BY order_id DESC LIMIT 1";
     } elseif ($make_mode != 'estimate') {
         $sql .= " ORDER BY order_id ASC";
     }
     //UNUSED ajax get partial orders
     if ($make_mode == 'partial') {
         $offset = intval($offset);
         $limit = intval($limit);
         $sql .= " LIMIT {$offset},{$limit}";
     }
     $order_ids = $wpdb->get_col($sql);
     //$order_ids	= array(387);
     // prepare for XLS/CSV
     $csv_max['coupons'] = $csv_max['products'] = 1;
     if ($format == 'xls' or $format == 'csv') {
         if (@$settings['order_fields']['products']['repeat'] == 'columns') {
             $csv_max['products'] = WC_Order_Export_Data_Extractor::get_max_order_items("line_item", $order_ids);
         }
         if (@$settings['order_fields']['coupons']['repeat'] == 'columns') {
             $csv_max['coupons'] = WC_Order_Export_Data_Extractor::get_max_order_items("coupon", $order_ids);
         }
     }
     // try to optimize calls
     $filters_active = array('order' => self::check_filters($settings['order_fields'], $format, 'order'), 'products' => self::check_filters($settings['order_product_fields'], $format, 'order_product'), 'coupons' => self::check_filters($settings['order_coupon_fields'], $format, 'order_coupon'));
     // check it once
     $export['products'] = $settings['order_fields']['products']['checked'];
     $export['coupons'] = $settings['order_fields']['coupons']['checked'];
     $get_coupon_meta = ($export['coupons'] and array_diff(array_keys($labels['coupons']), array('code', 'discount_amount', 'discount_amount_tax')));
     // 0
     $header = ($format == 'xls' or $format == 'csv') ? self::make_header_csv($labels, $csv_max) : '';
     $options = array();
     if ($format == 'xls' and @$settings['format_xls_populate_other_columns_product_rows'] or $format == 'csv' and @$settings['format_csv_populate_other_columns_product_rows']) {
         $options['populate_other_columns_product_rows'] = 1;
     }
     if ($make_mode != 'partial') {
         $formater->start($header);
     } elseif ($format == 'json' and $offset > 0) {
         $formater->prev_added = true;
     }
     if ($make_mode == 'estimate') {
         //if estimate return total count
         return $wpdb->get_var(str_replace('ID as order_id', 'COUNT(ID) as order_count', $sql));
     }
     WC_Order_Export_Data_Extractor::prepare_for_export();
     foreach ($order_ids as $order_id) {
         $rows = WC_Order_Export_Data_Extractor::fetch_order_data($order_id, $labels, $format, $filters_active, $csv_max, $export, $get_coupon_meta, $static_vals, $options);
         foreach ($rows as $row) {
             $formater->output($row);
         }
     }
     if ($make_mode != 'partial' or $format == 'xls') {
         $formater->finish();
     }
     return $filename;
 }
 public static function prepare_for_export()
 {
     self::$statuses = wc_get_order_statuses();
     self::$countries = WC()->countries->countries;
 }