コード例 #1
0
 /**
   @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;
 }
コード例 #2
0
<?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>';
    }
}
?>