/** * Get a query for our media query * * @param object &$listModel list * @param string $label label * * @return string */ protected function getMedianQuery(&$listModel, $label = "'calc'") { $db = $listModel->getDb(); $fields = $listModel->getDBFields($this->getTableName(), 'Field'); $name = $this->getElement()->name; $field = JArrayHelper::getValue($fields, $name, false); if ($field !== false && $field->Type == 'time') { $name = $this->getFullName(false, false, false); $table = $listModel->getTable(); $joinSQL = $listModel->_buildQueryJoin(); $whereSQL = $listModel->_buildQueryWhere(); return "SELECT SEC_TO_TIME(TIME_TO_SEC({$name})) AS value, {$label} AS label FROM " . $db->quoteName($table->db_table_name) . " {$joinSQL} {$whereSQL}"; } else { return parent::getMedianQuery($listModel, $label); } }
/** * build the query for the avg caclculation * @param model $listModel * @param string $label the label to apply to each avg * @return string sql statement */ protected function getMedianQuery(&$listModel, $label = "'calc'") { $fields = $listModel->getDBFields($this->getTableName(), 'Field'); if ($fields[$this->getElement()->name]->Type == 'time') { $name = $this->getFullName(false, false, false); $table =& $listModel->getTable(); $joinSQL = $listModel->_buildQueryJoin(); $whereSQL = $listModel->_buildQueryWhere(); return "SELECT SEC_TO_TIME(TIME_TO_SEC({$name})) AS value, {$label} AS label FROM `{$table->db_table_name}` {$joinSQL} {$whereSQL}"; } else { return parent::getMedianQuery($listModel, $label); } }