Skip to content

Commit

Permalink
Refactor OC\Server::getURLGenerator
Browse files Browse the repository at this point in the history
Signed-off-by: Andrew Summers <18727110+summersab@users.noreply.github.com>
  • Loading branch information
summersab committed Aug 30, 2023
1 parent 9d1547f commit 23f1bee
Show file tree
Hide file tree
Showing 56 changed files with 176 additions and 99 deletions.
3 changes: 2 additions & 1 deletion core/Controller/SetupController.php
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,7 @@

use OC\Setup;
use OCP\ILogger;
use OCP\IURLGenerator;

class SetupController {
private string $autoConfigFile;
Expand Down Expand Up @@ -108,7 +109,7 @@ private function finishSetup() {
\OC_Template::printGuestPage('', 'installation_incomplete');
}

header('Location: ' . \OC::$server->getURLGenerator()->getAbsoluteURL('index.php/core/apps/recommended'));
header('Location: ' . \OC::$server->get(IURLGenerator::class)->getAbsoluteURL('index.php/core/apps/recommended'));
exit();
}

Expand Down
6 changes: 4 additions & 2 deletions core/register_command.php
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,8 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>
*
*/

use OCP\IURLGenerator;
use Psr\Log\LoggerInterface;

$application->add(new \Stecman\Component\Symfony\Console\BashCompletion\CompletionCommand());
Expand All @@ -57,7 +59,7 @@
$application->add(new \OC\Core\Command\Integrity\SignApp(
\OC::$server->getIntegrityCodeChecker(),
new \OC\IntegrityCheck\Helpers\FileAccessHelper(),
\OC::$server->getURLGenerator()
\OC::$server->get(IURLGenerator::class)
));
$application->add(new \OC\Core\Command\Integrity\SignCore(
\OC::$server->getIntegrityCodeChecker(),
Expand Down Expand Up @@ -107,7 +109,7 @@
$application->add(\OC::$server->get(OC\Core\Command\Info\Space::class));

$application->add(new OC\Core\Command\Db\ConvertType(\OC::$server->getConfig(), new \OC\DB\ConnectionFactory(\OC::$server->getSystemConfig())));
$application->add(new OC\Core\Command\Db\ConvertMysqlToMB4(\OC::$server->getConfig(), \OC::$server->getDatabaseConnection(), \OC::$server->getURLGenerator(), \OC::$server->get(LoggerInterface::class)));
$application->add(new OC\Core\Command\Db\ConvertMysqlToMB4(\OC::$server->getConfig(), \OC::$server->getDatabaseConnection(), \OC::$server->get(IURLGenerator::class), \OC::$server->get(LoggerInterface::class)));
$application->add(new OC\Core\Command\Db\ConvertFilecacheBigInt(\OC::$server->get(\OC\DB\Connection::class)));
$application->add(\OCP\Server::get(\OC\Core\Command\Db\AddMissingColumns::class));
$application->add(\OCP\Server::get(\OC\Core\Command\Db\AddMissingIndices::class));
Expand Down
5 changes: 4 additions & 1 deletion core/templates/403.php
Original file line number Diff line number Diff line change
@@ -1,9 +1,12 @@
<?php

use OCP\IURLGenerator;

// @codeCoverageIgnoreStart
if (!isset($_)) {//standalone page is not supported anymore - redirect to /
require_once '../../lib/base.php';

$urlGenerator = \OC::$server->getURLGenerator();
$urlGenerator = \OC::$server->get(IURLGenerator::class);
header('Location: ' . $urlGenerator->getAbsoluteURL('/'));
exit;
}
Expand Down
6 changes: 4 additions & 2 deletions core/templates/404-profile.php
Original file line number Diff line number Diff line change
@@ -1,13 +1,15 @@
<?php

use OCP\IURLGenerator;

/** @var array $_ */
/** @var \OCP\IL10N $l */
/** @var \OCP\Defaults $theme */
// @codeCoverageIgnoreStart
if (!isset($_)) { //standalone page is not supported anymore - redirect to /
require_once '../../lib/base.php';

$urlGenerator = \OC::$server->getURLGenerator();
$urlGenerator = \OC::$server->get(IURLGenerator::class);
header('Location: ' . $urlGenerator->getAbsoluteURL('/'));
exit;
}
Expand All @@ -20,7 +22,7 @@
<div class="icon-big icon-error"></div>
<h2><?php p($l->t('Profile not found')); ?></h2>
<p class="infogroup"><?php p($l->t('The profile does not exist.')); ?></p>
<p><a class="button primary" href="<?php p(\OC::$server->getURLGenerator()->linkTo('', 'index.php')) ?>">
<p><a class="button primary" href="<?php p(\OC::$server->get(IURLGenerator::class)->linkTo('', 'index.php')) ?>">
<?php p($l->t('Back to %s', [$theme->getName()])); ?>
</a></p>
</div>
Expand Down
7 changes: 5 additions & 2 deletions core/templates/404.php
Original file line number Diff line number Diff line change
@@ -1,12 +1,15 @@
<?php

use OCP\IURLGenerator;

/** @var array $_ */
/** @var \OCP\IL10N $l */
/** @var \OCP\Defaults $theme */
// @codeCoverageIgnoreStart
if (!isset($_)) {//standalone page is not supported anymore - redirect to /
require_once '../../lib/base.php';

$urlGenerator = \OC::$server->getURLGenerator();
$urlGenerator = \OC::$server->get(IURLGenerator::class);
header('Location: ' . $urlGenerator->getAbsoluteURL('/'));
exit;
}
Expand All @@ -19,7 +22,7 @@
<div class="icon-big icon-search"></div>
<h2><?php p($l->t('Page not found')); ?></h2>
<p class="infogroup"><?php p($l->t('The page could not be found on the server or you may not be allowed to view it.')); ?></p>
<p><a class="button primary" href="<?php p(\OC::$server->getURLGenerator()->linkTo('', 'index.php')) ?>">
<p><a class="button primary" href="<?php p(\OC::$server->get(IURLGenerator::class)->linkTo('', 'index.php')) ?>">
<?php p($l->t('Back to %s', [$theme->getName()])); ?>
</a></p>
</div>
Expand Down
5 changes: 4 additions & 1 deletion core/templates/layout.user.php
Original file line number Diff line number Diff line change
@@ -1,11 +1,14 @@
<?php

use OCP\IURLGenerator;

/**
* @var \OC_Defaults $theme
* @var array $_
*/

$getUserAvatar = static function (int $size) use ($_): string {
return \OC::$server->getURLGenerator()->linkToRoute('core.avatar.getAvatar', [
return \OC::$server->get(IURLGenerator::class)->linkToRoute('core.avatar.getAvatar', [
'userId' => $_['user_uid'],
'size' => $size,
'v' => $_['userAvatarVersion']
Expand Down
9 changes: 6 additions & 3 deletions core/templates/twofactorselectchallenge.php
Original file line number Diff line number Diff line change
@@ -1,4 +1,7 @@
<?php

use OCP\IURLGenerator;

$noProviders = empty($_['providers']);
?>
<div class="body-login-container update two-factor">
Expand All @@ -19,7 +22,7 @@
<strong><?php p($l->t('Two-factor authentication is enforced but has not been configured on your account. Contact your admin for assistance.')) ?></strong>
<?php } else { ?>
<strong><?php p($l->t('Two-factor authentication is enforced but has not been configured on your account. Please continue to setup two-factor authentication.')) ?></strong>
<a class="button primary two-factor-primary" href="<?php p(\OC::$server->getURLGenerator()->linkToRoute('core.TwoFactorChallenge.setupProviders',
<a class="button primary two-factor-primary" href="<?php p(\OC::$server->get(IURLGenerator::class)->linkToRoute('core.TwoFactorChallenge.setupProviders',
[
'redirect_url' => $_['redirect_url'],
]
Expand All @@ -36,7 +39,7 @@
<?php foreach ($_['providers'] as $provider): ?>
<li>
<a class="two-factor-provider"
href="<?php p(\OC::$server->getURLGenerator()->linkToRoute('core.TwoFactorChallenge.showChallenge',
href="<?php p(\OC::$server->get(IURLGenerator::class)->linkToRoute('core.TwoFactorChallenge.showChallenge',
[
'challengeProviderId' => $provider->getId(),
'redirect_url' => $_['redirect_url'],
Expand All @@ -61,7 +64,7 @@
<?php endif ?>
<?php if (!is_null($_['backupProvider'])): ?>
<p>
<a class="<?php if ($noProviders): ?>button primary two-factor-primary<?php else: ?>two-factor-secondary<?php endif ?>" href="<?php p(\OC::$server->getURLGenerator()->linkToRoute('core.TwoFactorChallenge.showChallenge',
<a class="<?php if ($noProviders): ?>button primary two-factor-primary<?php else: ?>two-factor-secondary<?php endif ?>" href="<?php p(\OC::$server->get(IURLGenerator::class)->linkToRoute('core.TwoFactorChallenge.showChallenge',
[
'challengeProviderId' => $_['backupProvider']->getId(),
'redirect_url' => $_['redirect_url'],
Expand Down
4 changes: 3 additions & 1 deletion core/templates/twofactorsetupselection.php
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,8 @@
*
*/

use OCP\IURLGenerator;

?>
<div class="body-login-container update">
<h2 class="two-factor-header"><?php p($l->t('Set up two-factor authentication')) ?></h2>
Expand All @@ -30,7 +32,7 @@
<?php foreach ($_['providers'] as $provider): ?>
<li>
<a class="two-factor-provider"
href="<?php p(\OC::$server->getURLGenerator()->linkToRoute('core.TwoFactorChallenge.setupProvider',
href="<?php p(\OC::$server->get(IURLGenerator::class)->linkToRoute('core.TwoFactorChallenge.setupProvider',
[
'providerId' => $provider->getId(),
]
Expand Down
5 changes: 4 additions & 1 deletion core/templates/twofactorshowchallenge.php
Original file line number Diff line number Diff line change
@@ -1,4 +1,7 @@
<?php

use OCP\IURLGenerator;

/** @var \OCP\IL10N $l */
/** @var array $_*/
/** @var boolean $error */
Expand All @@ -23,7 +26,7 @@
<?php print_unescaped($template); ?>
<?php if (!is_null($_['backupProvider'])): ?>
<p>
<a class="two-factor-secondary" href="<?php p(\OC::$server->getURLGenerator()->linkToRoute('core.TwoFactorChallenge.showChallenge',
<a class="two-factor-secondary" href="<?php p(\OC::$server->get(IURLGenerator::class)->linkToRoute('core.TwoFactorChallenge.showChallenge',
[
'challengeProviderId' => $_['backupProvider']->getId(),
'redirect_url' => $_['redirect_url'],
Expand Down
4 changes: 3 additions & 1 deletion cron.php
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,8 @@
*/
require_once __DIR__ . '/lib/versioncheck.php';

use OCP\ITempManager;

try {
require_once __DIR__ . '/lib/base.php';

Expand All @@ -64,7 +66,7 @@

$logger = \OC::$server->getLogger();
$config = \OC::$server->getConfig();
$tempManager = \OC::$server->getTempManager();
$tempManager = \OC::$server->get(ITempManager::class);

// Don't do anything if Nextcloud has not been installed
if (!$config->getSystemValue('installed', false)) {
Expand Down
11 changes: 6 additions & 5 deletions lib/private/Archive/TAR.php
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,7 @@
namespace OC\Archive;

use Icewind\Streams\CallbackWrapper;
use OCP\ITempManager;

class TAR extends Archive {
public const PLAIN = 0;
Expand Down Expand Up @@ -91,7 +92,7 @@ public static function getTarType(string $file): int {
* add an empty folder to the archive
*/
public function addFolder(string $path): bool {
$tmpBase = \OC::$server->getTempManager()->getTemporaryFolder();
$tmpBase = \OC::$server->get(ITempManager::class)->getTemporaryFolder();
$path = rtrim($path, '/') . '/';
if ($this->fileExists($path)) {
return false;
Expand Down Expand Up @@ -134,7 +135,7 @@ public function addFile(string $path, string $source = ''): bool {
*/
public function rename(string $source, string $dest): bool {
//no proper way to delete, rename entire archive, rename file and remake archive
$tmp = \OC::$server->getTempManager()->getTemporaryFolder();
$tmp = \OC::$server->get(ITempManager::class)->getTemporaryFolder();
$this->tar->extract($tmp);
rename($tmp . $source, $tmp . $dest);
$this->tar = null;
Expand Down Expand Up @@ -241,7 +242,7 @@ public function getFile(string $path) {
* extract a single file from the archive
*/
public function extractFile(string $path, string $dest): bool {
$tmp = \OC::$server->getTempManager()->getTemporaryFolder();
$tmp = \OC::$server->get(ITempManager::class)->getTemporaryFolder();
if (!$this->fileExists($path)) {
return false;
}
Expand Down Expand Up @@ -297,7 +298,7 @@ public function remove(string $path): bool {
$this->fileList = false;
$this->cachedHeaders = false;
//no proper way to delete, extract entire archive, delete file and remake archive
$tmp = \OC::$server->getTempManager()->getTemporaryFolder();
$tmp = \OC::$server->get(ITempManager::class)->getTemporaryFolder();
$this->tar->extract($tmp);
\OCP\Files::rmdirr($tmp . $path);
$this->tar = null;
Expand All @@ -319,7 +320,7 @@ public function getStream(string $path, string $mode) {
} else {
$ext = '';
}
$tmpFile = \OC::$server->getTempManager()->getTemporaryFile($ext);
$tmpFile = \OC::$server->get(ITempManager::class)->getTemporaryFile($ext);
if ($this->fileExists($path)) {
$this->extractFile($path, $tmpFile);
} elseif ($mode == 'r' or $mode == 'rb') {
Expand Down
3 changes: 2 additions & 1 deletion lib/private/Archive/ZIP.php
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,7 @@
namespace OC\Archive;

use Icewind\Streams\CallbackWrapper;
use OCP\ITempManager;
use Psr\Log\LoggerInterface;

class ZIP extends Archive {
Expand Down Expand Up @@ -224,7 +225,7 @@ public function getStream(string $path, string $mode) {
} else {
$ext = '';
}
$tmpFile = \OC::$server->getTempManager()->getTemporaryFile($ext);
$tmpFile = \OC::$server->get(ITempManager::class)->getTemporaryFile($ext);
if ($this->fileExists($path)) {
$this->extractFile($path, $tmpFile);
}
Expand Down
5 changes: 3 additions & 2 deletions lib/private/Files/ObjectStore/ObjectStoreStorage.php
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,7 @@
use OCP\Files\ObjectStore\IObjectStoreMultiPartUpload;
use OCP\Files\Storage\IChunkedFileWrite;
use OCP\Files\Storage\IStorage;
use OCP\ITempManager;

class ObjectStoreStorage extends \OC\Files\Storage\Common implements IChunkedFileWrite {
use CopyDirectory;
Expand Down Expand Up @@ -367,7 +368,7 @@ public function fopen($path, $mode) {
return false;
}

$tmpFile = \OC::$server->getTempManager()->getTemporaryFile($ext);
$tmpFile = \OC::$server->get(ITempManager::class)->getTemporaryFile($ext);
$handle = fopen($tmpFile, $mode);
return CallbackWrapper::wrap($handle, null, null, function () use ($path, $tmpFile) {
$this->writeBack($tmpFile, $path);
Expand All @@ -381,7 +382,7 @@ public function fopen($path, $mode) {
case 'x+':
case 'c':
case 'c+':
$tmpFile = \OC::$server->getTempManager()->getTemporaryFile($ext);
$tmpFile = \OC::$server->get(ITempManager::class)->getTemporaryFile($ext);
if ($this->file_exists($path)) {
$source = $this->fopen($path, 'r');
file_put_contents($tmpFile, $source);
Expand Down
3 changes: 2 additions & 1 deletion lib/private/Files/ObjectStore/Swift.php
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,7 @@
use OCP\Files\NotFoundException;
use OCP\Files\ObjectStore\IObjectStore;
use OCP\Files\StorageAuthException;
use OCP\ITempManager;
use Psr\Log\LoggerInterface;

const SWIFT_SEGMENT_SIZE = 1073741824; // 1GB
Expand Down Expand Up @@ -75,7 +76,7 @@ public function getStorageId() {
}

public function writeObject($urn, $stream, string $mimetype = null) {
$tmpFile = \OC::$server->getTempManager()->getTemporaryFile('swiftwrite');
$tmpFile = \OC::$server->get(ITempManager::class)->getTemporaryFile('swiftwrite');
file_put_contents($tmpFile, $stream);
$handle = fopen($tmpFile, 'rb');

Expand Down
3 changes: 2 additions & 1 deletion lib/private/Files/Storage/DAV.php
Original file line number Diff line number Diff line change
Expand Up @@ -53,6 +53,7 @@
use OCP\Http\Client\IClientService;
use OCP\ICertificateManager;
use OCP\IConfig;
use OCP\ITempManager;
use OCP\Util;
use Psr\Http\Message\ResponseInterface;
use Sabre\DAV\Client;
Expand Down Expand Up @@ -400,7 +401,7 @@ public function fopen($path, $mode) {
case 'c':
case 'c+':
//emulate these
$tempManager = \OC::$server->getTempManager();
$tempManager = \OC::$server->get(ITempManager::class);
if (strrpos($path, '.') !== false) {
$ext = substr($path, strrpos($path, '.'));
} else {
Expand Down
4 changes: 3 additions & 1 deletion lib/private/Files/Storage/LocalTempFileTrait.php
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,8 @@
*/
namespace OC\Files\Storage;

use OCP\ITempManager;

/**
* Storage backend class for providing common filesystem operation methods
* which are not storage-backend specific.
Expand Down Expand Up @@ -62,7 +64,7 @@ protected function toTmpFile(string $path): string|false { //no longer in the st
} else {
$extension = '';
}
$tmpFile = \OC::$server->getTempManager()->getTemporaryFile($extension);
$tmpFile = \OC::$server->get(ITempManager::class)->getTemporaryFile($extension);
$target = fopen($tmpFile, 'w');
\OC_Helper::streamCopy($source, $target);
fclose($target);
Expand Down
4 changes: 3 additions & 1 deletion lib/private/Files/Storage/Temporary.php
Original file line number Diff line number Diff line change
Expand Up @@ -25,12 +25,14 @@
*/
namespace OC\Files\Storage;

use OCP\ITempManager;

/**
* local storage backend in temporary folder for testing purpose
*/
class Temporary extends Local {
public function __construct($arguments = null) {
parent::__construct(['datadir' => \OC::$server->getTempManager()->getTemporaryFolder()]);
parent::__construct(['datadir' => \OC::$server->get(ITempManager::class)->getTemporaryFolder()]);
}

public function cleanUp() {
Expand Down
3 changes: 2 additions & 1 deletion lib/private/Files/Type/Detection.php
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,7 @@
namespace OC\Files\Type;

use OCP\Files\IMimeTypeDetector;
use OCP\ITempManager;
use OCP\IURLGenerator;
use Psr\Log\LoggerInterface;

Expand Down Expand Up @@ -311,7 +312,7 @@ public function detectString($data): string {
return str_contains($info, ';') ? substr($info, 0, strpos($info, ';')) : $info;
}

$tmpFile = \OC::$server->getTempManager()->getTemporaryFile();
$tmpFile = \OC::$server->get(ITempManager::class)->getTemporaryFile();
$fh = fopen($tmpFile, 'wb');
fwrite($fh, $data, 8024);
fclose($fh);
Expand Down
Loading

0 comments on commit 23f1bee

Please sign in to comment.