예제 #1
0
 /**
  * Get organization file
  * 
  * @access public
  * 
  * @param Organizations\Entity\Organization $organization
  * @param string $type
  * @param bool $notApproved
  * @return string file path
  */
 public function getFile($organization, $type, $notApproved)
 {
     $file = null;
     if ($notApproved !== false) {
         $organizationArray = array($organization);
         $organizationLogs = $this->version->getLogEntriesPerEntities($organizationArray, array(), null, Status::STATUS_NOT_APPROVED);
         $organizationComparisonData = $this->version->prepareDiffs($organizationArray, $organizationLogs);
         $organizationComparisonArray = $organizationComparisonData->getArrayCopy();
         $organizationComparison = reset($organizationComparisonArray);
         $organization = $organizationComparison["after"];
     }
     if (property_exists($organization, $type)) {
         $file = $organization->{$type};
     }
     return $file;
 }
예제 #2
0
 /**
  * Get course log entries
  * 
  * @access public
  * @param Courses\Entity\Course $course 
  * @return array log entries for the course
  */
 public function getLogEntries($course)
 {
     $courseArray = array($course);
     $courseLogs = $this->version->getLogEntriesPerEntities($courseArray, array(), null, Status::STATUS_NOT_APPROVED);
     $outlines = $course->getOutlines()->toArray();
     $outlinesLogs = $this->version->getLogEntriesPerEntities($outlines, array(), null, Status::STATUS_NOT_APPROVED);
     $resources = $course->getResources()->toArray();
     $resourcesLogs = $this->version->getLogEntriesPerEntities($resources, array(), null, Status::STATUS_NOT_APPROVED);
     $evaluation = $course->getEvaluation();
     $evaluationArray = array();
     $questions = array();
     if (is_object($evaluation) && count($evaluation->getQuestions()) > 0) {
         $evaluationArray[] = $evaluation;
         $questions = $evaluation->getQuestions()->toArray();
     }
     $questionsLogs = $this->version->getLogEntriesPerEntities($questions, array(), null, Status::STATUS_NOT_APPROVED);
     $evaluationLogs = $this->version->getLogEntriesPerEntities($evaluationArray, array(), null, Status::STATUS_NOT_APPROVED);
     $hasPendingChanges = false;
     if (count($questionsLogs) > 0 || count($resourcesLogs) > 0 || count($outlinesLogs) > 0 || count($courseLogs) > 0) {
         $hasPendingChanges = true;
     }
     return array("course" => $courseArray, "courseLogs" => $courseLogs, "outlines" => $outlines, "outlinesLogs" => $outlinesLogs, "resources" => $resources, "resourcesLogs" => $resourcesLogs, "evaluation" => $evaluationArray, "evaluationLogs" => $evaluationLogs, "questions" => $questions, "questionsLogs" => $questionsLogs, "hasPendingChanges" => $hasPendingChanges);
 }