2declare( strict_types = 1 );
4namespace MediaWiki\Extension\Translate\Statistics;
7use Wikimedia\Rdbms\IDatabase;
31 $dateFormat =
'Y-m-d';
32 $scale = $this->opts->getValue(
'scale' );
33 if ( $scale ===
'years' ) {
35 } elseif ( $scale ===
'months' ) {
37 } elseif ( $scale ===
'weeks' ) {
38 $dateFormat =
'Y-\WW';
39 } elseif ( $scale ===
'hours' ) {
46 protected static function makeTimeCondition( IDatabase $database, $field, $start, $end ) {
48 if ( $start !==
null ) {
49 $conds[] =
"$field >= " . $database->addQuotes( $database->timestamp( $start ) );
51 if ( $end !==
null ) {
52 $conds[] =
"$field <= " . $database->addQuotes( $database->timestamp( $end ) );
65 foreach ( $groupIds as $id ) {
66 $group = MessageGroups::getGroup( $id );
68 $namespace = $group->getNamespace();
69 $namespaces[$namespace] =
true;
73 return array_keys( $namespaces );