static function buildFromDeliveryExecution(\taoDelivery_models_classes_execution_DeliveryExecution $deliveryExecution)
 {
     $data = array();
     $data[self::ID] = $deliveryExecution->getIdentifier();
     $data[self::LABEL] = $deliveryExecution->getLabel();
     $data[self::LAUNCH_URL] = _url('runDeliveryExecution', 'DeliveryServer', null, array('deliveryExecution' => $deliveryExecution->getIdentifier()));
     $data[self::DESCRIPTION] = array(__("Started at %s", \tao_helpers_Date::displayeDate($deliveryExecution->getStartTime())));
     $data[self::AUTHORIZED] = true;
     return $data;
 }
 /**
  * Get session results
  * @param \taoDelivery_models_classes_execution_DeliveryExecution $deliveryExecution
  * @return array
  */
 public function getResultsData(\taoDelivery_models_classes_execution_DeliveryExecution $deliveryExecution)
 {
     $result = [];
     $resultService = $this->getResultService($deliveryExecution->getDelivery());
     $itemsData = $resultService->getItemVariableDataFromDeliveryResult($deliveryExecution->getIdentifier(), 'lastSubmitted');
     foreach ($itemsData as $itemData) {
         $rawResult = [];
         $rawResult['label'] = $itemData['label'];
         foreach ($itemData['sortedVars'] as $variables) {
             $variableValues = array_map(function ($variable) {
                 $variable = current($variable);
                 return $variable['var']->getValue();
             }, $variables);
             $rawResult = array_merge($rawResult, $variableValues);
         }
         $result[] = $rawResult;
     }
     return $result;
 }
 /**
  * returns the test taker related to the delivery
  *
  * @param \taoDelivery_models_classes_execution_DeliveryExecution $deliveryResult
  * @return \core_kernel_classes_Resource
  */
 public function getTestTaker(\taoDelivery_models_classes_execution_DeliveryExecution $deliveryResult)
 {
     $testTaker = $this->getImplementation()->getTestTaker($deliveryResult->getIdentifier());
     return new core_kernel_classes_Resource($testTaker);
 }