Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- $newordercollection = Mage::getModel("sales/order")->getCollection()->addFieldToFilter('customer_id',$customerArray['entity_id']);
- $collection->setOrder('entity_id', 'ASC');
- $firstItem = $newordercollection->getFirstItem();
- $orderID = $firstItem->getIncrementId();
- $data = $newordercollection->getData();
- $createdAt = $firstItem->getCreatedAt();
- $myTimezone = new DateTimeZone("Asia/Kolkata");
- $UTC = new DateTimeZone("UTC");
- $newDate = new DateTime( $createdAt, $UTC );
- $newDate->setTimezone( $myTimezone );
- $createdAt = $newDate->format('Y-m-d H:i:s');
- $customerREquiredArray['order date']= $createdAt;
- <?php
- require_once('app/Mage.php');
- umask(0);
- if (!Mage::isInstalled()) {
- echo "Application is not installed yet, please complete install wizard first.";
- exit;
- }
- // Only for urls // Don't remove this
- $_SERVER['SCRIPT_NAME'] = str_replace(basename(__FILE__), 'index.php', $_SERVER['SCRIPT_NAME']);
- $_SERVER['SCRIPT_FILENAME'] = str_replace(basename(__FILE__), 'index.php', $_SERVER['SCRIPT_FILENAME']);
- Mage::app('admin')->setUseSessionInUrl(false);
- Mage::setIsDeveloperMode(true);
- ini_set('display_errors', 1);
- error_reporting(E_ALL);
- try {
- Mage::getConfig()->init();
- Mage::app();
- } catch (Exception $e) {
- Mage::printException($e);
- }
- ini_set('memory_limit', '500M');
- $customerCount = 0;
- try {
- //configure the collection filters.
- $collection = Mage::getResourceModel('customer/customer_collection')
- ->addAttributeToSelect('entity_id')
- ->addAttributeToSelect('firstname')
- ->addAttributeToSelect('email');
- //Add a page size to the result set.
- $collection->setPageSize(50);
- //discover how many page the result will be.
- $pages = $collection->getLastPageNumber();
- $currentPage = 1;
- //This is the file to append the output to.
- $fp = fopen('customers.csv', 'w');
- $addedKeys = false;
- do {
- //Tell the collection which page to load.
- $collection->setCurPage($currentPage);
- $collection->load();
- foreach ($collection as $customer) {
- $customerArray = $customer->toArray();
- $newordercollection = Mage::getModel("sales/order")->getCollection()->addFieldToFilter('customer_id', $customerArray['entity_id']);
- $collection->setOrder('entity_id', 'ASC');
- $firstItem = $newordercollection->getFirstItem();
- $orderID = $firstItem->getIncrementId();
- // date
- $data = $newordercollection->getData();
- $createdAt = $firstItem->getCreatedAt();
- if ($createdAt != '') {
- $myTimezone = new DateTimeZone("Asia/Kolkata");
- $UTC = new DateTimeZone("UTC");
- $newDate = new DateTime($createdAt, $UTC);
- $newDate->setTimezone($myTimezone);
- $createdAt = $newDate->format('Y-m-d H:i:s');
- }
- // get product information
- foreach ($newordercollection as $orderkey => $ordervalue) {
- foreach ($ordervalue->getAllVisibleItems() as $item) {
- $sku = $item->getSku();
- }
- $eid = $ordervalue->getOrderId();
- $order = Mage::getModel("sales/order")->load($eid);
- }
- //write the collection array as a CSV.
- $customerREquiredArray['customer ID'] = $customerArray['entity_id'];
- $customerREquiredArray['First name'] = $customerArray['firstname'];
- $customerREquiredArray['Email'] = $customerArray['email'];
- $customerREquiredArray['order id'] = $orderID;
- $customerREquiredArray['order date'] = $createdAt;
- $customerREquiredArray['products'] = $sku;
- if ($addedKeys == false) {
- $keys = array_keys($customerREquiredArray);
- fputcsv($fp, $keys);
- $addedKeys = true;
- }
- //var_dump($customerArray); echo "nn";
- fputcsv($fp, $customerREquiredArray);
- //fwrite($fp,print_r($customerArray,true) . chr(10) );
- $customerCount++;
- }
- $currentPage++;
- //make the collection unload the data in memory so it will pick up the next page when load() is called.
- $collection->clear();
- //break; //DEBUG
- echo "Finished page $currentPage of $pages n";
- } while ($currentPage <= $pages);
- fclose($fp);
- } catch (Exception $e) {
- //$response['error'] = $e->getMessage();
- Mage::printException($e);
- }
- echo "Saved $customerCount customers to csv file n";
Add Comment
Please, Sign In to add comment