public function __construct(Cursus $cursus)
 {
     $details = [];
     $details['id'] = $cursus->getId();
     $details['title'] = $cursus->getTitle();
     $details['code'] = $cursus->getCode();
     $details['blocking'] = $cursus->isBlocking();
     $details['details'] = $cursus->getDetails();
     $details['root'] = $cursus->getRoot();
     $details['lvl'] = $cursus->getLvl();
     $details['lft'] = $cursus->getLft();
     $details['rgt'] = $cursus->getRgt();
     $parent = $cursus->getParent();
     $course = $cursus->getCourse();
     $workspace = $cursus->getWorkspace();
     if (!is_null($parent)) {
         $details['parentId'] = $parent->getId();
         $details['parentTitle'] = $parent->getTitle();
         $details['parentCode'] = $parent->getCode();
     }
     if (!is_null($course)) {
         $details['courseId'] = $course->getId();
         $details['courseTitle'] = $course->getTitle();
         $details['courseCode'] = $course->getCode();
     }
     if (!is_null($workspace)) {
         $details['workspaceId'] = $workspace->getId();
         $details['workspaceName'] = $workspace->getName();
         $details['workspaceCode'] = $workspace->getCode();
         $details['workspaceGuid'] = $workspace->getGuid();
     }
     parent::__construct(self::ACTION, $details);
 }
Esempio n. 2
0
 public function unlockedHierarchy(Cursus $cursus, array $hierarchy, array &$lockedHierarchy, array &$unlockedCursus)
 {
     $lockedHierarchy[$cursus->getId()] = false;
     $unlockedCursus[] = $cursus;
     if (!$cursus->isBlocking()) {
         // Unlock parents
         $parent = $cursus->getParent();
         while (!is_null($parent) && !$parent->isBlocking()) {
             $lockedHierarchy[$parent->getId()] = 'up';
             $unlockedCursus[] = $parent;
             $parent = $parent->getParent();
         }
         // Unlock children
         $this->unlockedChildrenHierarchy($cursus, $hierarchy, $lockedHierarchy, $unlockedCursus);
     }
 }