function commerce_reports_geckoboard_sales_yearly in Commerce Reporting 7.4
Same name and namespace in other branches
- 7.3 modules/geckoboard/commerce_reports_geckoboard.module \commerce_reports_geckoboard_sales_yearly()
Geckoboard hook: Yearly sales
1 string reference to 'commerce_reports_geckoboard_sales_yearly'
- commerce_reports_geckoboard_geckoboardapi in modules/
geckoboard/ commerce_reports_geckoboard.module - Implements hook_geckoboard().
File
- modules/
geckoboard/ commerce_reports_geckoboard.module, line 158
Code
function commerce_reports_geckoboard_sales_yearly() {
$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 year
$thisyear = mktime(0, 0, 0, 1, 1, date('Y'));
$thisyearend = mktime(0, 0, 0, 1, 1, date('Y') + 1);
$query = clone $basequery;
$query
->condition('o.created', $thisyear, '>=')
->condition('o.created', $thisyearend, '<');
$result = $query
->execute()
->fetchField(1);
$thisyear = (int) $result;
// Last year
$lastyear = mktime(0, 0, 0, 1, 1, date('Y') - 1);
$lastyearend = mktime(0, 0, 0, 1, 1, date('Y'));
$query = clone $basequery;
$query
->condition('o.created', $lastyear, '>=')
->condition('o.created', $lastyearend, '<');
$result = $query
->execute()
->fetchField(1);
$lastyear = (int) $result;
$lastyear_text = t('@units last year', array(
'@units' => $lastyear,
));
return _commerce_reports_geckoboard_texthelper($thisyear, $lastyear_text);
}