'staff_3', 'requestData' => [], 'password' => [ 'validation' => DataValidator::notBlank()->length(LengthConfig::MIN_LENGTH_PASSWORD, LengthConfig::MAX_LENGTH_PASSWORD), 'error' => ERRORS::INVALID_PASSWORD ] ]; } public function handler() { $password = Controller::request('password'); if(!Hashing::verifyPassword($password, Controller::getLoggedUser()->password)) { throw new RequestException(ERRORS::INVALID_PASSWORD); } $fileUploader = $this->uploadFile(true); if(!$fileUploader instanceof FileUploader) { throw new RequestException(ERRORS::INVALID_FILE); } $file = fopen($fileUploader->getFullFilePath(),'r'); $errors = []; while(($user = fgetcsv($file)) != false) { Controller::setDataRequester(function ($key) use ($user) { switch ($key) { case 'email': return $user[0]; case 'password': return $user[1]; case 'name': return $user[2]; } return null; }); $signupController = new SignUpController(true); try { $signupController->validate(); $signupController->handler(); } catch (\Exception $exception) { $errors[] = $exception->getMessage() . ' in email ' . $user[0]; } } fclose($file); unlink($fileUploader->getFullFilePath()); Response::respondSuccess($errors); } }