1) ob_end_clean(); $config =& hikashop_config(); $format = $config->get('export_format','csv'); $separator = $config->get('csv_separator',';'); $force_quote = $config->get('csv_force_quote',1); $decimal_separator = $config->get('csv_decimal_separator','.'); $export = hikashop_get('helper.spreadsheet'); $export->init($format, 'hikashop_export', $separator, $force_quote, $decimal_separator); if(!empty($this->orders)){ $maxProd = 0; $productFields = null; foreach($this->orders as $order){ $nbProd = count(@$order->products); if($maxProd < $nbProd){ $maxProd = $nbProd; if(empty($productFields)){ $productFields = array_keys(get_object_vars(reset($order->products))); } } } if($maxProd && !empty($productFields)) { $first = array(); $o = reset($this->orders); foreach($o as $key => $val) { if(is_array($val)) continue; $first[] = $key; } $o = null; for($i=1;$i<=$maxProd;$i++){ foreach($productFields as $field){ $first[] = 'item'.$i.'_'.$field; } } } else { $first = array_keys(get_object_vars(reset($this->orders))); } $header = array("Cislo objednavky", "Meno", "Priezvisko", "Suma s DPH", "Datum", "Stav objednavky", "Kod produktu", "Pocet", "Nazov produktu", "Cena", "Email", "Telefon", "Ulica", "PSC", "Mesto", "Sposob platby", "Cena platby", "Cena dopravy", "ID dopravy", "Faktura", "Poznamka", "Doruc. adresa"); $export->writeLine($header); foreach($this->orders as $row){ if(!empty($row->user_created)) $row->user_created = hikashop_getDate($row->user_created,'%Y-%m-%d %H:%M:%S'); if(!empty($row->order_created)) $row->order_created = hikashop_getDate($row->order_created,'%Y-%m-%d %H:%M:%S'); if(!empty($row->order_modified)) $row->order_modified = hikashop_getDate($row->order_modified,'%Y-%m-%d %H:%M:%S'); $row2->cislo_objednavky = $row->order_number; $row2->meno = $row->billing_address_firstname; $row2->priezvisko = $row->billing_address_lastname; $row2->suma_s_dph = $row->order_full_price; $row2->datum = $row->order_created; $row2->stav_objednavky = $row->order_status; $row2->kod_produktu = ''; $row2->pocet = ''; $row2->nazov_produktu = ''; $row2->cena_produktu = ''; if($maxProd && !empty($productFields)){ for($i=1;$i<=$maxProd;$i++){ $prod =& $row->products[$i-1]; if (empty(@$prod->order_product_quantity)) continue; $row2->kod_produktu .= @$prod->order_product_code; $row2->kod_produktu .= "\n"; $row2->pocet .= @$prod->order_product_quantity; $row2->pocet .= "\n"; $row2->nazov_produktu .= @$prod->order_product_name; $row2->nazov_produktu .= "\n"; $row2->cena_produktu .= @$prod->order_product_price; $row2->cena_produktu .= "\n"; } } $row2->email = $row->user_email; $row2->telefon = $row->billing_address_telephone; $row2->ulica = $row->billing_address_street; $row2->psc = $row->billing_address_post_code; $row2->mesto = $row->billing_address_city; $row2->sposob_platby = $row->order_payment_method; $row2->cena_platby = $row->order_payment_price; $row2->cena_dopravy = $row->order_shipping_price; $row2->id_dopravy = $row->order_shipping_id; $row2->cislo_faktury = $row->fa; $row2->poznamka = $row->comment; $row2->adresa_dorucenie = $row->shipping_address_firstname . " " . $row->shipping_address_lastname . "\n" . $row->shipping_address_company . "\n" . $row->shipping_address_street . "\n" . $row->shipping_address_post_code . " " . $row->shipping_address_city; $export->writeLine($row2); } } $export->send(); exit;