->query('SELECT COUNT(DISTINCT e.eid) FROM {l10n_server_project} p LEFT JOIN {l10n_server_release} r ON p.pid = r.pid LEFT JOIN {l10n_server_error} e ON r.rid = e.rid WHERE p.uri = :uri',[':uri'=>$project->getUri()]);
->query('SELECT COUNT(DISTINCT e.eid) FROM {l10n_server_project} p LEFT JOIN {l10n_server_release} r ON p.pid = r.pid LEFT JOIN {l10n_server_error} e ON r.rid = e.rid WHERE p.uri = :uri',[
// Skip anonymous since that is used for placeholders when there was no
// prior translations for a suggestion.
$result=$this->connection
->queryRange("SELECT COUNT(DISTINCT t.sid) AS sum, u.name, u.uid FROM {l10n_server_translation} t LEFT JOIN {users_field_data} u ON t.uid = u.uid WHERE t.status = 1 AND t.suggestion = 0 AND t.language = :lng AND u.uid != 0 GROUP BY t.uid ORDER BY sum DESC",0,10,[':lng'=>$langcode]);
->queryRange("SELECT COUNT(DISTINCT t.sid) AS sum, u.name, u.uid FROM {l10n_server_translation} t LEFT JOIN {users_field_data} u ON t.uid = u.uid WHERE t.status = 1 AND t.suggestion = 0 AND t.language = :lng AND u.uid != 0 GROUP BY t.uid ORDER BY sum DESC",0,10,[
':lng'=>$langcode,
]);
return$result->fetchAll();
}
@@ -261,18 +275,36 @@ class L10nStatistics {
* @return array
* An array of language statistics.
*/
publicfunctiongetLanguageStatistics(){
publicfunctiongetLanguageStatistics():array{
$stats=[];
$stats['users']=(int)$this->connection->query("SELECT COUNT(DISTINCT uid) FROM {l10n_server_translation}")->fetchField();
$stats['projects']=$this->connection->query('SELECT COUNT(*) FROM {l10n_server_project} WHERE status = 1')->fetchField();
$stats['releases_parsed']=$this->connection->query('SELECT COUNT(*) FROM {l10n_server_release} WHERE last_parsed != 0')->fetchField();
$stats['releases_queue']=$this->connection->query('SELECT COUNT(*) FROM {l10n_server_release} r INNER JOIN {l10n_server_project} p ON r.pid = p.pid WHERE p.status = 1 AND r.last_parsed = 0')->fetchField();
$stats['files']=$this->connection->query('SELECT COUNT(*) FROM {l10n_server_file}')->fetchField();
$stats['strings']=$this->connection->query('SELECT COUNT(*) FROM {l10n_server_string}')->fetchField();
$stats['translations']=$this->connection->query('SELECT COUNT(*) FROM {l10n_server_status_flag} WHERE has_translation = 1')->fetchField();
$stats['suggestions']=$this->connection->query('SELECT COUNT(*) FROM {l10n_server_translation} WHERE suggestion = 1 AND status = 1')->fetchField();
$stats['users']=(int)$this->connection
->query("SELECT COUNT(DISTINCT uid) FROM {l10n_server_translation}")
->fetchField();
$stats['projects']=$this->connection
->query('SELECT COUNT(*) FROM {l10n_server_project} WHERE status = 1')
->fetchField();
$stats['releases_parsed']=$this->connection
->query('SELECT COUNT(*) FROM {l10n_server_release} WHERE last_parsed != 0')
->fetchField();
$stats['releases_queue']=$this->connection
->query('SELECT COUNT(*) FROM {l10n_server_release} r INNER JOIN {l10n_server_project} p ON r.pid = p.pid WHERE p.status = 1 AND r.last_parsed = 0')
->fetchField();
$stats['files']=$this->connection
->query('SELECT COUNT(*) FROM {l10n_server_file}')
->fetchField();
$stats['strings']=$this->connection
->query('SELECT COUNT(*) FROM {l10n_server_string}')
->fetchField();
$stats['translations']=$this->connection
->query('SELECT COUNT(*) FROM {l10n_server_status_flag} WHERE has_translation = 1')
->fetchField();
$stats['suggestions']=$this->connection
->query('SELECT COUNT(*) FROM {l10n_server_translation} WHERE suggestion = 1 AND status = 1')