예제 #1
0
 /**
  * Convenience method that returns the mapped variable identifier from $targetIdentifier.
  *
  * @param \qtism\data\AssessmentItemRef $assessmentItemRef An AssessmentItemRef object where variable mappings can be found.
  * @param string $targetIdentifier A targetIdentifier to be replaced by a sourceIdentifier.
  * @return string|false The mapped identifier or $targetIdentifier if no mapping could be established.
  */
 protected static function getMappedVariableIdentifier(AssessmentItemRef $assessmentItemRef, $targetIdentifier)
 {
     // return false if no mapping found.
     $sourceIdentifier = $targetIdentifier;
     foreach ($assessmentItemRef->getVariableMappings() as $variableMapping) {
         if ($variableMapping->getTarget() === $targetIdentifier) {
             $sourceIdentifier = $variableMapping->getSource();
             break;
         } elseif ($variableMapping->getSource() === $targetIdentifier) {
             // Conflict.
             $sourceIdentifier = false;
         }
     }
     return $sourceIdentifier;
 }