function commerce_reports_geckoboard_sales_weekly in Commerce Reporting 7.3
Same name and namespace in other branches
- 7.4 modules/geckoboard/commerce_reports_geckoboard.module \commerce_reports_geckoboard_sales_weekly()
Geckoboard hook: Weekly sales
1 string reference to 'commerce_reports_geckoboard_sales_weekly'
- commerce_reports_geckoboard_geckoboardapi in modules/
geckoboard/ commerce_reports_geckoboard.module - Implements hook_geckoboard().
File
- modules/
geckoboard/ commerce_reports_geckoboard.module, line 88
Code
function commerce_reports_geckoboard_sales_weekly() {
$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');
// This week
$weekstart = strtotime(date("o-\\WW"));
$weekend = $weekstart + 604800;
$query = clone $basequery;
$query
->condition('o.created', $weekstart, '>=')
->condition('o.created', $weekend, '<');
$result = $query
->execute()
->fetchField(1);
$thisweek = (int) $result;
// Last week
$lastweekend = strtotime(date("o-\\WW"));
$lastweekstart = $lastweekend - 604800;
$query = clone $basequery;
$query
->condition('o.created', $lastweekstart, '>=')
->condition('o.created', $lastweekend, '<');
$result = $query
->execute()
->fetchField(1);
$lastweek = (int) $result;
$lastweek_text = t('@units last week', array(
'@units' => $lastweek,
));
return _commerce_reports_geckoboard_texthelper($thisweek, $lastweek_text);
}