Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- class Chrisg_Saveordertotxt_Model_Observer extends Varien_Event_Observer
- {
- public function exportOrder($observer)
- {
- $order = $observer->getEvent()->getOrder();
- $orderIncrementId = $order->getIncrementId();
- /*- Storing Folder -*/
- $quote = Mage::getModel('sales/quote')->load($order->getQuoteId());
- $helper = Mage::helper('saveordertotxt');
- if(!$helper->saveordertotxt_enable() || $order->getData('customer_taxvat')) {
- return false;
- }
- $saveDirectory = $helper->saveordertotxt_path();
- $filename = $helper->saveordertotxt_pname();
- $type = $helper->saveordertotxt_type();
- $filename = $baseDirectory.$saveDirectory."/".$filename;
- /* $saveDirectory = "/var/export/cron_export/"; */
- $baseDirectory = Mage::getBaseDir()."/";
- $saveDirectory = trim($saveDirectory, '/');
- $newDirectory = "";
- foreach(explode('/',$saveDirectory) as $val) {
- if(!is_dir($baseDirectory.$newDirectory.$val)){
- mkdir($baseDirectory.$newDirectory.$val, 0755);
- chmod($baseDirectory.$newDirectory.$val, 0755);
- }
- $newDirectory .= $val."/";
- }
- if($type == "csv") {
- $this->CsvExport($filename, $order);
- } else if($type == "txt") {
- $this->txtExport($filename, $order);
- }
- }
- public function txtExport($filename, $order) {
- $filename .= "_".date('dmY-His').".txt";
- $street = "";
- if($order->getShippingAddress()->getStreet(1)){
- $street .= $order->getShippingAddress()->getStreet(1);
- if($order->getShippingAddress()->getStreet(2)){
- $street .= " ".$order->getShippingAddress()->getStreet(2);
- }
- }else {
- $street .= $order->getBillingAddress()->getStreet(1);
- if($order->getBillingAddress()->getStreet(2)){
- $street .= " ".$order->getBillingAddress()->getStreet(2);
- }
- }
- $data = "";
- $data .= 'UNB+UNOC:3+SKLEP_INTERNETOWY:14+5907051002098:14+'.date('ymd:Hi').'+'.$order->getIncrementId().'+++++EANCOM+1'."\n";
- $data .= "UNH+1+ORDERS:D:96A:UN:EAN008'"."\n";
- $data .= "BGM+227::9:".$order->getIncrementId()."'"."\n";
- $data .= "DTM+137:".date('Ymd',strtotime($order->getCreatedAt())).":102'"."\n";
- $data .= "DTM+2:".date('Ymd',strtotime($order->getUpdatedAt())).":102'"."\n";
- $data .= "NAD+SU+5907051002098::9'"."\n";
- $data .= "NAD+BY+FAKTURA::9'"."\n";
- $data .= "NAD+IV+FAKTURA::9'"."\n";
- $data .= "NAD+DP+DOSTAWA::9++".$order->getShippingAddress()->getFirstname().":".$order->getShippingAddress()->getLastname()."+".$street."+".$order->getShippingAddress()->getCity()."++".$order->getShippingAddress()->getPostcode()."+".$order->getShippingAddress()->getCountryId()."'"."\n";
- $data .= "COM+?+".$order->getShippingAddress()->getTelephone().":TE'"."\n";
- $data .= "COM+".$order->getShippingAddress()->getEmail().":EM'"."\n";
- $data .= "CUX+2:PLN:9'"."\n";
- $data .= "PAT+7++5:3:D:30'"."\n";
- $iterator = 1;
- foreach ($order->getAllItems() as $item) {
- $data .= "LIN+".$iterator."++5907051020573:EN'"."\n";
- $data .= "PIA+1+25042847:BP+".$item->getSku().":SA'"."\n";
- $data .= "IMD+F++:::".$item->getName()."'"."\n";
- $data .= "QTY+21:".number_format((float)$item->getQtyOrdered(), 2, '.', '').":PCE'"."\n";
- $iterator++;
- }
- $data .= "UNS+S'"."\n";
- $data .= "CNT+2:2'"."\n";
- $data .= "UNT+37+1'"."\n";
- $data .= "UNZ+1+".$order->getIncrementId()."'"."\n";
- if($data != "") {
- file_put_contents($filename, "\xEF\xBB\xBF". $data, FILE_APPEND | LOCK_EX);
- }
- }
- public function CsvExport($filename, $orderData) {
- $filename .= "_".date('dmY-His').".csv";
- foreach($orderData as $key => $value ) {
- $labelArray .= $key.",";
- $valueArray .= $value.",";
- }
- $labelArray = substr($labelArray, 0, -1);
- $valueArray = substr($valueArray, 0, -1);
- $data[] = array_combine(explode(",", $labelArray), explode(",", $labelArray));
- $data[] = array_combine(explode(",", $labelArray), explode(",", $valueArray));
- if(count($data) > 0 ) {
- $fp = fopen($filename, 'w');
- foreach ($data as $product) {
- fputcsv($fp, $product);
- }
- fclose($fp);
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement