/** * render skin * * @return \Illuminate\View\View */ public function renderSkin() { $request = $this->presenter->getRequest(); if ($request instanceof Request) { $isMobile = $request->isMobile(); } else { $isMobile = false; } $instanceConfig = $this->presenter->getInstanceConfig(); $skinHandler = $this->presenter->getSkinHandler(); $viewFactory = $this->presenter->getViewFactory(); $instanceId = $instanceConfig->getInstanceId(); $skinTargetId = $this->presenter->getSkinTargetId(); $id = $this->presenter->getId(); $skinView = null; if ($skinTargetId != null && is_string($skinTargetId)) { if ($this->presenter->getIsSettings() && $skinTargetId !== 'error') { $skin = $skinHandler->getAssignedSettings($skinTargetId); } else { $skin = $skinHandler->getAssigned([$skinTargetId, $instanceId], $isMobile ? 'mobile' : 'desktop'); } if ($skin === null) { throw new NotFoundSkinException(['name' => $skinTargetId]); } $skinView = $skin->setView($id)->setData($this->data)->render(); } else { $skinView = $viewFactory->make($id, $this->data); } return $skinView; }
/** * test get property * * @return void */ public function testGetProperty() { $request = $this->request; $view = $this->view; $theme = $this->theme; $skin = $this->skin; $settings = $this->settings; $instanceConfig = $this->instanceConfig; $presenter = new Presenter($view, $request, $theme, $skin, $settings, $instanceConfig); $this->assertInstanceOf('Illuminate\\View\\Factory', $presenter->getViewFactory()); $this->assertInstanceOf('Illuminate\\Http\\Request', $presenter->getRequest()); $this->assertInstanceOf('Xpressengine\\Routing\\InstanceConfig', $presenter->getInstanceConfig()); $this->assertInstanceOf('Xpressengine\\Skin\\SkinHandler', $presenter->getSkinHandler()); $this->assertInstanceOf('Xpressengine\\Theme\\ThemeHandler', $presenter->getThemeHandler()); $this->assertInstanceOf('Xpressengine\\Settings\\SettingsHandler', $presenter->getManageHandler()); }