mirror of
https://github.com/nextcloud/server.git
synced 2025-03-15 00:43:23 +00:00
fix: Replace all usage of OC_Template by the new API
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
This commit is contained in:
parent
253628ad5a
commit
2cd90f8281
6 changed files with 42 additions and 43 deletions
|
@ -8,9 +8,10 @@
|
|||
namespace OCA\DAV\Files;
|
||||
|
||||
use OC\AppFramework\Http\Request;
|
||||
use OC_Template;
|
||||
use OCP\AppFramework\Http\ContentSecurityPolicy;
|
||||
use OCP\AppFramework\Http\TemplateResponse;
|
||||
use OCP\IRequest;
|
||||
use OCP\Template\ITemplateManager;
|
||||
use Sabre\DAV\Exception;
|
||||
use Sabre\DAV\Server;
|
||||
use Sabre\DAV\ServerPlugin;
|
||||
|
@ -84,7 +85,7 @@ class BrowserErrorPagePlugin extends ServerPlugin {
|
|||
$templateName = (string)$httpCode;
|
||||
}
|
||||
|
||||
$content = new OC_Template('core', $templateName, 'guest');
|
||||
$content = \OCP\Server::get(ITemplateManager::class)->getTemplate('core', $templateName, TemplateResponse::RENDER_AS_GUEST);
|
||||
$content->assign('title', $this->server->httpResponse->getStatusText());
|
||||
$content->assign('remoteAddr', $request->getRemoteAddress());
|
||||
$content->assign('requestID', $request->getId());
|
||||
|
|
|
@ -15,6 +15,7 @@ use OC\Search\SearchQuery;
|
|||
use OC\Template\CSSResourceLocator;
|
||||
use OC\Template\JSConfigHelper;
|
||||
use OC\Template\JSResourceLocator;
|
||||
use OC\Template\Template;
|
||||
use OCP\App\IAppManager;
|
||||
use OCP\AppFramework\Http\TemplateResponse;
|
||||
use OCP\Defaults;
|
||||
|
@ -25,35 +26,29 @@ use OCP\IRequest;
|
|||
use OCP\IURLGenerator;
|
||||
use OCP\IUserSession;
|
||||
use OCP\L10N\IFactory;
|
||||
use OCP\Server;
|
||||
use OCP\ServerVersion;
|
||||
use OCP\Support\Subscription\IRegistry;
|
||||
use OCP\Util;
|
||||
|
||||
class TemplateLayout extends \OC_Template {
|
||||
private static $versionHash = '';
|
||||
class TemplateLayout extends Template {
|
||||
private static string $versionHash = '';
|
||||
/** @var string[] */
|
||||
private static $cacheBusterCache = [];
|
||||
|
||||
/** @var CSSResourceLocator|null */
|
||||
public static $cssLocator = null;
|
||||
|
||||
/** @var JSResourceLocator|null */
|
||||
public static $jsLocator = null;
|
||||
public static ?CSSResourceLocator $cssLocator = null;
|
||||
public static ?JSResourceLocator $jsLocator = null;
|
||||
|
||||
private IConfig $config;
|
||||
private IAppManager $appManager;
|
||||
private InitialStateService $initialState;
|
||||
private INavigationManager $navigationManager;
|
||||
|
||||
/**
|
||||
* @param string $renderAs
|
||||
* @param string $appId application id
|
||||
*/
|
||||
public function __construct($renderAs, $appId = '') {
|
||||
$this->config = \OCP\Server::get(IConfig::class);
|
||||
$this->appManager = \OCP\Server::get(IAppManager::class);
|
||||
$this->initialState = \OCP\Server::get(InitialStateService::class);
|
||||
$this->navigationManager = \OCP\Server::get(INavigationManager::class);
|
||||
public function __construct(string $renderAs, string $appId = '') {
|
||||
$this->config = Server::get(IConfig::class);
|
||||
$this->appManager = Server::get(IAppManager::class);
|
||||
$this->initialState = Server::get(InitialStateService::class);
|
||||
$this->navigationManager = Server::get(INavigationManager::class);
|
||||
|
||||
// Add fallback theming variables if not rendered as user
|
||||
if ($renderAs !== TemplateResponse::RENDER_AS_USER) {
|
||||
|
@ -84,8 +79,7 @@ class TemplateLayout extends \OC_Template {
|
|||
// Set body data-theme
|
||||
$this->assign('enabledThemes', []);
|
||||
if ($this->appManager->isEnabledForUser('theming') && class_exists('\OCA\Theming\Service\ThemesService')) {
|
||||
/** @var \OCA\Theming\Service\ThemesService */
|
||||
$themesService = \OC::$server->get(\OCA\Theming\Service\ThemesService::class);
|
||||
$themesService = Server::get(\OCA\Theming\Service\ThemesService::class);
|
||||
$this->assign('enabledThemes', $themesService->getEnabledThemes());
|
||||
}
|
||||
|
||||
|
@ -122,7 +116,7 @@ class TemplateLayout extends \OC_Template {
|
|||
}
|
||||
|
||||
$userDisplayName = false;
|
||||
$user = \OC::$server->get(IUserSession::class)->getUser();
|
||||
$user = Server::get(IUserSession::class)->getUser();
|
||||
if ($user) {
|
||||
$userDisplayName = $user->getDisplayName();
|
||||
}
|
||||
|
@ -161,8 +155,7 @@ class TemplateLayout extends \OC_Template {
|
|||
// Set body data-theme
|
||||
$this->assign('enabledThemes', []);
|
||||
if ($this->appManager->isEnabledForUser('theming') && class_exists('\OCA\Theming\Service\ThemesService')) {
|
||||
/** @var \OCA\Theming\Service\ThemesService $themesService */
|
||||
$themesService = \OC::$server->get(\OCA\Theming\Service\ThemesService::class);
|
||||
$themesService = Server::get(\OCA\Theming\Service\ThemesService::class);
|
||||
$this->assign('enabledThemes', $themesService->getEnabledThemes());
|
||||
}
|
||||
|
||||
|
@ -170,8 +163,7 @@ class TemplateLayout extends \OC_Template {
|
|||
$logoUrl = $this->config->getSystemValueString('logo_url', '');
|
||||
$this->assign('logoUrl', $logoUrl);
|
||||
|
||||
/** @var IRegistry $subscription */
|
||||
$subscription = \OCP\Server::get(IRegistry::class);
|
||||
$subscription = Server::get(IRegistry::class);
|
||||
$showSimpleSignup = $this->config->getSystemValueBool('simpleSignUpLink.shown', true);
|
||||
if ($showSimpleSignup && $subscription->delegateHasValidSubscription()) {
|
||||
$showSimpleSignup = false;
|
||||
|
@ -184,7 +176,7 @@ class TemplateLayout extends \OC_Template {
|
|||
}
|
||||
|
||||
if ($this->appManager->isEnabledForUser('registration')) {
|
||||
$urlGenerator = \OCP\Server::get(IURLGenerator::class);
|
||||
$urlGenerator = Server::get(IURLGenerator::class);
|
||||
$signUpLink = $urlGenerator->getAbsoluteURL('/index.php/apps/registration/');
|
||||
}
|
||||
|
||||
|
@ -194,9 +186,10 @@ class TemplateLayout extends \OC_Template {
|
|||
parent::__construct('core', 'layout.base');
|
||||
}
|
||||
// Send the language, locale, and direction to our layouts
|
||||
$lang = \OC::$server->get(IFactory::class)->findLanguage();
|
||||
$locale = \OC::$server->get(IFactory::class)->findLocale($lang);
|
||||
$direction = \OC::$server->getL10NFactory()->getLanguageDirection($lang);
|
||||
$l10nFactory = Server::get(IFactory::class);
|
||||
$lang = $l10nFactory->findLanguage();
|
||||
$locale = $l10nFactory->findLocale($lang);
|
||||
$direction = $l10nFactory->getLanguageDirection($lang);
|
||||
|
||||
$lang = str_replace('_', '-', $lang);
|
||||
$this->assign('language', $lang);
|
||||
|
@ -249,15 +242,17 @@ class TemplateLayout extends \OC_Template {
|
|||
$this->append('jsfiles', $web . '/' . $file . $this->getVersionHashSuffix());
|
||||
}
|
||||
|
||||
$request = \OCP\Server::get(IRequest::class);
|
||||
|
||||
try {
|
||||
$pathInfo = \OC::$server->getRequest()->getPathInfo();
|
||||
$pathInfo = $request->getPathInfo();
|
||||
} catch (\Exception $e) {
|
||||
$pathInfo = '';
|
||||
}
|
||||
|
||||
// Do not initialise scss appdata until we have a fully installed instance
|
||||
// Do not load scss for update, errors, installation or login page
|
||||
if (\OC::$server->getSystemConfig()->getValue('installed', false)
|
||||
if ($this->config->getSystemValueBool('installed', false)
|
||||
&& !\OCP\Util::needUpgrade()
|
||||
&& $pathInfo !== ''
|
||||
&& !preg_match('/^\/login/', $pathInfo)
|
||||
|
@ -291,7 +286,6 @@ class TemplateLayout extends \OC_Template {
|
|||
}
|
||||
}
|
||||
|
||||
$request = \OCP\Server::get(IRequest::class);
|
||||
if ($request->isUserAgent([Request::USER_AGENT_CLIENT_IOS, Request::USER_AGENT_SAFARI, Request::USER_AGENT_SAFARI_MOBILE])) {
|
||||
// Prevent auto zoom with iOS but still allow user zoom
|
||||
// On chrome (and others) this does not work (will also disable user zoom)
|
||||
|
|
|
@ -19,7 +19,7 @@ class OC_Template extends \OC\Template\Template {
|
|||
* Shortcut to print a simple page for guests
|
||||
* @param string $application The application we render the template for
|
||||
* @param string $name Name of the template
|
||||
* @param array|string $parameters Parameters for the template
|
||||
* @param array $parameters Parameters for the template
|
||||
* @return bool
|
||||
* @deprecated 32.0.0 Use \OCP\Template\ITemplateManager instead
|
||||
*/
|
||||
|
|
|
@ -384,7 +384,7 @@ class Util {
|
|||
|
||||
/**
|
||||
* Cached encrypted CSRF token. Some static unit-tests of ownCloud compare
|
||||
* multiple OC_Template elements which invoke `callRegister`. If the value
|
||||
* multiple Template elements which invoke `callRegister`. If the value
|
||||
* would not be cached these unit-tests would fail.
|
||||
* @var string
|
||||
*/
|
||||
|
@ -393,6 +393,7 @@ class Util {
|
|||
/**
|
||||
* Register an get/post call. This is important to prevent CSRF attacks
|
||||
* @since 4.5.0
|
||||
* @deprecated 32.0.0 directly use CsrfTokenManager instead
|
||||
*/
|
||||
public static function callRegister() {
|
||||
if (self::$token === '') {
|
||||
|
|
|
@ -14,6 +14,7 @@ use OCP\App\IAppManager;
|
|||
use OCP\IConfig;
|
||||
use OCP\IRequest;
|
||||
use OCP\Server;
|
||||
use OCP\Template\ITemplateManager;
|
||||
use OCP\Util;
|
||||
use Psr\Log\LoggerInterface;
|
||||
|
||||
|
@ -92,9 +93,9 @@ try {
|
|||
}
|
||||
//show the user a detailed error page
|
||||
Server::get(LoggerInterface::class)->error($ex->getMessage(), ['app' => 'public', 'exception' => $ex]);
|
||||
OC_Template::printExceptionErrorPage($ex, $status);
|
||||
Server::get(ITemplateManager::class)->printExceptionErrorPage($ex, $status);
|
||||
} catch (Error $ex) {
|
||||
//show the user a detailed error page
|
||||
Server::get(LoggerInterface::class)->error($ex->getMessage(), ['app' => 'public', 'exception' => $ex]);
|
||||
OC_Template::printExceptionErrorPage($ex, 500);
|
||||
Server::get(ITemplateManager::class)->printExceptionErrorPage($ex, 500);
|
||||
}
|
||||
|
|
16
remote.php
16
remote.php
|
@ -9,6 +9,8 @@ require_once __DIR__ . '/lib/versioncheck.php';
|
|||
|
||||
use OCA\DAV\Connector\Sabre\ExceptionLoggerPlugin;
|
||||
use OCP\App\IAppManager;
|
||||
use OCP\IRequest;
|
||||
use OCP\Template\ITemplateManager;
|
||||
use Psr\Log\LoggerInterface;
|
||||
use Sabre\DAV\Exception\ServiceUnavailable;
|
||||
use Sabre\DAV\Server;
|
||||
|
@ -23,7 +25,7 @@ class RemoteException extends \Exception {
|
|||
|
||||
function handleException(Exception|Error $e): void {
|
||||
try {
|
||||
$request = \OC::$server->getRequest();
|
||||
$request = \OCP\Server::get(IRequest::class);
|
||||
// in case the request content type is text/xml - we assume it's a WebDAV request
|
||||
$isXmlContentType = strpos($request->getHeader('Content-Type'), 'text/xml');
|
||||
if ($isXmlContentType === 0) {
|
||||
|
@ -31,7 +33,7 @@ function handleException(Exception|Error $e): void {
|
|||
$server = new Server();
|
||||
if (!($e instanceof RemoteException)) {
|
||||
// we shall not log on RemoteException
|
||||
$server->addPlugin(new ExceptionLoggerPlugin('webdav', \OC::$server->get(LoggerInterface::class)));
|
||||
$server->addPlugin(new ExceptionLoggerPlugin('webdav', \OCP\Server::get(LoggerInterface::class)));
|
||||
}
|
||||
$server->on('beforeMethod:*', function () use ($e) {
|
||||
if ($e instanceof RemoteException) {
|
||||
|
@ -54,19 +56,19 @@ function handleException(Exception|Error $e): void {
|
|||
}
|
||||
if ($e instanceof RemoteException) {
|
||||
// we shall not log on RemoteException
|
||||
OC_Template::printErrorPage($e->getMessage(), '', $e->getCode());
|
||||
\OCP\Server::get(ITemplateManager::class)->printErrorPage($e->getMessage(), '', $e->getCode());
|
||||
} else {
|
||||
\OC::$server->get(LoggerInterface::class)->error($e->getMessage(), ['app' => 'remote','exception' => $e]);
|
||||
OC_Template::printExceptionErrorPage($e, $statusCode);
|
||||
\OCP\Server::get(LoggerInterface::class)->error($e->getMessage(), ['app' => 'remote','exception' => $e]);
|
||||
\OCP\Server::get(ITemplateManager::class)->printExceptionErrorPage($e, $statusCode);
|
||||
}
|
||||
}
|
||||
} catch (\Exception $e) {
|
||||
OC_Template::printExceptionErrorPage($e, 500);
|
||||
\OCP\Server::get(ITemplateManager::class)->printExceptionErrorPage($e, 500);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @param $service
|
||||
* @param string $service
|
||||
* @return string
|
||||
*/
|
||||
function resolveService($service) {
|
||||
|
|
Loading…
Reference in a new issue