/** * Return array of assigments to available deliveries. * Takes into account repeated delivery {@see RepeatedDeliveryService::CLASS_URI} * * @see \oat\taoDeliveryRdf\model\GroupAssignment::getAssignments() */ public function getAssignments(User $user) { $repeatedDeliveryService = $this->getServiceManager()->get(RepeatedDeliveryService::CONFIG_ID); $assignments = array(); foreach (parent::getAssignmentFactories($user) as $factory) { $delivery = new \core_kernel_classes_Resource($factory->getDeliveryId()); if ($repeatedDeliveryService->isRepeated($delivery)) { $assignments[] = $this->transform($delivery, $user); } else { $assignments[] = $factory; foreach ($this->getRepeatedAssignments($delivery, $user) as $repeat) { $assignments[] = $repeat; } } } // will all be repeat assignments usort($assignments, function ($a, $b) { return $a->getStartTime() - $b->getStartTime(); }); $assignments = \tao_helpers_Array::array_unique($assignments); //$assignments = array_unique($assignments); $final = array(); foreach ($assignments as $factory) { $final[] = $factory->toAssignment(); } return $final; }
/** * @dataProvider arrayProvider */ public function testArrayUnique($testArray, $expectedArray) { $result = \tao_helpers_Array::array_unique($testArray); $this->assertEquals($expectedArray, $result); }