/** * 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; }
/** * 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); }