/** @param $translationId @return $missing [[ Description => [Req => String, Description => String] , Original => String , Translation => [TranslationId => $translationId , Translation => String, Payload => String, TranslationProvider => String] ]] Returns an empty Array if $translationId === 1, because there cannot be missing translations in the source translation. Otherwise returns entries where $missing[*]['Translation']['Translation'] === ''. */ public static function getMissingTranslations($translationId) { $missing = array(); if ($translationId != 1) { //Function to filter for missing Translations: $filter = function ($missing, $ps, $s) use($translationId) { $pages = array_values(Translation::pageAll($ps, $s, $translationId)); foreach ($pages as $page) { foreach ($page as $t) { $orig = $t['Original']; if ($orig === null || $orig === '') { continue; } $trans = $t['Translation']['Translation']; if ($trans === null || $trans === '') { array_push($missing, $t); } } } return $missing; }; //Filtering through generalProviders: $gProviders = static::generalProviders(); foreach ($gProviders as $ps) { $missing = $filter($missing, $ps, ''); } //Filtering through studyProviders: $studies = static::studies(); $sProviders = static::studyProviders(); foreach ($sProviders as $ps) { foreach ($studies as $study) { $missing = $filter($missing, $ps, $study); } } } return $missing; }
<?php require_once 'categorySelection.php'; if ($providerGroup !== '') { $pGroups = Translation::providers(); $dependsOnStudy = array_key_exists($providerGroup, $pGroups['_dependsOnStudy']); $data = array(); if (!$dependsOnStudy) { $data = Translation::pageAll($pGroups[$providerGroup], '', $translationId); } else { foreach (Translation::studies() as $s) { $data[$s] = Translation::pageAll($pGroups[$providerGroup], $s, $translationId); } } require_once 'showTable.php'; //Below output only if $data contains something: if (count($data) !== 0) { echo '<legend>Data to translate:</legend>'; if ($dependsOnStudy) { foreach ($data as $study => $tdata) { echo "<h4>{$study}:</h4>"; showTable($tdata); } } else { showTable($data); } } else { echo '<p class="well">Sorry, no data was found.</p>'; } } ?>