function commerce_reports_geckoboard_sales_daily in Commerce Reporting 7.3
Same name and namespace in other branches
- 7.4 modules/geckoboard/commerce_reports_geckoboard.module \commerce_reports_geckoboard_sales_daily()
Geckoboard hook: Daily sales
@todo Just use GROUP BY to get daily/weekly/yearly sales. Not sure on pgsql.
1 string reference to 'commerce_reports_geckoboard_sales_daily'
- commerce_reports_geckoboard_geckoboardapi in modules/
geckoboard/ commerce_reports_geckoboard.module - Implements hook_geckoboard().
File
- modules/
geckoboard/ commerce_reports_geckoboard.module, line 56
Code
function commerce_reports_geckoboard_sales_daily() {
$basequery = db_select('commerce_line_item', 'li')
->fields('li', array(
'line_item_id',
))
->condition('li.type', 'product')
->condition('o.status', array(
'pending',
'processing',
'completed',
));
$basequery
->addExpression('SUM(quantity)', 'quantity');
$basequery
->join('commerce_order', 'o', 'o.order_id = li.order_id');
// Today
$today = mktime(0, 0, 0, date('n'), date('j'));
$query = clone $basequery;
$query
->condition('o.created', $today, '>=');
$result = $query
->execute()
->fetchField(1);
$todayunits = (int) $result;
// Yesterday
$yesterday = $today - 86400;
$query = clone $basequery;
$query
->condition('o.created', $yesterday, '>=')
->condition('o.created', $today, '<');
$result = $query
->execute()
->fetchField(1);
$yesterdayunits = (int) $result;
$yesterday_text = t('@units yesterday', array(
'@units' => $yesterdayunits,
));
return _commerce_reports_geckoboard_texthelper($todayunits, $yesterday_text);
}