public static function getStudyChunk($studyName) { //Provide complete data for a single study: $sId = DataProvider::getStudyId($studyName); //The representation that will be returned: return array('study' => DataProvider::getStudy($studyName), 'families' => DataProvider::getFamilies($sId), 'regions' => DataProvider::getRegions($studyName), 'regionLanguages' => DataProvider::getRegionLanguages($studyName), 'languages' => DataProvider::getLanguages($studyName), 'words' => DataProvider::getWords($studyName), 'meaningGroupMembers' => DataProvider::getMeaningGroupMembers($sId), 'transcriptions' => DataProvider::getTranscriptions($studyName), 'defaults' => DataProvider::getDefaults($sId)); }
$languages = array(); foreach (explode(',', $_GET['languages']) as $lIx) { $languages[$lIx] = true; } foreach (DataProvider::getLanguages($_GET['study']) as $l) { $lIx = $l['LanguageIx']; if (array_key_exists($lIx, $languages)) { $languages[$lIx] = $l; } } //Words to work with: $words = array(); foreach (explode(',', $_GET['words']) as $wIx) { $words[$wIx] = true; } foreach (DataProvider::getWords($_GET['study']) as $w) { $wIx = $w['IxElicitation'] . $w['IxMorphologicalInstance']; if (array_key_exists($wIx, $words)) { $words[$wIx] = $w; } } //Transcriptions to work with: $transcriptions = array(); foreach (DataProvider::getTranscriptions($_GET['study']) as $t) { $lIx = $t['LanguageIx']; if (array_key_exists($lIx, $languages)) { $wIx = $t['IxElicitation'] . $t['IxMorphologicalInstance']; if (array_key_exists($wIx, $words)) { $tIx = $lIx . '-' . $wIx; if (array_key_exists($tIx, $transcriptions)) { array_push($transcriptions[$tIx], $t);