Skip to content

Instantly share code, notes, and snippets.

@willboudle
Last active March 10, 2016 20:59
Show Gist options
  • Select an option

  • Save willboudle/54c57dff1d0b6dd721e0 to your computer and use it in GitHub Desktop.

Select an option

Save willboudle/54c57dff1d0b6dd721e0 to your computer and use it in GitHub Desktop.
mage email report
<?php
require './app/Mage.php';
Mage::app();
$sendToEmailAddress = 'addressedto@test.com';
$sendToName = 'AddressedTo Name';
//I set date in php because I want to set it also in different format as email subject
$dateStart = mktime(0, 0, 0, date('m'), date('d')-7, date('Y'));
$dateEnd = mktime(23, 59, 59, date('m'), date('d'), date('Y'));
$csv_result = '';
//retreive domain name, my script works on 4 different
$shopUrl = str_replace(array('http://', '/'), '', Mage::app()->getStore()->getBaseUrl());
$write = Mage::getSingleton('core/resource')->getConnection('core_write');
$sql = "SELECT sku, SUM(qty_ordered) AS cnt
FROM sales_flat_order_item
WHERE
order_id IN (
SELECT entity_id
FROM sales_flat_order
WHERE created_at BETWEEN '".date('Y-m-d', $dateStart)."' AND '".date('Y-m-d', $dateEnd)."' AND state != 'canceled'
)
GROUP BY sku";
$readresult=$write->query($sql);
while ($row = $readresult->fetch() ) {
$csv_result .= $row['sku'].','.$row['cnt']."\n";
}
$mail = new Zend_Mail();
$mail->setBodyText($message);
$mail->setBodyHtml($sql);
$mail->setFrom(Mage::getStoreConfig('trans_email/ident_general/email'), Mage::getStoreConfig('trans_email/ident_general/name'));
$mail->addTo($sendToEmailAddress, $sendToName);
$mail->setSubject('Weekly Sales Report from '.date('m/d/Y', $dateStart).' to '.date('m/d/Y', $dateEnd).' '.$shopUrl);
//create attachment from content variable
$at = $mail->createAttachment($csv_result);
$at->type = 'text/csv';//
$at->filename = $shopUrl.'_weekly_report_'.date('Y-m-d').'.csv';
$mail->send();
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment