Ejemplo n.º 1
0
 private static function flattenByBlock(Ticket $ticket, array &$flattened)
 {
     if (!isset($flattened[$ticket->getId()])) {
         $flattened[$ticket->getId()] = $ticket;
         foreach ($ticket->getBlocking() as $blocking) {
             self::flattenByBlock($blocking, $flattened);
         }
         foreach ($ticket->getBlockedBy() as $blockedBy) {
             self::flattenByBlock($blockedBy, $flattened);
         }
     }
 }
Ejemplo n.º 2
0
 protected function populateDependencies(Model\Ticket $ticket = null, array &$populated = array())
 {
     if ($ticket) {
         if (!isset($populated[$ticket->getId()])) {
             $populated[$ticket->getId()] = true;
             $blocking = array();
             foreach ($ticket->getBlocking() as $id) {
                 if (is_scalar($id) && !empty($id)) {
                     $blocking[] = $this->getPopulatedDependenciesById($id, $populated);
                 }
             }
             $ticket->setBlocking($blocking);
             $blockedBy = array();
             foreach ($ticket->getBlockedBy() as $id) {
                 if (is_scalar($id) && !empty($id)) {
                     $blockedBy[] = $this->getPopulatedDependenciesById($id, $populated);
                 }
             }
             $ticket->setBlockedBy($blockedBy);
         }
     }
 }