Yii::$app->formatter->dateFormat, 'timestampAttribute' => 'timestampTarget', 'timeZone' => 'UTC'], ]; } /** * @param $params */ public function clear($params){ $this->load($params); $this->validate(); $targetDate = new DateTime('@'.$this->timestampTarget ); $targetDate->modify('this week'); $this->targetInterval = EventInterval::createInterval($targetDate,7,7); // load the time table objects for source and target interval $eventManager = new EventManager(); $this->targetTimeTable = $eventManager->loadTimeTable($this->targetInterval); /** @var TimeTableMonthWeek $targetWeek */ $targetWeek = $this->targetTimeTable->getWeekByIndex(0); $events = $targetWeek->getAllEvents(); $trainers = $eventManager->getAssignedTrainerIDsForPermission(); $eventRegisterManager = new EventRegistrationManager(); if ( !$eventManager->hasAnyTrainerAllowed($trainers) ){ // no trainers assigned, can't do anything... return; } foreach ($events as $event){ if ( $eventManager->isTrainerAllowed($trainers,$event->id_trainer) ){ $eventRegisterManager->deleteEvent($event); } } } }