/** * Short description of method getValue * * @access public * @author Joel Bout, <*****@*****.**> * @param string rowId * @param string columnId * @param string data * @return mixed */ public function getValue($rowId, $columnId, $data = null) { $returnValue = null; if (isset($this->data[$rowId])) { if (isset($this->data[$rowId][$columnId])) { $returnValue = $this->data[$rowId][$columnId]; } } else { if (common_Utils::isUri($rowId)) { $this->data[$rowId] = array(); $activityExecution = new core_kernel_classes_Resource($rowId); $activityExecutionService = wfEngine_models_classes_ActivityExecutionService::singleton(); $processVariableService = wfEngine_models_classes_VariableService::singleton(); $unit = $processVariableService->get('unitUri', $activityExecution); $countryCode = (string) $processVariableService->get('countryCode', $activityExecution); $languageCode = (string) $processVariableService->get('languageCode', $activityExecution); if ($unit instanceof core_kernel_classes_Resource && !empty($countryCode) && !empty($languageCode)) { $activity = $activityExecutionService->getExecutionOf($activityExecution); //check if it is the translation activity or not: $xliff = null; $vff = null; if ($activity->getLabel() == 'Translate') { $xliffWorkingProperty = $this->getTranslationFileProperty('xliff_working', $countryCode, $languageCode); if (!is_null($xliffWorkingProperty)) { $xliff = $unit->getOnePropertyValue($xliffWorkingProperty); } $vffWorkingProperty = $this->getTranslationFileProperty('vff_working', $countryCode, $languageCode); if (!is_null($vffWorkingProperty)) { $vff = $unit->getOnePropertyValue($vffWorkingProperty); } } else { $xliffProperty = $this->getTranslationFileProperty('xliff', $countryCode, $languageCode); if (!is_null($xliffProperty)) { $xliff = $unit->getOnePropertyValue($xliffProperty); } $vffProperty = $this->getTranslationFileProperty('vff', $countryCode, $languageCode); if (!is_null($vffProperty)) { $vff = $unit->getOnePropertyValue($vffProperty); } } if ($xliff instanceof core_kernel_classes_Resource) { $xliff = new core_kernel_versioning_File($xliff); $this->data[$rowId]['xliff'] = $xliff->getUri(); $this->data[$rowId]['xliff_version'] = (string) $processVariableService->get('xliff', $activityExecution); } else { $this->data[$rowId]['xliff'] = 'n/a'; $this->data[$rowId]['xliff_version'] = 'n/a'; } if ($vff instanceof core_kernel_classes_Resource) { $vff = new core_kernel_versioning_File($vff); $this->data[$rowId]['vff'] = $vff->getUri(); $this->data[$rowId]['vff_version'] = (string) $processVariableService->get('vff', $activityExecution); } else { $this->data[$rowId]['vff'] = 'n/a'; $this->data[$rowId]['vff_version'] = 'n/a'; } } else { $this->data[$rowId] = array('xliff' => 'n/a', 'xliff_version' => 'n/a', 'vff' => 'n/a', 'vff_version' => 'n/a'); } if (isset($this->data[$rowId][$columnId])) { $returnValue = $this->data[$rowId][$columnId]; } } } return $returnValue; }