/** * @return ModelAndView **/ public function handleRequest(HttpRequest $request) { Assert::isNotEmptyArray($this->innerControllers, 'Add atleast one innerController first'); $activeController = $this->getActiveController($request); $model = $this->mav->getModel(); if ($activeController) { $controllerName = $activeController->getName(); $activeMav = $activeController->handleRequest($request); $model->set(TextUtils::downFirst($controllerName), $activeMav->getModel()); unset($this->innerControllers[$controllerName]); } foreach ($this->innerControllers as $controller) { $passedRequest = clone $request; $passedRequest->{'set' . $controller->getRequestGetter() . 'Var'}('action', null); $subMav = $controller->handleRequest($passedRequest); $model->set(TextUtils::downFirst($controller->getName()), $subMav->getModel()); } return isset($activeMav) && $activeMav->viewIsRedirect() ? $activeMav : $this->mav; }
public static function friendlyFileSize($size, $precision = 2) { if ($size < 1024) { return $size . ' ' . self::selectCaseForNumber($size, ['байт', 'байта', 'байт']); } else { return TextUtils::friendlyFileSize($size, $precision, self::$bytePrefixes, true) . 'Б'; } }