mail['emailBody'] = $splitmail[1];
$headers = preg_replace("/ \s+/", ' ', preg_replace("/\n\s/", ' ', $this->mail['emailHeaders']));
$headerlines = explode("\n", $headers);
- for ($i=0; $i
mail['emailSubject'] = trim($matches[1]);
}
@@ -152,13 +152,13 @@ class fakeSMTP {
return preg_match('/^[_a-z0-9-+]+(\.[_a-z0-9-+]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,4})$/', strtolower($email));
}
- private function generateRandom($length=8) {
+ private function generateRandom($length = 8) {
$password = '';
$possible = '2346789BCDFGHJKLMNPQRTVWXYZ';
$maxlength = strlen($possible);
$i = 0;
- for ($i=0; $i < $length; $i++) {
- $char = substr($possible, mt_rand(0, $maxlength-1), 1);
+ for ($i = 0; $i < $length; $i++) {
+ $char = substr($possible, mt_rand(0, $maxlength - 1), 1);
if (!strstr($password, $char)) {
$password .= $char;
}
diff --git a/build/integration/features/bootstrap/Provisioning.php b/build/integration/features/bootstrap/Provisioning.php
index 31331092ae7..56d75c058aa 100644
--- a/build/integration/features/bootstrap/Provisioning.php
+++ b/build/integration/features/bootstrap/Provisioning.php
@@ -422,7 +422,7 @@ trait Provisioning {
'groupid' => $group,
];
- $this->response =$client->post($fullUrl, $options);
+ $this->response = $client->post($fullUrl, $options);
}
diff --git a/build/license.php b/build/license.php
index 7bd9e1054c0..e736419e2ac 100644
--- a/build/license.php
+++ b/build/license.php
@@ -287,7 +287,7 @@ With help from many libraries and frameworks including:
chdir($buildDir);
}
$timestampChanges = explode(PHP_EOL, $out);
- $timestampChanges = array_slice($timestampChanges, 0, count($timestampChanges)-1);
+ $timestampChanges = array_slice($timestampChanges, 0, count($timestampChanges) - 1);
foreach ($timestampChanges as $timestamp) {
if ((int)$timestamp < $deadlineTimestamp) {
return;
diff --git a/core/Command/App/CheckCode.php b/core/Command/App/CheckCode.php
index f7b3723a8d3..40d632a1ad3 100644
--- a/core/Command/App/CheckCode.php
+++ b/core/Command/App/CheckCode.php
@@ -112,7 +112,7 @@ class CheckCode extends Command implements CompletionAwareInterface {
$output->writeln(" {$count} errors");
}
usort($errors, function ($a, $b) {
- return $a['line'] >$b['line'];
+ return $a['line'] > $b['line'];
});
foreach ($errors as $p) {
diff --git a/core/Command/Db/ConvertType.php b/core/Command/Db/ConvertType.php
index 05bdef95bcb..d89d57ff601 100644
--- a/core/Command/Db/ConvertType.php
+++ b/core/Command/Db/ConvertType.php
@@ -312,7 +312,7 @@ class ConvertType extends Command implements CompletionAwareInterface {
$count = $result->fetchColumn();
$result->closeCursor();
- $numChunks = ceil($count/$chunkSize);
+ $numChunks = ceil($count / $chunkSize);
if ($numChunks > 1) {
$output->writeln('chunked query, ' . $numChunks . ' chunks');
}
@@ -432,11 +432,11 @@ class ConvertType extends Command implements CompletionAwareInterface {
}
$this->config->setSystemValues([
- 'dbtype' => $type,
- 'dbname' => $dbName,
- 'dbhost' => $dbHost,
- 'dbuser' => $username,
- 'dbpassword' => $password,
+ 'dbtype' => $type,
+ 'dbname' => $dbName,
+ 'dbhost' => $dbHost,
+ 'dbuser' => $username,
+ 'dbpassword' => $password,
]);
}
diff --git a/core/Command/Db/Migrations/StatusCommand.php b/core/Command/Db/Migrations/StatusCommand.php
index dc92dfb1f50..2d6c92f0f36 100644
--- a/core/Command/Db/Migrations/StatusCommand.php
+++ b/core/Command/Db/Migrations/StatusCommand.php
@@ -107,19 +107,19 @@ class StatusCommand extends Command implements CompletionAwareInterface {
$pending = $ms->describeMigrationStep('lastest');
$infos = [
- 'App' => $ms->getApp(),
- 'Version Table Name' => $ms->getMigrationsTableName(),
- 'Migrations Namespace' => $ms->getMigrationsNamespace(),
- 'Migrations Directory' => $ms->getMigrationsDirectory(),
- 'Previous Version' => $this->getFormattedVersionAlias($ms, 'prev'),
- 'Current Version' => $this->getFormattedVersionAlias($ms, 'current'),
- 'Next Version' => $this->getFormattedVersionAlias($ms, 'next'),
- 'Latest Version' => $this->getFormattedVersionAlias($ms, 'latest'),
- 'Executed Migrations' => count($executedMigrations),
- 'Executed Unavailable Migrations' => $numExecutedUnavailableMigrations,
- 'Available Migrations' => count($availableMigrations),
- 'New Migrations' => $numNewMigrations,
- 'Pending Migrations' => count($pending) ? $pending : 'None'
+ 'App' => $ms->getApp(),
+ 'Version Table Name' => $ms->getMigrationsTableName(),
+ 'Migrations Namespace' => $ms->getMigrationsNamespace(),
+ 'Migrations Directory' => $ms->getMigrationsDirectory(),
+ 'Previous Version' => $this->getFormattedVersionAlias($ms, 'prev'),
+ 'Current Version' => $this->getFormattedVersionAlias($ms, 'current'),
+ 'Next Version' => $this->getFormattedVersionAlias($ms, 'next'),
+ 'Latest Version' => $this->getFormattedVersionAlias($ms, 'latest'),
+ 'Executed Migrations' => count($executedMigrations),
+ 'Executed Unavailable Migrations' => $numExecutedUnavailableMigrations,
+ 'Available Migrations' => count($availableMigrations),
+ 'New Migrations' => $numNewMigrations,
+ 'Pending Migrations' => count($pending) ? $pending : 'None'
];
return $infos;
diff --git a/core/Command/Integrity/CheckApp.php b/core/Command/Integrity/CheckApp.php
index f613aab3808..7bf92001cc8 100644
--- a/core/Command/Integrity/CheckApp.php
+++ b/core/Command/Integrity/CheckApp.php
@@ -72,7 +72,7 @@ class CheckApp extends Base {
$path = (string)$input->getOption('path');
$result = $this->checker->verifyAppSignature($appid, $path);
$this->writeArrayInOutputFormat($input, $output, $result);
- if (count($result)>0) {
+ if (count($result) > 0) {
return 1;
}
return 0;
diff --git a/core/Command/Integrity/CheckCore.php b/core/Command/Integrity/CheckCore.php
index acbc69903c7..6f319abdf74 100644
--- a/core/Command/Integrity/CheckCore.php
+++ b/core/Command/Integrity/CheckCore.php
@@ -63,7 +63,7 @@ class CheckCore extends Base {
protected function execute(InputInterface $input, OutputInterface $output): int {
$result = $this->checker->verifyCoreSignature();
$this->writeArrayInOutputFormat($input, $output, $result);
- if (count($result)>0) {
+ if (count($result) > 0) {
return 1;
}
return 0;
diff --git a/core/Command/L10n/CreateJs.php b/core/Command/L10n/CreateJs.php
index 2402369d274..bcb68ced472 100644
--- a/core/Command/L10n/CreateJs.php
+++ b/core/Command/L10n/CreateJs.php
@@ -63,7 +63,7 @@ class CreateJs extends Command implements CompletionAwareInterface {
}
$languages = $lang;
if (empty($lang)) {
- $languages= $this->getAllLanguages($path);
+ $languages = $this->getAllLanguages($path);
}
foreach ($languages as $lang) {
@@ -84,7 +84,7 @@ class CreateJs extends Command implements CompletionAwareInterface {
if ($fileInfo->getExtension() !== 'php') {
continue;
}
- $result[]= substr($fileInfo->getBasename(), 0, -4);
+ $result[] = substr($fileInfo->getBasename(), 0, -4);
}
return $result;
diff --git a/core/Command/Log/File.php b/core/Command/Log/File.php
index 5ab3cc16e46..9cb2d062b13 100644
--- a/core/Command/Log/File.php
+++ b/core/Command/Log/File.php
@@ -108,7 +108,7 @@ class File extends Command implements Completion\CompletionAwareInterface {
$defaultLogFile = rtrim($dataDir, '/').'/nextcloud.log';
$output->writeln('Log file: '.$this->config->getSystemValue('logfile', $defaultLogFile));
- $rotateSize = $this->config->getSystemValue('log_rotate_size', 100*1024*1024);
+ $rotateSize = $this->config->getSystemValue('log_rotate_size', 100 * 1024 * 1024);
if ($rotateSize) {
$rotateString = \OCP\Util::humanFileSize($rotateSize);
} else {
diff --git a/core/Command/Preview/Repair.php b/core/Command/Preview/Repair.php
index 8c83ce2ebea..063213d0dd3 100644
--- a/core/Command/Preview/Repair.php
+++ b/core/Command/Preview/Repair.php
@@ -81,8 +81,8 @@ class Repair extends Command {
protected function execute(InputInterface $input, OutputInterface $output): int {
if ($this->memoryLimit !== -1) {
- $limitInMiB = round($this->memoryLimit / 1024 /1024, 1);
- $thresholdInMiB = round($this->memoryTreshold / 1024 /1024, 1);
+ $limitInMiB = round($this->memoryLimit / 1024 / 1024, 1);
+ $thresholdInMiB = round($this->memoryTreshold / 1024 / 1024, 1);
$output->writeln("Memory limit is $limitInMiB MiB");
$output->writeln("Memory threshold is $thresholdInMiB MiB");
$output->writeln("");
diff --git a/core/Controller/AvatarController.php b/core/Controller/AvatarController.php
index c94d98da13e..ca3a739bf9f 100644
--- a/core/Controller/AvatarController.php
+++ b/core/Controller/AvatarController.php
@@ -134,7 +134,7 @@ class AvatarController extends Controller {
}
// Cache for 1 day
- $response->cacheFor(60*60*24);
+ $response->cacheFor(60 * 60 * 24);
return $response;
}
@@ -155,7 +155,7 @@ class AvatarController extends Controller {
if (!($node instanceof File)) {
return new JSONResponse(['data' => ['message' => $this->l->t('Please select a file.')]]);
}
- if ($node->getSize() > 20*1024*1024) {
+ if ($node->getSize() > 20 * 1024 * 1024) {
return new JSONResponse(
['data' => ['message' => $this->l->t('File is too big')]],
Http::STATUS_BAD_REQUEST
@@ -183,7 +183,7 @@ class AvatarController extends Controller {
is_uploaded_file($files['tmp_name'][0]) &&
!\OC\Files\Filesystem::isFileBlacklisted($files['tmp_name'][0])
) {
- if ($files['size'][0] > 20*1024*1024) {
+ if ($files['size'][0] > 20 * 1024 * 1024) {
return new JSONResponse(
['data' => ['message' => $this->l->t('File is too big')]],
Http::STATUS_BAD_REQUEST
diff --git a/core/Controller/LostController.php b/core/Controller/LostController.php
index 0a2e8d6b73d..861a701facd 100644
--- a/core/Controller/LostController.php
+++ b/core/Controller/LostController.php
@@ -216,7 +216,7 @@ class LostController extends Controller {
throw new \Exception($this->l10n->t('Couldn\'t reset password because the token is invalid'));
}
- if ($splittedToken[0] < ($this->timeFactory->getTime() - 60*60*24*7) ||
+ if ($splittedToken[0] < ($this->timeFactory->getTime() - 60 * 60 * 24 * 7) ||
$user->getLastLogin() > $splittedToken[0]) {
throw new \Exception($this->l10n->t('Couldn\'t reset password because the token is expired'));
}
@@ -231,7 +231,7 @@ class LostController extends Controller {
* @param array $additional
* @return array
*/
- private function error($message, array $additional=[]) {
+ private function error($message, array $additional = []) {
return array_merge(['status' => 'error', 'msg' => $message], $additional);
}
@@ -240,7 +240,7 @@ class LostController extends Controller {
* @return array
*/
private function success($data = []) {
- return array_merge($data, ['status'=>'success']);
+ return array_merge($data, ['status' => 'success']);
}
/**
diff --git a/core/Controller/SetupController.php b/core/Controller/SetupController.php
index dd7e4eefc81..96dad865c4b 100644
--- a/core/Controller/SetupController.php
+++ b/core/Controller/SetupController.php
@@ -70,7 +70,7 @@ class SetupController {
return;
}
- if (isset($post['install']) and $post['install']=='true') {
+ if (isset($post['install']) and $post['install'] == 'true') {
// We have to launch the installation process :
$e = $this->setupHelper->install($post);
$errors = ['errors' => $e];
diff --git a/core/Controller/SvgController.php b/core/Controller/SvgController.php
index 573f245c5a1..b526d3b1491 100644
--- a/core/Controller/SvgController.php
+++ b/core/Controller/SvgController.php
@@ -62,7 +62,7 @@ class SvgController extends Controller {
IconsCacher $iconsCacher) {
parent::__construct($appName, $request);
- $this->serverRoot = \OC::$SERVERROOT;
+ $this->serverRoot = \OC::$SERVERROOT;
$this->timeFactory = $timeFactory;
$this->appManager = $appManager;
$this->iconsCacher = $iconsCacher;
diff --git a/core/ajax/update.php b/core/ajax/update.php
index 64ae2611579..ef6c0555490 100644
--- a/core/ajax/update.php
+++ b/core/ajax/update.php
@@ -190,7 +190,7 @@ if (\OCP\Util::needUpgrade()) {
$eventSource->send('success', (string)$l->t('Updated "%1$s" to %2$s', [$app, $version]));
});
$updater->listen('\OC\Updater', 'incompatibleAppDisabled', function ($app) use (&$incompatibleApps) {
- $incompatibleApps[]= $app;
+ $incompatibleApps[] = $app;
});
$updater->listen('\OC\Updater', 'failure', function ($message) use ($eventSource, $config) {
$eventSource->send('failure', $message);
diff --git a/core/templates/installation.php b/core/templates/installation.php
index eb1942d83ee..2cca084ad75 100644
--- a/core/templates/installation.php
+++ b/core/templates/installation.php
@@ -77,7 +77,7 @@ script('core', [
diff --git a/core/templates/layout.public.php b/core/templates/layout.public.php
index 97de7817efd..f28ccf62450 100644
--- a/core/templates/layout.public.php
+++ b/core/templates/layout.public.php
@@ -15,7 +15,7 @@
-
+
diff --git a/core/templates/layout.user.php b/core/templates/layout.user.php
index 50c0eb2ef89..63bc26bc65f 100644
--- a/core/templates/layout.user.php
+++ b/core/templates/layout.user.php
@@ -15,7 +15,7 @@
-
+
diff --git a/lib/base.php b/lib/base.php
index 6b715f9c248..bb9b8963419 100644
--- a/lib/base.php
+++ b/lib/base.php
@@ -530,7 +530,7 @@ class OC {
if (count($_COOKIE) > 0) {
$requestUri = $request->getScriptName();
$processingScript = explode('/', $requestUri);
- $processingScript = $processingScript[count($processingScript)-1];
+ $processingScript = $processingScript[count($processingScript) - 1];
// index.php routes are handled in the middleware
if ($processingScript === 'index.php') {
diff --git a/lib/private/AllConfig.php b/lib/private/AllConfig.php
index 20f4afd0ded..36f5f2cd40a 100644
--- a/lib/private/AllConfig.php
+++ b/lib/private/AllConfig.php
@@ -351,7 +351,7 @@ class AllConfig implements \OCP\IConfig {
// TODO - FIXME
$this->fixDIInit();
- $sql = 'DELETE FROM `*PREFIX*preferences` '.
+ $sql = 'DELETE FROM `*PREFIX*preferences` '.
'WHERE `userid` = ? AND `appid` = ? AND `configkey` = ?';
$this->connection->executeUpdate($sql, [$userId, $appName, $key]);
@@ -369,7 +369,7 @@ class AllConfig implements \OCP\IConfig {
// TODO - FIXME
$this->fixDIInit();
- $sql = 'DELETE FROM `*PREFIX*preferences` '.
+ $sql = 'DELETE FROM `*PREFIX*preferences` '.
'WHERE `userid` = ?';
$this->connection->executeUpdate($sql, [$userId]);
@@ -385,7 +385,7 @@ class AllConfig implements \OCP\IConfig {
// TODO - FIXME
$this->fixDIInit();
- $sql = 'DELETE FROM `*PREFIX*preferences` '.
+ $sql = 'DELETE FROM `*PREFIX*preferences` '.
'WHERE `appid` = ?';
$this->connection->executeUpdate($sql, [$appName]);
@@ -408,7 +408,7 @@ class AllConfig implements \OCP\IConfig {
return $this->userCache[$userId];
}
if ($userId === null || $userId === '') {
- $this->userCache[$userId]=[];
+ $this->userCache[$userId] = [];
return $this->userCache[$userId];
}
@@ -457,7 +457,7 @@ class AllConfig implements \OCP\IConfig {
$placeholders = (count($chunk) === 50) ? $placeholders50 : implode(',', array_fill(0, count($chunk), '?'));
- $query = 'SELECT `userid`, `configvalue` ' .
+ $query = 'SELECT `userid`, `configvalue` ' .
'FROM `*PREFIX*preferences` ' .
'WHERE `appid` = ? AND `configkey` = ? ' .
'AND `userid` IN (' . $placeholders . ')';
@@ -483,7 +483,7 @@ class AllConfig implements \OCP\IConfig {
// TODO - FIXME
$this->fixDIInit();
- $sql = 'SELECT `userid` FROM `*PREFIX*preferences` ' .
+ $sql = 'SELECT `userid` FROM `*PREFIX*preferences` ' .
'WHERE `appid` = ? AND `configkey` = ? ';
if ($this->getSystemValue('dbtype', 'sqlite') === 'oci') {
@@ -515,7 +515,7 @@ class AllConfig implements \OCP\IConfig {
// TODO - FIXME
$this->fixDIInit();
- $sql = 'SELECT `userid` FROM `*PREFIX*preferences` ' .
+ $sql = 'SELECT `userid` FROM `*PREFIX*preferences` ' .
'WHERE `appid` = ? AND `configkey` = ? ';
if ($this->getSystemValue('dbtype', 'sqlite') === 'oci') {
diff --git a/lib/private/App/CodeChecker/CodeChecker.php b/lib/private/App/CodeChecker/CodeChecker.php
index 13d6ff887f3..9dec9c9f4d7 100644
--- a/lib/private/App/CodeChecker/CodeChecker.php
+++ b/lib/private/App/CodeChecker/CodeChecker.php
@@ -40,10 +40,10 @@ class CodeChecker extends BasicEmitter {
public const CLASS_IMPLEMENTS_NOT_ALLOWED = 1001;
public const STATIC_CALL_NOT_ALLOWED = 1002;
public const CLASS_CONST_FETCH_NOT_ALLOWED = 1003;
- public const CLASS_NEW_NOT_ALLOWED = 1004;
- public const OP_OPERATOR_USAGE_DISCOURAGED = 1005;
- public const CLASS_USE_NOT_ALLOWED = 1006;
- public const CLASS_METHOD_CALL_NOT_ALLOWED = 1007;
+ public const CLASS_NEW_NOT_ALLOWED = 1004;
+ public const OP_OPERATOR_USAGE_DISCOURAGED = 1005;
+ public const CLASS_USE_NOT_ALLOWED = 1006;
+ public const CLASS_METHOD_CALL_NOT_ALLOWED = 1007;
/** @var Parser */
private $parser;
diff --git a/lib/private/App/CodeChecker/NodeVisitor.php b/lib/private/App/CodeChecker/NodeVisitor.php
index 635f1357ffd..c1bc04afb43 100644
--- a/lib/private/App/CodeChecker/NodeVisitor.php
+++ b/lib/private/App/CodeChecker/NodeVisitor.php
@@ -103,7 +103,7 @@ class NodeVisitor extends NodeVisitorAbstract {
public function enterNode(Node $node) {
if ($this->checkEqualOperatorUsage && $node instanceof Node\Expr\BinaryOp\Equal) {
- $this->errors[]= [
+ $this->errors[] = [
'disallowedToken' => '==',
'errorCode' => CodeChecker::OP_OPERATOR_USAGE_DISCOURAGED,
'line' => $node->getLine(),
@@ -111,7 +111,7 @@ class NodeVisitor extends NodeVisitorAbstract {
];
}
if ($this->checkEqualOperatorUsage && $node instanceof Node\Expr\BinaryOp\NotEqual) {
- $this->errors[]= [
+ $this->errors[] = [
'disallowedToken' => '!=',
'errorCode' => CodeChecker::OP_OPERATOR_USAGE_DISCOURAGED,
'line' => $node->getLine(),
@@ -247,7 +247,7 @@ class NodeVisitor extends NodeVisitorAbstract {
$lowerName = strtolower($name);
if (isset($this->blackListedClassNames[$lowerName])) {
- $this->errors[]= [
+ $this->errors[] = [
'disallowedToken' => $name,
'errorCode' => $errorCode,
'line' => $node->getLine(),
@@ -261,7 +261,7 @@ class NodeVisitor extends NodeVisitorAbstract {
$lowerName = strtolower($name);
if (isset($this->blackListedConstants[$lowerName])) {
- $this->errors[]= [
+ $this->errors[] = [
'disallowedToken' => $name,
'errorCode' => CodeChecker::CLASS_CONST_FETCH_NOT_ALLOWED,
'line' => $node->getLine(),
@@ -275,7 +275,7 @@ class NodeVisitor extends NodeVisitorAbstract {
$lowerName = strtolower($name);
if (isset($this->blackListedFunctions[$lowerName])) {
- $this->errors[]= [
+ $this->errors[] = [
'disallowedToken' => $name,
'errorCode' => CodeChecker::STATIC_CALL_NOT_ALLOWED,
'line' => $node->getLine(),
@@ -289,7 +289,7 @@ class NodeVisitor extends NodeVisitorAbstract {
$lowerName = strtolower($name);
if (isset($this->blackListedMethods[$lowerName])) {
- $this->errors[]= [
+ $this->errors[] = [
'disallowedToken' => $name,
'errorCode' => CodeChecker::CLASS_METHOD_CALL_NOT_ALLOWED,
'line' => $node->getLine(),
diff --git a/lib/private/App/DependencyAnalyzer.php b/lib/private/App/DependencyAnalyzer.php
index f63cb384b15..90f3b28d9c6 100644
--- a/lib/private/App/DependencyAnalyzer.php
+++ b/lib/private/App/DependencyAnalyzer.php
@@ -168,7 +168,7 @@ class DependencyAnalyzer {
}
if (isset($dependencies['php']['@attributes']['min-int-size'])) {
$intSize = $dependencies['php']['@attributes']['min-int-size'];
- if ($intSize > $this->platform->getIntSize()*8) {
+ if ($intSize > $this->platform->getIntSize() * 8) {
$missing[] = (string)$this->l->t('%sbit or higher PHP required.', [$intSize]);
}
}
diff --git a/lib/private/AppFramework/App.php b/lib/private/AppFramework/App.php
index 563ef6bffa8..d93849a6db6 100644
--- a/lib/private/AppFramework/App.php
+++ b/lib/private/AppFramework/App.php
@@ -60,7 +60,7 @@ class App {
* the transformed app id, defaults to OCA\
* @return string the starting namespace for the app
*/
- public static function buildAppNamespace(string $appId, string $topNamespace='OCA\\'): string {
+ public static function buildAppNamespace(string $appId, string $topNamespace = 'OCA\\'): string {
// Hit the cache!
if (isset(self::$nameSpaceCache[$appId])) {
return $topNamespace . self::$nameSpaceCache[$appId];
@@ -88,7 +88,7 @@ class App {
return $topNamespace . self::$nameSpaceCache[$appId];
}
- public static function getAppIdForClass(string $className, string $topNamespace='OCA\\'): ?string {
+ public static function getAppIdForClass(string $className, string $topNamespace = 'OCA\\'): ?string {
if (strpos($className, $topNamespace) !== 0) {
return null;
}
@@ -223,7 +223,7 @@ class App {
$dispatcher = $container['Dispatcher'];
- list(, , $output) = $dispatcher->dispatch($controller, $methodName);
+ list(, , $output) = $dispatcher->dispatch($controller, $methodName);
return $output;
}
}
diff --git a/lib/private/AppFramework/Http.php b/lib/private/AppFramework/Http.php
index 88e49816eb9..828efe390e7 100644
--- a/lib/private/AppFramework/Http.php
+++ b/lib/private/AppFramework/Http.php
@@ -41,7 +41,7 @@ class Http extends BaseHttp {
* @param array $server $_SERVER
* @param string $protocolVersion the http version to use defaults to HTTP/1.1
*/
- public function __construct($server, $protocolVersion='HTTP/1.1') {
+ public function __construct($server, $protocolVersion = 'HTTP/1.1') {
$this->server = $server;
$this->protocolVersion = $protocolVersion;
diff --git a/lib/private/AppFramework/Http/Request.php b/lib/private/AppFramework/Http/Request.php
index dcc3c8ec68d..3705ab2e92d 100644
--- a/lib/private/AppFramework/Http/Request.php
+++ b/lib/private/AppFramework/Http/Request.php
@@ -136,7 +136,7 @@ class Request implements \ArrayAccess, \Countable, IRequest {
* @param string $stream
* @see http://www.php.net/manual/en/reserved.variables.php
*/
- public function __construct(array $vars= [],
+ public function __construct(array $vars = [],
ISecureRandom $secureRandom = null,
IConfig $config,
CsrfTokenManager $csrfTokenManager = null,
@@ -827,7 +827,7 @@ class Request implements \ArrayAccess, \Countable, IRequest {
*/
public function getScriptName(): string {
$name = $this->server['SCRIPT_NAME'];
- $overwriteWebRoot = $this->config->getSystemValue('overwritewebroot');
+ $overwriteWebRoot = $this->config->getSystemValue('overwritewebroot');
if ($overwriteWebRoot !== '' && $this->isOverwriteCondition()) {
// FIXME: This code is untestable due to __DIR__, also that hardcoded path is really dangerous
$serverRoot = str_replace('\\', '/', substr(__DIR__, 0, -\strlen('lib/private/appframework/http/')));
diff --git a/lib/private/AppFramework/Middleware/MiddlewareDispatcher.php b/lib/private/AppFramework/Middleware/MiddlewareDispatcher.php
index 270058dc554..577931b8222 100644
--- a/lib/private/AppFramework/Middleware/MiddlewareDispatcher.php
+++ b/lib/private/AppFramework/Middleware/MiddlewareDispatcher.php
@@ -116,7 +116,7 @@ class MiddlewareDispatcher {
* @throws \Exception the passed in exception if it can't handle it
*/
public function afterException(Controller $controller, string $methodName, \Exception $exception): Response {
- for ($i=$this->middlewareCounter-1; $i>=0; $i--) {
+ for ($i = $this->middlewareCounter - 1; $i >= 0; $i--) {
$middleware = $this->middlewares[$i];
try {
return $middleware->afterException($controller, $methodName, $exception);
@@ -139,7 +139,7 @@ class MiddlewareDispatcher {
* @return Response a Response object
*/
public function afterController(Controller $controller, string $methodName, Response $response): Response {
- for ($i= \count($this->middlewares)-1; $i>=0; $i--) {
+ for ($i = \count($this->middlewares) - 1; $i >= 0; $i--) {
$middleware = $this->middlewares[$i];
$response = $middleware->afterController($controller, $methodName, $response);
}
@@ -158,7 +158,7 @@ class MiddlewareDispatcher {
* @return string the output that should be printed
*/
public function beforeOutput(Controller $controller, string $methodName, string $output): string {
- for ($i= \count($this->middlewares)-1; $i>=0; $i--) {
+ for ($i = \count($this->middlewares) - 1; $i >= 0; $i--) {
$middleware = $this->middlewares[$i];
$output = $middleware->beforeOutput($controller, $methodName, $output);
}
diff --git a/lib/private/AppFramework/Middleware/Security/CORSMiddleware.php b/lib/private/AppFramework/Middleware/Security/CORSMiddleware.php
index af6d3de6570..765311858de 100644
--- a/lib/private/AppFramework/Middleware/Security/CORSMiddleware.php
+++ b/lib/private/AppFramework/Middleware/Security/CORSMiddleware.php
@@ -145,7 +145,7 @@ class CORSMiddleware extends Middleware {
*/
public function afterException($controller, $methodName, \Exception $exception) {
if ($exception instanceof SecurityException) {
- $response = new JSONResponse(['message' => $exception->getMessage()]);
+ $response = new JSONResponse(['message' => $exception->getMessage()]);
if ($exception->getCode() !== 0) {
$response->setStatus($exception->getCode());
} else {
diff --git a/lib/private/AppFramework/Middleware/Security/SameSiteCookieMiddleware.php b/lib/private/AppFramework/Middleware/Security/SameSiteCookieMiddleware.php
index 7a358f6ebf2..48d386e749e 100644
--- a/lib/private/AppFramework/Middleware/Security/SameSiteCookieMiddleware.php
+++ b/lib/private/AppFramework/Middleware/Security/SameSiteCookieMiddleware.php
@@ -48,7 +48,7 @@ class SameSiteCookieMiddleware extends Middleware {
public function beforeController($controller, $methodName) {
$requestUri = $this->request->getScriptName();
$processingScript = explode('/', $requestUri);
- $processingScript = $processingScript[count($processingScript)-1];
+ $processingScript = $processingScript[count($processingScript) - 1];
if ($processingScript !== 'index.php') {
return;
diff --git a/lib/private/AppFramework/OCS/V1Response.php b/lib/private/AppFramework/OCS/V1Response.php
index 5a3e4090425..8264c4ea2c0 100644
--- a/lib/private/AppFramework/OCS/V1Response.php
+++ b/lib/private/AppFramework/OCS/V1Response.php
@@ -35,7 +35,7 @@ class V1Response extends BaseResponse {
* @return int
*/
public function getStatus() {
- $status = parent::getStatus();
+ $status = parent::getStatus();
if ($status === Http::STATUS_FORBIDDEN || $status === API::RESPOND_UNAUTHORISED) {
return Http::STATUS_UNAUTHORIZED;
}
diff --git a/lib/private/AppFramework/OCS/V2Response.php b/lib/private/AppFramework/OCS/V2Response.php
index b6863262d81..3d1868857ce 100644
--- a/lib/private/AppFramework/OCS/V2Response.php
+++ b/lib/private/AppFramework/OCS/V2Response.php
@@ -36,7 +36,7 @@ class V2Response extends BaseResponse {
* @return int
*/
public function getStatus() {
- $status = parent::getStatus();
+ $status = parent::getStatus();
if ($status === API::RESPOND_UNAUTHORISED) {
return Http::STATUS_UNAUTHORIZED;
} elseif ($status === API::RESPOND_NOT_FOUND) {
diff --git a/lib/private/Archive/Archive.php b/lib/private/Archive/Archive.php
index ee27009ca83..633e5e8ab0e 100644
--- a/lib/private/Archive/Archive.php
+++ b/lib/private/Archive/Archive.php
@@ -47,7 +47,7 @@ abstract class Archive {
* @param string $source either a local file or string data
* @return bool
*/
- abstract public function addFile($path, $source='');
+ abstract public function addFile($path, $source = '');
/**
* rename a file or folder in the archive
* @param string $source
diff --git a/lib/private/Archive/ZIP.php b/lib/private/Archive/ZIP.php
index 31aea420a3d..fd34f4d4cea 100644
--- a/lib/private/Archive/ZIP.php
+++ b/lib/private/Archive/ZIP.php
@@ -39,15 +39,15 @@ class ZIP extends Archive {
/**
* @var \ZipArchive zip
*/
- private $zip=null;
+ private $zip = null;
private $path;
/**
* @param string $source
*/
public function __construct($source) {
- $this->path=$source;
- $this->zip=new \ZipArchive();
+ $this->path = $source;
+ $this->zip = new \ZipArchive();
if ($this->zip->open($source, \ZipArchive::CREATE)) {
} else {
\OCP\Util::writeLog('files_archive', 'Error while opening archive '.$source, ILogger::WARN);
@@ -67,11 +67,11 @@ class ZIP extends Archive {
* @param string $source either a local file or string data
* @return bool
*/
- public function addFile($path, $source='') {
- if ($source and $source[0]=='/' and file_exists($source)) {
- $result=$this->zip->addFile($source, $path);
+ public function addFile($path, $source = '') {
+ if ($source and $source[0] == '/' and file_exists($source)) {
+ $result = $this->zip->addFile($source, $path);
} else {
- $result=$this->zip->addFromString($path, $source);
+ $result = $this->zip->addFromString($path, $source);
}
if ($result) {
$this->zip->close();//close and reopen to save the zip
@@ -86,8 +86,8 @@ class ZIP extends Archive {
* @return boolean|null
*/
public function rename($source, $dest) {
- $source=$this->stripPath($source);
- $dest=$this->stripPath($dest);
+ $source = $this->stripPath($source);
+ $dest = $this->stripPath($dest);
$this->zip->renameName($source, $dest);
}
/**
@@ -96,7 +96,7 @@ class ZIP extends Archive {
* @return int
*/
public function filesize($path) {
- $stat=$this->zip->statName($path);
+ $stat = $this->zip->statName($path);
return $stat['size'];
}
/**
@@ -113,13 +113,13 @@ class ZIP extends Archive {
* @return array
*/
public function getFolder($path) {
- $files=$this->getFiles();
- $folderContent=[];
- $pathLength=strlen($path);
+ $files = $this->getFiles();
+ $folderContent = [];
+ $pathLength = strlen($path);
foreach ($files as $file) {
- if (substr($file, 0, $pathLength)==$path and $file!=$path) {
- if (strrpos(substr($file, 0, -1), '/')<=$pathLength) {
- $folderContent[]=substr($file, $pathLength);
+ if (substr($file, 0, $pathLength) == $path and $file != $path) {
+ if (strrpos(substr($file, 0, -1), '/') <= $pathLength) {
+ $folderContent[] = substr($file, $pathLength);
}
}
}
@@ -130,10 +130,10 @@ class ZIP extends Archive {
* @return array
*/
public function getFiles() {
- $fileCount=$this->zip->numFiles;
- $files=[];
- for ($i=0;$i<$fileCount;$i++) {
- $files[]=$this->zip->getNameIndex($i);
+ $fileCount = $this->zip->numFiles;
+ $files = [];
+ for ($i = 0;$i < $fileCount;$i++) {
+ $files[] = $this->zip->getNameIndex($i);
}
return $files;
}
@@ -169,7 +169,7 @@ class ZIP extends Archive {
* @return bool
*/
public function fileExists($path) {
- return ($this->zip->locateName($path)!==false) or ($this->zip->locateName($path.'/')!==false);
+ return ($this->zip->locateName($path) !== false) or ($this->zip->locateName($path.'/') !== false);
}
/**
* remove a file or folder from the archive
@@ -190,16 +190,16 @@ class ZIP extends Archive {
* @return resource
*/
public function getStream($path, $mode) {
- if ($mode=='r' or $mode=='rb') {
+ if ($mode == 'r' or $mode == 'rb') {
return $this->zip->getStream($path);
} else {
//since we can't directly get a writable stream,
//make a temp copy of the file and put it back
//in the archive when the stream is closed
- if (strrpos($path, '.')!==false) {
- $ext=substr($path, strrpos($path, '.'));
+ if (strrpos($path, '.') !== false) {
+ $ext = substr($path, strrpos($path, '.'));
} else {
- $ext='';
+ $ext = '';
}
$tmpFile = \OC::$server->getTempManager()->getTemporaryFile($ext);
if ($this->fileExists($path)) {
@@ -225,7 +225,7 @@ class ZIP extends Archive {
* @return string
*/
private function stripPath($path) {
- if (!$path || $path[0]=='/') {
+ if (!$path || $path[0] == '/') {
return substr($path, 1);
} else {
return $path;
diff --git a/lib/private/Authentication/Token/DefaultToken.php b/lib/private/Authentication/Token/DefaultToken.php
index 9df907dfb4a..d91866ae66f 100644
--- a/lib/private/Authentication/Token/DefaultToken.php
+++ b/lib/private/Authentication/Token/DefaultToken.php
@@ -163,7 +163,7 @@ class DefaultToken extends Entity implements INamedToken {
$scope = json_decode($this->getScope(), true);
if (!$scope) {
return [
- 'filesystem'=> true
+ 'filesystem' => true
];
}
return $scope;
diff --git a/lib/private/Authentication/Token/PublicKeyToken.php b/lib/private/Authentication/Token/PublicKeyToken.php
index 320373436f1..d2336c81efd 100644
--- a/lib/private/Authentication/Token/PublicKeyToken.php
+++ b/lib/private/Authentication/Token/PublicKeyToken.php
@@ -180,7 +180,7 @@ class PublicKeyToken extends Entity implements INamedToken, IWipeableToken {
$scope = json_decode($this->getScope(), true);
if (!$scope) {
return [
- 'filesystem'=> true
+ 'filesystem' => true
];
}
return $scope;
diff --git a/lib/private/Calendar/Manager.php b/lib/private/Calendar/Manager.php
index ab8af870221..f8401259eb4 100644
--- a/lib/private/Calendar/Manager.php
+++ b/lib/private/Calendar/Manager.php
@@ -31,12 +31,12 @@ class Manager implements \OCP\Calendar\IManager {
/**
* @var ICalendar[] holds all registered calendars
*/
- private $calendars=[];
+ private $calendars = [];
/**
* @var \Closure[] to call to load/register calendar providers
*/
- private $calendarLoaders=[];
+ private $calendarLoaders = [];
/**
* This function is used to search and find objects within the user's calendars.
@@ -51,7 +51,7 @@ class Manager implements \OCP\Calendar\IManager {
* @return array an array of events/journals/todos which are arrays of arrays of key-value-pairs
* @since 13.0.0
*/
- public function search($pattern, array $searchProperties=[], array $options=[], $limit=null, $offset=null) {
+ public function search($pattern, array $searchProperties = [], array $options = [], $limit = null, $offset = null) {
$this->loadCalendars();
$result = [];
foreach ($this->calendars as $calendar) {
diff --git a/lib/private/Collaboration/AutoComplete/Manager.php b/lib/private/Collaboration/AutoComplete/Manager.php
index dc3b76f1f4d..d03de3a9fd3 100644
--- a/lib/private/Collaboration/AutoComplete/Manager.php
+++ b/lib/private/Collaboration/AutoComplete/Manager.php
@@ -30,7 +30,7 @@ use OCP\IServerContainer;
class Manager implements IManager {
/** @var string[] */
- protected $sorters =[];
+ protected $sorters = [];
/** @var ISorter[] */
protected $sorterInstances = [];
diff --git a/lib/private/Collaboration/Collaborators/GroupPlugin.php b/lib/private/Collaboration/Collaborators/GroupPlugin.php
index f65763a5007..18a6631ed80 100644
--- a/lib/private/Collaboration/Collaborators/GroupPlugin.php
+++ b/lib/private/Collaboration/Collaborators/GroupPlugin.php
@@ -71,7 +71,7 @@ class GroupPlugin implements ISearchPlugin {
$hasMoreResults = true;
}
- $userGroups = [];
+ $userGroups = [];
if (!empty($groups) && ($this->shareWithGroupOnly || $this->shareeEnumerationInGroupOnly)) {
// Intersect all the groups that match with the groups this user is a member of
$userGroups = $this->groupManager->getUserGroups($this->userSession->getUser());
diff --git a/lib/private/Comments/Comment.php b/lib/private/Comments/Comment.php
index 7c553c25a1c..7368425174a 100644
--- a/lib/private/Comments/Comment.php
+++ b/lib/private/Comments/Comment.php
@@ -32,19 +32,19 @@ use OCP\Comments\MessageTooLongException;
class Comment implements IComment {
protected $data = [
- 'id' => '',
- 'parentId' => '0',
+ 'id' => '',
+ 'parentId' => '0',
'topmostParentId' => '0',
- 'childrenCount' => '0',
- 'message' => '',
- 'verb' => '',
- 'actorType' => '',
- 'actorId' => '',
- 'objectType' => '',
- 'objectId' => '',
- 'referenceId' => null,
- 'creationDT' => null,
- 'latestChildDT' => null,
+ 'childrenCount' => '0',
+ 'message' => '',
+ 'verb' => '',
+ 'actorType' => '',
+ 'actorId' => '',
+ 'objectType' => '',
+ 'objectId' => '',
+ 'referenceId' => null,
+ 'creationDT' => null,
+ 'latestChildDT' => null,
];
/**
@@ -301,12 +301,12 @@ class Comment implements IComment {
public function setActor($actorType, $actorId) {
if (
!is_string($actorType) || !trim($actorType)
- || !is_string($actorId) || $actorId === ''
+ || !is_string($actorId) || $actorId === ''
) {
throw new \InvalidArgumentException('String expected.');
}
$this->data['actorType'] = trim($actorType);
- $this->data['actorId'] = $actorId;
+ $this->data['actorId'] = $actorId;
return $this;
}
@@ -387,12 +387,12 @@ class Comment implements IComment {
public function setObject($objectType, $objectId) {
if (
!is_string($objectType) || !trim($objectType)
- || !is_string($objectId) || trim($objectId) === ''
+ || !is_string($objectId) || trim($objectId) === ''
) {
throw new \InvalidArgumentException('String expected.');
}
$this->data['objectType'] = trim($objectType);
- $this->data['objectId'] = trim($objectId);
+ $this->data['objectId'] = trim($objectId);
return $this;
}
diff --git a/lib/private/DB/Adapter.php b/lib/private/DB/Adapter.php
index 562fea25f5c..26fd018dec1 100644
--- a/lib/private/DB/Adapter.php
+++ b/lib/private/DB/Adapter.php
@@ -103,7 +103,7 @@ class Adapter {
}
$query = 'INSERT INTO `' .$table . '` (`'
. implode('`,`', array_keys($input)) . '`) SELECT '
- . str_repeat('?,', count($input)-1).'? ' // Is there a prettier alternative?
+ . str_repeat('?,', count($input) - 1).'? ' // Is there a prettier alternative?
. 'FROM `' . $table . '` WHERE ';
$inserts = array_values($input);
diff --git a/lib/private/DB/AdapterSqlite.php b/lib/private/DB/AdapterSqlite.php
index 43ec4a90c62..5731ee1721a 100644
--- a/lib/private/DB/AdapterSqlite.php
+++ b/lib/private/DB/AdapterSqlite.php
@@ -71,7 +71,7 @@ class AdapterSqlite extends Adapter {
}
$fieldList = '`' . implode('`,`', array_keys($input)) . '`';
$query = "INSERT INTO `$table` ($fieldList) SELECT "
- . str_repeat('?,', count($input)-1).'? '
+ . str_repeat('?,', count($input) - 1).'? '
. " WHERE NOT EXISTS (SELECT 1 FROM `$table` WHERE ";
$inserts = array_values($input);
diff --git a/lib/private/DB/Connection.php b/lib/private/DB/Connection.php
index ba3e6aae5bc..c6c01930cc4 100644
--- a/lib/private/DB/Connection.php
+++ b/lib/private/DB/Connection.php
@@ -175,7 +175,7 @@ class Connection extends ReconnectWrapper implements IDBConnection {
* @param int $offset
* @return \Doctrine\DBAL\Driver\Statement The prepared statement.
*/
- public function prepare($statement, $limit=null, $offset=null) {
+ public function prepare($statement, $limit = null, $offset = null) {
if ($limit === -1) {
$limit = null;
}
diff --git a/lib/private/DB/Migrator.php b/lib/private/DB/Migrator.php
index be3d6557e95..7cb642401cb 100644
--- a/lib/private/DB/Migrator.php
+++ b/lib/private/DB/Migrator.php
@@ -304,13 +304,13 @@ class Migrator {
if (is_null($this->dispatcher)) {
return;
}
- $this->dispatcher->dispatch('\OC\DB\Migrator::executeSql', new GenericEvent($sql, [$step+1, $max]));
+ $this->dispatcher->dispatch('\OC\DB\Migrator::executeSql', new GenericEvent($sql, [$step + 1, $max]));
}
private function emitCheckStep($tableName, $step, $max) {
if (is_null($this->dispatcher)) {
return;
}
- $this->dispatcher->dispatch('\OC\DB\Migrator::checkTable', new GenericEvent($tableName, [$step+1, $max]));
+ $this->dispatcher->dispatch('\OC\DB\Migrator::checkTable', new GenericEvent($tableName, [$step + 1, $max]));
}
}
diff --git a/lib/private/DirectEditing/Manager.php b/lib/private/DirectEditing/Manager.php
index 3542aeed252..0e7e988eef2 100644
--- a/lib/private/DirectEditing/Manager.php
+++ b/lib/private/DirectEditing/Manager.php
@@ -121,7 +121,7 @@ class Manager implements IManager {
}
}
$return = [];
- $return['templates'] = $templates;
+ $return['templates'] = $templates;
return $return;
}
diff --git a/lib/private/Encryption/Keys/Storage.php b/lib/private/Encryption/Keys/Storage.php
index 43a291b886c..248011aee5b 100644
--- a/lib/private/Encryption/Keys/Storage.php
+++ b/lib/private/Encryption/Keys/Storage.php
@@ -269,7 +269,7 @@ class Storage implements IStorage {
if ($this->view->file_exists($path)) {
if (isset($this->keyCache[$path])) {
- $key = $this->keyCache[$path];
+ $key = $this->keyCache[$path];
} else {
$data = $this->view->file_get_contents($path);
diff --git a/lib/private/Encryption/Util.php b/lib/private/Encryption/Util.php
index 0bda00a5cbc..f5107d2ec43 100644
--- a/lib/private/Encryption/Util.php
+++ b/lib/private/Encryption/Util.php
@@ -174,7 +174,7 @@ class Util {
if ($c->getType() === 'dir') {
$dirList[] = $c->getPath();
} else {
- $result[] = $c->getPath();
+ $result[] = $c->getPath();
}
}
}
@@ -255,7 +255,7 @@ class Util {
// if path also contains a transaction id, we remove it too
$extension = pathinfo($fPath, PATHINFO_EXTENSION);
if (substr($extension, 0, 12) === 'ocTransferId') { // 12 = strlen("ocTransferId")
- $newLength = strlen($fPath) - strlen($extension) -1;
+ $newLength = strlen($fPath) - strlen($extension) - 1;
$fPath = substr($fPath, 0, $newLength);
}
return $fPath;
diff --git a/lib/private/Federation/CloudFederationProviderManager.php b/lib/private/Federation/CloudFederationProviderManager.php
index 459d82c5bfb..56bc9a95322 100644
--- a/lib/private/Federation/CloudFederationProviderManager.php
+++ b/lib/private/Federation/CloudFederationProviderManager.php
@@ -75,7 +75,7 @@ class CloudFederationProviderManager implements ICloudFederationProviderManager
IClientService $httpClientService,
ICloudIdManager $cloudIdManager,
ILogger $logger) {
- $this->cloudFederationProvider= [];
+ $this->cloudFederationProvider = [];
$this->appManager = $appManager;
$this->httpClientService = $httpClientService;
$this->cloudIdManager = $cloudIdManager;
diff --git a/lib/private/Files/FileInfo.php b/lib/private/Files/FileInfo.php
index 3c6bdd3b5a0..8f42aff85bb 100644
--- a/lib/private/Files/FileInfo.php
+++ b/lib/private/Files/FileInfo.php
@@ -95,7 +95,7 @@ class FileInfo implements \OCP\Files\FileInfo, \ArrayAccess {
* @param \OCP\Files\Mount\IMountPoint $mount
* @param \OCP\IUser|null $owner
*/
- public function __construct($path, $storage, $internalPath, $data, $mount, $owner= null) {
+ public function __construct($path, $storage, $internalPath, $data, $mount, $owner = null) {
$this->path = $path;
$this->storage = $storage;
$this->internalPath = $internalPath;
diff --git a/lib/private/Files/ObjectStore/S3Signature.php b/lib/private/Files/ObjectStore/S3Signature.php
index f83b0e0064e..ab8854849fa 100644
--- a/lib/private/Files/ObjectStore/S3Signature.php
+++ b/lib/private/Files/ObjectStore/S3Signature.php
@@ -129,7 +129,7 @@ class S3Signature implements SignatureInterface {
) {
$modify = [
'remove_headers' => ['X-Amz-Date'],
- 'set_headers' => ['Date' => gmdate(\DateTime::RFC2822)]
+ 'set_headers' => ['Date' => gmdate(\DateTime::RFC2822)]
];
// Add the security token header if one is being used by the credentials
diff --git a/lib/private/Files/Storage/CommonTest.php b/lib/private/Files/Storage/CommonTest.php
index b59090893d4..43a87f8d704 100644
--- a/lib/private/Files/Storage/CommonTest.php
+++ b/lib/private/Files/Storage/CommonTest.php
@@ -41,7 +41,7 @@ class CommonTest extends \OC\Files\Storage\Common {
private $storage;
public function __construct($params) {
- $this->storage=new \OC\Files\Storage\Local($params);
+ $this->storage = new \OC\Files\Storage\Local($params);
}
public function getId() {
@@ -80,7 +80,7 @@ class CommonTest extends \OC\Files\Storage\Common {
public function free_space($path) {
return $this->storage->free_space($path);
}
- public function touch($path, $mtime=null) {
+ public function touch($path, $mtime = null) {
return $this->storage->touch($path, $mtime);
}
}
diff --git a/lib/private/Files/Stream/Encryption.php b/lib/private/Files/Stream/Encryption.php
index 980be6d043e..76668b14008 100644
--- a/lib/private/Files/Stream/Encryption.php
+++ b/lib/private/Files/Stream/Encryption.php
@@ -432,7 +432,7 @@ class Encryption extends Wrapper {
public function stream_close() {
$this->flush('end');
- $position = (int)floor($this->position/$this->unencryptedBlockSize);
+ $position = (int)floor($this->position / $this->unencryptedBlockSize);
$remainingData = $this->encryptionModule->end($this->fullPath, $position . 'end');
if ($this->readOnly === false) {
if (!empty($remainingData)) {
@@ -465,7 +465,7 @@ class Encryption extends Wrapper {
// automatically attempted when the file is written to disk -
// we are handling that separately here and we don't want to
// get into an infinite loop
- $position = (int)floor($this->position/$this->unencryptedBlockSize);
+ $position = (int)floor($this->position / $this->unencryptedBlockSize);
$encrypted = $this->encryptionModule->encrypt($this->cache, $position . $positionPrefix);
$bytesWritten = parent::stream_write($encrypted);
$this->writeFlag = false;
@@ -473,8 +473,8 @@ class Encryption extends Wrapper {
// If so then update the encrypted filesize
// Note that the unencrypted pointer and filesize are NOT yet updated when flush() is called
// We recalculate the encrypted filesize as we do not know the context of calling flush()
- $completeBlocksInFile=(int)floor($this->unencryptedSize/$this->unencryptedBlockSize);
- if ($completeBlocksInFile === (int)floor($this->position/$this->unencryptedBlockSize)) {
+ $completeBlocksInFile = (int)floor($this->unencryptedSize / $this->unencryptedBlockSize);
+ if ($completeBlocksInFile === (int)floor($this->position / $this->unencryptedBlockSize)) {
$this->size = $this->util->getBlockSize() * $completeBlocksInFile;
$this->size += $bytesWritten;
$this->size += $this->headerSize;
@@ -493,7 +493,7 @@ class Encryption extends Wrapper {
if ($this->cache === '' && !($this->position === $this->unencryptedSize && ($this->position % $this->unencryptedBlockSize) === 0)) {
// Get the data from the file handle
$data = $this->stream_read_block($this->util->getBlockSize());
- $position = (int)floor($this->position/$this->unencryptedBlockSize);
+ $position = (int)floor($this->position / $this->unencryptedBlockSize);
$numberOfChunks = (int)($this->unencryptedSize / $this->unencryptedBlockSize);
if ($numberOfChunks === $position) {
$position .= 'end';
diff --git a/lib/private/FullTextSearch/Model/SearchRequestSimpleQuery.php b/lib/private/FullTextSearch/Model/SearchRequestSimpleQuery.php
index c015c4c1579..a6cef00764e 100644
--- a/lib/private/FullTextSearch/Model/SearchRequestSimpleQuery.php
+++ b/lib/private/FullTextSearch/Model/SearchRequestSimpleQuery.php
@@ -173,8 +173,8 @@ final class SearchRequestSimpleQuery implements ISearchRequestSimpleQuery, JsonS
*/
public function jsonSerialize() {
return [
- 'type' => $this->getType(),
- 'field' => $this->getField(),
+ 'type' => $this->getType(),
+ 'field' => $this->getField(),
'values' => $this->getValues()
];
}
diff --git a/lib/private/Installer.php b/lib/private/Installer.php
index 9be79ac72bb..47d6c42d518 100644
--- a/lib/private/Installer.php
+++ b/lib/private/Installer.php
@@ -173,10 +173,10 @@ class Installer {
\OC::$server->getConfig()->setAppValue($info['id'], 'enabled', 'no');
//set remote/public handlers
- foreach ($info['remote'] as $name=>$path) {
+ foreach ($info['remote'] as $name => $path) {
\OC::$server->getConfig()->setAppValue('core', 'remote_'.$name, $info['id'].'/'.$path);
}
- foreach ($info['public'] as $name=>$path) {
+ foreach ($info['public'] as $name => $path) {
\OC::$server->getConfig()->setAppValue('core', 'public_'.$name, $info['id'].'/'.$path);
}
@@ -455,7 +455,7 @@ class Installer {
*/
public function isDownloaded($name) {
foreach (\OC::$APPSROOTS as $dir) {
- $dirToTest = $dir['path'];
+ $dirToTest = $dir['path'];
$dirToTest .= '/';
$dirToTest .= $name;
$dirToTest .= '/';
@@ -535,7 +535,7 @@ class Installer {
if ($filename[0] !== '.' and is_dir($app_dir['path']."/$filename")) {
if (file_exists($app_dir['path']."/$filename/appinfo/info.xml")) {
if ($config->getAppValue($filename, "installed_version", null) === null) {
- $info=OC_App::getAppInfo($filename);
+ $info = OC_App::getAppInfo($filename);
$enabled = isset($info['default_enable']);
if (($enabled || in_array($filename, $appManager->getAlwaysEnabledApps()))
&& $config->getAppValue($filename, 'enabled') !== 'no') {
@@ -609,10 +609,10 @@ class Installer {
}
//set remote/public handlers
- foreach ($info['remote'] as $name=>$path) {
+ foreach ($info['remote'] as $name => $path) {
$config->setAppValue('core', 'remote_'.$name, $app.'/'.$path);
}
- foreach ($info['public'] as $name=>$path) {
+ foreach ($info['public'] as $name => $path) {
$config->setAppValue('core', 'public_'.$name, $app.'/'.$path);
}
diff --git a/lib/private/LargeFileHelper.php b/lib/private/LargeFileHelper.php
index 6d03e78ab56..b07d77a02fa 100755
--- a/lib/private/LargeFileHelper.php
+++ b/lib/private/LargeFileHelper.php
@@ -193,7 +193,7 @@ class LargeFileHelper {
try {
$result = filemtime($fullPath);
} catch (\Exception $e) {
- $result =- 1;
+ $result = - 1;
}
if ($result < 0) {
if (\OC_Helper::is_function_enabled('exec')) {
diff --git a/lib/private/Log/ErrorHandler.php b/lib/private/Log/ErrorHandler.php
index e87da0b5d83..b58fae60d51 100644
--- a/lib/private/Log/ErrorHandler.php
+++ b/lib/private/Log/ErrorHandler.php
@@ -41,7 +41,7 @@ class ErrorHandler {
return preg_replace('/\/\/(.*):(.*)@/', '//xxx:xxx@', $msg);
}
- public static function register($debug=false) {
+ public static function register($debug = false) {
$handler = new ErrorHandler();
if ($debug) {
diff --git a/lib/private/Log/File.php b/lib/private/Log/File.php
index b2fb16029c8..289afed9179 100644
--- a/lib/private/Log/File.php
+++ b/lib/private/Log/File.php
@@ -107,7 +107,7 @@ class File extends LogDetails implements IWriter, IFileBased {
* @param int $offset
* @return array
*/
- public function getEntries(int $limit=50, int $offset=0):array {
+ public function getEntries(int $limit = 50, int $offset = 0):array {
$minLevel = $this->config->getValue("loglevel", ILogger::WARN);
$entries = [];
$handle = @fopen($this->logFile, 'rb');
@@ -118,7 +118,7 @@ class File extends LogDetails implements IWriter, IFileBased {
$entriesCount = 0;
$lines = 0;
// Loop through each character of the file looking for new lines
- while ($pos >= 0 && ($limit === null ||$entriesCount < $limit)) {
+ while ($pos >= 0 && ($limit === null || $entriesCount < $limit)) {
fseek($handle, $pos);
$ch = fgetc($handle);
if ($ch == "\n" || $pos == 0) {
diff --git a/lib/private/Mail/EMailTemplate.php b/lib/private/Mail/EMailTemplate.php
index ade4390cec7..f274d8acdb1 100644
--- a/lib/private/Mail/EMailTemplate.php
+++ b/lib/private/Mail/EMailTemplate.php
@@ -500,7 +500,7 @@ EOF;
$label = ($plainMetaInfo !== false)? $plainMetaInfo : '';
$this->plainBody .= sprintf("%${plainIndent}s %s\n",
$label,
- str_replace("\n", "\n" . str_repeat(' ', $plainIndent+1), $plainText));
+ str_replace("\n", "\n" . str_repeat(' ', $plainIndent + 1), $plainText));
}
}
}
@@ -595,7 +595,7 @@ EOF;
$this->plainBody .= $plainText . ': ';
}
- $this->plainBody .= $url . PHP_EOL;
+ $this->plainBody .= $url . PHP_EOL;
}
/**
diff --git a/lib/private/Memcache/Memcached.php b/lib/private/Memcache/Memcached.php
index eff76a41c45..7b852a418e1 100644
--- a/lib/private/Memcache/Memcached.php
+++ b/lib/private/Memcache/Memcached.php
@@ -52,13 +52,13 @@ class Memcached extends Cache implements IMemcache {
$defaultOptions = [
\Memcached::OPT_CONNECT_TIMEOUT => 50,
- \Memcached::OPT_RETRY_TIMEOUT => 50,
- \Memcached::OPT_SEND_TIMEOUT => 50,
- \Memcached::OPT_RECV_TIMEOUT => 50,
- \Memcached::OPT_POLL_TIMEOUT => 50,
+ \Memcached::OPT_RETRY_TIMEOUT => 50,
+ \Memcached::OPT_SEND_TIMEOUT => 50,
+ \Memcached::OPT_RECV_TIMEOUT => 50,
+ \Memcached::OPT_POLL_TIMEOUT => 50,
// Enable compression
- \Memcached::OPT_COMPRESSION => true,
+ \Memcached::OPT_COMPRESSION => true,
// Turn on consistent hashing
\Memcached::OPT_LIBKETAMA_COMPATIBLE => true,
@@ -110,7 +110,7 @@ class Memcached extends Cache implements IMemcache {
public function set($key, $value, $ttl = 0) {
if ($ttl > 0) {
- $result = self::$cache->set($this->getNameSpace() . $key, $value, $ttl);
+ $result = self::$cache->set($this->getNameSpace() . $key, $value, $ttl);
} else {
$result = self::$cache->set($this->getNameSpace() . $key, $value);
}
@@ -126,7 +126,7 @@ class Memcached extends Cache implements IMemcache {
}
public function remove($key) {
- $result= self::$cache->delete($this->getNameSpace() . $key);
+ $result = self::$cache->delete($this->getNameSpace() . $key);
if (self::$cache->getResultCode() !== \Memcached::RES_NOTFOUND) {
$this->verifyReturnCode();
}
diff --git a/lib/private/Migration/BackgroundRepair.php b/lib/private/Migration/BackgroundRepair.php
index fd616d505e0..679ad80b5dc 100644
--- a/lib/private/Migration/BackgroundRepair.php
+++ b/lib/private/Migration/BackgroundRepair.php
@@ -62,7 +62,7 @@ class BackgroundRepair extends TimedJob {
*/
public function execute($jobList, ILogger $logger = null) {
// add an interval of 15 mins
- $this->setInterval(15*60);
+ $this->setInterval(15 * 60);
$this->jobList = $jobList;
$this->logger = $logger;
diff --git a/lib/private/OCS/DiscoveryService.php b/lib/private/OCS/DiscoveryService.php
index 1c69d1ecc9a..0a28b09fda1 100644
--- a/lib/private/OCS/DiscoveryService.php
+++ b/lib/private/OCS/DiscoveryService.php
@@ -97,7 +97,7 @@ class DiscoveryService implements IDiscoveryService {
}
// Write into cache
- $this->cache->set($remote . '#' . $service, json_encode($discoveredServices), 60*60*24);
+ $this->cache->set($remote . '#' . $service, json_encode($discoveredServices), 60 * 60 * 24);
return $discoveredServices;
}
diff --git a/lib/private/Preview/TXT.php b/lib/private/Preview/TXT.php
index 4004b0a0647..968a15a5683 100644
--- a/lib/private/Preview/TXT.php
+++ b/lib/private/Preview/TXT.php
@@ -76,7 +76,7 @@ class TXT extends ProviderV2 {
imagecolorallocate($image, 255, 255, 255);
$textColor = imagecolorallocate($image, 0, 0, 0);
- $fontFile = __DIR__;
+ $fontFile = __DIR__;
$fontFile .= '/../../../core';
$fontFile .= '/fonts/NotoSans-Regular.ttf';
diff --git a/lib/private/PreviewManager.php b/lib/private/PreviewManager.php
index f6f6671f08b..8fa0fc92da5 100644
--- a/lib/private/PreviewManager.php
+++ b/lib/private/PreviewManager.php
@@ -369,14 +369,14 @@ class PreviewManager implements IPreview {
$checkImagick = new \Imagick();
$imagickProviders = [
- 'SVG' => ['mimetype' => '/image\/svg\+xml/', 'class' => Preview\SVG::class],
- 'TIFF' => ['mimetype' => '/image\/tiff/', 'class' => Preview\TIFF::class],
- 'PDF' => ['mimetype' => '/application\/pdf/', 'class' => Preview\PDF::class],
- 'AI' => ['mimetype' => '/application\/illustrator/', 'class' => Preview\Illustrator::class],
- 'PSD' => ['mimetype' => '/application\/x-photoshop/', 'class' => Preview\Photoshop::class],
- 'EPS' => ['mimetype' => '/application\/postscript/', 'class' => Preview\Postscript::class],
- 'TTF' => ['mimetype' => '/application\/(?:font-sfnt|x-font$)/', 'class' => Preview\Font::class],
- 'HEIC' => ['mimetype' => '/image\/hei(f|c)/', 'class' => Preview\HEIC::class],
+ 'SVG' => ['mimetype' => '/image\/svg\+xml/', 'class' => Preview\SVG::class],
+ 'TIFF' => ['mimetype' => '/image\/tiff/', 'class' => Preview\TIFF::class],
+ 'PDF' => ['mimetype' => '/application\/pdf/', 'class' => Preview\PDF::class],
+ 'AI' => ['mimetype' => '/application\/illustrator/', 'class' => Preview\Illustrator::class],
+ 'PSD' => ['mimetype' => '/application\/x-photoshop/', 'class' => Preview\Photoshop::class],
+ 'EPS' => ['mimetype' => '/application\/postscript/', 'class' => Preview\Postscript::class],
+ 'TTF' => ['mimetype' => '/application\/(?:font-sfnt|x-font$)/', 'class' => Preview\Font::class],
+ 'HEIC' => ['mimetype' => '/image\/hei(f|c)/', 'class' => Preview\HEIC::class],
];
foreach ($imagickProviders as $queryFormat => $provider) {
diff --git a/lib/private/Repair.php b/lib/private/Repair.php
index bba797a098d..79e3366fdbb 100644
--- a/lib/private/Repair.php
+++ b/lib/private/Repair.php
@@ -87,7 +87,7 @@ class Repair implements IOutput {
*/
public function __construct(array $repairSteps, EventDispatcherInterface $dispatcher) {
$this->repairSteps = $repairSteps;
- $this->dispatcher = $dispatcher;
+ $this->dispatcher = $dispatcher;
}
/**
@@ -185,8 +185,8 @@ class Repair implements IOutput {
*/
public static function getBeforeUpgradeRepairSteps() {
$connection = \OC::$server->getDatabaseConnection();
- $config = \OC::$server->getConfig();
- $steps = [
+ $config = \OC::$server->getConfig();
+ $steps = [
new Collation(\OC::$server->getConfig(), \OC::$server->getLogger(), $connection, true),
new SqliteAutoincrement($connection),
new SaveAccountsTableData($connection, $config),
diff --git a/lib/private/Repair/ClearFrontendCaches.php b/lib/private/Repair/ClearFrontendCaches.php
index 4f48d9623b1..789f73adf7f 100644
--- a/lib/private/Repair/ClearFrontendCaches.php
+++ b/lib/private/Repair/ClearFrontendCaches.php
@@ -46,8 +46,8 @@ class ClearFrontendCaches implements IRepairStep {
SCSSCacher $SCSSCacher,
JSCombiner $JSCombiner) {
$this->cacheFactory = $cacheFactory;
- $this->scssCacher = $SCSSCacher;
- $this->jsCombiner = $JSCombiner;
+ $this->scssCacher = $SCSSCacher;
+ $this->jsCombiner = $JSCombiner;
}
public function getName() {
diff --git a/lib/private/Repair/ClearGeneratedAvatarCache.php b/lib/private/Repair/ClearGeneratedAvatarCache.php
index 44a390d66a1..00a5aac1ff3 100644
--- a/lib/private/Repair/ClearGeneratedAvatarCache.php
+++ b/lib/private/Repair/ClearGeneratedAvatarCache.php
@@ -38,7 +38,7 @@ class ClearGeneratedAvatarCache implements IRepairStep {
private $config;
public function __construct(IConfig $config, AvatarManager $avatarManager) {
- $this->config = $config;
+ $this->config = $config;
$this->avatarManager = $avatarManager;
}
diff --git a/lib/private/Route/Route.php b/lib/private/Route/Route.php
index 705183d24ae..8e419344881 100644
--- a/lib/private/Route/Route.php
+++ b/lib/private/Route/Route.php
@@ -151,7 +151,7 @@ class Route extends SymfonyRoute implements IRoute {
public function actionInclude($file) {
$function = function ($param) use ($file) {
unset($param["_route"]);
- $_GET=array_merge($_GET, $param);
+ $_GET = array_merge($_GET, $param);
unset($param);
require_once "$file";
} ;
diff --git a/lib/private/Security/Bruteforce/Throttler.php b/lib/private/Security/Bruteforce/Throttler.php
index 01c0e02ef8f..377d9c309b4 100644
--- a/lib/private/Security/Bruteforce/Throttler.php
+++ b/lib/private/Security/Bruteforce/Throttler.php
@@ -195,8 +195,8 @@ class Throttler {
$valid = true;
for ($i = 0; $i < $mask; $i++) {
- $part = ord($addr[(int)($i/8)]);
- $orig = ord($ip[(int)($i/8)]);
+ $part = ord($addr[(int)($i / 8)]);
+ $orig = ord($ip[(int)($i / 8)]);
$bitmask = 1 << (7 - ($i % 8));
@@ -273,7 +273,7 @@ class Throttler {
return self::MAX_DELAY_MS;
}
- $delay = $firstDelay * 2**$attempts;
+ $delay = $firstDelay * 2 ** $attempts;
if ($delay > self::MAX_DELAY) {
return self::MAX_DELAY_MS;
}
diff --git a/lib/private/Security/Normalizer/IpAddress.php b/lib/private/Security/Normalizer/IpAddress.php
index b471c499440..1aac69d1b06 100644
--- a/lib/private/Security/Normalizer/IpAddress.php
+++ b/lib/private/Security/Normalizer/IpAddress.php
@@ -78,7 +78,7 @@ class IpAddress {
}
$pos = strpos($ip, '%'); // if there is an explicit interface added to the IP, e.g. fe80::ae2d:d1e7:fe1e:9a8d%enp2s0
if ($pos !== false) {
- $ip = substr($ip, 0, $pos-1);
+ $ip = substr($ip, 0, $pos - 1);
}
$binary = \inet_pton($ip);
for ($i = 128; $i > $maskBits; $i -= 8) {
diff --git a/lib/private/Setup/AbstractDatabase.php b/lib/private/Setup/AbstractDatabase.php
index b2c290eb874..98d6b84ab9c 100644
--- a/lib/private/Setup/AbstractDatabase.php
+++ b/lib/private/Setup/AbstractDatabase.php
@@ -90,10 +90,10 @@ abstract class AbstractDatabase {
$dbTablePrefix = isset($config['dbtableprefix']) ? $config['dbtableprefix'] : 'oc_';
$this->config->setValues([
- 'dbname' => $dbName,
- 'dbhost' => $dbHost,
+ 'dbname' => $dbName,
+ 'dbhost' => $dbHost,
'dbport' => $dbPort,
- 'dbtableprefix' => $dbTablePrefix,
+ 'dbtableprefix' => $dbTablePrefix,
]);
$this->dbUser = $dbUser;
diff --git a/lib/private/Setup/MySQL.php b/lib/private/Setup/MySQL.php
index 6a5513eab43..bbd292d4e0c 100644
--- a/lib/private/Setup/MySQL.php
+++ b/lib/private/Setup/MySQL.php
@@ -57,7 +57,7 @@ class MySQL extends AbstractDatabase {
$this->createDatabase($connection);
//fill the database if needed
- $query='select count(*) from information_schema.tables where table_schema=? AND table_name = ?';
+ $query = 'select count(*) from information_schema.tables where table_schema=? AND table_name = ?';
$connection->executeQuery($query, [$this->dbName, $this->tablePrefix.'users']);
$connection->close();
@@ -93,7 +93,7 @@ class MySQL extends AbstractDatabase {
try {
//this query will fail if there aren't the right permissions, ignore the error
- $query="GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, REFERENCES, INDEX, ALTER, CREATE TEMPORARY TABLES, LOCK TABLES, EXECUTE, CREATE VIEW, SHOW VIEW, CREATE ROUTINE, ALTER ROUTINE, EVENT, TRIGGER ON `$name` . * TO '$user'";
+ $query = "GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, REFERENCES, INDEX, ALTER, CREATE TEMPORARY TABLES, LOCK TABLES, EXECUTE, CREATE VIEW, SHOW VIEW, CREATE ROUTINE, ALTER ROUTINE, EVENT, TRIGGER ON `$name` . * TO '$user'";
$connection->executeUpdate($query);
} catch (\Exception $ex) {
$this->logger->logException($ex, [
@@ -165,7 +165,7 @@ class MySQL extends AbstractDatabase {
$this->dbUser = $adminUser;
//create a random password so we don't need to store the admin password in the config file
- $this->dbPassword = $this->random->generate(30);
+ $this->dbPassword = $this->random->generate(30);
$this->createDBUser($connection);
diff --git a/lib/private/Share/Share.php b/lib/private/Share/Share.php
index aed233692ed..0648e40f162 100644
--- a/lib/private/Share/Share.php
+++ b/lib/private/Share/Share.php
@@ -355,13 +355,13 @@ class Share extends Constants {
// Pass all the vars we have for now, they may be useful
$hookParams = [
- 'id' => $item['id'],
- 'itemType' => $item['item_type'],
- 'itemSource' => $item['item_source'],
- 'shareType' => $shareType,
- 'shareWith' => $shareWith,
- 'itemParent' => $item['parent'],
- 'uidOwner' => $item['uid_owner'],
+ 'id' => $item['id'],
+ 'itemType' => $item['item_type'],
+ 'itemSource' => $item['item_source'],
+ 'shareType' => $shareType,
+ 'shareWith' => $shareWith,
+ 'itemParent' => $item['parent'],
+ 'uidOwner' => $item['uid_owner'],
];
if ($item['item_type'] === 'file' || $item['item_type'] === 'folder') {
$hookParams['fileSource'] = $item['file_source'];
@@ -474,7 +474,7 @@ class Share extends Constants {
*/
public static function getItems($itemType, $item = null, $shareType = null, $shareWith = null,
$uidOwner = null, $format = self::FORMAT_NONE, $parameters = null, $limit = -1,
- $includeCollections = false, $itemShareWithBySource = false, $checkExpireDate = true) {
+ $includeCollections = false, $itemShareWithBySource = false, $checkExpireDate = true) {
if (\OC::$server->getConfig()->getAppValue('core', 'shareapi_enabled', 'yes') != 'yes') {
return [];
}
diff --git a/lib/private/Share20/Manager.php b/lib/private/Share20/Manager.php
index 1b1818a6e48..a12658f10d7 100644
--- a/lib/private/Share20/Manager.php
+++ b/lib/private/Share20/Manager.php
@@ -1395,7 +1395,7 @@ class Manager implements IManager {
*
* @return Share[]
*/
- public function getSharesByPath(\OCP\Files\Node $path, $page=0, $perPage=50) {
+ public function getSharesByPath(\OCP\Files\Node $path, $page = 0, $perPage = 50) {
return [];
}
diff --git a/lib/private/SubAdmin.php b/lib/private/SubAdmin.php
index 89fd63b4230..a9e3855639c 100644
--- a/lib/private/SubAdmin.php
+++ b/lib/private/SubAdmin.php
@@ -200,7 +200,7 @@ class SubAdmin extends PublicEmitter implements ISubAdmin {
$group = $this->groupManager->get($row['gid']);
if (!is_null($user) && !is_null($group)) {
$subadmins[] = [
- 'user' => $user,
+ 'user' => $user,
'group' => $group
];
}
@@ -228,7 +228,7 @@ class SubAdmin extends PublicEmitter implements ISubAdmin {
->andWhere($qb->expr()->eq('uid', $qb->createNamedParameter($user->getUID())))
->execute();
- $fetch = $result->fetch();
+ $fetch = $result->fetch();
$result->closeCursor();
$result = !empty($fetch) ? true : false;
diff --git a/lib/private/Tagging/TagMapper.php b/lib/private/Tagging/TagMapper.php
index d9c8a7fb470..cf1d93e3d26 100644
--- a/lib/private/Tagging/TagMapper.php
+++ b/lib/private/Tagging/TagMapper.php
@@ -57,7 +57,7 @@ class TagMapper extends Mapper {
}
$sql = 'SELECT `id`, `uid`, `type`, `category` FROM `' . $this->getTableName() . '` '
- . 'WHERE `uid` IN (' . str_repeat('?,', count($owners)-1) . '?) AND `type` = ? ORDER BY `category`';
+ . 'WHERE `uid` IN (' . str_repeat('?,', count($owners) - 1) . '?) AND `type` = ? ORDER BY `category`';
return $this->findEntities($sql, array_merge($owners, [$type]));
}
diff --git a/lib/private/Tags.php b/lib/private/Tags.php
index 22c6c68ba6c..8ab61f7c1bb 100644
--- a/lib/private/Tags.php
+++ b/lib/private/Tags.php
@@ -417,7 +417,7 @@ class Tags implements ITags {
* @param int|null $id int Optional object id to add to this|these tag(s)
* @return bool Returns false on error.
*/
- public function addMultiple($names, $sync=false, $id = null) {
+ public function addMultiple($names, $sync = false, $id = null) {
if (!is_array($names)) {
$names = [$names];
}
@@ -576,7 +576,7 @@ class Tags implements ITags {
$updates = $ids;
try {
$query = 'DELETE FROM `' . self::RELATION_TABLE . '` ';
- $query .= 'WHERE `objid` IN (' . str_repeat('?,', count($ids)-1) . '?) ';
+ $query .= 'WHERE `objid` IN (' . str_repeat('?,', count($ids) - 1) . '?) ';
$query .= 'AND `type`= ?';
$updates[] = $this->type;
$stmt = \OC_DB::prepare($query);
@@ -675,7 +675,7 @@ class Tags implements ITags {
if (!$this->hasTag($tag)) {
$this->add($tag);
}
- $tagId = $this->getTagId($tag);
+ $tagId = $this->getTagId($tag);
} else {
$tagId = $tag;
}
@@ -711,7 +711,7 @@ class Tags implements ITags {
\OCP\Util::writeLog('core', __METHOD__.', Tag name is empty', ILogger::DEBUG);
return false;
}
- $tagId = $this->getTagId($tag);
+ $tagId = $this->getTagId($tag);
} else {
$tagId = $tag;
}
@@ -791,7 +791,7 @@ class Tags implements ITags {
}
// case-insensitive array_search
- protected function array_searchi($needle, $haystack, $mem='getName') {
+ protected function array_searchi($needle, $haystack, $mem = 'getName') {
if (!is_array($haystack)) {
return false;
}
@@ -847,10 +847,10 @@ class Tags implements ITags {
*/
private function tagMap(Tag $tag) {
return [
- 'id' => $tag->getId(),
- 'name' => $tag->getName(),
+ 'id' => $tag->getId(),
+ 'name' => $tag->getName(),
'owner' => $tag->getOwner(),
- 'type' => $tag->getType()
+ 'type' => $tag->getType()
];
}
}
diff --git a/lib/private/Template/CSSResourceLocator.php b/lib/private/Template/CSSResourceLocator.php
index b5c16d1690b..7b33e181f76 100644
--- a/lib/private/Template/CSSResourceLocator.php
+++ b/lib/private/Template/CSSResourceLocator.php
@@ -66,7 +66,7 @@ class CSSResourceLocator extends ResourceLocator {
) {
return;
}
- $style = substr($style, strpos($style, '/')+1);
+ $style = substr($style, strpos($style, '/') + 1);
$app_path = \OC_App::getAppPath($app);
$app_url = \OC_App::getAppWebPath($app);
diff --git a/lib/private/Template/IconsCacher.php b/lib/private/Template/IconsCacher.php
index f9497c9a144..9b80711dd29 100644
--- a/lib/private/Template/IconsCacher.php
+++ b/lib/private/Template/IconsCacher.php
@@ -79,10 +79,10 @@ class IconsCacher {
Factory $appDataFactory,
IURLGenerator $urlGenerator,
ITimeFactory $timeFactory) {
- $this->logger = $logger;
- $this->appData = $appDataFactory->get('css');
+ $this->logger = $logger;
+ $this->appData = $appDataFactory->get('css');
$this->urlGenerator = $urlGenerator;
- $this->timeFactory = $timeFactory;
+ $this->timeFactory = $timeFactory;
try {
$this->folder = $this->appData->getFolder('icons');
diff --git a/lib/private/Template/JSCombiner.php b/lib/private/Template/JSCombiner.php
index 48f6dadfd6a..e9e4333c380 100644
--- a/lib/private/Template/JSCombiner.php
+++ b/lib/private/Template/JSCombiner.php
@@ -138,7 +138,7 @@ class JSCombiner {
return false;
}
- foreach ($deps as $file=>$mtime) {
+ foreach ($deps as $file => $mtime) {
if (!file_exists($file) || filemtime($file) > $mtime) {
return false;
}
diff --git a/lib/private/Template/JSResourceLocator.php b/lib/private/Template/JSResourceLocator.php
index 50af5fd34cc..2f0fe16f491 100644
--- a/lib/private/Template/JSResourceLocator.php
+++ b/lib/private/Template/JSResourceLocator.php
@@ -75,7 +75,7 @@ class JSResourceLocator extends ResourceLocator {
}
$app = substr($script, 0, strpos($script, '/'));
- $script = substr($script, strpos($script, '/')+1);
+ $script = substr($script, strpos($script, '/') + 1);
$app_path = \OC_App::getAppPath($app);
$app_url = \OC_App::getAppWebPath($app);
diff --git a/lib/private/Template/SCSSCacher.php b/lib/private/Template/SCSSCacher.php
index 120ed585e16..64d3caf9b6b 100644
--- a/lib/private/Template/SCSSCacher.php
+++ b/lib/private/Template/SCSSCacher.php
@@ -110,14 +110,14 @@ class SCSSCacher {
ICacheFactory $cacheFactory,
IconsCacher $iconsCacher,
ITimeFactory $timeFactory) {
- $this->logger = $logger;
- $this->appData = $appDataFactory->get('css');
+ $this->logger = $logger;
+ $this->appData = $appDataFactory->get('css');
$this->urlGenerator = $urlGenerator;
- $this->config = $config;
- $this->defaults = $defaults;
- $this->serverRoot = $serverRoot;
+ $this->config = $config;
+ $this->defaults = $defaults;
+ $this->serverRoot = $serverRoot;
$this->cacheFactory = $cacheFactory;
- $this->depsCache = $cacheFactory->createDistributed('SCSS-deps-' . md5($this->urlGenerator->getBaseUrl()));
+ $this->depsCache = $cacheFactory->createDistributed('SCSS-deps-' . md5($this->urlGenerator->getBaseUrl()));
$this->isCachedCache = $cacheFactory->createDistributed('SCSS-cached-' . md5($this->urlGenerator->getBaseUrl()));
$lockingCache = $cacheFactory->createDistributed('SCSS-locks-' . md5($this->urlGenerator->getBaseUrl()));
if (!($lockingCache instanceof IMemcache)) {
@@ -141,9 +141,9 @@ class SCSSCacher {
$path = explode('/', $root . '/' . $file);
$fileNameSCSS = array_pop($path);
- $fileNameCSS = $this->prependVersionPrefix($this->prependBaseurlPrefix(str_replace('.scss', '.css', $fileNameSCSS)), $app);
+ $fileNameCSS = $this->prependVersionPrefix($this->prependBaseurlPrefix(str_replace('.scss', '.css', $fileNameSCSS)), $app);
- $path = implode('/', $path);
+ $path = implode('/', $path);
$webDir = $this->getWebDir($path, $app, $this->serverRoot, \OC::$WEBROOT);
if (!$this->variablesChanged() && $this->isCached($fileNameCSS, $app)) {
@@ -202,7 +202,7 @@ class SCSSCacher {
* @return ISimpleFile
*/
public function getCachedCSS(string $appName, string $fileName): ISimpleFile {
- $folder = $this->appData->getFolder($appName);
+ $folder = $this->appData->getFolder($appName);
$cachedFileName = $this->prependVersionPrefix($this->prependBaseurlPrefix($fileName), $appName);
return $folder->getFile($cachedFileName);
@@ -238,10 +238,10 @@ class SCSSCacher {
$cachedFile = $folder->getFile($fileNameCSS);
if ($cachedFile->getSize() > 0) {
$depFileName = $fileNameCSS . '.deps';
- $deps = $this->depsCache->get($folder->getName() . '-' . $depFileName);
+ $deps = $this->depsCache->get($folder->getName() . '-' . $depFileName);
if ($deps === null) {
$depFile = $folder->getFile($depFileName);
- $deps = $depFile->getContent();
+ $deps = $depFile->getContent();
// Set to memcache for next run
$this->depsCache->set($folder->getName() . '-' . $depFileName, $deps);
}
@@ -419,7 +419,7 @@ class SCSSCacher {
* @return string
*/
private function rebaseUrls(string $css, string $webDir): string {
- $re = '/url\([\'"]([^\/][\.\w?=\/-]*)[\'"]\)/x';
+ $re = '/url\([\'"]([^\/][\.\w?=\/-]*)[\'"]\)/x';
$subst = 'url(\'' . $webDir . '/$1\')';
return preg_replace($re, $subst, $css);
@@ -433,8 +433,8 @@ class SCSSCacher {
*/
public function getCachedSCSS(string $appName, string $fileName): string {
$tmpfileLoc = explode('/', $fileName);
- $fileName = array_pop($tmpfileLoc);
- $fileName = $this->prependVersionPrefix($this->prependBaseurlPrefix(str_replace('.scss', '.css', $fileName)), $appName);
+ $fileName = array_pop($tmpfileLoc);
+ $fileName = $this->prependVersionPrefix($this->prependBaseurlPrefix(str_replace('.scss', '.css', $fileName)), $appName);
return substr($this->urlGenerator->linkToRoute('core.Css.getCss', [
'fileName' => $fileName,
diff --git a/lib/private/URLGenerator.php b/lib/private/URLGenerator.php
index 4da6a91b6c9..d7de6cf92a2 100644
--- a/lib/private/URLGenerator.php
+++ b/lib/private/URLGenerator.php
@@ -198,34 +198,34 @@ class URLGenerator implements IURLGenerator {
$path = \OC::$WEBROOT . "/themes/$theme/apps/$appName/img/$file";
} elseif (!file_exists(\OC::$SERVERROOT . "/themes/$theme/apps/$appName/img/$basename.svg")
&& file_exists(\OC::$SERVERROOT . "/themes/$theme/apps/$appName/img/$basename.png")) {
- $path = \OC::$WEBROOT . "/themes/$theme/apps/$appName/img/$basename.png";
+ $path = \OC::$WEBROOT . "/themes/$theme/apps/$appName/img/$basename.png";
} elseif (!empty($appName) and file_exists(\OC::$SERVERROOT . "/themes/$theme/$appName/img/$file")) {
- $path = \OC::$WEBROOT . "/themes/$theme/$appName/img/$file";
+ $path = \OC::$WEBROOT . "/themes/$theme/$appName/img/$file";
} elseif (!empty($appName) and (!file_exists(\OC::$SERVERROOT . "/themes/$theme/$appName/img/$basename.svg")
&& file_exists(\OC::$SERVERROOT . "/themes/$theme/$appName/img/$basename.png"))) {
- $path = \OC::$WEBROOT . "/themes/$theme/$appName/img/$basename.png";
+ $path = \OC::$WEBROOT . "/themes/$theme/$appName/img/$basename.png";
} elseif (file_exists(\OC::$SERVERROOT . "/themes/$theme/core/img/$file")) {
- $path = \OC::$WEBROOT . "/themes/$theme/core/img/$file";
+ $path = \OC::$WEBROOT . "/themes/$theme/core/img/$file";
} elseif (!file_exists(\OC::$SERVERROOT . "/themes/$theme/core/img/$basename.svg")
&& file_exists(\OC::$SERVERROOT . "/themes/$theme/core/img/$basename.png")) {
- $path = \OC::$WEBROOT . "/themes/$theme/core/img/$basename.png";
+ $path = \OC::$WEBROOT . "/themes/$theme/core/img/$basename.png";
} elseif ($themingEnabled && $themingImagePath) {
$path = $themingImagePath;
} elseif ($appPath && file_exists($appPath . "/img/$file")) {
- $path = \OC_App::getAppWebPath($appName) . "/img/$file";
+ $path = \OC_App::getAppWebPath($appName) . "/img/$file";
} elseif ($appPath && !file_exists($appPath . "/img/$basename.svg")
&& file_exists($appPath . "/img/$basename.png")) {
- $path = \OC_App::getAppWebPath($appName) . "/img/$basename.png";
+ $path = \OC_App::getAppWebPath($appName) . "/img/$basename.png";
} elseif (!empty($appName) and file_exists(\OC::$SERVERROOT . "/$appName/img/$file")) {
- $path = \OC::$WEBROOT . "/$appName/img/$file";
+ $path = \OC::$WEBROOT . "/$appName/img/$file";
} elseif (!empty($appName) and (!file_exists(\OC::$SERVERROOT . "/$appName/img/$basename.svg")
&& file_exists(\OC::$SERVERROOT . "/$appName/img/$basename.png"))) {
- $path = \OC::$WEBROOT . "/$appName/img/$basename.png";
+ $path = \OC::$WEBROOT . "/$appName/img/$basename.png";
} elseif (file_exists(\OC::$SERVERROOT . "/core/img/$file")) {
- $path = \OC::$WEBROOT . "/core/img/$file";
+ $path = \OC::$WEBROOT . "/core/img/$file";
} elseif (!file_exists(\OC::$SERVERROOT . "/core/img/$basename.svg")
&& file_exists(\OC::$SERVERROOT . "/core/img/$basename.png")) {
- $path = \OC::$WEBROOT . "/themes/$theme/core/img/$basename.png";
+ $path = \OC::$WEBROOT . "/themes/$theme/core/img/$basename.png";
}
if ($path !== '') {
diff --git a/lib/private/User/Backend.php b/lib/private/User/Backend.php
index 477448279a5..c87dc5d2d50 100644
--- a/lib/private/User/Backend.php
+++ b/lib/private/User/Backend.php
@@ -39,14 +39,14 @@ abstract class Backend implements UserInterface {
/**
* actions that user backends can define
*/
- public const CREATE_USER = 1; // 1 << 0
- public const SET_PASSWORD = 16; // 1 << 4
- public const CHECK_PASSWORD = 256; // 1 << 8
- public const GET_HOME = 4096; // 1 << 12
- public const GET_DISPLAYNAME = 65536; // 1 << 16
- public const SET_DISPLAYNAME = 1048576; // 1 << 20
- public const PROVIDE_AVATAR = 16777216; // 1 << 24
- public const COUNT_USERS = 268435456; // 1 << 28
+ public const CREATE_USER = 1; // 1 << 0
+ public const SET_PASSWORD = 16; // 1 << 4
+ public const CHECK_PASSWORD = 256; // 1 << 8
+ public const GET_HOME = 4096; // 1 << 12
+ public const GET_DISPLAYNAME = 65536; // 1 << 16
+ public const SET_DISPLAYNAME = 1048576; // 1 << 20
+ public const PROVIDE_AVATAR = 16777216; // 1 << 24
+ public const COUNT_USERS = 268435456; // 1 << 28
protected $possibleActions = [
self::CREATE_USER => 'createUser',
diff --git a/lib/private/User/User.php b/lib/private/User/User.php
index 365b8ae33a1..3ca05afb313 100644
--- a/lib/private/User/User.php
+++ b/lib/private/User/User.php
@@ -472,7 +472,7 @@ class User implements IUser {
public function getCloudId() {
$uid = $this->getUID();
$server = $this->urlGenerator->getAbsoluteURL('/');
- $server = rtrim($this->removeProtocolFromUrl($server), '/');
+ $server = rtrim($this->removeProtocolFromUrl($server), '/');
return \OC::$server->getCloudIdManager()->getCloudId($uid, $server)->getId();
}
diff --git a/lib/private/legacy/OC_API.php b/lib/private/legacy/OC_API.php
index 37a496a38fe..5e4a46ab4d7 100644
--- a/lib/private/legacy/OC_API.php
+++ b/lib/private/legacy/OC_API.php
@@ -44,7 +44,7 @@ class OC_API {
* @param \OC\OCS\Result $result
* @param string $format the format xml|json
*/
- public static function respond($result, $format='xml') {
+ public static function respond($result, $format = 'xml') {
$request = \OC::$server->getRequest();
// Send 401 headers if unauthorised
diff --git a/lib/private/legacy/OC_App.php b/lib/private/legacy/OC_App.php
index 5851fc01379..d2f8e536005 100644
--- a/lib/private/legacy/OC_App.php
+++ b/lib/private/legacy/OC_App.php
@@ -1118,7 +1118,7 @@ class OC_App {
$similarLangFallback = $option['@value'];
} elseif (strpos($attributeLang, $similarLang . '_') === 0) {
if ($similarLangFallback === false) {
- $similarLangFallback = $option['@value'];
+ $similarLangFallback = $option['@value'];
}
}
} else {
diff --git a/lib/private/legacy/OC_DB.php b/lib/private/legacy/OC_DB.php
index 1d2e9bd1429..50dab74abb9 100644
--- a/lib/private/legacy/OC_DB.php
+++ b/lib/private/legacy/OC_DB.php
@@ -68,7 +68,7 @@ class OC_DB {
// return the result
try {
- $result =$connection->prepare($query, $limit, $offset);
+ $result = $connection->prepare($query, $limit, $offset);
} catch (\Doctrine\DBAL\DBALException $e) {
throw new \OC\DatabaseException($e->getMessage());
}
diff --git a/lib/private/legacy/OC_DB_StatementWrapper.php b/lib/private/legacy/OC_DB_StatementWrapper.php
index d4072caf28e..668e97c5650 100644
--- a/lib/private/legacy/OC_DB_StatementWrapper.php
+++ b/lib/private/legacy/OC_DB_StatementWrapper.php
@@ -66,7 +66,7 @@ class OC_DB_StatementWrapper {
* @param array $input
* @return \OC_DB_StatementWrapper|int|bool
*/
- public function execute($input= []) {
+ public function execute($input = []) {
$this->lastArguments = $input;
if (count($input) > 0) {
$result = $this->statement->execute($input);
diff --git a/lib/private/legacy/OC_FileChunking.php b/lib/private/legacy/OC_FileChunking.php
index 8aef29541fe..0075d5c53f7 100644
--- a/lib/private/legacy/OC_FileChunking.php
+++ b/lib/private/legacy/OC_FileChunking.php
@@ -88,7 +88,7 @@ class OC_FileChunking {
$cache = $this->getCache();
$chunkcount = (int)$this->info['chunkcount'];
- for ($i=($chunkcount-1); $i >= 0; $i--) {
+ for ($i = ($chunkcount - 1); $i >= 0; $i--) {
if (!$cache->hasKey($prefix.$i)) {
return false;
}
@@ -144,7 +144,7 @@ class OC_FileChunking {
public function cleanup() {
$cache = $this->getCache();
$prefix = $this->getPrefix();
- for ($i=0; $i < $this->info['chunkcount']; $i++) {
+ for ($i = 0; $i < $this->info['chunkcount']; $i++) {
$cache->remove($prefix.$i);
}
}
diff --git a/lib/private/legacy/OC_Files.php b/lib/private/legacy/OC_Files.php
index f5f91fc9958..ab8a70941fd 100644
--- a/lib/private/legacy/OC_Files.php
+++ b/lib/private/legacy/OC_Files.php
@@ -232,7 +232,7 @@ class OC_Files {
* @return array $rangeArray ('from'=>int,'to'=>int), ...
*/
private static function parseHttpRangeHeader($rangeHeaderPos, $fileSize) {
- $rArray=explode(',', $rangeHeaderPos);
+ $rArray = explode(',', $rangeHeaderPos);
$minOffset = 0;
$ind = 0;
@@ -244,7 +244,7 @@ class OC_Files {
if ($ranges[0] < $minOffset) { // case: bytes=500-700,601-999
$ranges[0] = $minOffset;
}
- if ($ind > 0 && $rangeArray[$ind-1]['to']+1 == $ranges[0]) { // case: bytes=500-600,601-999
+ if ($ind > 0 && $rangeArray[$ind - 1]['to'] + 1 == $ranges[0]) { // case: bytes=500-600,601-999
$ind--;
$ranges[0] = $rangeArray[$ind]['from'];
}
@@ -253,7 +253,7 @@ class OC_Files {
if (is_numeric($ranges[0]) && is_numeric($ranges[1]) && $ranges[0] < $fileSize && $ranges[0] <= $ranges[1]) {
// case: x-x
if ($ranges[1] >= $fileSize) {
- $ranges[1] = $fileSize-1;
+ $ranges[1] = $fileSize - 1;
}
$rangeArray[$ind++] = [ 'from' => $ranges[0], 'to' => $ranges[1], 'size' => $fileSize ];
$minOffset = $ranges[1] + 1;
@@ -262,14 +262,14 @@ class OC_Files {
}
} elseif (is_numeric($ranges[0]) && $ranges[0] < $fileSize) {
// case: x-
- $rangeArray[$ind++] = [ 'from' => $ranges[0], 'to' => $fileSize-1, 'size' => $fileSize ];
+ $rangeArray[$ind++] = [ 'from' => $ranges[0], 'to' => $fileSize - 1, 'size' => $fileSize ];
break;
} elseif (is_numeric($ranges[1])) {
// case: -x
if ($ranges[1] > $fileSize) {
$ranges[1] = $fileSize;
}
- $rangeArray[$ind++] = [ 'from' => $fileSize-$ranges[1], 'to' => $fileSize-1, 'size' => $fileSize ];
+ $rangeArray[$ind++] = [ 'from' => $fileSize - $ranges[1], 'to' => $fileSize - 1, 'size' => $fileSize ];
break;
}
}
diff --git a/lib/private/legacy/OC_Hook.php b/lib/private/legacy/OC_Hook.php
index 1da03df3a1f..d6062f30fbd 100644
--- a/lib/private/legacy/OC_Hook.php
+++ b/lib/private/legacy/OC_Hook.php
@@ -128,15 +128,15 @@ class OC_Hook {
* @param string $signalClass
* @param string $signalName
*/
- public static function clear($signalClass='', $signalName='') {
+ public static function clear($signalClass = '', $signalName = '') {
if ($signalClass) {
if ($signalName) {
- self::$registered[$signalClass][$signalName]=[];
+ self::$registered[$signalClass][$signalName] = [];
} else {
- self::$registered[$signalClass]=[];
+ self::$registered[$signalClass] = [];
}
} else {
- self::$registered=[];
+ self::$registered = [];
}
}
diff --git a/lib/private/legacy/OC_Template.php b/lib/private/legacy/OC_Template.php
index 54c203a3ab6..c14a43ea430 100644
--- a/lib/private/legacy/OC_Template.php
+++ b/lib/private/legacy/OC_Template.php
@@ -161,8 +161,8 @@ class OC_Template extends \OC\Template\Base {
* @param string $text the text content for the element. If $text is null then the
* element will be written as empty element. So use "" to get a closing tag.
*/
- public function addHeader($tag, $attributes, $text=null) {
- $this->headers[]= [
+ public function addHeader($tag, $attributes, $text = null) {
+ $this->headers[] = [
'tag' => $tag,
'attributes' => $attributes,
'text' => $text
@@ -195,7 +195,7 @@ class OC_Template extends \OC\Template\Base {
if (strcasecmp($header['tag'], 'script') === 0 && in_array('src', array_map('strtolower', array_keys($header['attributes'])))) {
$headers .= ' defer';
}
- foreach ($header['attributes'] as $name=>$value) {
+ foreach ($header['attributes'] as $name => $value) {
$headers .= ' '.\OCP\Util::sanitizeHTML($name).'="'.\OCP\Util::sanitizeHTML($value).'"';
}
if ($header['text'] !== null) {
diff --git a/lib/private/legacy/OC_Util.php b/lib/private/legacy/OC_Util.php
index cb0eef5fce2..80e43a0514a 100644
--- a/lib/private/legacy/OC_Util.php
+++ b/lib/private/legacy/OC_Util.php
@@ -912,7 +912,7 @@ class OC_Util {
}
$errors[] = [
'error' => $l->t('PHP setting "%s" is not set to "%s".', [$setting[0], var_export($setting[1], true)]),
- 'hint' => $l->t('Adjusting this setting in php.ini will make Nextcloud run again')
+ 'hint' => $l->t('Adjusting this setting in php.ini will make Nextcloud run again')
];
$webServerRestart = true;
}
@@ -936,9 +936,9 @@ class OC_Util {
if (function_exists('xml_parser_create') &&
LIBXML_LOADED_VERSION < 20700) {
$version = LIBXML_LOADED_VERSION;
- $major = floor($version/10000);
+ $major = floor($version / 10000);
$version -= ($major * 10000);
- $minor = floor($version/100);
+ $minor = floor($version / 100);
$version -= ($minor * 100);
$patch = $version;
$errors[] = [
diff --git a/lib/private/legacy/template/functions.php b/lib/private/legacy/template/functions.php
index e2a1c476433..e69abbe9f60 100644
--- a/lib/private/legacy/template/functions.php
+++ b/lib/private/legacy/template/functions.php
@@ -47,12 +47,12 @@ function p($string) {
* @param string $opts, additional optional options
*/
function emit_css_tag($href, $opts = '') {
- $s='\n");
}
@@ -75,20 +75,20 @@ function emit_css_loading_tags($obj) {
* @param string $src the source URL, ignored when empty
* @param string $script_content the inline script content, ignored when empty
*/
-function emit_script_tag($src, $script_content='') {
- $defer_str=' defer';
- $s='';
+ $s .= '';
print_unescaped($s."\n");
}
@@ -306,9 +306,9 @@ function relative_modified_date($timestamp, $fromTime = null, $dateOnly = false)
return $formatter->formatTimeSpan($timestamp, $fromTime);
}
-function html_select_options($options, $selected, $params=[]) {
+function html_select_options($options, $selected, $params = []) {
if (!is_array($selected)) {
- $selected=[$selected];
+ $selected = [$selected];
}
if (isset($params['combine']) && $params['combine']) {
$options = array_combine($options, $options);
diff --git a/lib/public/Activity/IExtension.php b/lib/public/Activity/IExtension.php
index 128ffd0cc9d..4cddbc734b5 100644
--- a/lib/public/Activity/IExtension.php
+++ b/lib/public/Activity/IExtension.php
@@ -36,9 +36,9 @@ interface IExtension {
public const METHOD_MAIL = 'email';
public const METHOD_NOTIFICATION = 'notification';
- public const PRIORITY_VERYLOW = 10;
- public const PRIORITY_LOW = 20;
- public const PRIORITY_MEDIUM = 30;
- public const PRIORITY_HIGH = 40;
- public const PRIORITY_VERYHIGH = 50;
+ public const PRIORITY_VERYLOW = 10;
+ public const PRIORITY_LOW = 20;
+ public const PRIORITY_MEDIUM = 30;
+ public const PRIORITY_HIGH = 40;
+ public const PRIORITY_VERYHIGH = 50;
}
diff --git a/lib/public/App.php b/lib/public/App.php
index 3c6d287af97..5c9254a59ed 100644
--- a/lib/public/App.php
+++ b/lib/public/App.php
@@ -81,7 +81,7 @@ class App {
* @deprecated 14.0.0 ise \OC::$server->getAppManager()->getAppInfo($appId)
* @since 4.0.0
*/
- public static function getAppInfo($app, $path=false) {
+ public static function getAppInfo($app, $path = false) {
return \OC_App::getAppInfo($app, $path);
}
diff --git a/lib/public/AppFramework/ApiController.php b/lib/public/AppFramework/ApiController.php
index dc03feea969..67f0d1fe38e 100644
--- a/lib/public/AppFramework/ApiController.php
+++ b/lib/public/AppFramework/ApiController.php
@@ -57,9 +57,9 @@ abstract class ApiController extends Controller {
*/
public function __construct($appName,
IRequest $request,
- $corsMethods='PUT, POST, GET, DELETE, PATCH',
- $corsAllowedHeaders='Authorization, Content-Type, Accept',
- $corsMaxAge=1728000) {
+ $corsMethods = 'PUT, POST, GET, DELETE, PATCH',
+ $corsAllowedHeaders = 'Authorization, Content-Type, Accept',
+ $corsMaxAge = 1728000) {
parent::__construct($appName, $request);
$this->corsMethods = $corsMethods;
$this->corsAllowedHeaders = $corsAllowedHeaders;
diff --git a/lib/public/AppFramework/App.php b/lib/public/AppFramework/App.php
index 7354e8bff39..06d4b36384f 100644
--- a/lib/public/AppFramework/App.php
+++ b/lib/public/AppFramework/App.php
@@ -66,7 +66,7 @@ class App {
* @return string the starting namespace for the app
* @since 8.0.0
*/
- public static function buildAppNamespace(string $appId, string $topNamespace='OCA\\'): string {
+ public static function buildAppNamespace(string $appId, string $topNamespace = 'OCA\\'): string {
return \OC\AppFramework\App::buildAppNamespace($appId, $topNamespace);
}
diff --git a/lib/public/AppFramework/Controller.php b/lib/public/AppFramework/Controller.php
index db1f95634e0..2d941df975d 100644
--- a/lib/public/AppFramework/Controller.php
+++ b/lib/public/AppFramework/Controller.php
@@ -115,7 +115,7 @@ abstract class Controller {
* @since 7.0.0
* @since 9.1.0 Added default parameter
*/
- public function getResponderByHTTPHeader($acceptHeader, $default='json') {
+ public function getResponderByHTTPHeader($acceptHeader, $default = 'json') {
$headers = explode(',', $acceptHeader);
// return the first matching responder
@@ -154,7 +154,7 @@ abstract class Controller {
* @return Response
* @since 7.0.0
*/
- public function buildResponse($response, $format='json') {
+ public function buildResponse($response, $format = 'json') {
if (array_key_exists($format, $this->responders)) {
$responder = $this->responders[$format];
diff --git a/lib/public/AppFramework/Db/Mapper.php b/lib/public/AppFramework/Db/Mapper.php
index 37ab06c41b6..1ee4fe80ca2 100644
--- a/lib/public/AppFramework/Db/Mapper.php
+++ b/lib/public/AppFramework/Db/Mapper.php
@@ -49,7 +49,7 @@ abstract class Mapper {
* @since 7.0.0
* @deprecated 14.0.0 Move over to QBMapper
*/
- public function __construct(IDBConnection $db, $tableName, $entityClass=null) {
+ public function __construct(IDBConnection $db, $tableName, $entityClass = null) {
$this->db = $db;
$this->tableName = '*PREFIX*' . $tableName;
@@ -113,7 +113,7 @@ abstract class Mapper {
$values .= '?';
// only append colon if there are more entries
- if ($i < count($properties)-1) {
+ if ($i < count($properties) - 1) {
$columns .= ',';
$values .= ',';
}
@@ -175,7 +175,7 @@ abstract class Mapper {
$columns .= '`' . $column . '` = ?';
// only append colon if there are more entries
- if ($i < count($properties)-1) {
+ if ($i < count($properties) - 1) {
$columns .= ',';
}
@@ -233,7 +233,7 @@ abstract class Mapper {
* @since 7.0.0
* @deprecated 14.0.0 Move over to QBMapper
*/
- protected function execute($sql, array $params=[], $limit=null, $offset=null) {
+ protected function execute($sql, array $params = [], $limit = null, $offset = null) {
$query = $this->db->prepare($sql, $limit, $offset);
if ($this->isAssocArray($params)) {
@@ -269,7 +269,7 @@ abstract class Mapper {
* @since 7.0.0
* @deprecated 14.0.0 Move over to QBMapper
*/
- protected function findOneQuery($sql, array $params=[], $limit=null, $offset=null) {
+ protected function findOneQuery($sql, array $params = [], $limit = null, $offset = null) {
$stmt = $this->execute($sql, $params, $limit, $offset);
$row = $stmt->fetch();
@@ -305,7 +305,7 @@ abstract class Mapper {
* @since 9.1.0
* @deprecated 14.0.0 Move over to QBMapper
*/
- private function buildDebugMessage($msg, $sql, array $params=[], $limit=null, $offset=null) {
+ private function buildDebugMessage($msg, $sql, array $params = [], $limit = null, $offset = null) {
return $msg .
': query "' . $sql . '"; ' .
'parameters ' . print_r($params, true) . '; ' .
@@ -337,7 +337,7 @@ abstract class Mapper {
* @since 7.0.0
* @deprecated 14.0.0 Move over to QBMapper
*/
- protected function findEntities($sql, array $params=[], $limit=null, $offset=null) {
+ protected function findEntities($sql, array $params = [], $limit = null, $offset = null) {
$stmt = $this->execute($sql, $params, $limit, $offset);
$entities = [];
@@ -365,7 +365,7 @@ abstract class Mapper {
* @since 7.0.0
* @deprecated 14.0.0 Move over to QBMapper
*/
- protected function findEntity($sql, array $params=[], $limit=null, $offset=null) {
+ protected function findEntity($sql, array $params = [], $limit = null, $offset = null) {
return $this->mapRowToEntity($this->findOneQuery($sql, $params, $limit, $offset));
}
}
diff --git a/lib/public/AppFramework/Db/QBMapper.php b/lib/public/AppFramework/Db/QBMapper.php
index f6009c5de87..f4386ce1caf 100644
--- a/lib/public/AppFramework/Db/QBMapper.php
+++ b/lib/public/AppFramework/Db/QBMapper.php
@@ -58,7 +58,7 @@ abstract class QBMapper {
* mapped to queries without using sql
* @since 14.0.0
*/
- public function __construct(IDBConnection $db, string $tableName, string $entityClass=null) {
+ public function __construct(IDBConnection $db, string $tableName, string $entityClass = null) {
$this->db = $db;
$this->tableName = $tableName;
diff --git a/lib/public/AppFramework/Http/DataDisplayResponse.php b/lib/public/AppFramework/Http/DataDisplayResponse.php
index e2f8499ad16..c0c304e0f4a 100644
--- a/lib/public/AppFramework/Http/DataDisplayResponse.php
+++ b/lib/public/AppFramework/Http/DataDisplayResponse.php
@@ -47,8 +47,8 @@ class DataDisplayResponse extends Response {
* @param array $headers additional key value based headers
* @since 8.1.0
*/
- public function __construct($data='', $statusCode=Http::STATUS_OK,
- $headers=[]) {
+ public function __construct($data = '', $statusCode = Http::STATUS_OK,
+ $headers = []) {
parent::__construct();
$this->data = $data;
diff --git a/lib/public/AppFramework/Http/DataResponse.php b/lib/public/AppFramework/Http/DataResponse.php
index 483b46ba5ab..7ae53f6f531 100644
--- a/lib/public/AppFramework/Http/DataResponse.php
+++ b/lib/public/AppFramework/Http/DataResponse.php
@@ -52,8 +52,8 @@ class DataResponse extends Response {
* @param array $headers additional key value based headers
* @since 8.0.0
*/
- public function __construct($data=[], $statusCode=Http::STATUS_OK,
- array $headers=[]) {
+ public function __construct($data = [], $statusCode = Http::STATUS_OK,
+ array $headers = []) {
parent::__construct();
$this->data = $data;
diff --git a/lib/public/AppFramework/Http/FileDisplayResponse.php b/lib/public/AppFramework/Http/FileDisplayResponse.php
index 9c4b76cee5f..73f9b808e61 100644
--- a/lib/public/AppFramework/Http/FileDisplayResponse.php
+++ b/lib/public/AppFramework/Http/FileDisplayResponse.php
@@ -43,8 +43,8 @@ class FileDisplayResponse extends Response implements ICallbackResponse {
* @param array $headers
* @since 11.0.0
*/
- public function __construct($file, $statusCode=Http::STATUS_OK,
- $headers=[]) {
+ public function __construct($file, $statusCode = Http::STATUS_OK,
+ $headers = []) {
parent::__construct();
$this->file = $file;
diff --git a/lib/public/AppFramework/Http/JSONResponse.php b/lib/public/AppFramework/Http/JSONResponse.php
index 2827cd964ec..647033e5fa1 100644
--- a/lib/public/AppFramework/Http/JSONResponse.php
+++ b/lib/public/AppFramework/Http/JSONResponse.php
@@ -54,7 +54,7 @@ class JSONResponse extends Response {
* @param int $statusCode the Http status code, defaults to 200
* @since 6.0.0
*/
- public function __construct($data=[], $statusCode=Http::STATUS_OK) {
+ public function __construct($data = [], $statusCode = Http::STATUS_OK) {
parent::__construct();
$this->data = $data;
diff --git a/lib/public/AppFramework/Http/OCSResponse.php b/lib/public/AppFramework/Http/OCSResponse.php
index 39c3ad98819..7823ca472f1 100644
--- a/lib/public/AppFramework/Http/OCSResponse.php
+++ b/lib/public/AppFramework/Http/OCSResponse.php
@@ -56,8 +56,8 @@ class OCSResponse extends Response {
* @deprecated 9.2.0 To implement an OCS endpoint extend the OCSController
*/
public function __construct($format, $statuscode, $message,
- $data=[], $itemscount='',
- $itemsperpage='') {
+ $data = [], $itemscount = '',
+ $itemsperpage = '') {
parent::__construct();
$this->format = $format;
diff --git a/lib/public/AppFramework/Http/TemplateResponse.php b/lib/public/AppFramework/Http/TemplateResponse.php
index 351a13265b1..837ada337b8 100644
--- a/lib/public/AppFramework/Http/TemplateResponse.php
+++ b/lib/public/AppFramework/Http/TemplateResponse.php
@@ -106,7 +106,7 @@ class TemplateResponse extends Response {
* @param string $renderAs how the page should be rendered, defaults to user
* @since 6.0.0 - parameters $params and $renderAs were added in 7.0.0
*/
- public function __construct($appName, $templateName, array $params=[],
+ public function __construct($appName, $templateName, array $params = [],
$renderAs = self::RENDER_AS_USER) {
parent::__construct();
diff --git a/lib/public/AppFramework/OCSController.php b/lib/public/AppFramework/OCSController.php
index febcc08ba81..d18ab04fae8 100644
--- a/lib/public/AppFramework/OCSController.php
+++ b/lib/public/AppFramework/OCSController.php
@@ -62,9 +62,9 @@ abstract class OCSController extends ApiController {
*/
public function __construct($appName,
IRequest $request,
- $corsMethods='PUT, POST, GET, DELETE, PATCH',
- $corsAllowedHeaders='Authorization, Content-Type, Accept',
- $corsMaxAge=1728000) {
+ $corsMethods = 'PUT, POST, GET, DELETE, PATCH',
+ $corsAllowedHeaders = 'Authorization, Content-Type, Accept',
+ $corsMaxAge = 1728000) {
parent::__construct($appName, $request, $corsMethods,
$corsAllowedHeaders, $corsMaxAge);
$this->registerResponder('json', function ($data) {
diff --git a/lib/public/Authentication/TwoFactorAuth/IProvider.php b/lib/public/Authentication/TwoFactorAuth/IProvider.php
index d2f5df2e3eb..1328d60307e 100644
--- a/lib/public/Authentication/TwoFactorAuth/IProvider.php
+++ b/lib/public/Authentication/TwoFactorAuth/IProvider.php
@@ -38,7 +38,7 @@ interface IProvider {
* @since 14.0.0
*/
public const EVENT_SUCCESS = self::class . '::success';
- public const EVENT_FAILED = self::class . '::failed';
+ public const EVENT_FAILED = self::class . '::failed';
/**
* Get unique identifier of this 2FA provider
diff --git a/lib/public/Calendar/ICalendar.php b/lib/public/Calendar/ICalendar.php
index bbffd218167..b6bd7122a73 100644
--- a/lib/public/Calendar/ICalendar.php
+++ b/lib/public/Calendar/ICalendar.php
@@ -60,7 +60,7 @@ interface ICalendar {
* @return array an array of events/journals/todos which are arrays of key-value-pairs
* @since 13.0.0
*/
- public function search($pattern, array $searchProperties=[], array $options=[], $limit=null, $offset=null);
+ public function search($pattern, array $searchProperties = [], array $options = [], $limit = null, $offset = null);
/**
* @return integer build up using \OCP\Constants
diff --git a/lib/public/Calendar/IManager.php b/lib/public/Calendar/IManager.php
index 28d7b336b96..8e3207e19c9 100644
--- a/lib/public/Calendar/IManager.php
+++ b/lib/public/Calendar/IManager.php
@@ -68,7 +68,7 @@ interface IManager {
* @return array an array of events/journals/todos which are arrays of arrays of key-value-pairs
* @since 13.0.0
*/
- public function search($pattern, array $searchProperties=[], array $options=[], $limit=null, $offset=null);
+ public function search($pattern, array $searchProperties = [], array $options = [], $limit = null, $offset = null);
/**
* Check if calendars are available
diff --git a/lib/public/Comments/CommentsEvent.php b/lib/public/Comments/CommentsEvent.php
index 1487200fc68..a8a27948e99 100644
--- a/lib/public/Comments/CommentsEvent.php
+++ b/lib/public/Comments/CommentsEvent.php
@@ -32,10 +32,10 @@ use OCP\EventDispatcher\Event;
* @since 9.0.0
*/
class CommentsEvent extends Event {
- public const EVENT_ADD = 'OCP\Comments\ICommentsManager::addComment';
+ public const EVENT_ADD = 'OCP\Comments\ICommentsManager::addComment';
public const EVENT_PRE_UPDATE = 'OCP\Comments\ICommentsManager::preUpdateComment';
- public const EVENT_UPDATE = 'OCP\Comments\ICommentsManager::updateComment';
- public const EVENT_DELETE = 'OCP\Comments\ICommentsManager::deleteComment';
+ public const EVENT_UPDATE = 'OCP\Comments\ICommentsManager::updateComment';
+ public const EVENT_DELETE = 'OCP\Comments\ICommentsManager::deleteComment';
/** @var string */
protected $event;
diff --git a/lib/public/DB/QueryBuilder/IExpressionBuilder.php b/lib/public/DB/QueryBuilder/IExpressionBuilder.php
index e56eba3df00..845bb4a27fb 100644
--- a/lib/public/DB/QueryBuilder/IExpressionBuilder.php
+++ b/lib/public/DB/QueryBuilder/IExpressionBuilder.php
@@ -36,7 +36,7 @@ interface IExpressionBuilder {
/**
* @since 9.0.0
*/
- public const EQ = ExpressionBuilder::EQ;
+ public const EQ = ExpressionBuilder::EQ;
/**
* @since 9.0.0
*/
@@ -44,7 +44,7 @@ interface IExpressionBuilder {
/**
* @since 9.0.0
*/
- public const LT = ExpressionBuilder::LT;
+ public const LT = ExpressionBuilder::LT;
/**
* @since 9.0.0
*/
@@ -52,7 +52,7 @@ interface IExpressionBuilder {
/**
* @since 9.0.0
*/
- public const GT = ExpressionBuilder::GT;
+ public const GT = ExpressionBuilder::GT;
/**
* @since 9.0.0
*/
diff --git a/lib/public/Federation/Exceptions/BadRequestException.php b/lib/public/Federation/Exceptions/BadRequestException.php
index 9f130aafba7..72829daee0d 100644
--- a/lib/public/Federation/Exceptions/BadRequestException.php
+++ b/lib/public/Federation/Exceptions/BadRequestException.php
@@ -60,7 +60,7 @@ class BadRequestException extends HintException {
public function getReturnMessage() {
$result = [
'message' => 'RESOURCE_NOT_FOUND',
- 'validationErrors' =>[
+ 'validationErrors' => [
]
];
diff --git a/lib/public/GroupInterface.php b/lib/public/GroupInterface.php
index 29f8a2eea4e..0f6572da823 100644
--- a/lib/public/GroupInterface.php
+++ b/lib/public/GroupInterface.php
@@ -47,18 +47,18 @@ interface GroupInterface {
/**
* actions that user backends can define
*/
- public const CREATE_GROUP = 0x00000001;
- public const DELETE_GROUP = 0x00000010;
- public const ADD_TO_GROUP = 0x00000100;
- public const REMOVE_FROM_GOUP = 0x00001000; // oops
- public const REMOVE_FROM_GROUP = 0x00001000;
+ public const CREATE_GROUP = 0x00000001;
+ public const DELETE_GROUP = 0x00000010;
+ public const ADD_TO_GROUP = 0x00000100;
+ public const REMOVE_FROM_GOUP = 0x00001000; // oops
+ public const REMOVE_FROM_GROUP = 0x00001000;
//OBSOLETE const GET_DISPLAYNAME = 0x00010000;
- public const COUNT_USERS = 0x00100000;
- public const GROUP_DETAILS = 0x01000000;
+ public const COUNT_USERS = 0x00100000;
+ public const GROUP_DETAILS = 0x01000000;
/**
* @since 13.0.0
*/
- public const IS_ADMIN = 0x10000000;
+ public const IS_ADMIN = 0x10000000;
/**
* Check if backend implements actions
diff --git a/lib/public/IDBConnection.php b/lib/public/IDBConnection.php
index 4605a051e8a..68d0048433c 100644
--- a/lib/public/IDBConnection.php
+++ b/lib/public/IDBConnection.php
@@ -69,7 +69,7 @@ interface IDBConnection {
* @return \Doctrine\DBAL\Driver\Statement The prepared statement.
* @since 6.0.0
*/
- public function prepare($sql, $limit=null, $offset=null);
+ public function prepare($sql, $limit = null, $offset = null);
/**
* Executes an, optionally parameterized, SQL query.
diff --git a/lib/public/ILogger.php b/lib/public/ILogger.php
index 1b1fdd21568..86ee16100c6 100644
--- a/lib/public/ILogger.php
+++ b/lib/public/ILogger.php
@@ -45,27 +45,27 @@ interface ILogger {
* @since 14.0.0
* @deprecated 20.0.0
*/
- public const DEBUG=0;
+ public const DEBUG = 0;
/**
* @since 14.0.0
* @deprecated 20.0.0
*/
- public const INFO=1;
+ public const INFO = 1;
/**
* @since 14.0.0
* @deprecated 20.0.0
*/
- public const WARN=2;
+ public const WARN = 2;
/**
* @since 14.0.0
* @deprecated 20.0.0
*/
- public const ERROR=3;
+ public const ERROR = 3;
/**
* @since 14.0.0
* @deprecated 20.0.0
*/
- public const FATAL=4;
+ public const FATAL = 4;
/**
* System is unusable.
diff --git a/lib/public/ITags.php b/lib/public/ITags.php
index a21788260d1..723bb31e43b 100644
--- a/lib/public/ITags.php
+++ b/lib/public/ITags.php
@@ -168,7 +168,7 @@ interface ITags {
* @return bool Returns false on error.
* @since 6.0.0
*/
- public function addMultiple($names, $sync=false, $id = null);
+ public function addMultiple($names, $sync = false, $id = null);
/**
* Delete tag/object relations from the db
diff --git a/lib/public/Log/IFileBased.php b/lib/public/Log/IFileBased.php
index 473502fa87a..f7a79a09340 100644
--- a/lib/public/Log/IFileBased.php
+++ b/lib/public/Log/IFileBased.php
@@ -38,5 +38,5 @@ interface IFileBased {
/**
* @since 14.0.0
*/
- public function getEntries(int $limit=50, int $offset=0): array;
+ public function getEntries(int $limit = 50, int $offset = 0): array;
}
diff --git a/lib/public/Settings/IManager.php b/lib/public/Settings/IManager.php
index c03c3d588b8..88a8a297c54 100644
--- a/lib/public/Settings/IManager.php
+++ b/lib/public/Settings/IManager.php
@@ -38,7 +38,7 @@ interface IManager {
/**
* @since 9.1.0
*/
- public const KEY_ADMIN_SECTION = 'admin-section';
+ public const KEY_ADMIN_SECTION = 'admin-section';
/**
* @since 13.0.0
@@ -48,7 +48,7 @@ interface IManager {
/**
* @since 13.0.0
*/
- public const KEY_PERSONAL_SECTION = 'personal-section';
+ public const KEY_PERSONAL_SECTION = 'personal-section';
/**
* @param string $type 'admin' or 'personal'
diff --git a/lib/public/Template.php b/lib/public/Template.php
index 9ce269dad96..aebd824f37f 100644
--- a/lib/public/Template.php
+++ b/lib/public/Template.php
@@ -125,7 +125,7 @@ class Template extends \OC_Template {
* @since 8.0.0
* @suppress PhanDeprecatedFunction
*/
- public static function html_select_options($options, $selected, $params=[]) {
+ public static function html_select_options($options, $selected, $params = []) {
return \html_select_options($options, $selected, $params);
}
}
diff --git a/lib/public/Util.php b/lib/public/Util.php
index 72f061afb45..9610ab909be 100644
--- a/lib/public/Util.php
+++ b/lib/public/Util.php
@@ -60,23 +60,23 @@ class Util {
/**
* @deprecated 14.0.0 use \OCP\ILogger::DEBUG
*/
- public const DEBUG=0;
+ public const DEBUG = 0;
/**
* @deprecated 14.0.0 use \OCP\ILogger::INFO
*/
- public const INFO=1;
+ public const INFO = 1;
/**
* @deprecated 14.0.0 use \OCP\ILogger::WARN
*/
- public const WARN=2;
+ public const WARN = 2;
/**
* @deprecated 14.0.0 use \OCP\ILogger::ERROR
*/
- public const ERROR=3;
+ public const ERROR = 3;
/**
* @deprecated 14.0.0 use \OCP\ILogger::FATAL
*/
- public const FATAL=4;
+ public const FATAL = 4;
/** \OCP\Share\IManager */
private static $shareManager;
@@ -204,7 +204,7 @@ class Util {
* @param string $text the text content for the element
* @since 4.0.0
*/
- public static function addHeader($tag, $attributes, $text=null) {
+ public static function addHeader($tag, $attributes, $text = null) {
\OC_Util::addHeader($tag, $attributes, $text);
}
@@ -513,7 +513,7 @@ class Util {
*/
public static function needUpgrade() {
if (!isset(self::$needUpgradeCache)) {
- self::$needUpgradeCache=\OC_Util::needUpgrade(\OC::$server->getSystemConfig());
+ self::$needUpgradeCache = \OC_Util::needUpgrade(\OC::$server->getSystemConfig());
}
return self::$needUpgradeCache;
}
diff --git a/ocs/v1.php b/ocs/v1.php
index 0c24aa814eb..b6dfb91d68a 100644
--- a/ocs/v1.php
+++ b/ocs/v1.php
@@ -90,7 +90,7 @@ try {
OC_API::setContentType();
$format = \OC::$server->getRequest()->getParam('format', 'xml');
- $txt='Invalid query, please check the syntax. API specifications are here:'
+ $txt = 'Invalid query, please check the syntax. API specifications are here:'
.' http://www.freedesktop.org/wiki/Specifications/open-collaboration-services.'."\n";
OC_API::respond(new \OC\OCS\Result(null, \OCP\API::RESPOND_NOT_FOUND, $txt), $format);
} catch (MethodNotAllowedException $e) {
@@ -105,7 +105,7 @@ try {
OC_API::setContentType();
$format = \OC::$server->getRequest()->getParam('format', 'xml');
- $txt='Invalid query, please check the syntax. API specifications are here:'
+ $txt = 'Invalid query, please check the syntax. API specifications are here:'
.' http://www.freedesktop.org/wiki/Specifications/open-collaboration-services.'."\n";
OC_API::respond(new \OC\OCS\Result(null, \OCP\API::RESPOND_NOT_FOUND, $txt), $format);
}
diff --git a/remote.php b/remote.php
index a81f7ba2c64..7354264b1f8 100644
--- a/remote.php
+++ b/remote.php
@@ -133,7 +133,7 @@ try {
if (!$pos = strpos($pathInfo, '/', 1)) {
$pos = strlen($pathInfo);
}
- $service=substr($pathInfo, 1, $pos-1);
+ $service = substr($pathInfo, 1, $pos - 1);
$file = resolveService($service);
@@ -141,10 +141,10 @@ try {
throw new RemoteException('Path not found', 404);
}
- $file=ltrim($file, '/');
+ $file = ltrim($file, '/');
- $parts=explode('/', $file, 2);
- $app=$parts[0];
+ $parts = explode('/', $file, 2);
+ $app = $parts[0];
// Load all required applications
\OC::$REQUESTEDAPP = $app;
@@ -153,7 +153,7 @@ try {
switch ($app) {
case 'core':
- $file = OC::$SERVERROOT .'/'. $file;
+ $file = OC::$SERVERROOT .'/'. $file;
break;
default:
if (!\OC::$server->getAppManager()->isInstalled($app)) {
diff --git a/status.php b/status.php
index e221b4f22c8..b935bce2879 100644
--- a/status.php
+++ b/status.php
@@ -44,13 +44,13 @@ try {
# for description and defaults
$defaults = new \OCP\Defaults();
$values = [
- 'installed'=>$installed,
+ 'installed' => $installed,
'maintenance' => $maintenance,
'needsDbUpgrade' => \OCP\Util::needUpgrade(),
- 'version'=>implode('.', \OCP\Util::getVersion()),
- 'versionstring'=>OC_Util::getVersionString(),
- 'edition'=> '',
- 'productname'=>$defaults->getName(),
+ 'version' => implode('.', \OCP\Util::getVersion()),
+ 'versionstring' => OC_Util::getVersionString(),
+ 'edition' => '',
+ 'productname' => $defaults->getName(),
'extendedSupport' => \OCP\Util::hasExtendedSupport()
];
if (OC::$CLI) {
diff --git a/tests/Core/Command/Group/AddUserTest.php b/tests/Core/Command/Group/AddUserTest.php
index 08b2630b4b8..d9471956dfd 100644
--- a/tests/Core/Command/Group/AddUserTest.php
+++ b/tests/Core/Command/Group/AddUserTest.php
@@ -53,7 +53,7 @@ class AddUserTest extends TestCase {
parent::setUp();
$this->groupManager = $this->createMock(IGroupManager::class);
- $this->userManager = $this->createMock(IUserManager::class);
+ $this->userManager = $this->createMock(IUserManager::class);
$this->command = new AddUser($this->userManager, $this->groupManager);
$this->input = $this->createMock(InputInterface::class);
diff --git a/tests/Core/Command/Group/RemoveUserTest.php b/tests/Core/Command/Group/RemoveUserTest.php
index 141483861c4..495046402a8 100644
--- a/tests/Core/Command/Group/RemoveUserTest.php
+++ b/tests/Core/Command/Group/RemoveUserTest.php
@@ -53,7 +53,7 @@ class RemoveUserTest extends TestCase {
parent::setUp();
$this->groupManager = $this->createMock(IGroupManager::class);
- $this->userManager = $this->createMock(IUserManager::class);
+ $this->userManager = $this->createMock(IUserManager::class);
$this->command = new RemoveUser($this->userManager, $this->groupManager);
$this->input = $this->createMock(InputInterface::class);
diff --git a/tests/Core/Controller/AvatarControllerTest.php b/tests/Core/Controller/AvatarControllerTest.php
index 61f509b7428..d6c4ea6217c 100644
--- a/tests/Core/Controller/AvatarControllerTest.php
+++ b/tests/Core/Controller/AvatarControllerTest.php
@@ -516,7 +516,7 @@ class AvatarControllerTest extends \Test\TestCase {
public function testFileTooBig() {
$fileName = \OC::$SERVERROOT.'/tests/data/testimage.jpg';
//Create request return
- $reqRet = ['error' => [0], 'tmp_name' => [$fileName], 'size' => [21*1024*1024]];
+ $reqRet = ['error' => [0], 'tmp_name' => [$fileName], 'size' => [21 * 1024 * 1024]];
$this->request->method('getUploadedFile')->willReturn($reqRet);
$response = $this->avatarController->postAvatar(null);
diff --git a/tests/lib/APITest.php b/tests/lib/APITest.php
index 7027d64eceb..22d1270ccd6 100644
--- a/tests/lib/APITest.php
+++ b/tests/lib/APITest.php
@@ -17,7 +17,7 @@ class APITest extends \Test\TestCase {
/**
* @param string $message
*/
- public function buildResponse($shipped, $data, $code, $message=null) {
+ public function buildResponse($shipped, $data, $code, $message = null) {
$resp = new \OC\OCS\Result($data, $code, $message);
$resp->addHeader('KEY', 'VALUE');
return [
diff --git a/tests/lib/AllConfigTest.php b/tests/lib/AllConfigTest.php
index bdcf2837fa5..9daa7c9be9c 100644
--- a/tests/lib/AllConfigTest.php
+++ b/tests/lib/AllConfigTest.php
@@ -68,9 +68,9 @@ class AllConfigTest extends \Test\TestCase {
$this->assertEquals(1, count($result));
$this->assertEquals([
- 'userid' => 'userSet',
- 'appid' => 'appSet',
- 'configkey' => 'keySet',
+ 'userid' => 'userSet',
+ 'appid' => 'appSet',
+ 'configkey' => 'keySet',
'configvalue' => 'valueSet'
], $result[0]);
@@ -81,9 +81,9 @@ class AllConfigTest extends \Test\TestCase {
$this->assertEquals(1, count($result));
$this->assertEquals([
- 'userid' => 'userSet',
- 'appid' => 'appSet',
- 'configkey' => 'keySet',
+ 'userid' => 'userSet',
+ 'appid' => 'appSet',
+ 'configkey' => 'keySet',
'configvalue' => 'valueSet2'
], $result[0]);
@@ -102,9 +102,9 @@ class AllConfigTest extends \Test\TestCase {
$this->assertEquals(1, count($result));
$this->assertEquals([
- 'userid' => 'userPreCond',
- 'appid' => 'appPreCond',
- 'configkey' => 'keyPreCond',
+ 'userid' => 'userPreCond',
+ 'appid' => 'appPreCond',
+ 'configkey' => 'keyPreCond',
'configvalue' => 'valuePreCond'
], $result[0]);
@@ -115,9 +115,9 @@ class AllConfigTest extends \Test\TestCase {
$this->assertEquals(1, count($result));
$this->assertEquals([
- 'userid' => 'userPreCond',
- 'appid' => 'appPreCond',
- 'configkey' => 'keyPreCond',
+ 'userid' => 'userPreCond',
+ 'appid' => 'appPreCond',
+ 'configkey' => 'keyPreCond',
'configvalue' => 'valuePreCond2'
], $result[0]);
@@ -159,9 +159,9 @@ class AllConfigTest extends \Test\TestCase {
$this->assertEquals(1, count($result));
$this->assertEquals([
- 'userid' => 'userPreCond1',
- 'appid' => 'appPreCond',
- 'configkey' => 'keyPreCond',
+ 'userid' => 'userPreCond1',
+ 'appid' => 'appPreCond',
+ 'configkey' => 'keyPreCond',
'configvalue' => 'valuePreCond'
], $result[0]);
@@ -172,9 +172,9 @@ class AllConfigTest extends \Test\TestCase {
$this->assertEquals(1, count($result));
$this->assertEquals([
- 'userid' => 'userPreCond1',
- 'appid' => 'appPreCond',
- 'configkey' => 'keyPreCond',
+ 'userid' => 'userPreCond1',
+ 'appid' => 'appPreCond',
+ 'configkey' => 'keyPreCond',
'configvalue' => 'valuePreCond'
], $result[0]);
@@ -223,9 +223,9 @@ class AllConfigTest extends \Test\TestCase {
$this->assertEquals(1, count($result));
$this->assertEquals([
- 'userid' => 'userGet',
- 'appid' => 'appGet',
- 'configkey' => 'keyGet',
+ 'userid' => 'userGet',
+ 'appid' => 'appGet',
+ 'configkey' => 'keyGet',
'configvalue' => 'valueGet'
], $result[0]);
diff --git a/tests/lib/App/AppStore/Fetcher/AppFetcherTest.php b/tests/lib/App/AppStore/Fetcher/AppFetcherTest.php
index a0a03985c29..f9696cc1b00 100644
--- a/tests/lib/App/AppStore/Fetcher/AppFetcherTest.php
+++ b/tests/lib/App/AppStore/Fetcher/AppFetcherTest.php
@@ -53,10 +53,10 @@ class AppFetcherTest extends TestCase {
/** @var AppFetcher */
protected $fetcher;
/** @var string */
- public static $responseJson = <<<'EOD'
+ public static $responseJson = <<<'EOD'
[{"id":"direct_menu","categories":["customization"],"userDocs":"","adminDocs":"","developerDocs":"","issueTracker":"https://github.com/juliushaertl/direct_menu/issues","website":"","created":"2016-10-01T09:16:06.030994Z","lastModified":"2016-10-06T14:01:05.584192Z","releases":[{"version":"0.9.2","phpExtensions":[],"databases":[],"shellCommands":[],"phpVersionSpec":"*","platformVersionSpec":">=9.0.0 <12.0.0","minIntSize":32,"download":"https://github.com/juliushaertl/direct_menu/releases/download/v0.9.2/direct_menu.tar.gz","created":"2016-10-06T14:01:05.578297Z","licenses":["agpl"],"lastModified":"2016-10-06T14:01:05.643813Z","isNightly":false,"rawPhpVersionSpec":"*","rawPlatformVersionSpec":">=9 <=11","signature":"ERBS9G5bZ3vwCizz2Ht5DehsVJmb63bzF3aYcH7xjbDVMPagOFWdUAiLDwTeZR1n\ni4gdZ73J/IjHQQJoOPwtCjgbZgLPFqL5x13CLUO9mb/33dZe/+gqEDc/3AuJ4TlA\nXUdLxHRb1bwIlJOwuSr/E24452VG20WUhLXBoM0Zm7WcMxvJWo2zAWnuqnLX3dy9\ncPB4PX+6JU2lUMINj8OYQmM1QnqvjG8YV0cYHbBbnSicOGwXEnni7mojsC8T0cn7\nYEJ2O2iO9hh3fvFEXUzDcL7tDQ5bZqm63Oa991bsAJxFo/RbzeJRh//DcOrd8Ufn\nu2SqRhwybS8j4YvfjAL9RPdRfPLwf6X2gx/Y6QFrKHH0QMI/9J/ZFyoUQcqKbsHV\n85O+yuWoqVmza71tkp4n9PuMdprCinaVvHbHbNGUf2SIh9BWuEQuVvvnvB+ZW8XY\n+Cl+unzk3WgOgT0iY3uEmsQcrLIo4DSKhcNgD1NS13fR/JTSavvmOqBarUMFZfVC\nbkR1DTBCyDjdpNBidpa3/26675dz5IT5Zedp4BBBREQzX08cIhJx5mgqDdX3CU09\nuWtzoaLi71/1BWTFAN+Y9VyfZ8/Z3Pg3vKedRJ565mztIj0geL3riEsC5YnPS0+C\n+a3B9sDiiOa101EORzX3lrPqL7reEPdCxrIwN+hKFBQ=","translations":{}}],"screenshots":[{"url":"https://bitgrid.net/~jus/direct_menu_nc.png"}],"translations":{"en":{"name":"Direct Menu","summary":"Provide easy access to all apps in the header.","description":"Provide easy access to all apps in the header."}},"isFeatured":false,"authors":[{"name":"Julius Härtl","mail":"","homepage":""}],"ratingRecent":0.5,"ratingOverall":0.5,"ratingNumRecent":0,"ratingNumOverall":0,"certificate":"-----BEGIN CERTIFICATE-----\r\nMIIEBjCCAu4CAhADMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD\r\nVQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI\r\nMTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB\r\ndXRob3JpdHkwHhcNMTYwOTE0MTI1MDU0WhcNMjYxMjIxMTI1MDU0WjAWMRQwEgYD\r\nVQQDDAtkaXJlY3RfbWVudTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIB\r\nAMkzWsAkKP/40ktvJMpnr0IJNVoPOR0hvh24igcDskL1WKiD2eiRUenj5LE0Nvn+\r\nsiGmWsAqRVpdiz+Y8ghQqQMzKi43IrRN0AxlCrHWrSqBZT3wIAUcFz4RzEoFxc1N\r\nUZzWma6ljukGnvt4V1ZyT+H/cjqxUkBhh/y9SS0jUen1a1grND6Rw54X46V2dlCu\r\nFH+pLsfPJJGw+QLeTGHn7dqdv18cYMAlWDCzPixVnNiCXHZcUtKMmstU2xU4R2e6\r\nzimp2rgkE4TNHrafpjH8xGdNi2FG5Dmokob/L5Q2r8jyNaW7UsFfrvLTRj371b3/\r\n2FhhxoGUvDzaG2An02Exwm52LJfdTVMHAMPZub5poHfy5vAEdZGPQ/m02l8ZK/Y2\r\n7yT807GlfPMXfdfjCxR6wNtmv7rvBDdrUZmIRNJfpFSdvlH/+MOTWnabyfQv2K4Q\r\nBIwltX6Elh0lh4ntvt1ZVtvFv+PL1Dc7QLV+w19+/LJA0mnsh7GIFYKFlbA65gA0\r\nc/w+uqDy0+5MxkR9WGPpd79KRA1tKWTis4Ny1lApK5y3zIsVGa3DfBHXcwqkWHbV\r\nwIpyuyyDsFtC1b9LTFONX7iU9cbNk5C5GTM331MdA2kLcD/D5k42GNTBSca7MkPx\r\nFx/ETSn0Ct167el30symf2AxvXjw+mBYPN71rVTMDwe9AgMBAAEwDQYJKoZIhvcN\r\nAQELBQADggEBAC0fJKnbEhXA8M283jA9GxABxLyTBcQyVVNnz2L/bYYNi81Y9iZv\r\n+U0S3qaIfoqNcV9FTKAutbsKvWyolnI7MRRK6feNuFfoP2jKubM1CnawpyT/RF2Q\r\ne/zxnB1EmeI2X5D2xceJDLB7Fy5W0EGrLixRIdFaSUommWFUm9E2hSIaNlziSBdc\r\n1J/mOQeNYO5zg5ouEt1rzQW4Mhh1I2uNQmGe4ip+Jl/2LAv3FZuu4NrSEcoXH3ro\r\nG2dF9Gtu4GiQ5fuaJknaxlgXHovfqeZwZJX9o4M+Ug81AqiY7XjdiaCPdh0Tthcx\r\n2OmWZo7UBREWenjKyFZZ/iKoqH5sdenBtpo=\r\n-----END CERTIFICATE-----"},{"id":"apporder","categories":["customization"],"userDocs":"","adminDocs":"","developerDocs":"","issueTracker":"https://github.com/juliushaertl/apporder/issues","website":"","created":"2016-10-01T09:16:47.111889Z","lastModified":"2016-10-12T19:50:16.038821Z","releases":[{"version":"0.3.3","phpExtensions":[],"databases":[],"shellCommands":[],"phpVersionSpec":"*","platformVersionSpec":">=9.0.0 <12.0.0","minIntSize":32,"download":"https://github.com/juliushaertl/apporder/releases/download/0.3.3/apporder.tar.gz","created":"2016-10-12T19:14:10.802359Z","licenses":["agpl"],"lastModified":"2016-10-12T19:50:16.104357Z","isNightly":false,"rawPhpVersionSpec":"*","rawPlatformVersionSpec":">=9 <=11","signature":"nhlT9lhrmBxIsqh/e3RLm2NDw/U8ZvvoMyYQTLMM3H19DQmVcPYPYC9QWVTsowUzXblVaOXVGylbpKma9yOlOAqJtF3qyXecLl4+tA/Awb6BBhKPgHFdcLDAL5yy1K7/uei3SgEojMlJoI9vEK5I1C5YTh43yNH+//Im6MAuNYFUTlMXK426zdOe6ogpCI5GlYdXopqYANxcpT+WXWET6DDSM5Ev+MYwMcSAY4r8+tvARRU4ZAenRgjkBT6R5z6cD76emRax14tbV6vkjjwRcO+dQtM0tFPbd+5fsNInbauv50VzIMgjA6RnKTOI17gRsSdGlsV4vZn2aIxEPWauu6T/UohMvAE9HMn13vtbpPBSFwJAktj6yHASYGzupNQLprA0+OdyALoLZPpQAKNEXA42a4EVISBKu0EmduHJlUPeqhnIGkkGgVNWS8AWqzP2nFoPdXBgUWateiMcBTHxgEKDac5YmNc9lsXpzf1OxBaXHBhGYKuXPwIfyH3jTWb1OdwixJEuRe9dl63T9qOTRre8QWns/bMqKLibGfMtFhVB21ARJayBuX70eVvabG/2N7Y5t1zUlFygIKu51tvo3AVCRDdRrFWDvkAjxzIz5FIdALVZ+DReFYu/r4WF/w3V9rInFuEDSwb/OH4r8sQycs07tSlMyA74Y3FpjKTBxso=","translations":{}},{"version":"0.3.2","phpExtensions":[],"databases":[],"shellCommands":[],"phpVersionSpec":"*","platformVersionSpec":">=9.0.0 <12.0.0","minIntSize":32,"download":"https://github.com/juliushaertl/apporder/releases/download/0.3.2/apporder.tar.gz","created":"2016-10-06T14:00:51.532409Z","licenses":["agpl"],"lastModified":"2016-10-06T14:00:51.598455Z","isNightly":false,"rawPhpVersionSpec":"*","rawPlatformVersionSpec":">=9 <=11","signature":"gRVFOtj9414ZNSdRH/qNB2SwVZUQh+gaFnNLFjjXjJ1MdRMCISzvwb+QU1qYuK/y\nuL8K0pn1+fFQf8A3VsC2pb6yaLQ5U9C3Guf886Flf4qtYw1P8UWRA9yOJ+6Md+PH\n6pTEiDIdm4xbmM0KkBhsE5kL8dvLIq4EwwcAh2Qq8fjytzAk1YiP+KrTaYrVwskM\nDmm0lgP4NVnjRBTX9myW6tr6N3w0tq2jJ/+a/vEDJv+5ozKJx8N5gbJNdrtI4k7I\nyaQNWJ7cngtAHmUREeoBggV5uJayDceu83PPQR6N9/WVyNyZjw1Q8/Q6e/NyiXT2\no8mGv5tHl3DBOVuv8v7gBQgDh6ppp12M81aiCZymn2XIgjw50VQ+K15KHnLHuFFw\nwuHZVcoQ7b6oR4K4TURSfPFUeNgGS4R9v6gjg1RUcSm1Pnryc6pYnh10AUY8dk6q\n1CZ6Upt6SScP2ZEGWsFwVjjQhY/ZJmNfnhaGoFOZ5L9CnzyNCkGXFg0rL36i6djb\naqFy/z+Brnklng5ct6XWoP7uDt5BaHznQj1NHSfHn0GUQ0N968zWm9vQvy+dyXyC\nxR7vKeu2ppZ2ydoeQ9CVwfhOEsGs5OvrpapQdh9KbUHcX7b7ql01J7/P6dFuNuHe\n+7/y4ex3sEVg5YBmDtF8iZ6d7zsHd6peL1s1EsLnenQ=","translations":{}}],"screenshots":[{"url":"https://bitgrid.net/~jus/apporder-nc.gif"}],"translations":{"en":{"name":"AppOrder","summary":"Sort apps in the menu with drag and drop","description":"\nEnable sorting for icons inside the app menu. The order will be saved for each\nuser individually. Administrators can define a custom default order.\nAppOrder works with the default owncloud menu as well as with the direct_menu\napp.\n\n## Set a default order for all new users\n\nGo to the Admin settings > Additional settings and drag the icons under App order.\n\n## Use first app as default app\n\nYou can easily let Nextcloud redirect your user to the first app in their\npersonal order by changing the following parameter in your config/config.php:\n\n'defaultapp' => 'apporder',\n\nUsers will now get redirected to the first app of the default order or to the\nfirst app of the user order.\n "}},"isFeatured":false,"authors":[{"name":"Julius Härtl","mail":"jus@bitgrid.net","homepage":""}],"ratingRecent":0.5,"ratingOverall":0.5,"ratingNumRecent":0,"ratingNumOverall":0,"certificate":"-----BEGIN CERTIFICATE-----\r\nMIIEAzCCAusCAhAEMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD\r\nVQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI\r\nMTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB\r\ndXRob3JpdHkwHhcNMTYwOTE0MTI1MjQ4WhcNMjYxMjIxMTI1MjQ4WjATMREwDwYD\r\nVQQDDAhhcHBvcmRlcjCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAKVK\r\nKn5jivCu+eRfe5BECjDOzNaGHlpiegb49Hf4nh0W7DqcoLHip5c1O2BcEYdH6rkw\r\n20WclvjoQpgavG5aFXzXzur6eKTT5TpgY5oZTLoWjbx4e+fKdhyDPTpqNZzs1pxz\r\nsZLDL/ElpbSErE0s+QK/pzP11WNPylAkI9AKSyDMO3Mbllg8I8Bt+bT7LJKYOO/T\r\nLhv9m0anLZ4HrdfimhVIoMiu3RpyRigk8titXZA94+F8Fbf7ZQ9f14Y/v3+rfJFQ\r\nii9cDoox5uUrjplH2LrMr5BodfCfydLu4uVpPWYkdccgvcZ1sugjvNXyCQgdzQDK\r\npOpiwVkkiQFaQJYbGSDblFWPl/cLtA/P/qS7s8tWyTQuc1rYlEpCHG/fG8ZFkSVK\r\n9eCMGxK908VB4IU2DHZHOHi7JvtOz8X/Ak6pIIFdARoW3rfKlrz6DD4T9jEgYq0n\r\nRe7YwCKEIU3liZJ+qG6LCa+rMlp/7sCzAmqBhaaaJyX4nnZCa2Q2cNZpItEAdwVc\r\nqxLYL1FiNFMSeeYhzJJoq5iMC3vp2LScUJJNoXZj9zv+uqTNGHr+bimchR2rHUBo\r\nPzDLFJmat03KdWcMYxcK5mxJNGHpgyqM7gySlbppY/cgAospE8/ygU2FlFWIC9N0\r\neDaY+T8QA1msnzsfMhYuOI8CRYigan1agGOMDgGxAgMBAAEwDQYJKoZIhvcNAQEL\r\nBQADggEBAGsECd+meXHg1rr8Wb6qrkDz/uxkY1J+pa5WxnkVcB6QrF3+HDtLMvYm\r\nTTS02ffLLyATNTOALZFSy4fh4At4SrNzl8dUaapgqk1T8f+y1FhfpZrEBsarrq+2\r\nCSKtBro2jcnxzI3BvHdQcx4RAGo8sUzaqKBmsy+JmAqpCSk8f1zHR94x4Akp7n44\r\n8Ha7u1GcHMPzSeScRMGJX/x06B45cLVGHH5GF2Bu/8JaCSEAsgETCMkc/XFMYrRd\r\nTu+WGOL2Ee5U4k4XFdzeSLODWby08iU+Gx3bXTR6WIvXCYeIVsCPKK/luvfGkiSR\r\nCpW1GUIA1cyulT4uyHf9g6BMdYVOsFQ=\r\n-----END CERTIFICATE-----"},{"id":"twofactor_totp","categories":["tools"],"userDocs":"","adminDocs":"","developerDocs":"","issueTracker":"","website":"","created":"2016-10-08T14:13:54.356716Z","lastModified":"2016-10-12T14:38:56.186269Z","releases":[{"version":"0.4.1","phpExtensions":[],"databases":[],"shellCommands":[],"phpVersionSpec":">=5.4.0 <7.1.0","platformVersionSpec":">=10.0.0 <12.0.0","minIntSize":32,"download":"https://github.com/ChristophWurst/twofactor_totp/releases/download/0.4.1/twofactor_totp.tar.gz","created":"2016-10-12T14:38:56.174612Z","licenses":["agpl"],"lastModified":"2016-10-12T14:38:56.248223Z","isNightly":false,"rawPhpVersionSpec":">=5.4 <=7.0","rawPlatformVersionSpec":">=10 <=11","signature":"bnwWxmHEn8xkoWbtwhC1kIrJ0dQfAI3PUtU62k+Tru/BHt1G2aVxqO8bCdghojZ7\nzdFMlIJw4kekYFsVfLk8jzjUTZKVbNVKCdkHrVTQ0bUUryMAMLqGQ3PSRI5NX6D5\nFpkvwO1coYwU0XVWF8KAS0meX0ztSkT3Mv96LLrxr8F8SrB/MGmKIE4WTjt1fAIa\nZLAVEUo/3sNFTGLYBtL3wjctrkZvJltP8abeRfls9FkRHu+rN7R3uLFzk42uZn3X\nWpt5BBmlYm5ORbnJ2ApsxEkMNK+rOy8GIePaz5277ozTNrOnO04id1FXnS9mIsKD\n20nRzjekZH+nneQYoCTfnEFg2QXpW+a+zINbqCD5hivEU8utdpDAHFpNjIJdjXcS\n8MiCA/yvtwRnfqJ5Fy9BxJ6Gt05/GPUqT8DS7P1I1N+qxhsvFEdxhrm2yIOhif8o\nh7ro5ls+d3OQ8i3i4vdZm821Ytxdu/DQBHiVoOBarvFWwWAv2zd2VAvpTmk6J5yv\n3y+csRqpEJYd9fcVMPsTu7WBRRrpBsAqdAHJcZEwak2kz1kdOgSf8FIzP1z6Q71d\nMl2RKcPeutMHHSLiGIN/h7fM5aSs49wGgGZmfz28fHVd7/U0HFSMYmkT/GMq5tMP\nIyc+QZAN4qbX8G0k/QSTkK/L4lOT2hQiQqiSqmWItMk=","translations":{}}],"screenshots":[],"translations":{"en":{"name":"Two Factor TOTP Provider","summary":"A Two-Factor-Auth Provider for TOTP (e.g. Google Authenticator)","description":"A Two-Factor-Auth Provider for TOTP (e.g. Google Authenticator)"}},"isFeatured":true,"authors":[{"name":"Christoph Wurst","mail":"","homepage":""}],"ratingRecent":0.5,"ratingOverall":0.5,"ratingNumRecent":0,"ratingNumOverall":0,"certificate":"-----BEGIN CERTIFICATE-----\r\nMIIECTCCAvECAhASMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD\r\nVQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI\r\nMTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB\r\ndXRob3JpdHkwHhcNMTYxMDEyMDkzNDMxWhcNMjcwMTE4MDkzNDMxWjAZMRcwFQYD\r\nVQQDDA50d29mYWN0b3JfdG90cDCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoC\r\nggIBALC1K94104L/nOtmTygx7QNjUcnHs3yrn71mw4pMxTlonXOnMTpwxsfL1Hhu\r\n/5GMSgupTbQPlevSl6J86UMs455/sPShd6ifmAuhb8VFaAsjpizjs0RMaUg1sjmF\r\nuV18PD9FXLourx51V/c4MG5kpavlV+bLUrVMAjbsJY2+k30tCC/XkP5u8jUWmM/T\r\n5REChn7/obPgaeddhuJoILYhKEW3VNrR8Fm9SYiviB3FLhM7URDZ97IBnXYqbvbT\r\nZnvq+E74Zc7HgYwQwrjU/AqQAInhNpAR4ZM6CkWWWWaL96O1q3lCfKJNaxqC0Kg/\r\nkGn/pxYkl9062jtMUz60s9OPDyuisfyl68UyM68Ozyz4SMRLmDVbewOqQAwmAbtz\r\n8p9AQrX3Pr9tXhARR4pDSsQz1z+8ExEd6EKbhMyiTtHtZQ1Vm9qfoR52snpznb5N\r\ne4TcT2qHAkOWV9+a9ESXmQz2bNjgThxEl5edTVY9m4t248lK5aBTGq5ZKGULNHSQ\r\nGGpr/ftMFpII45tSvadexUvzcR/BHt3QwBAlPmA4rWtjmOMuJGDGk+mKw4pUgtT8\r\nKvUMPQpnrbXSjKctxb3V5Ppg0UGntlSG71aVdxY1raLvKSmYeoMxUTnNeS6UYAF6\r\nI3FiuPnrjVFsZa2gwZfG8NmUPVPdv1O/IvLbToXvyieo8MbZAgMBAAEwDQYJKoZI\r\nhvcNAQELBQADggEBAEb6ajdng0bnNRuqL/GbmDC2hyy3exqPoZB/P5u0nZZzDZ18\r\nLFgiWr8DOYvS+9i6kdwWscMwNJsLEUQ2rdrAi+fGr6dlazn3sCCXrskLURKn5qCU\r\nfIFZbr2bGjSg93JGnvNorfsdJkwpFW2Z9gOwMwa9tAzSkR9CsSdOeYrmdtBdodAR\r\ndIu2MkhxAZk9FZfnFkjTaAXcBHafJce7H/IEjHDEoIkFp5KnAQLHsJb4n8JeXmi9\r\nVMgQ6yUWNuzOQMZpMIV7RMOUZHvxiX/ZWUFzXNYX0GYub6p4O2uh3LJE+xXyDf77\r\nRBO7PLY3m4TXCeKesxZlkoGke+lnq7B8tkADdPI=\r\n-----END CERTIFICATE-----"},{"id":"contacts","categories":["office","organization","social"],"userDocs":"https://docs.nextcloud.com/server/11/user_manual/pim/contacts.html","adminDocs":"https://docs.nextcloud.com/server/11/admin_manual/configuration_server/occ_command.html?highlight=occ%20commands#dav-label","developerDocs":"https://github.com/nextcloud/contacts#building-the-app","issueTracker":"https://github.com/nextcloud/contacts/issues","website":"https://github.com/nextcloud/contacts#readme","created":"2016-10-30T14:00:58.922766Z","lastModified":"2016-11-22T22:08:01.904319Z","releases":[{"version":"1.5.0","phpExtensions":[],"databases":[],"shellCommands":[],"phpVersionSpec":"*","platformVersionSpec":">=9.0.0 <12.0.0","minIntSize":32,"download":"https://github.com/nextcloud/contacts/releases/download/v1.5.0/contacts.tar.gz","created":"2016-11-22T22:08:01.861942Z","licenses":["agpl"],"lastModified":"2016-11-22T22:08:02.306939Z","isNightly":false,"rawPhpVersionSpec":"*","rawPlatformVersionSpec":">=9 <=11","signature":"ZqqhqtbHcNB+rzGCQ7FDIjjvHjit+dhAE1UhFgiXApkx3tmPP4nJOBAGNjHe+2Ao\nVcTIX2SrWEfieRrA4Gp+0k7pUPWag1Z0T1OVOwO4cmS1AVFyGIOE1bRvDhMfsWTU\n4CI4oXaKBFAY6mtnf7VJ7EeIdNqhImkohyWDQ88NiPRLM1XNkJJk6AvZBcT0fvCv\no145X4dLpbixSXsN99QFNJ/oXvK+9tBGwTd5i/WnNFY90vcNRLia8aRo7SA0YJRx\nLnxnj2HMqwTTDQEKE+1elYKWsqQ2DeqwScP97UIKe5bZXnrwOi9kH9PDmR4abtzd\nlHL8E1Wgw25ePDeHG7APrx0tVOJy1bP+g8vcarpGynWZoizDkBvYZD+xtxizpBXC\nJsDOSzczApptY6dnOtv0Vat8oh/Z/F99gBUahEu4WZ16ZgR1nj40PDK1Snl18Cgk\nMe1EZcde8SLEpTbCWYIfIw/O9Fkp5cWD/dAqoiO6g+gNxSZ/gGp57qoGfFxn7d/x\nH3aH8GljatAFjrwItw1JzR0THt0ukkOK+bw/pfCslk10sjHMitmz/GXa4qMS91DZ\nBKLUd0dSfQUQzkfwcojImbzJRvca4/DYe3mfG7+RCH0tDL6t72dKL9joB++u5R1u\nVZPgkToexlXcKWpiDB8H2/SEShKr4udAOjR5de9CYWM=","translations":{}}],"screenshots":[{"url":"https://raw.githubusercontent.com/nextcloud/screenshots/master/apps/Contacts/contacts.png"}],"translations":{"en":{"name":"Contacts","summary":"The new and improved app for your Contacts.","description":"The new and improved app for your Contacts."}},"isFeatured":true,"authors":[{"name":"Alexander Weidinger","mail":"","homepage":""},{"name":"Jan-Christoph Borchardt","mail":"","homepage":""},{"name":"Hendrik Leppelsack","mail":"","homepage":""}],"ratingRecent":0.5,"ratingOverall":0.5,"ratingNumRecent":0,"ratingNumOverall":0,"certificate":"-----BEGIN CERTIFICATE-----\r\nMIIEAzCCAusCAhATMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD\r\nVQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI\r\nMTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB\r\ndXRob3JpdHkwHhcNMTYxMDEyMjAzNzIyWhcNMjcwMTE4MjAzNzIyWjATMREwDwYD\r\nVQQDDAhjb250YWN0czCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBANzx\r\n/zJF+5/s4lOJLWIlfKQgTy+UpvIpiUXCgrsHsDZTx+hjQAhIWukH88a+7NVAL7Ys\r\nkQNC0Tlm755FJi/T6EdR7edOwIRdo2ZwakOWLZXd209+6cCd2UloHL0bgnbWepTl\r\nR/4YgbLg/G+FVKCfkEiYc3PuDZ3EVrcwQFcg7h74X9ne6CHH0Z1WQLydxJuVEb2n\r\nX9I+nIRpPHcVostkSiUmzHR7C5TjTIo2PzzgnCU6GC0iBa6z6dDYfz24QEp/b8UA\r\nZaLhjkyKghVGMnoF/s9KPgH4NM8pvvtadQN8pxlOPju4wbmKPUrsXo4ujurDXbbc\r\nYkzNt8ojobGwdTXoyDogAsGZLQd2FQksWpRvY+I3zVPokBfPMdUPLllG5VcV0VA5\r\nDRK+h2ms+XmspdBvGonjF+XdbFm9hEmDoFmoi9aU6C6AdofjmG/e9+pw/20dXUWk\r\nmMorWwXQ5yLmIn5LnpRXrOuK7CS28VRhBYuVNMlsyKhzU0rophbsD9OFXxYLjr6s\r\n7UPNwZ5h+kjXZDBKD89QctBSViT8RhLe8nulRIm0iJn1sb9hca/CF63KmsFzENfK\r\nQeM6MO0H34PB84iNyz5AX1OIy+1wHD4Wrzt9O/i2LkWK6tBhL69aZiBqdLXWKffj\r\nARDCxxIfews51EZFyHzwsw65I97y46aBKxY382q7AgMBAAEwDQYJKoZIhvcNAQEL\r\nBQADggEBACLypX0spxAVAwQIS9dlC9bh1X/XdW2nAvSju2taUTBzbp074SnW6niI\r\nbnY4ihYs4yOuGvzXxnp/OlvWH7qhOIchJUq/XPcEFMa7P03XjVpcNnD3k0zQWlZb\r\ntGonX9EUOeLZKdqI4fkrCkMLScfjgJzoHGYQrm8vlIg0IVuRLCKd5+x4bS7KagbG\r\niuPit2pjkw3nWz0JRHneRXz/BNoAWBnJiV7JMF2xwBAHN4ghTM8NSJzrGTurmpMI\r\nGld7yCP47xNPaAZEC66odcClvNtJ2Clgp8739jD6uJJCqcKDejeef0VU1PG7AXId\r\n52bVrGMxJwOuL1393vKxGH0PHDzcB1M=\r\n-----END CERTIFICATE-----"},{"id":"mail","categories":["tools"],"userDocs":"","adminDocs":"https://github.com/nextcloud/mail#readme","developerDocs":"","issueTracker":"","website":"","created":"2016-10-19T19:41:41.710285Z","lastModified":"2016-10-19T19:57:33.689238Z","releases":[{"version":"0.6.0","phpExtensions":[],"databases":[],"shellCommands":[],"phpVersionSpec":">=5.4.0 <7.1.0","platformVersionSpec":">=10.0.0 <12.0.0","minIntSize":32,"download":"https://github.com/nextcloud/mail/releases/download/v0.6.0/mail.tar.gz","created":"2016-10-19T19:57:33.676730Z","licenses":["agpl"],"lastModified":"2016-10-19T19:57:33.834580Z","isNightly":false,"rawPhpVersionSpec":">=5.4 <=7.0","rawPlatformVersionSpec":">=10 <=11","signature":"VbMsvDpt+gSPeFM8LrZXEK10rk8kkLlgCcblgqNdCSeGZeVpwDAYv3CccVSLa0+l\nlTSqQ0VIoH+OIU6vIQNBKHmSCzTplk7OrY0+L5FajXx8LnBaOh892GfGSlEt1neN\nKyM0i0uOjO/xpCP/NoUlgkz6hnmYY5XEdN6DTsJtJ/XZhDQ45IYuIkMkHE/eFehS\n0JnOagIz+PSipeBY2Ry+tV8YbRa7bC1JAvZzlod0dyI015AHZESeitRUY+MwMWkt\nN/me7g7/Kev0wggIQQZm9aYcw63GMk/1VHUPB7Y0ESW9tx2nR5+KwTDn/Jy4DGf1\nrg8h0t5I+aPhHOBLrpczH0qaZWY2lsVZWq8KWjJI9aR9P0v2f2aXixXzD/Cuz1cK\nhvhKWkOSla4D+/FxeyHGjQvdXMG8gXm0ZmTimKChCoVuCbncDd8pzkdyNoGXcvuk\nsP8OrkQFooL4E7S4BWfdSiN/a8jUITJQkuXp/OVrVGeCupLWJh7qegUw6DvoqyGy\nD4c6b+qYn68kx3CLaPPiz+tFAZQZQdj7+Kx/lohso8yTnVSiGYrMj4IvvCbpsQjg\nWF3WSqF/K/tTnPYTWb9NUPSihTbVNv6AXOfTsPEp/ba2YSS5DjvjVjkr5vhR9eg1\nikQ3Cw6lW3vaA4LVCC+hFkMRnI4N0bo5qQavP3PnZPc=","translations":{"en":{"changelog":"### Added\n- Alias support\n [#1523](https://github.com/owncloud/mail/pull/1523) @tahaalibra\n- New incoming messages are prefetched\n [#1631](https://github.com/owncloud/mail/pull/1631) @ChristophWurst\n- Custom app folder support\n [#1627](https://github.com/owncloud/mail/pull/1627) @juliushaertl\n- Improved search\n [#1609](https://github.com/owncloud/mail/pull/1609) @ChristophWurst\n- Scroll to refresh\n [#1595](https://github.com/owncloud/mail/pull/1593) @ChristophWurst\n- Shortcuts to star and mark messages as unread\n [#1590](https://github.com/owncloud/mail/pull/1590) @ChristophWurst\n- Shortcuts to select previous/next messsage\n [#1557](https://github.com/owncloud/mail/pull/1557) @ChristophWurst\n\n## Changed\n- Minimum server is Nextcloud 10/ownCloud 9.1\n [#84](https://github.com/nextcloud/mail/pull/84) @ChristophWurst\n- Use session storage instead of local storage for client-side cache\n [#1612](https://github.com/owncloud/mail/pull/1612) @ChristophWurst\n- When deleting the current message, the next one is selected immediatelly\n [#1585](https://github.com/owncloud/mail/pull/1585) @ChristophWurst\n\n## Fixed\n- Client error while composing a new message\n [#1609](https://github.com/owncloud/mail/pull/1609) @ChristophWurst\n- Delay app start until page has finished loading\n [#1634](https://github.com/owncloud/mail/pull/1634) @ChristophWurst\n- Auto-redirection of HTML mail links\n [#1603](https://github.com/owncloud/mail/pull/1603) @ChristophWurst\n- Update folder counters when reading/deleting messages\n [#1585](https://github.com/owncloud/mail/pull/1585)"}}}],"screenshots":[],"translations":{"en":{"name":"Mail","summary":"Easy to use email client which connects to your mail server via IMAP and SMTP.","description":"Easy to use email client which connects to your mail server via IMAP and SMTP."}},"isFeatured":false,"authors":[{"name":"Christoph Wurst, Thomas Müller, Jan-Christoph Borchardt, Steffen Lindner & many more …","mail":"","homepage":""}],"ratingRecent":0.5,"ratingOverall":0.5,"ratingNumRecent":0,"ratingNumOverall":0,"certificate":"-----BEGIN CERTIFICATE-----\nMIID/zCCAucCAhAVMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD\nVQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI\nMTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB\ndXRob3JpdHkwHhcNMTYxMDE5MTkzMDM0WhcNMjcwMTI1MTkzMDM0WjAPMQ0wCwYD\nVQQDDARtYWlsMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAp++RuliQ\nlBeeiPtP0ecBn00OaU1UCpft/NVI5pnSiT9nU4l2kc5IvKjA8UxDB3gWfYTOeBFh\ntUHQ2P6UKCmHZT9sApHhqLu2n0V+YhlFIViuaxndSID/M414cl56xOYQusV3Pcae\no2dOSeRRzLab3tEaVHlkBSFkGmAwPZItsmTklvV3h1sUysDicYgfXPCkf7K+JgWA\nBP7vsWC8B7MDRhcB3enYv5tTcpsyvtGX7bb1oTIWVypcmKsGYfTX12VNBxKzNBIG\n8pwdb8Xo0o14TytWsWN7mSHf1XbwfwYMjDWOlMqiRc+mcoKMBH41TfM/CXslSivI\nsyvxasEaFdlj8lmKPENdzw1OfYRs43usIf4szwyt4rb8ocXfDipnY3P2hccN6YcZ\nl8y8Vsr69ASluDj2A2Pl5vH6xp6tNybZRnN5G6sghhaYaLNDU/TdMyYzz4AY33Ra\nHSaMypfcXjd76Aj8jZvcwk1BH+ZsvFqNK7ZKCb7WVcMH8KRcU1sxZ4rp9vviM2fL\nL7EVtznm3bSI9jjHXbiwq7RvNRRy+F6YRpAdWGwTU8uUkDabPFi41FikYyzNWauK\nJhlDJXl514XjKyMVBjAZYVr5gZZkO1J7C4XzLFbC5UzYNSzW5Iwx/1j5OeYJRxh6\n5rhiUwR+COT1wdVsl6khMC8MfBR4unSd338CAwEAATANBgkqhkiG9w0BAQsFAAOC\nAQEATBvpqz75PUOFPy7Tsj9bJPaKOlvBSklHH7s43fDDmQbJwswXarZi3gNdKf8D\nyO/ACZvO8ANWAWL/WahkOyQtKOYzffaABGcEIP7636jzBdKtgwSGzW3fMwDghG10\nqBr2dE6ruOEdSpuZxgMgh2EulgknZUXaHAMI2HjjtAMOBScLQVjOgUqiOHmICrXy\nZETmzhx0BXDt5enJYs8R2KMYJNIme1easQRYmWKliXogNY09W7ifT9FHtVW1HX+K\nxRS4JXbapjolkxyGSpP+iYSgItVnYzl6o9KZResR4yDsBv7G/8fpV4GQU9IS3zLD\nPiZOosVHWJdpUKCw9V4P1prGTQ==\n-----END CERTIFICATE-----"},{"id":"audioplayer","categories":["multimedia"],"userDocs":"https://github.com/rello/audioplayer/wiki#user-documentation","adminDocs":"https://github.com/rello/audioplayer/wiki#admin-documentation","developerDocs":"","issueTracker":"https://github.com/rello/audioplayer/issues","website":"https://github.com/rello/audioplayer","created":"2016-09-16T05:44:24.857567Z","lastModified":"2016-11-17T22:34:34.637028Z","releases":[{"version":"1.3.1","phpExtensions":[],"databases":[],"shellCommands":[],"phpVersionSpec":">=5.4.0","platformVersionSpec":">=9.0.0 <12.0.0","minIntSize":32,"download":"https://github.com/Rello/audioplayer/releases/download/1.3.1/audioplayer-1.3.1.tar.gz","created":"2016-11-17T22:34:34.215350Z","licenses":["agpl"],"lastModified":"2016-11-17T22:34:34.867778Z","isNightly":false,"rawPhpVersionSpec":">=5.4","rawPlatformVersionSpec":">=9 <=11","signature":"p6Zz0IEFrxvw6y/3jHgGWWCxR6qpMzvU2HKfxcIVsK6sJnoRUhWLeAXwZ432fH2a S2llj+IGS9OvW+5VQElrXgPtEjDK1BT00DRJnp5RFCRlUv0LNoedJMzx6B6AHqPP JBufk3cG1O/CO0M0L1ITGSmSOzfKvWTRo3lxVGF792NyBaP/SyZCkH1N1TzBQzUi Ywl3+HiglPcXbHjtJm/arnKorbJWVKoaN93xFuaBapd2ozQSpi0fE0uGRsici+U7 HNa1M5WFE1rzUJoufE0E9246At07rFY1e+TdNEq8IlLgCXg5vGCKkEyuWpWno6aX LfRaIiT9x39UTAwNvuDKS0c+n4uWDYPsGfKhDx9N7CXpUrthfXVEWRzZEXG7as10 6ANvrRPJemSZH8FUSrdJhD7k12qa9R825y7mIG68Li8P71V92EOxFfo9tNXqXwBt VuDGxBqByFVPqSCj5I8hrzJzQl2Xt40g8+8ZcSF96RMg/pM+bwRMTv+mz0V+vQQ4 DWjqnWVPalaJ1PPD5/QFFErtXuNRbyxKZ6BMWxfJlLM9Kz66P75K+8fYaSwz+2KG NxY7I3svzS2K9LGH3fBLUy1t3Hl+c3zGFq/ll1MJrf9NswV4yxt2WmISfM/KDww8 yELkGs2cRzbw2tCvnmYlJJhIqRLkyFAbDzWRH/XdVx4=","translations":{"en":{"changelog":"2016-11-17\n- fix: one-click-play for wav not working\n- fix: wrong sql statement for PostgreSQL [#90](https://github.com/rello/audioplayer/issues/90)"}}},{"version":"1.3.0","phpExtensions":[],"databases":[],"shellCommands":[],"phpVersionSpec":">=5.4.0","platformVersionSpec":">=9.0.0 <12.0.0","minIntSize":32,"download":"https://github.com/Rello/audioplayer/releases/download/1.3.0/audioplayer-1.3.0.tar.gz","created":"2016-11-15T18:11:19.539636Z","licenses":["agpl"],"lastModified":"2016-11-15T18:11:19.592881Z","isNightly":false,"rawPhpVersionSpec":">=5.4","rawPlatformVersionSpec":">=9 <=11","signature":"lbp7wd3JhMHW5mC8kVnQFvcwzf3aTIhYhq3ak/C/vfDXJDIPFuQ1odVRWtaHXEKQ XmKYIoTobV1TAU5q9G0O0Kds73T/XtHG4ATLxMZE8RsUWNSj5v3H4YDub6A0uoX6 rzyLEYV6SGEtdPFMwLcUjDExKpzAzKpgxcd9uyz2NhcHJEO8FJmirn34bm69//TO vjjiMW4zpL+dho+7LQbOX+L1SmwmdBqwypE9zzeuIuhUWDEQtImHAvjIO6Temajm lX0H5JaowJa8kvP6Jkh3KAvsHQ4sJklvWTPGcv0gboN+o6CmjWNOb+3LeSH0nhe6 BmiPloUDJcPQwq2gQejH2pY+qJEdRcULSKS09/dRbE3gOSlG36FThN0INpv6uNP4 qVIiYs3/SEHMmlS5CHvJDt2S2XN9LT9IX7QPeuS/0CMcuopaG/+cdC4KscVCq4D4 bllgew9asiBqix8iV8C4oerYOiC5vWcgBrZhGShoJT1Qq+NKz+H10dFgjFCAZuPj nVagJkbXmf2NdcvpSC7qsufhyEZyCSp+I7QEYsbo1PW3aUU35Syt47lgeVFX0hVQ jC1wMIhEW5Rm2nCkRSZkRupKDQ+N6uWuB0lykeMV2ShcDvvUZrhN3c49sooWgigB yIqKryzM4fLErjjNHdYgwCq6bbgPDLK3ic9b3B4rF3E=","translations":{"en":{"changelog":"2016-11-15\n- fix: handling of temporary scanner files [#68](https://github.com/rello/audioplayer/issues/68)\n- fix: simpler analysis of incorrect files in scanner [#57](https://github.com/rello/audioplayer/issues/57)\n- fix: album sorted correctly by artist and album [#80](https://github.com/rello/audioplayer/issues/80)\n- fix: neutral cover for unknown album [#16](https://github.com/rello/audioplayer/issues/16)\n- fix: error message from ID3 editor shown in front-end [#77](https://github.com/rello/audioplayer/issues/77)\n- enhancement: occ support for library scan and reset [#72](https://github.com/rello/audioplayer/issues/72)\n- enhancement: select a dedicated folder for scanning in personal settings [#79](https://github.com/rello/audioplayer/issues/79)\n- enhancement: exclude folders from scanning via .noaudio file [#79](https://github.com/rello/audioplayer/issues/79)\n- enhancement: significantly reduce database reads during scanning [#79](https://github.com/rello/audioplayer/issues/79)\n- enhancement: cleanup of classes; move from \\OC\\Files\\View to \\OCP\\Files\\IRootFolder [#72](https://github.com/rello/audioplayer/issues/72)"}}},{"version":"1.2.2","phpExtensions":[],"databases":[],"shellCommands":[],"phpVersionSpec":">=5.4.0","platformVersionSpec":">=9.0.0 <12.0.0","minIntSize":32,"download":"https://github.com/Rello/audioplayer/releases/download/1.2.2/audioplayer-1.2.2.tar.gz","created":"2016-10-06T21:21:05.414691Z","licenses":["agpl"],"lastModified":"2016-10-06T21:21:05.483224Z","isNightly":false,"rawPhpVersionSpec":">=5.4","rawPlatformVersionSpec":">=9 <=11","signature":"toeS45z50Lm0djgrQokOTN7gA8a113IZtiKKiLsGUKWrCV/6AKJBmEFcSun6rhLH\nbz/RtIdFKwQql6O3E0m1Zch2y1A8aLWHzFTO+5orLCVi7y15SshrJYbb9aI5Pj3i\nSR7+kMHGS8uNx2uIn3B4mO6UYF8AzCfp+ule18DOjnpu86KWvEOGtFXsQkLtgepp\nbJhOGWW/uOVIos/T1xPP4GCmtVmgn7U3b9q0pMYRH7ONXEiNsfQxDrR66EZH3Jfo\nlVyM9UvQmMKoDSdBUlvLlhCEGJGqFOD7hFntLYloI4oXv9uGqcagaJVh3TkEysY2\nMbBZpVhch5zRJ/HGlZOvmEzZ8Inxkk3iap+JmJ5/gZTefwfKUyYHALsILlh820U2\nNA/1B5A015XH5a5uflGE/tnlPtrOeecIN4mg+1njo2RG89HJWJNHM2ZDO4SkXjSR\njgygmAS5aR5+KKifiA/pwjhLozDWPU4lNzsj3Foz3bx3Okopy7eq83LORqieT4Jp\nFvP64q/45LOSRBWIWLitYzRzZp7HYywMsnz12WpxtqxIjO7+7y/ByeWWOBNU1IJC\nK2D+035ZGWZr0CxDJte33WOISwjVoSwrcov++O3BQW8lM5IkcDNcJFyzNPKAXcQU\nPUXmQpYurHoIw6odAYcbrG6iOiSesuNOf2kQWbjV3/c=","translations":{"en":{"changelog":"2016-09-18\n- fix: icon issues with alternative apps folder [#65](https://github.com/rello/audioplayer/issues/65)"}}}],"screenshots":[{"url":"https://github.com/rello/screenshots/raw/master/audioplayer_main.png"},{"url":"https://github.com/rello/screenshots/raw/master/audioplayer_lists.png"},{"url":"https://github.com/rello/screenshots/raw/master/audioplayer_share.png"}],"translations":{"en":{"name":"Audio Player","summary":"Audio Player for ownCloud and Nextcloud","description":"Audio Player for MP3, MP4, Ogg, and Wave with a lot of flexibility for all your needs."}},"isFeatured":false,"authors":[{"name":"Marcel Scherello","mail":"","homepage":""}],"ratingRecent":0.5,"ratingOverall":0.5,"ratingNumRecent":0,"ratingNumOverall":0,"certificate":"-----BEGIN CERTIFICATE-----\r\nMIIEBjCCAu4CAhAIMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD\r\nVQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI\r\nMTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB\r\ndXRob3JpdHkwHhcNMTYwOTE1MjExMjA4WhcNMjYxMjIyMjExMjA4WjAWMRQwEgYD\r\nVQQDDAthdWRpb3BsYXllcjCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIB\r\nALyC+iLscLs62NeNmUXEBmg+xMuUtDmZKr+xzJWtl6SSNRz+8K1JygvUIXFJ3RIL\r\nCYA3xyq8/wyZH1gNrLKyz5eTeYawG+eT3ges/FT6MWGUbZoRrBrikVcLC94QzxTH\r\nxOl8Dn+SCV/2bhcvPTQdhK+dqtvGilOtjHa40iMrk9gSdlKVys5CK/xdlEp8uiMa\r\nkz1WENn8MVCCJV58bAUbaCupDWXR9CCoSsw8XinNsCenZ2B2XlnmbM44280w0ojs\r\n72rfQRgj3yDG+ZUUyUOuxIuodu8liXYciLf0ph6t/f/qoSmctbBdsR5Fl1Upj1Ac\r\nqeHb5Yf/B3Vi6Mn3XfDx0H2EHk1v9Dhzxay+v9BHUzyIX2iH/q+7TE0/Jzo5AwBW\r\nvFKWXvG7wXaALcHYZf5v/M93IE0iCHsv2EsZKQPBnzXVGmp4DwFSP4po1B7hcog1\r\ngAMaellAzzvUAizgCovN6Qct3qDEANYniPlvtnlcaQGonajW4N019kFQRHLIzPFR\r\njab5iUMMwSnT8FhZO2ZOWuWhJven+gXjxC8mfMVgBfZnAVgydNfx9rN+KzTc88ke\r\nobUdZ0OOeBzA7pIxGEFg9V6KTEEWZ+qH048vxXz4HI9B1I+2wQLBrZl8CvweEZ5U\r\n5ID8XrrE/UaNZ1CvLKtCgB24gj/m1Elkh7wA3gEcEo2JAgMBAAEwDQYJKoZIhvcN\r\nAQELBQADggEBACtgUp+FCmjWIkQUuWSdzKWdO+IH4v9wBIrF9mo0OLIakFyDYyM5\r\nLlkYZXbplGXd4cfn3ruIqJNzlIb4xa5CU0bM4TMbD4oOSlLMKM/EamKPHI3bzr++\r\nzi7mQDFxmAE6FWSMBgKKUb4tqLc5oBap8e12tPEZl/UR6d9iUB2ltvrm3T3vrjjl\r\n2Worm0eYBNqnagXmX5+wS11AQqeJemGqRy5e1yXRlTgB0IJhH0dCsFNwifEigutp\r\nFNvGFVBn4r5qCiChEoq+rCXHRjPi/eCfbW21XeLFDiLxapcZyc85JIcA7znUYoFe\r\nP7Y/ekMscwWhLbF91OaQlcWpRtEMyde/DaI=\r\n-----END CERTIFICATE-----"},{"id":"calendar","categories":["organization"],"userDocs":"https://docs.nextcloud.com/server/10/user_manual/pim/calendar.html","adminDocs":"","developerDocs":"","issueTracker":"https://github.com/nextcloud/calendar/issues","website":"https://github.com/nextcloud/calendar/","created":"2016-10-01T12:40:39.060903Z","lastModified":"2016-11-22T20:31:13.029921Z","releases":[{"version":"1.4.1","phpExtensions":[],"databases":[],"shellCommands":[],"phpVersionSpec":"*","platformVersionSpec":">=9.0.0 <12.0.0","minIntSize":32,"download":"https://github.com/nextcloud/calendar/releases/download/v1.4.1/calendar.tar.gz","created":"2016-11-22T20:31:13.020268Z","licenses":["agpl"],"lastModified":"2016-11-22T20:31:13.087340Z","isNightly":false,"rawPhpVersionSpec":"*","rawPlatformVersionSpec":">=9 <=11","signature":"nThwe9CJBCan9nuDLdhfBiQyPhmum6Aa0UcYsIDdhGMw+C2acf81KhEmBJuTTWxo\nWGby6WcrcJJmeuCW+ePU91ju7Pd76RirprhVXIEceIDzSCxin+K0oZCZ1IGVIJjP\nIkVehTsLuCeTBbjvz1b3k5QFyhUhvd32Xt7k5d7VARyI4OqnqYYNBtH9vvgeRrFw\nAxsQr4o4axof6i3iykLg6WfWarYArY4dIuu5DkPuGPWf2bbgjwWEra4sQejhOs7G\nsk1xcsfYv2NpArIbpw/wnATdjiax+Gjz1URMD3NgL5ky0ecuZmNvN25QErg3nlVr\nhh1FBfA5pvCJbkJ6nr5bU4bKaffwDX1nr5h77FS5zzn0Pyd7ZIExmVmNtaeJfnfV\n5vnclapzXMNU+R6t/ATJQd1srvSJhyljQapzsqnrjNMEUojOEvqqygJp0KwNVPqs\n3g9XGSoOnO+WULWBeISW7UVOg8BOF8pwvHIU2++bSzOdpypW0Eq6p2DPWO6qL/H1\neFLKrUg3EvnTjvknbBxMB55h9jNJr0SAlkrmyEVm6+CE3BwRWpKB+cJMBuGiwPwv\nr/ASRiJrkDThbNWAUtX70rUmCqDV6/MujLXViqOc/Q2OHvcXd1oGDccJSQT92/1z\n7nonnedyYQIDqUt7u68WL8JRxp7pFsEqKLVuWSgxW3c=","translations":{}},{"version":"1.4.0","phpExtensions":[],"databases":[],"shellCommands":[],"phpVersionSpec":"*","platformVersionSpec":">=9.0.0 <12.0.0","minIntSize":32,"download":"https://github.com/nextcloud/calendar/releases/download/v1.4.0/calendar.tar.gz","created":"2016-10-06T19:58:12.724588Z","licenses":["agpl"],"lastModified":"2016-10-06T19:58:12.790604Z","isNightly":false,"rawPhpVersionSpec":"*","rawPlatformVersionSpec":">=9 <=11","signature":"b//hJbICFMLR0Va1BGMzpLpaPREOo9QhjgfrHvDOfXVpddhvCM8ocz74X1s5hKyy\nGg67EE0pOp0dBf6RyJjduI+Dz1wQX55My7J9G1vXGCN30C/8zAcKSJoA218IWcub\nICavLkz2PkiitIOSZyBCAfEiSAeHPop/JGkq3KxQDC7QwFC78BnE9/adD9tO55c/\nDGLhvP/uTJIeH8RUifikTqVMmPH+aP3uPbZzl+AxhUezRiNCpEtZPA5QGqtQdJU4\nFc6x3d9y4IWbJV4TEIAP8jdfqtLVUQ6szFVnN8Oi1wtN9e8LIylBSYbmIZRj0+qh\nZcgntzEq6U843ZwXcAnL5jNYV0m+KNI+EkXFeWHkjvbwfCdvGPBvgFVbhc0YPzXU\nqHOe4Lvcx9X20ALG/MacV9zX69GzNnWgbBp9RnIHuaSRPFEKrNXUeXl2THuKsTyQ\nF9QtTwS5U5DcMyTO2RAN45NrRxIh8IL4stoIg5rmF7/ZaOm/Jza2gnUquOTarDE/\ntiWnNW5kWUAWyYYHvQgQix/of9qXvc2hhZaw0y623WDNrEwA+rngnjDMLA/vNv3B\nhgwQ6NbCOuHWsRK3S8DcJFpB9Kj/i7CDvDLEuJYnjSTvQ/q1XqawbJPDoRlydX43\n3/L0LvHvKVakYybv2OE5gy6bQ2Dw8e7D27DtZ6XTaBY=","translations":{}}],"screenshots":[{"url":"https://raw.githubusercontent.com/nextcloud/calendar/master/screenshots/1.png"},{"url":"https://raw.githubusercontent.com/nextcloud/calendar/master/screenshots/2.png"},{"url":"https://raw.githubusercontent.com/nextcloud/calendar/master/screenshots/3.png"},{"url":"https://raw.githubusercontent.com/nextcloud/calendar/master/screenshots/4.png"}],"translations":{"en":{"name":"Calendar","summary":"Calendar GUI for Nextcloud's CalDAV server","description":"The Nextcloud calendar app is a user interface for Nextcloud's CalDAV server.\n\nIt integrates with other apps, allows you to manage calendars and events, display external calendars and invite attendees to your events"}},"isFeatured":true,"authors":[{"name":"Georg Ehrke","mail":"","homepage":"https://georg.coffee"},{"name":"Raghu Nayyar","mail":"","homepage":"http://raghunayyar.com"},{"name":"Thomas Citharel","mail":"","homepage":"https://tcit.fr"}],"ratingRecent":0.944444444444444,"ratingOverall":0.944444444444444,"ratingNumRecent":9,"ratingNumOverall":9,"certificate":"-----BEGIN CERTIFICATE-----\r\nMIIEAzCCAusCAhARMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD\r\nVQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI\r\nMTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB\r\ndXRob3JpdHkwHhcNMTYxMDAzMTMyNjQwWhcNMjcwMTA5MTMyNjQwWjATMREwDwYD\r\nVQQDEwhjYWxlbmRhcjCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAMm6\r\nFTeqgzCXprkU83VM4/DrZWn3kqtfaR/edkC4gYT3ug7RHa/Uv1C/S++vr7pvgpnk\r\nYzQoavl/0Qlh5sKEYX+0ud/LQDoiidwBRDckFUQ1bRfVLxAD9UAVvDRHxDqJMOx2\r\ngZArbeQ3ztdSHZp4ThzBFWq2FILsJD86weG7LwHjzhW6SWgLb/YTLbuuW6tRCDVV\r\nbtB0I/a0vCwj2u91Chw3u6pWWjPakc9DQrIDH4HCIBKQ4zVrYDxAmJDRFGDvVVWx\r\nuIAeux8sd8drqSMqAhX+XMcZPRD71NQTWbCupSwWO8kgjmZnBpIiBNpzvMQzJf3A\r\nQloZtjZ2RDXAQG88eTeT8pp8yEOCEoDLpGdraKxJrh/z2Dsk30JP3lOiNYJ9vBaB\r\nC8NJbJ3oAlG7THwUaFF9fsdAKoTwzs5Xms04TI7W/v4Z/GClOzMymnR1T4sR72Oy\r\n3WaMNHv/1QGffvQn2/TtZt23Ou3P083xWx2vn5FgTcac8+x85vRgWsVCA4hq9v6m\r\nAlktB0+UWDEXpDTKD9BdFNWM8Ig9jQf7EJrvTLNnS7FIJZMB4GK8lpvPxyvACWnh\r\nR2hQOe987Zvl3B1JZNO5RvtSeYld9Y9UfMgW1aPRweDNjSuZYAKlugx1ZoyI5HyA\r\nQjfzAwicIMwZsCJDV/P5ZO8FE+23rdWaoJczpBqDAgMBAAEwDQYJKoZIhvcNAQEL\r\nBQADggEBAHQXwvj8q5khWR/ilg3JGYpmMNBYHE9OeDaOcNArkKaGMd478SDPOXeu\r\nyW7hCvNEpiTk5g0h3g3yleZFws0xH8fPsQgZANgvQXb3RCcD61NL77d0cMTr7Xzr\r\nN3Lq/ML1YLc/WwL4uV1XvpMQMwALFL1p63BU2c0ysO31zbLOjMKAJi0hHFDYz5ZQ\r\nD3xxtc17ll3B5IqrMnMHRqmOQ39Sbe56Y7T4agaIz/sUWpseo85D5kt7UAIOR+Mr\r\nQ0Bl/QinETk72afGR46Qvc7tC1t9JjQQD3AUbEGuJdGvXjJJ9GREYu01XoODmPdT\r\njXXOI8XIOK6kxXhPHUc3iWu9b4KqGm0=\r\n-----END CERTIFICATE-----"},{"id":"gpxpod","categories":["multimedia","tools"],"userDocs":"https://gitlab.com/eneiluj/gpxpod-oc/wikis/userdoc","adminDocs":"https://gitlab.com/eneiluj/gpxpod-oc/wikis/admindoc","developerDocs":"https://gitlab.com/eneiluj/gpxpod-oc/wikis/devdoc","issueTracker":"https://gitlab.com/eneiluj/gpxpod-oc/issues","website":"https://gitlab.com/eneiluj/gpxpod-oc","created":"2016-10-31T10:57:44.387319Z","lastModified":"2016-11-23T17:27:37.793159Z","releases":[{"version":"1.0.8","phpExtensions":[],"databases":[{"id":"pgsql","versionSpec":">=9.4.0","rawVersionSpec":">=9.4"},{"id":"sqlite","versionSpec":"*","rawVersionSpec":"*"},{"id":"mysql","versionSpec":">=5.5.0","rawVersionSpec":">=5.5"}],"shellCommands":[],"phpVersionSpec":">=5.6.0","platformVersionSpec":">=9.0.0","minIntSize":32,"download":"https://gitlab.com/eneiluj/gpxpod-oc/uploads/963bbf246412bcbe8979bccadb3b8d03/gpxpod-1.0.8.tar.gz","created":"2016-11-23T17:27:37.783365Z","licenses":["agpl"],"lastModified":"2016-11-23T17:27:37.862469Z","isNightly":false,"rawPhpVersionSpec":">=5.6","rawPlatformVersionSpec":">=9.0","signature":"hqhMh1l/mnwbYf4uPzEjjLFtZWHidzgR57X471OuXv2K/s87T5WhIkTSKk+2r8sp\nS7CtrF5+Pc5AgCCHvwzawN3e2+4eO4cK0+HD9CCzygzzHZEbSjufNHMMQucVoSD8\nPqR6MV9azzUpwHa/5d8fp3cFLVAle+aG0o4v5eHky9c7eaKxVJcgfjw3pjDE73N6\ngJVdtw1jf1kOFYk5pZQxDfBKFDrO5BRo5ZfZGuOuP2u/SmTwj42oTZiT7oTVWhqd\nLvJw+2TPv7B8s0Gin+J5e9K1Rs6CEWQ6WBxM+NhS5KgWB5Ig3pwm0QvMgza2cvoh\nlwVobOotfKLUBJzg0+wR7B2YH9Ao+m94h93vg7H0OKPReoTKhlDj2UExoTyeurV8\nhJdQv8sKVAxjC7/xrVaGSjM4YxFdBpzq8Zl8z4zq1o2voH5+u4ko3c62C1loDpsC\n8KrL1t6A7QpMk/XAMrPqwEPmFqlLEdv6FhzpOGyt4IEVnv6vdMTShcYw3tPvU/mD\njPtiVwpo8gWbGVIfpmwBg4wPaTrWK8V3+/1iTahIQHZfu4Lebb5mzht80HLQIcd8\n+oB4cGDEX4Rix1WxnCmE5ZzURY8xQXcvqYN+mTrUDh/3OtxQPSm5yC945SGoFNpr\nBYxfEyQcwulZrOMBdY0Ssj1AB5NOeC9OHwjJrnVe7dQ=","translations":{"en":{"changelog":"### Added\n- save/restore options for logged user\n- option to choose picture style (popup/small/big marker)\n [#25](https://gitlab.com/eneiluj/gpxpod-oc/issues/25) @eneiluj\n- add average speed and average moving speed in comparison table\n\n### Changed\n\n### Fixed\n- bug when python PIL is not available\n- deletion of bad parameter given to getGeoPicsFromFolder() in controller\n [#20](https://gitlab.com/eneiluj/gpxpod-oc/issues/20) @eneiluj\n- bug in file cleaning, bad use of array\\_unique\n [#22](https://gitlab.com/eneiluj/gpxpod-oc/issues/22) @eneiluj\n- python script do not need to be exectuable now\n [#23](https://gitlab.com/eneiluj/gpxpod-oc/issues/23) @eneiluj\n- jquery.colorbox was brought by \"First run wizard\" app, now included\n [#21](https://gitlab.com/eneiluj/gpxpod-oc/issues/21) @eneiluj\n- avoid JS error when failed to get options values by ajax"}}},{"version":"1.0.8","phpExtensions":[],"databases":[{"id":"pgsql","versionSpec":">=9.4.0","rawVersionSpec":">=9.4"},{"id":"sqlite","versionSpec":"*","rawVersionSpec":"*"},{"id":"mysql","versionSpec":">=5.5.0","rawVersionSpec":">=5.5"}],"shellCommands":[],"phpVersionSpec":">=5.6.0","platformVersionSpec":">=9.0.0","minIntSize":32,"download":"https://pluton.cassio.pe/~julien/gpxpod-nightly.tar.gz","created":"2016-11-16T14:06:33.937534Z","licenses":["agpl"],"lastModified":"2016-11-16T14:06:33.971502Z","isNightly":true,"rawPhpVersionSpec":">=5.6","rawPlatformVersionSpec":">=9.0","signature":"JtUhKRDFGYDx9xtHjdfEUFOb0O4idexUYw6ixlBhKPP8Dn7NfyBfV6KH6MJTIVLU\nQ5Jw6tv/Nr1YDOvVikcWPG0p23mQdn1+7w8DzzIGKmknxCat9/vKr83oJZdWYxS7\nTJ4I7qTvWNlbMfK8OEdl13VJXgc6ftX+1isluLYqLjEm3aBFCS+/awYNMmXO55a1\nyG0NgJRu3pw1CBCMhDaRLsunhpRNDVLsamZj1SPmeT8qy0I/arFaG6hQnAo6JosE\ndi1XkvK6TEt9g16L6eizd+JpGE7xiWFP9ZEmMmmQSOLQYwU5Sk1YWcrW3EX4vtz5\nWnEIC0SENyyAyzBO6YJfu/EP2lLnlbNJiuc4zzKLqRw/zyz3j+imJLcXHIA78ZkQ\nuyUOBkkk3xeyBGeUcYfDuBqYQOQs+F/7+cNMsIBKJhx9ef3OPURBc7X16upk3mxV\n6GsOktbHkgUwWk3WiXRriBIqbAZocvDp0+PN++PAEZVWFEZEJzztd4Fxaeo+QSN5\n5Pz/9yXYRsoSPZv82Tlh7dx5tIPUvYb+UsANh5eGWUGufTSwgYBN0H2KT/iO35D7\nkDzNyh1qNakfBhAgPjrC2p4mBKBJJjlM0D9erDwr5D4GSTW2fp92vlRHeD0X8sqo\n3kBbwGuWnmhdJhbd7zYy0jVM6tVX/zgbhycimNALG0I=","translations":{"en":{"changelog":"### Added\n- save/restore options for logged user\n- option to choose picture style (popup/small/big marker)\n [#25](https://gitlab.com/eneiluj/gpxpod-oc/issues/25) @eneiluj\n\n### Changed\n\n### Fixed\n- bug when python PIL is not available\n- deletion of bad parameter given to getGeoPicsFromFolder() in controller\n [#20](https://gitlab.com/eneiluj/gpxpod-oc/issues/20) @eneiluj\n- bug in file cleaning, bad use of array\\_unique\n [#22](https://gitlab.com/eneiluj/gpxpod-oc/issues/22) @eneiluj\n- python script do not need to be exectuable now\n [#23](https://gitlab.com/eneiluj/gpxpod-oc/issues/23) @eneiluj\n- jquery.colorbox was brought by \"First run wizard\" app, now included\n [#21](https://gitlab.com/eneiluj/gpxpod-oc/issues/21) @eneiluj"}}},{"version":"1.0.7","phpExtensions":[],"databases":[{"id":"pgsql","versionSpec":">=9.4.0","rawVersionSpec":">=9.4"},{"id":"sqlite","versionSpec":"*","rawVersionSpec":"*"},{"id":"mysql","versionSpec":">=5.5.0","rawVersionSpec":">=5.5"}],"shellCommands":[],"phpVersionSpec":">=5.6.0","platformVersionSpec":">=9.0.0","minIntSize":32,"download":"https://pluton.cassio.pe/~julien/gpxpod-1.0.7.tar.gz","created":"2016-11-14T00:57:37.521001Z","licenses":["agpl"],"lastModified":"2016-11-14T20:35:45.363487Z","isNightly":false,"rawPhpVersionSpec":">=5.6","rawPlatformVersionSpec":">=9.0","signature":"SigBof6QJZ9IMZyFgc+B3LO2+EXaAPvnxUHjJQjIl3jLzomocpDGR6WjO6gtvB81\nzXUHjJ8+huc+P9TvgjUGRTmn9a/29HZ4IKTXnYBKIUY7wSLcJNMbJSp2Zd3OFHAG\nJwRaEdh/cIRk2X6NE1VT6dFCxB+LhTM4BXOEwuNYQvU1lZDVQgTz/r68zFLWBt6R\nqhBCNJHrVp87ecS4+XaGq/CfT4k1ihiOv+f4eX9iaPzUhxBJ71iYKF7wHpDoVmIk\nNrzWFUJH3BLBuW9oiC0PApli6Xu5RXrWUsOV7OAmxXgylRCPuTFwe09hw16JMbiS\nii8WFiUtp4qW53+7eoS7Fllm7CRi/Dg6Jvjtp3msrf1m+OiYM7dLyoKw22/S4P/a\nBIErZpSCHaCfrZ+DBXrAYcas27GWE7HizzG3yXk3aDJMa0Otcsq56bSPo01JDfNx\nm1y9iuwmlon8zKKoxsJCwxaFDnQpqazaLcUO0ATHUk8LdomTA7MCXVvNFPaO86Ea\n16iyw7Cfs0k3GrvN71+SdpvWss359CEEwBMpDwJZqwSFbLRyHtogUgbRWLIJqR4n\n5uVvJqirxWkr/EtXw6UkDWAI3ZoMhMRtjn4H4ekANP5mC8R0yp+UuFs2RkEC5uA0\nKzzh73WmxmpeUl6jcMZ49gXn3PTCC2fJNrdmSYch5Dc=","translations":{"en":{"changelog":"### Added\n- option to choose waypoint style\n- show elevation, lat, lng in waypoint popup\n- ability to display geotagged jpg pictures on the map\n- pictures slideshow with colorbox\n- pictures work in public dir link\n- use NC/OC thumbnails to display pictures on the map\n- options block hidden by default\n\n### Fixed\n- fix bug in geojson generation for waypoint-only files"}}},{"version":"1.0.6","phpExtensions":[],"databases":[],"shellCommands":[],"phpVersionSpec":">=5.6.0","platformVersionSpec":">=9.0.0","minIntSize":32,"download":"https://pluton.cassio.pe/~julien/gpxpod-1.0.6.tar.gz","created":"2016-11-07T12:11:00.619161Z","licenses":["agpl"],"lastModified":"2016-11-07T12:11:00.699921Z","isNightly":false,"rawPhpVersionSpec":">=5.6","rawPlatformVersionSpec":">=9.0","signature":"WBts2fm2rW/7LMHYjcx9a0k0WTXV6PnGRxTl+158cjfV7ruMpNvhK58iTjrox69k\nFWAoIi1wNAlLBu9Xet1j7HKi4TC9q61IEN+lPlnwBCu0uHawiqS2gqB4i8A019Ei\noLsgAPWh8ndy6+gyUtPhVLVduLH76aT6KTwAiHPknV0zPtxsUy1P6nbbNOS5A5rG\nSQBqljy0TbcjOctTudEPp1IqjJIwcd12eZ9MLG4CEIO13n53pMAsuXJf4jnKSCm0\ngimvsFOwFRjBab3ZPwtOqeVw6aIh/lYF3U3/k8YBpaDN74m30nDtkp8teXBgshSY\nVYvX3yOAYe0PIR419IX0eoHb61K0VfZYvPT4FsOqjDr0zlVB8Rjq+6SiK4vMD2+6\neGE0aHbjR9HV5jymUnFYdm/hlhcZGaKrAiQKfBY6Vh0SWKfIv7bdGfQYauePAdZt\njlsV8lIwOy7FGAeP81CcjzWWfDeBgYr+MSzfoDNoTi41MvUaT14iWPIU/s5P1/Qv\nALGxgsbmB19wEgNbdh1UtTUY3xARLpWPYdUqU7yDcsddX9vCoCG2G5wCcbYJRj8o\nC+H7wdgPJoiMY/p4Go/lyWkvmzhfXrOeXytZIFXjb3ERVd1vD9WSt1DSy/7gsFYt\nxzzOPgqMvL3BbeluNuzNv366oT872s3OuFKa1ZOYY7A=","translations":{}},{"version":"1.0.5","phpExtensions":[],"databases":[],"shellCommands":[],"phpVersionSpec":">=5.6.0","platformVersionSpec":">=9.0.0","minIntSize":32,"download":"https://pluton.cassio.pe/~julien/gpxpod-1.0.5.tar.gz","created":"2016-10-31T11:08:41.017766Z","licenses":["agpl"],"lastModified":"2016-10-31T11:08:41.068782Z","isNightly":false,"rawPhpVersionSpec":">=5.6","rawPlatformVersionSpec":">=9.0","signature":"UXeZVh5f0/WZE+r/dHWc1pu9q4qr/zACX6XraMhhIuKIp7vNCwUESeqJtVc99QZw\nw9kJp0isvib6l0zbQBRS1vI7xwKKBQyeaEhIciEs1JjsaCiato1Gyi26N+fY2N0Z\nFWlTwCsF3DdlwERXTYfeCpsOWCoxLxHKhnJIjUc0PVme/Ste4zxYj+5Su1RpadSw\n4vGnkW8zy/0tzua50NQCrOg+B4jXzH9kMWAP47w3sdP5CYalHSHl8EX0D1RjgGU5\n7vZYX3wF853FvQDbL4JXXCJupj3wZe8py8McWpQIcgz1p3KmE7A7d/rdNWExT+T+\nDxtStJ56qTRMz4aFwoSFxJrrEfgHIsE9Gv+Vo7nshCUYA8gkfHeckiaUtH1EiFTh\nVNeO6mTIqGpRosFvfUrZMKcuF5j74vGQjNM1o+M5N31gtLoPSkU605f/U4v+j2oC\n3/N1rYF2SEDFO0EgAGXaXVhB0ltSDkHJw6vZJ1L8Qz6tooUMDxaMri8vycA6LHvE\nqN+z+S6TXMfLvN/6ATYPGhicrWmkMT/k7v1az/hcnfH+zRyLZyFx94s88JWF7Jf+\nI+tgDbfqTMAIcytJUC+KfdQW1ueXh5F0owrOYM6jgBRvhqj1T8s+Twgw8orGmRPe\n9h8G9Z3wZAooQvmC0KdVhLuOeIkqt/S5krELNFFBRnk=","translations":{}}],"screenshots":[{"url":"https://gitlab.com/eneiluj/gpxpod-oc/uploads/db5af6ba7ae1cd4d22ea81d418f5c762/screen1.jpg"},{"url":"https://gitlab.com/eneiluj/gpxpod-oc/uploads/123588561a8067185572a8d1887ef906/screen2.jpg"},{"url":"https://gitlab.com/eneiluj/gpxpod-oc/uploads/427688b80bf8428dd45bd15d69b19075/screen3.jpg"}],"translations":{"en":{"name":"GpxPod","summary":"Display, analyse, compare and share gpx tracks","description":"\n# GpxPod owncloud/nextcloud application\n\nIf you want to help to translate this app in your language, take the english=>french files in \"l10n\" directory as examples.\n\nThis app's purpose is to display gpx, kml and tcx files collections,\nview elevation profiles and tracks stats, filter tracks,\n color tracks by speed, slope, elevation and compare divergent parts of similar tracks.\n\nIt's compatible with SQLite, MySQL and PostgreSQL databases.\n\nIt works with gpx/kml/tcx files anywhere in your files, files shared with you, files in folders shared with you.\nkml and tcx files will be displayed only if GpsBabel is found on the server system.\nElevations can be corrected for entire folders or specific track if SRTM.py (gpxelevations) is found.\nPersonal map tile servers can be added.\nIt works with encrypted data folder (server side encryption).\nA public link pointing to a specific track/folder can be shared if the corresponding gpx file/folder is already shared by public link.\n!!! GpxPod now uses the owncloud database to store meta-information. If you want to get rid of the .geojson, .geojson.colored and .markers produced by previous gpxpod versions, there are two buttons at the bottom of the \"Settings\" tab in user interface. !!!\nGeolocated pictures can be displayed if python PIL is installed on the server.\n\nGpxPod proudly uses Leaflet with lots of plugins to display the map.\n\nThis app is tested under Owncloud/Nextcloud 9.0/10 with Firefox and Chromium.\nThis app is under development.\n\nLink to Owncloud application website : https://apps.owncloud.com/content/show.php/GpxPod?content=174248\n\n## Install\n\nNo special installation instruction except :\n!! Server needs python2.x or 3.x \"gpxpy\" and \"geojson\" module to work !!\nThey may be installed with pip.\n\nFor example, on Debian-like systems :\n\n```\nsudo apt-get install python-pip\nsudo pip install gpxpy geojson\n```\nor on Redhat-like systems :\n```\nsudo yum install python-pip\nsudo pip install gpxpy geojson\n```\n\nThen put gpxpod directory in the Owncloud/Nextcloud apps to install.\nThere are several ways to do that.\n\n### Clone the git repository\n\n```\ncd /path/to/owncloud/apps\ngit clone https://gitlab.com/eneiluj/gpxpod-oc.git gpxpod\n```\n\n### Download from apps.owncloud.org\n\nExtract gpxpod archive you just downloaded from apps.owncloud.org :\n```\ncd /path/to/owncloud/apps\ntar xvf 174733-gpxpod-1.0.0.tar.gz\n```\n\n### Post install precautions\n\nJust in case, make python scripts executables :\n```\ncd /path/to/owncloud/apps\nchmod +x gpxpod/*.py\n```\n\n## Known issues\n\n* bad management of file names including simple or double quotes\n* _WARNING_, kml conversion will NOT work with recent kml files using the proprietary \"gx:track\" extension tag.\n\nAny feedback will be appreciated.\n\n "}},"isFeatured":false,"authors":[{"name":"Julien Veyssier","mail":"","homepage":""},{"name":"Fritz Kleinschroth","mail":"","homepage":""}],"ratingRecent":0.5,"ratingOverall":0.5,"ratingNumRecent":0,"ratingNumOverall":0,"certificate":"-----BEGIN CERTIFICATE-----\nMIIEATCCAukCAhAaMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD\nVQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI\nMTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB\ndXRob3JpdHkwHhcNMTYxMDMxMTA1MTI2WhcNMjcwMjA2MTA1MTI2WjARMQ8wDQYD\nVQQDDAZncHhwb2QwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCq9p5l\nzNzR98l/xPgrplWrGQBhF6aQSLpnIyCdLAYKk+CmXn47W1pHh5CRYyCCyB8YPBBG\nTwbpP69pP1updfK2vUt+ShYmCXLxOLB3qEdhnwgqFfwpC48Ocev9d6XcacYp7jwu\nRNtv0ocMkm5o0TWWupcutQWkmqzCVq+OkrqM0xrf3mfPymuM6edEREshukoL86Ei\ngTuMMGT0XO99LikszvdceNQYEATix1MHzSVhkE7jHCNBXb95H6nQGr0v7R1MIbrI\nGFlgqxwwNNKwBFNfPMWZVnKwz9hoIwW6WOuu7ntwVcPqwB/gUsRZJTu7EjIW0trX\nnhA6xLlc4X66W1sdUCkJOxsV+Y21akz6wynI0SzIfjALLI2Ls4QWrPM8GOX8nPVM\nm+Y5WXzqLJScdWYoefFJKS7kxwUJRewREB9ykCG5OdDubV+Iu/6jh6HWx3h4p3ih\nqkDypPWoxpfLgA8VZkLD1RRKGkRa858QBGdF/RHbYT3JfLEp9l9gJVKZE/yw7HKk\nwsZ/T6CMpLyorpd1XWtp2wLX8lr3pp9ecVDOdAMSqD2thDMDsZA82JrJ/vITwkCF\nBlqtDZmT0UnpxYNYTfYBam5Cd00jsqCt+Hr+QkODNe8Yae9c/D0zE3h2Vt7g9H+W\n7Ei+rF5nDYTBAApoETxK7+aUZpycBf3THAJOcwIDAQABMA0GCSqGSIb3DQEBCwUA\nA4IBAQBbCGAEwg3M5QJDMnZgu0zNOH2f9bamAS9ksyCZqzLoeQic1W7GYYe9NqAi\n7lO5jXRZpTN4L133IUQPtxCxuDooD2vFmCne92tLxJbc7uqlSVfhL8uMVOlnrA99\nKTAhySTZU5so8/OibrngnBmcdWwbhaWoCQ671M8aXM1wg2FVYDqB2GP3RvbpW11L\nOc+4tfh4mO4TwXygf7KYMOJyJW8mNNY7PZ+XW2Qe3vSXR3DuN8H8fgMh5wppXPJf\nE0+yNs42hwFjSojtI8BCb0s5DTleaakpDo8HQGNzEXP8tBlUYudtjzdP0jxFXbFa\nsT9pcMdeJ0/t5HqJSx1EjUCLYS4y\n-----END CERTIFICATE-----"},{"id":"ownpad","categories":["tools"],"userDocs":"https://github.com/otetard/ownpad/blob/master/README.md#mimetype-detection","adminDocs":"","developerDocs":"","issueTracker":"https://github.com/otetard/ownpad/issues","website":"","created":"2016-09-29T15:58:52.814912Z","lastModified":"2016-11-19T17:37:52.278497Z","releases":[{"version":"0.5.6","phpExtensions":[],"databases":[],"shellCommands":[],"phpVersionSpec":"*","platformVersionSpec":">=9.0.0 <12.0.0","minIntSize":32,"download":"https://github.com/otetard/ownpad/releases/download/v0.5.6/ownpad.tar.gz","created":"2016-11-19T17:37:52.234684Z","licenses":["agpl"],"lastModified":"2016-11-19T17:37:52.423930Z","isNightly":false,"rawPhpVersionSpec":"*","rawPlatformVersionSpec":">=9 <=11","signature":"dh+Txg1iVfqXr8+cxplNQuBZGErSnXUo0ewGwnybNMJqp8/EjEo72+zPpW3dVnhY\n67YCvhrm2bo+VRdFFymEfymzSJu9nWVFkGJhEwvTxPyIdAtuD5YAVrzmnR6L+H7m\n7Q1nXE63ICPCAQpHkxIfIXLh25OhWeyofBB8AVsjDUNn58FEYJ8fFkr6dCgPriZS\nsM2J+xtZMDYufy+xFMsVf/Q3WopjFuBjMC3qOecW76ZTwtREaswOC2RtpzUku2r1\nsogrfFlFer3Ii9/CWgOktnLfjB1DzbTwdEkM2xNVBRJgdMXt2VLA9FsxFFkjmr5A\nl7x9cNLWA8RLpOIpIMBbaef75u5HgRBvSvq114UsA9GCu/EYbIgD8YxEt7xuKd4t\nenksJB5gJ2IQNdHrPbsil59AsJ/dismDN6ktYgWQEk5dINzvm9EAvucueW0Gt+Jr\nqEC5WBgJucsFxSvkHh52v43M8jgPYBfHWEL/M/+377z3+mbuIh+BcQ+vcDdiqxTF\no3n0+gw3QYIhLEe75sUhxG6ynVUdW25AKKju1kVj3KJnZTBH1R8t8/zy4DnJG8d4\nuRGqyU4BXpZjEC3nVlsC7vCncWWhxl0WZQ/MWKqsfjVAU4I88E518D6NioqMnPEJ\niCZ2x+69UCDEQyfCSKajgAYT17r3OhZei8F9KSCH8Vw=","translations":{}},{"version":"0.5.5","phpExtensions":[],"databases":[],"shellCommands":[],"phpVersionSpec":"*","platformVersionSpec":">=9.0.0 <11.0.0","minIntSize":32,"download":"https://github.com/otetard/ownpad/releases/download/v0.5.5/ownpad.tar.gz","created":"2016-10-06T07:51:05.278637Z","licenses":["agpl"],"lastModified":"2016-10-06T07:51:05.348825Z","isNightly":false,"rawPhpVersionSpec":"*","rawPlatformVersionSpec":">=9 <=10","signature":"nYsQ9U5r7uXwtcquaWGm2XMJBNYCcA95aUx9gLZ/wEmjCHqId7+MzcCdBnom33+j\nat2XR2a4R96UAUP78bfSC4Yb7nPepFT51Y8CSpV3mDT85/+SgJdq500fXldq+qGY\nffXLneadAztyOfZO9TXljaCLdREYI0LJIGVENsxBQVKM/eyGIuZO7fF70cH5vbfS\ns37+BXB+fxcDTlP2Xuulra8HsNoS81bzjsdVMLM7B7QwwO6rZ1zd5c3UzQ1LmY5g\npQUBNd0KjfHfZ6+Fd64XZO6NGfgucGNmL3lgxdsfUqKiLtikvFxK39dYW5MckV8p\nvLoS2nZ7cgETQmAW9Ahn3ro7gXWcPxzL41oWtZOOHRRC2Yz5zlZ3Bky1o+bF9g5a\nYdDF13zV6utUkhlplZhWbjKaXa04rzOvmut8Iqhx/tmDtZRYtaQXJZWutVJYtPC3\nH86uJJnUHHNFHeoT560mp1Hq0dTeR+G+yWsPacPD1rTYgZOUVEtj3Y+YdbTODR2o\nOdGzeYFl+6CL/OcY4wPGRUCTFwvc31lIUd4DK5SPfN+IGtuuXhAqVhwy6lpkcKRs\ncj8sBoVXbMvEtMnt5uARBvA4tyVffUL4oyoIsUnvXz4u+q4WVt3T17swLm6HjGVC\nNVqU0srHN7EeBRhHlXP1CrKQWGQlS4k9j9Li4Iw+X8s=","translations":{}}],"screenshots":[],"translations":{"en":{"name":"Ownpad","summary":"\n Create and open Etherpad and Ethercalc documents.\n ","description":"\n Ownpad is an ownCloud application that allows to create and open\n Etherpad and Ethercalc documents.\n\n This application requires to have access to an instance of\n Etherpad and/or Ethercalc to work properly.\n "}},"isFeatured":false,"authors":[{"name":"Olivier Tétard","mail":"olivier.tetard@miskin.fr","homepage":""}],"ratingRecent":0.5,"ratingOverall":0.5,"ratingNumRecent":0,"ratingNumOverall":0,"certificate":"-----BEGIN CERTIFICATE-----\nMIIEATCCAukCAhAPMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD\nVQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI\nMTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB\ndXRob3JpdHkwHhcNMTYwOTI5MTU1NDA3WhcNMjcwMTA1MTU1NDA3WjARMQ8wDQYD\nVQQDDAZvd25wYWQwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQC6CY7I\nHRJTaqDu376vt+kruX+QOL864joScxRuh3IOVcQktCvxasuA0EtrX7TCAQrV1tBK\nfkqJxU9uOV54RTgyh30yH/ZtnF2bYQwViGM06Snc0riqWydFrN5fxK52dpZWs63o\nUFCNhHxrX4aUGyfXu5nQMISLm4QHoZ3LDLofk1ZsiK62fM/Jz8N2PM8qeHzf1ATo\nSKcAOd3UeaS9C8bv2DuiZM7unkSO/tjrBzkMiq8ds9sIzBBsyk6BRh2HQjHPOtmO\ned+pS9mIZmc2xhssXoHL4IfZwTqwhktpsaTl7v0ROw2dwDATz/QoKMkUpboQ5lkz\nwgLQhoIZw6uAZ1R/Qjze59I3iU8zIo9quDarHBotZNXboYCmg9FRfE4mHtegVaa8\nv1a1JvFQ5gvsWEsKSV6Bzb65GTp4KG4q7YnUrzh6HJyDCGLvLlWm5OWsFj6sNzXX\nwLOv6JLORMbF4ZIo2iybb3x7gdfCu9JxMZ4JtOUC8KSJ6+ub15C1Aia3lN68dNts\nY6KwUF1Ted0o4OQPAulq5pUc+g6dTYmIKsavIiPKhMtl86AbUK50vRTeuGdFsT7X\nav73IanPdFI9bKth+tajgvB6dxcVnvBXbrsLUyEcsxsxtBJvQcMYS4aZ6ZJYLTep\n7AdK0Zt1iMdXB8+4PCps4rcG6bYB/uJeEAVm7QIDAQABMA0GCSqGSIb3DQEBCwUA\nA4IBAQCM10O+sCYhIExnx01vGzKlnRS7MSQNx8ZMmbR5Elfz4AVJAEJ96ytS2DXH\n2c+hcD0wAenXQEFk920AEqFQBT8DP34p0FmF83aMHW08ovzFiu4MdlhcqrLnko0h\ncZTXHVyS/8JZh+o6SVm8R0/BBLF1MQQ5TqRkJehbmk6gL0+MSYxehUDKWTjJITkR\nifneTw/Ba1d0AXBOq0c0HFyGxMPIlWe4qn5LtxH5t0wyVGeSj4jyv4nvd3ZGuAgY\nEUa2uYht/z475k4+vf0YhV98iQH07GnmlfD2TDZgmOCQGKlNfJh1v88OZyLLa3dz\ngRHzGwKbAiJ8T8bbpZ3e2ozXxADr\n-----END CERTIFICATE-----"},{"id":"announcementcenter","categories":["organization"],"userDocs":"","adminDocs":"","developerDocs":"","issueTracker":"https://github.com/nextcloud/announcementcenter/issues","website":"https://github.com/nextcloud/announcementcenter","created":"2016-09-14T10:38:53.939634Z","lastModified":"2016-11-24T11:21:50.324839Z","releases":[{"version":"2.0.1","phpExtensions":[],"databases":[],"shellCommands":[],"phpVersionSpec":"*","platformVersionSpec":">=10.0.0 <11.0.0","minIntSize":32,"download":"https://github.com/nextcloud/announcementcenter/releases/download/v2.0.1/announcementcenter-2.0.1.tar.gz","created":"2016-11-24T11:21:50.317635Z","licenses":["agpl"],"lastModified":"2016-11-24T11:21:50.386203Z","isNightly":false,"rawPhpVersionSpec":"*","rawPlatformVersionSpec":">=10 <=10","signature":"lmqeE6xBqUJfhuXPbjCfuWiIP0FEB4V/SsF/OvYar6rLpvDpJVf3DJoeIoxXurRP\nE9/xCcNN44P8PreRRDnFLCa0XsKOtwoGa56Lxk7IKvtiQG6xu4J6PKM+q/tIeF9K\nakw0LQXtjZB5InPhnCDDbY5YS9jgGEBylSHsgNgrElipcW+BzOBu1Amw4FECVlQw\ncQ83bio+YPZvsnE5+v3/bAx0m6QNxfyN9Sn6rMEqRkY3jfA3vejXGQH/XkputfV+\n5hOz48KbOVg7cKxg+ieJlSwC0aYjb+RXiopjc3icCoIF1llltOOeSsVYSflOb080\nupociPgQ6qIab/VNNXa2YQ==","translations":{}},{"version":"2.0.0","phpExtensions":[],"databases":[],"shellCommands":[],"phpVersionSpec":"*","platformVersionSpec":">=10.0.0 <12.0.0","minIntSize":32,"download":"https://github.com/nextcloud/announcementcenter/releases/download/v2.0.0/announcementcenter-2.0.0.tar.gz","created":"2016-10-06T12:41:56.195206Z","licenses":["agpl"],"lastModified":"2016-10-06T12:41:56.263124Z","isNightly":false,"rawPhpVersionSpec":"*","rawPlatformVersionSpec":">=10 <=11","signature":"NVWYz73KtuoZ7ti2sluztJO5aFUc7PzhlDcg0VWyAQd1H7sk5wjw7i0bhrjw8O7M\nLsrb+PegnsL9eMlYM2WrRom+RF1PDP482xymZf1T8vh8qcTCm3TK89xSuiSm8yoA\niWUb/Uv/ODj74wVDWqWxAFKaAG/FestCB3InOOZQqQZLzlAV0U9ziYDGNzBjFqof\n9rLNxJ2IOqZOA7hhMIKhSrpA0KkSfNhBsVf8CWClYnVkZQiq0LoYkHkHIlXmXUr3\nOfQFKEjtsx+bNLa6CkAaocHGHJXAofX3GQZ9cjBsjZqiTfbXfcVk0kRfz7pwL92L\nI1McfJYvgMxDQG5bjRpNJw==","translations":{}}],"screenshots":[{"url":"https://github.com/nextcloud/announcementcenter/raw/stable10/docs/AnnouncementCenterFrontpage.png"}],"translations":{"en":{"name":"Announcement Center","summary":"An announcement center for Nextcloud","description":"An announcement center for Nextcloud"}},"isFeatured":true,"authors":[{"name":"Joas Schilling","mail":"","homepage":""}],"ratingRecent":0.75,"ratingOverall":0.75,"ratingNumRecent":0,"ratingNumOverall":0,"certificate":"-----BEGIN CERTIFICATE-----\r\nMIIDDTCCAfUCAhABMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD\r\nVQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI\r\nMTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB\r\ndXRob3JpdHkwHhcNMTYwODIzMDkyNTQ0WhcNMjYxMTI5MDkyNTQ0WjAdMRswGQYD\r\nVQQDDBJhbm5vdW5jZW1lbnRjZW50ZXIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAw\r\nggEKAoIBAQDPx4Hp1HdBo5v7bDEiVcv2UrVjNW+fPPKS/5rwbagtPcE/1v3WDcwX\r\nvFwaXk8qCn2UpPSQ2b1rTuTDm51G1ZmEZhNiio+rBfEe9F+3tLsq9lElqIPKhkAq\r\nEUVI6dcN+jSqvLmLhuwloEoQQSYaLrX75mY3lGqTb83h1l2Pk/brVixuVf4vJW31\r\nTgeieuGKnC+keLzKOrvTHffJakU8ktwB2Nuu1o+jN5a7u1bxKkP3LjEWPjq236hk\r\nAoOcW/wi1dUEyUKUZsZQeJyvTJh1UXdLHKwYywtUu1/VLZ1IUtNyPBfiQ8ukPp3T\r\nTnSSmG3ZnvsfM6DmAvLZ8bBQkMBzEcTLAgMBAAEwDQYJKoZIhvcNAQELBQADggEB\r\nAAB3i2NgiZ4rpNag7cXYdaFxAxdDWnke1+LX2V2R3hzGmx73/W6cKLpo3JBn9+zT\r\n1aEjlqkt0yHu4aAPVYQzOa5zIV8mjP84p3ODSyV9J8lfjFNXT7wdA8+9PVx3lVki\r\n2ONoCNBh1kOxnxI4+BsMlQfF00ZbBSuGcMm3Ep3lTFWXzuUn3MQITzPwkL5LkW6a\r\nsli/yAYQRTVDsXD8A3ACYT7BG31jGxyXtIHzqCci0MhZFdKKayMYkwfjZchIUtGN\r\nJJoU8LQoHwGRtp3wutk0GlFzpEQEvSsn/Lsvvot5IfIe46tnzA6MVj5s64s5G8+Q\r\nphhXFlzXqO/VxquPdbfYjvU=\r\n-----END CERTIFICATE-----"},{"id":"ocsms","categories":["tools"],"userDocs":"","adminDocs":"","developerDocs":"","issueTracker":"https://github.com/nerzhul/ocsms/issues","website":"https://github.com/nerzhul/ocsms","created":"2016-09-19T21:56:04.745481Z","lastModified":"2016-11-11T16:29:55.864273Z","releases":[{"version":"1.10.1","phpExtensions":[],"databases":[],"shellCommands":[],"phpVersionSpec":"*","platformVersionSpec":">=9.0.0","minIntSize":32,"download":"https://ftp.unix-experience.fr/owncloud-sms/v1.10.1.tar.gz","created":"2016-11-11T16:29:55.856768Z","licenses":["agpl"],"lastModified":"2016-11-11T16:29:55.947926Z","isNightly":false,"rawPhpVersionSpec":"*","rawPlatformVersionSpec":">=9.0","signature":"hVzbkmmtJCtiOkZGe1mkWElqS3IPQ8wLtSzikVvoKmcg+Zq3YLQjpQWzy0t3UVjo\n9I/BfnL0bF+kjtGc9xF6M8IQaFqPrfJmN+lNT8WYIKLI97TTsLmJGg8Q8PAux3nY\n8/NxMjWdByMw9nVBClKo0o9eSW4+EnaUSJ62Gl/XWjq728kbB16WZm+iesk8LjJJ\nqqAgczWGwz6lkZTCN5o9n0a/YoLJTf4iT+OItHZyS609Cqaxx9CAmZPj/Xn5g1fm\n8hqO2ITAXLoBj4rYS/QsZTMcubtGkJ8fq3XYKVSv2UXZfvGsNWbbGV7puKN33uWJ\n5MrdoMlJ8XnJRPDlCBcb00LY+AB+hAMooLnNy765/Ew6ztp4KNLEPWGG+Ut8/Lkk\n0jIULl1RF/FjlW8P26NfwH36K30RCJFY06OFcWnxGBkkQaNFORDIsKcqTAxkl4x5\nnfKBkNdQZppCVfOSKOZj4NkWfWx75Ouq1S0QksmOsMZoOcjy1TbBKR8h6dt9DQub\nWpYBL0QwyQShGp0Vb1qCKkP69ZQAHVUJNzIFPz9LyoguvFyv8iZmAPLYDnFBvlf2\nnSHtA19rnJmZ4H7RJ02r6BdkstxISvEiHU7RLjNQxcb+DptIWX5C03wH87HTNIhr\nvptPorEoSY1KwW9fqUvvLE/c+vfkr5cvIEwZlyVKVXU=","translations":{}}],"screenshots":[],"translations":{"en":{"name":"ownCloud SMS","summary":"A app to sync SMS with your ownCloud","description":"A app to sync SMS with your ownCloud"}},"isFeatured":false,"authors":[{"name":"Loic Blot","mail":"","homepage":""}],"ratingRecent":0.5,"ratingOverall":0.5,"ratingNumRecent":0,"ratingNumOverall":0,"certificate":"-----BEGIN CERTIFICATE-----\r\nMIIEADCCAugCAhALMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD\r\nVQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI\r\nMTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB\r\ndXRob3JpdHkwHhcNMTYwOTE5MjE1MzU5WhcNMjYxMjI2MjE1MzU5WjAQMQ4wDAYD\r\nVQQDDAVvY3NtczCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBANqZVIzM\r\nwBJuacuvgYKr2KnXuYhjKjZ58nfspSebsaGLr0ifBbo8L+NH5eaynnLCNhpegmu0\r\nO8D+KrbM1LtIkcdg1/eFpN5dTc6G2OAc9H9stmHs9nroF6MNhszgdZCz8Q8xkSoD\r\nGdSm8hdPg5GcfLrH27UilGtzdQlWJ1DralLMt3l+SfGJo152c/dc+e6SuT8+EbY2\r\nCeLdH5ImasXNpUgY+tAoEt2ZvhBrUghykBJTJVOjwL1jGLT37ybMtV4FBKo6hpeg\r\ntq/YzEk1ijBAC4pmoNWixDKCdolpVJVz0fijI9mlda3llurcp8eMhxfYJ9soXLHp\r\njvLX02YY6RfPcyy48uWVk4IEt9BvZWEVAAp7hCGA2yXrVSsR37E6sDbLsBcKav9A\r\n6dkGAgfmGkr2WT6O1/EhK/MakmnYO4WD1B+E7PnxtP/wOa+aQBmntQcd7igDiwzG\r\n6h05NYAWcRhqfZ4KWYsq0t0SezMbuHOhwzzi22q8wijC5YZbmhKSh+b3N8XwYKDi\r\nZaw+fSahPbRWaLyR3wn9zh7vKCwqrG3ugrNo6CtyoACAnmxKZ97ROFJIQTe3ndLL\r\nmv7Wy8iCZLhRYUaW/GKrF11AFwBVec9xmvkgU+PIKq2HSjwi9sCF+pFyhVjmq29C\r\nmZEPKUV7ySIpNHXpsXm8kTJJfqjSdb2ECbLfAgMBAAEwDQYJKoZIhvcNAQELBQAD\r\nggEBABvn97e8Nw8KAscf6FX/nZ99rEX+3IrZxTC8fmBgNwAvlbF2A+QZQcFI4G9/\r\n85nHK117+u7XDuwWl4QG3flWlI0hDE59Ud9Bd4AiTQ12VoXlNdYoTg/mXARxVozb\r\nKYqZ+1xRQclZKb2AqW8YiGo18okIKovn9VVRAFYPYx4O3Ve1FjgfsaMlIZLiXUFm\r\nkk+2qWo6kYsdU9FABLo6izx7RFOMbnYNre5FmDrWP1Dga/U7ErK/Dilh8g9b3HrP\r\nwP8OIZhdtFWw21wDTfyqrb9EhC/tsjPVP9u+bqyognHeiMhjbVYRbSvz5o8T7Mhj\r\nbxalCt4/LnMIfMwVyIvye7Uy2GY=\r\n-----END CERTIFICATE-----"},{"id":"rainloop","categories":["social","tools"],"userDocs":"","adminDocs":"","developerDocs":"","issueTracker":"https://github.com/RainLoop/rainloop-webmail/issues","website":"http://www.rainloop.net/","created":"2016-10-20T04:17:37.217555Z","lastModified":"2016-11-18T11:36:04.309739Z","releases":[{"version":"4.26.0","phpExtensions":[],"databases":[],"shellCommands":[],"phpVersionSpec":">=5.4.0","platformVersionSpec":">=10.0.0 <12.0.0","minIntSize":32,"download":"https://github.com/pierre-alain-b/rainloop-nextcloud/releases/download/v4.26.0/rainloop-4.26.0.tar.gz","created":"2016-10-20T04:28:21.491747Z","licenses":["agpl"],"lastModified":"2016-11-18T11:36:04.619927Z","isNightly":false,"rawPhpVersionSpec":">=5.4","rawPlatformVersionSpec":">=10 <=11","signature":"nTYIVSB6mIwKtXIrKoVGsOGFflpLjed8jFem1VLQNtXQj4bztnNrdc4YaPIn0yzM\nyLpMSqRDNzdYNFuOeDiyKLPJPTA++MotLCNjEe7kxUekek+m+qzgnGBdcT7RQT6R\np9xWGecnVx94d6aA55uiRhgQRyHpdDMMLCOz1be+HvpwHy69DRFZ1+SPmGUt6eW0\nu5yS0vHCu1K22cbrVNXFKjxAOlGcIDm61oQuz7ycl3uAujZO4rZbWt55jilgKGak\new559A5gTp9W+j+TWKIcg6LIZ9zLRlGjcQrWJrsc+OBZQcqiYimSFyO6HhfT9TPS\nPof//I+dSsd+H0SRGGeL8DvSnK+NKZL1q5EX5pziqsv6nZFITpCDwmAN+I8AnXXL\nSNkFi53M8RZTOABpD2x7YPYP1cEvwrRweqV/C/oHcYnpfh7D2DjFeWwXsjeAXrHY\nhgFhPrg+7rf7g6UmJFOCp0dC9sBdyQ3KtJkv7bGqPr854r2cdA7xW0QHWQ2in9qQ\nLhIczc32ECi3ZVVgyF8zyT4Y/3MRS05oX3FHvHyt88mjni6bVaO78F7ZRSha8gHh\nNOAkku7AMXPvUCHaZP2iVCCoAViEso8GeR3O8xh2G42Ai61RLYwx8LB1+23EoJTr\nmfFuRYNSg+qAKCokXNnh+lDlwu4AkaQo3vtKGPXvU7A=","translations":{}}],"screenshots":[{"url":"https://raw.githubusercontent.com/pierre-alain-b/rainloop-nextcloud/master/screenshots/2016.10.20-screenshot.jpg"}],"translations":{"en":{"name":"RainLoop","summary":"RainLoop Webmail","description":"Simple, modern and fast web-based email client."}},"isFeatured":false,"authors":[{"name":"RainLoop Team","mail":"","homepage":""}],"ratingRecent":0.5,"ratingOverall":0.5,"ratingNumRecent":0,"ratingNumOverall":0,"certificate":"-----BEGIN CERTIFICATE-----\nMIIEAzCCAusCAhAXMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD\nVQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI\nMTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB\ndXRob3JpdHkwHhcNMTYxMDE5MTkzNDEwWhcNMjcwMTI1MTkzNDEwWjATMREwDwYD\nVQQDDAhyYWlubG9vcDCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBANqB\n5jnF9qZ/qjckt0kRjpHCOMtJumW/KiQoMeNP5nGv4ad0DS3KemOapUef8Zn7qCYb\nMnODhK7HBwPifFzI1j8bnT2hP6E0geFLb0MdN59d2NF0n4CCs1+BnepQPJ1kFbPK\n35wQRi0RDeTf/GQ+/owEVCU9a9W1P/VUXk8Z0vMoQxCXEdRqnB63SgsKl7DB9G/C\n4SYrgGor+OHVGl4ntMZhJujiM996DttrNK3iZRGkQ07L+lfUIwQ52XOhQNRdic4p\nB03lw7PpChwPGMv/EEvdR5HpCJQBJniqJbbu3Jh8bMBKTE/8fCzN3vMXICB2g3Bq\nlKkZW6fnJRGsrZ79fsQnl+WBPNSrWRLOxOfe1fyCFV1ljFB4nTH7uF3pC8ZRgJes\nkHIESHz3GJm28hn4+17ESMGHBCbs7L9FK2GY31cobU0VRntLxpSG+d9njbIAgMG1\nS7U+oKVFQhSVpdXNOaUNqhcQ3HkbQTLEP0k53A/lhLQb2+KPd8nntaELjwNyrmZg\nsVMgHj/zdlvrbguZjZFzUzDBFvkuv/5M58lNT/D1C6ufVp/R6eLsYI+nnk1ojAjz\nl7N6U8X5SXpD+Bm7+Kn1PH+bHl7cViCx8oXJXO2RhP+COXckw7BDZKtjItYHNG7M\npFwgYqWpvCu9LN6IN5a/eLqSI76dOOP3iYbaTH+NAgMBAAEwDQYJKoZIhvcNAQEL\nBQADggEBAGB0Vq0l6ndGTgNbZxSEFyBR3u3tiR3pWK81DYjsui7qBoO6P/BaGmf+\nraSwHPaBOwA9XNS8jcGLh5xdqY2p/m0dTS64xNjVL9nweWsG+FwVnPANo8C4nXdm\n9ajJ4cdg54stQK8qn1uh/xPcd23GKfYJazjYSwYmZ3pXXdzlGN9NxkeYJQxJ6B+5\npzAeVGiABI/e5URpxzz2UayRX7EE+vtpe3B84hzkLqsq0N39ZN6KLfaTyEBGLzqE\niLYeXQTV0XSRs8xVt+iyGlj7nPkv2DR0oCqRpWUFWeSBI//niDG5WxS3qg8kacSW\nfDSYhSN+IjrnIkwNtc8V9t7/GeQB5FE=\n-----END CERTIFICATE-----"},{"id":"richdocuments","categories":["integration","office"],"userDocs":"https://nextcloud.com/collaboraonline/","adminDocs":"https://nextcloud.com/collaboraonline/","developerDocs":"","issueTracker":"https://github.com/owncloud/richdocuments/issues","website":"","created":"2016-10-31T08:55:45.631429Z","lastModified":"2016-11-24T12:13:53.905352Z","releases":[{"version":"1.1.3","phpExtensions":[],"databases":[],"shellCommands":[],"phpVersionSpec":"*","platformVersionSpec":">=8.2.0 <9.3.0","minIntSize":32,"download":"https://github.com/owncloud/richdocuments/releases/download/1.1.3/richdocuments.tar.gz","created":"2016-10-31T09:03:40.389355Z","licenses":["agpl"],"lastModified":"2016-10-31T09:03:40.439510Z","isNightly":false,"rawPhpVersionSpec":"*","rawPlatformVersionSpec":">=8.2 <=9.2","signature":"s5giQeiU2zwV5X6FmxWXiG9LtNDeKBlFqK+hfvGNbGZ+nic77Y+AnXHodV4lb3Ko\n0C0ThFLuafaZRdp9rBIN2K/acCfCYKJewGuYErb7FlEl+P9J4OQbb9pva0htZJw6\niuG5eyeTufi5MKB4vuj4+jo9zhepOFAtZMa7o+ZCfJkt8vDBuq5AXxomEiZRtW+n\nf9PPUnq0z7DJVwINhHvvBZJlSLjkpJ6VIHAr+/ElWr8O/mDKq5S5ohbvpDcPqR7b\njnsBckFDLFUz1FX9dA0JCJEKMMfkcfGqZcjH17NdjKAxRW2soN5cEKluu5MkOhz9\nFEPKfshzbrfUIm5MaFGv6w==","translations":{}},{"version":"1.1.14","phpExtensions":[],"databases":[],"shellCommands":[],"phpVersionSpec":"*","platformVersionSpec":">=9.0.0 <12.0.0","minIntSize":32,"download":"https://github.com/owncloud/richdocuments/releases/download/1.1.14/richdocuments.tar.gz","created":"2016-11-24T12:10:13.337165Z","licenses":["agpl"],"lastModified":"2016-11-24T12:13:53.963638Z","isNightly":false,"rawPhpVersionSpec":"*","rawPlatformVersionSpec":">=9 <=11","signature":"prDGlfRPxqT6LP0BsAFPwGww7P4Bngha2N4u5B6+F02N+RVOjGtTcXKqvM1KjZb1\nCo7qJvgJmjpvIvDmB+rup02i8ObfwP2ct6UdsD7ouzOWJG2sJANXK31bHyvOmQ2h\nvKu5eNcOkf+WFyFKYi51TbsfWn2+1Wge3WWujKAVcEvqtcOOz+uMWNtqzBptEupk\nE1aaRnQfTx488YB8Ubul06LIY0PNCHgGCWPgy817tOVT7JA+V0P0FFonl/PXE0dr\nWgtxRJmvGaNiFzYq+kQmdKMfayZTm3kdVgP0W52t5wp878K0i4s2KPg5lANvjTz7\nDCT+VV2IGIE52o4RpMUGyQ==","translations":{}}],"screenshots":[{"url":"https://nextcloud.com/wp-content/themes/next/assets/img/features/collabora-document.png"},{"url":"https://nextcloud.com/wp-content/themes/next/assets/img/features/collabora-app.png"},{"url":"https://nextcloud.com/wp-content/themes/next/assets/img/features/collabora-presentation.png"},{"url":"https://nextcloud.com/wp-content/themes/next/assets/img/features/collabora-spreadsheet.png"}],"translations":{"en":{"name":"Collabora Online","summary":"Edit office documents directly in your browser.","description":"Collabora Online allows you to to work with all kinds of office documents directly in your browser. This application requires Collabora Cloudsuite to be installed on one of your servers, please read the documentation to learn more about that."}},"isFeatured":false,"authors":[{"name":"Collabora Productivity based on work of Frank Karlitschek, Victor Dubiniuk","mail":"","homepage":""}],"ratingRecent":0.5,"ratingOverall":0.5,"ratingNumRecent":0,"ratingNumOverall":0,"certificate":"-----BEGIN CERTIFICATE-----\nMIIDCDCCAfACAhAZMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD\nVQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI\nMTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB\ndXRob3JpdHkwHhcNMTYxMDMxMDg1NDExWhcNMjcwMjA2MDg1NDExWjAYMRYwFAYD\nVQQDEw1yaWNoZG9jdW1lbnRzMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC\nAQEA1jk29m6JykcJ2Ld0YEpjPMYh6kwxY6GysNJnfkA/th7tPWL3+vBJ9oTYyVnZ\njwAE1Cqwfa9MyBKMZ2IdfIqtT8PeWzuFP7Ib942EdxUpwwh9F3lykeGsj0h4zQwX\nF9OooiS99PfLX+JpkKm15Ujb00iLB6xQmq0+3NeOT1CTD1ziJ1ueOcxBKMwaFp2a\nPuz3F5ywqCvpmxG/OBuOs0LI3/zStXhBNbUMxBrWblr7zaVNJXl/I2JCKj8Wah/H\nXUEEGbW15fAUP1f+90eQSxpEoCZDBHXOQCTJYzySGv+BjU+qlI9/gS0QbrsiyzUf\nO5lyvi8LvUZBzpBw+yg1U75rqQIDAQABMA0GCSqGSIb3DQEBCwUAA4IBAQA9jU3m\nZmD0ywO3MUsG/GLigFtcWi/p7zp2BliR+NpuY2qNFYDcsIb8ZUudmUc/cJRRctzy\nAPaLLj/d+h5RFaxjTVvim1PSe6M7urK/IMSvyUVYCeQRYpG8ZJixKTCOVIBaWHMz\nxTfc51tm9EPlpJpK6JtaWrYYoWGE3k9sINdJ4JkvKkE2CBAqVhX6ZGyEQ0bnEhtk\nRu1DXn+LW7TJ4NZ8VtLWvmW/6Kfmi7dQ1V++Kmn0lO5ntRt5altePbStCHC8bhGp\nmyBOrjhrJgLIwvgH26MYZhdiSkFzoE38nMPZdrUmUDxcPCwucWJqgzDPudguFthj\nWCVZ3TTG/2z3+tWM\n-----END CERTIFICATE-----"},{"id":"ocr","categories":["files","tools"],"userDocs":"https://janis91.github.io/ocr/","adminDocs":"https://github.com/janis91/ocr/wiki","developerDocs":"https://github.com/janis91/ocr/wiki","issueTracker":"https://github.com/janis91/ocr/issues","website":"https://janis91.github.io/ocr/","created":"2016-09-19T12:07:49.220376Z","lastModified":"2016-11-21T11:22:21.024501Z","releases":[{"version":"1.0.0","phpExtensions":[],"databases":[{"id":"pgsql","versionSpec":"*","rawVersionSpec":"*"},{"id":"mysql","versionSpec":"*","rawVersionSpec":"*"},{"id":"sqlite","versionSpec":"*","rawVersionSpec":"*"}],"shellCommands":["ocrmypdf","tesseract"],"phpVersionSpec":">=5.6.0 <8.0.0","platformVersionSpec":">=10.0.0 <12.0.0","minIntSize":32,"download":"https://github.com/janis91/ocr/releases/download/v1.0.0/ocr.tar.gz","created":"2016-10-24T06:50:43.283900Z","licenses":["agpl"],"lastModified":"2016-11-21T11:22:21.269108Z","isNightly":false,"rawPhpVersionSpec":">=5.6 <=7","rawPlatformVersionSpec":">=10 <=11","signature":"CBJkCIiUKyf2NuWfz2zJ3grhf8p7wJes7DPV/OxUzhlxIH0Fh7K54+U5A9JOOi6f\nWPhjXG1ylkyIVY1glr/B8svWNsD4jAclpnUi1/9ZW5UPT8LnRBfTbtF9Uoj0OgNs\ntsGQYbpuREoHnjbJWTRe0kq1OsOfX44xuf8PuX43B+lpQPW4iRSSz3ZIhdPcDGq1\n7pyqQM7gdKhBQ6/tOiwd7Enyt5Hi4V6jhwhUOCYeTNiLD2V3yKL+qA9DzpXUfNNw\nLGTjcaMrifibHQIZBZWbPPMmCfMJZ7GO9oR4gWHwkhWqt0yVWAJXAHJBLd5vXC5I\njtRTXRpHO/k6Dtqem8tZCVoDE5MAC7fDZ/0XzoFiXHciP6MenVasVcXo6xJOJc5y\nGsrecNftUEhP/ngxA6lMBVkLmmdpiexVisvsavPi64i34OUA6qOuxjgNVBDwg56i\n2lOEVvHa3nn0UX7ZZoQ/Nu6Mz7J3Hx/VDlttPuWe42eeJAphyDGubT1M62gW8dVB\nD3tJOF7spnK6I3BhVLviou/zs30AIRVBDTU0Orzx78cbInwy6/vyJib2a1olAaHz\nv05SzlQRnBWM4jYBe0mA/2ds9AO6VrXGrT/iLlHemj6JYoGBM185TGewA7OJyX3a\nHSlSDqaremmi+aS3onx3AKhXykDxTRkMVarePwTzzFs=","translations":{}},{"version":"0.8.8","phpExtensions":[],"databases":[{"id":"pgsql","versionSpec":"*","rawVersionSpec":"*"},{"id":"mysql","versionSpec":"*","rawVersionSpec":"*"},{"id":"sqlite","versionSpec":"*","rawVersionSpec":"*"}],"shellCommands":["ocrmypdf","tesseract"],"phpVersionSpec":">=5.6.0 <8.0.0","platformVersionSpec":">=10.0.0 <12.0.0","minIntSize":32,"download":"https://github.com/janis91/ocr/releases/download/v0.8.8-beta/ocr-0.8.8-beta.tar.gz","created":"2016-10-10T18:01:16.076330Z","licenses":["agpl"],"lastModified":"2016-10-10T18:01:16.169733Z","isNightly":false,"rawPhpVersionSpec":">=5.6 <=7","rawPlatformVersionSpec":">=10 <=11","signature":"uEvhHfQCrzb6z+QuOoO8rYXiMsZFkrFWEqDvTyOTSgFKvo7dVoj3EfDfaApgcKEB\nIM/SqjLSO0lNhrp8F2mST3twbvLDprKsfrDWKFE6eiH0yKl2aNB+cHWE27utARaX\n/QZBD114vbWeDnbaBa4b9OwtBXDqKJrnO1LmqSLFP8guAlVTkU1jSPkRTpmwAcAZ\nJA/aiN/D2LSGfiNp/YdeTuzU+gPINIs9dCb6+PPkyam8PCBaXUSSaW+c0lAQHln+\ntb3EXxZ5YXdjPWrpEyHvFLk1N8s/w615QoMxr5fEs1M8D29aGbcL/wu7LXH4X0Yn\noiWwIFbpfrpJQlrIFumxWZR74JXiNr9J7ijnQ7SjxdHCcrLxMdnZ2cwq4iD6PnYm\nnIojhlhPOqUIzsWYCYutLWDQbUQz9eyWbj/+7XL+5KjetUUr/MnCu6xJ27IqFbAX\nHc8KRCO+9I0/qMQ2/rCZXBMeo39MGhhkgkVl5YAKwC1IEN/jlfyVNXZwYlfcHLKj\n6aNQ4zN6gGOerWWZ8qXtOeNJN+qv0nmXUKrZdnZUAhxOdB4G9Ym+JujxJZ9yNIWV\nsiqAI9J+OIzCwv/dzZhaHadONoo/RTF+Fl6Hy56HyBtMehb8w9p8ksVediqf33yt\nFAE/tzKtNK5NiRd+8MZkq/GbocaFUv3C7Y6pLMpTE1c=","translations":{}}],"screenshots":[{"url":"https://raw.githubusercontent.com/janis91/ocr/master/screenshots/sc1.png"},{"url":"https://raw.githubusercontent.com/janis91/ocr/master/screenshots/sc2.png"},{"url":"https://raw.githubusercontent.com/janis91/ocr/master/screenshots/sc3.png"}],"translations":{"en":{"name":"OCR","summary":"Character recoginition for your images and pdf files.","description":"# Description\n\nNextcloud OCR (optical character recoginition) processing for images and PDF with tesseract-ocr and OCRmyPDF brings OCR capability to your Nextcloud 10.\nThe app uses tesseract-ocr, OCRmyPDF and a php internal message queueing service in order to process images (png, jpeg, tiff) and PDF (currently not all PDF-types are supported, for more information see [here](https://github.com/jbarlow83/OCRmyPDF)) asynchronously and save the output file to the same folder in nextcloud, so you are able to search in it.\nThe source data won't get lost. Instead:\n - in case of a PDF a copy will be saved with an extra layer of the processed text, so that you are able to search in it.\n - in case of a image the result of the OCR processing will be saved in a .txt file next to the image (same folder).\n\n**One big feature is the asynchronous ocr processing brought by the internal php message queueing system (Semaphore functions), which supports workers to handle tasks asynchronous from the rest of nextcloud.**\n\n## Prerequisites, Requirements and Dependencies\nThe OCR app has some prerequisites:\n - **[Nextcloud 10](https://nextcloud.com/)** or higher\n - **Linux** server as environment. (tested with Debian 8, Raspbian and Ubuntu 14.04 (Trusty))\n - **[OCRmyPDF](https://github.com/jbarlow83/OCRmyPDF)** >v2.x (tested with v4.1.3 (v4 is recommended))\n - **[tesseract-ocr](https://github.com/tesseract-ocr/tesseract)** >v3.02.02 with corresponding language files (e.g. tesseract-ocr-eng)\n\nFor further information see the homepage or the appropriate documentation."},"de":{"name":"OCR","summary":"Schrifterkennung für Bilder (mit Text) und PDF Dateien.","description":"# Beschreibung\n\nOCR (Automatische Texterkennung) für Bilder (mit Text) und PDF Dateien mithilfe von tesseract-ocr und OCRmyPDF ermöglicht Ihnen automatische Schrifterkennung direkt in Ihrer Nextcloud 10.\nDie App nutzt Tesseract-ocr, OCRmyPDF und den internen Message Queueing Service von PHP, um so asynchron (im Hintegrund) Bilder (PNG, JPEG, TIFF) und PDFs (aktuell werden nicht alle Typen unterstützt, näheres [hier](https://github.com/jbarlow83/OCRmyPDF)) zu verarbeiten. Das Ergebnis, welches jetzt durchsuchbar, kopierbar und ähnliches ist, wird anschließend im selben Ordner gespeichert, wie die Ursprungsdatei.\nDie Ursuprungsdatei geht dabei nicht verloren:\n - im Falle einer PDF wird eine Kopie mit einer zusätzlichen Textebene gespeichert, damit sie durchsuchbar und kopierbar wird.\n - im Falle eines Bildes wird das Resultat in einer txt-Datei gespeichert.\n\n**Ein großer Vorteil ist, dass das Ausführen und Verarbeiten asynchron im Hintergrund stattfindet. Dies geschieht mithilfe der PHP internernen Unterstützung einer Message Queue (Semaphore Funktionen). Die Aufgaben werden somit getrennt von der Nextcloud in einem eigenen Arbeits-Prozess (Worker) abgearbeitet.**\n\n## Anforderungen und Abhängigkeiten\nFür die OCR App müssen folgende Anforderungen erfüllt sein:\n - **[Nextcloud 10](https://nextcloud.com/)** oder höher\n - **Linux** server als Betriebssystem. (getestet mit Debian 8, Raspbian und Ubuntu 14.04 (Trusty))\n - **[OCRmyPDF](https://github.com/jbarlow83/OCRmyPDF)** >v2.x (getestet mit v4.1.3 (v4 empfohlen))\n - **[tesseract-ocr](https://github.com/tesseract-ocr/tesseract)** >v3.02.02 mit den dazugehörigen Übersetzungs- und Sprachdateien (z. B. tesseract-ocr-deu)\n\nFür weiter Informationen besuchen Sie die Homepage oder lesen Sie die zutreffende Dokumentation."}},"isFeatured":false,"authors":[{"name":"Janis Koehr","mail":"","homepage":""}],"ratingRecent":0.5,"ratingOverall":0.5,"ratingNumRecent":0,"ratingNumOverall":0,"certificate":"-----BEGIN CERTIFICATE-----\nMIID/jCCAuYCAhAKMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD\nVQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI\nMTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB\ndXRob3JpdHkwHhcNMTYwOTE5MTEzNTAxWhcNMjYxMjI2MTEzNTAxWjAOMQwwCgYD\nVQQDDANvY3IwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDDpXiwec4f\nXAT//7YBPSb4z6ZsBJSMfBq0VTL/HagjJnQ7BL+WagzWlS69IStNDqlIlenamYRX\n4B40heJIUinzYKjTRbr5UAw6MX29HibZccm/qgrk36o1XTgIsoRhmvSxbXDVIo1k\nbDOJN8gc2Gvswa8X+uOe9pfcDgAdqGxOvFnoKW89GnB01pCNT+xakNErGAFqVLsr\n2AeademAZnbxJ1cB54tQn2Bygb/7DKKY8EmFfIq6/27n9Jbph1FG9HIlWRT4/M2H\nU2pG3cCScWMEBPsW7kpfpnzLk7Q30Oj6k/rEYjJgmNYgg6oVnn0D9uRmhBYBnGyx\nMab1ilsK53lyuzQY0pmU8V5ULqpnNFAK6DVFfofEamDUhBPO+TZXEA5cZmuULRpf\nQQXmGpUQSyV6pS9WirMIqXFp9wmQ4vtjMdhu/6CP7cmtYZdq9uOhWEHbQM0mZUkb\n8hMjeItPx9XITI7Cge1JUOI8ZIwiB3USnQXcMd3v82l++/VgqHB7s5OaKPhygsWI\nM6RCoBcGiuQB5/fEUOg5ACOpGVyJiBda0Mi57AdoxdJmfnr7Bxcf2tAWIJL9Y7T3\nE1+V2BMxJOWwvVz26Cq83F41yXK2hJS+SbfQTqNUR8Cfh50CS9POvgRxNrJK9yvI\nkKle3ITRtGVM1XU0njWjnsdGg3D3O2mmjQIDAQABMA0GCSqGSIb3DQEBCwUAA4IB\nAQAbFddMbgfPI1szT57V1FKZrOrdYqQ7qjewlIQOzshGydbMtqS/9XL5hYocJCMt\nY6w+C/i6iEzO2Jx8D/k4rcZMXoVR6y3ZvO0Ke0gzSRsU+5eYj2FK1VV+cNIQW5Iu\nCYYIVa7pVPVHdeQH2Bba680bLV0HMF6b1fI9IwkfdCAinvCYZLjyEXZlmB7YjyA8\nHR7qPCNz4uG2Va7mlUHE3UYUYnlv8JFOV3YdbVL0nxhWwIdzSri5sxFIhdlabpzY\nyA1z/MCBEyTRo80jxFmL+MpwbsdbUJi7Qxlnd56zb6HHDGrLHXZTh9LXgyVbnhWL\nkxomWjIXQh4aMHQL4QF7U4EK\n-----END CERTIFICATE-----"},{"id":"spreedme","categories":["tools"],"userDocs":"https://github.com/strukturag/nextcloud-spreedme/blob/master/README.md","adminDocs":"https://github.com/strukturag/nextcloud-spreedme/blob/master/README.md","developerDocs":"","issueTracker":"https://github.com/strukturag/nextcloud-spreedme/issues","website":"","created":"2016-09-27T08:43:07.835196Z","lastModified":"2016-11-21T16:51:23.703819Z","releases":[{"version":"0.3.4","phpExtensions":[],"databases":[],"shellCommands":[],"phpVersionSpec":"*","platformVersionSpec":">=9.0.0 <12.0.0","minIntSize":32,"download":"https://apps.owncloud.com/CONTENT/content-files/174436-spreedme.tar.gz","created":"2016-11-21T16:51:23.689599Z","licenses":["agpl"],"lastModified":"2016-11-21T16:51:23.826509Z","isNightly":false,"rawPhpVersionSpec":"*","rawPlatformVersionSpec":">=9 <=11","signature":"Mhy3hXeGWlIujx1Op39MMRdqHYOo360BCwr4FPWoTNNggH3aS0gWlh48DAfGYK9W\netNiOqIuRyA0NrVlsqR2vDILgFtODJSbKPyHd3PQn3hcGsjogjQ+dkKciLNLinw7\nOhbv6aDdRFLBeRHpX/7wOnWL5W3ko/gyn0Awvi88M9+nC5aARtqncQqPy2SxDGzH\nKlOZHSNDnEQCGMhA8hNWWKdVwNUJHod/wmBWpW5QVNSJq5DqrKZcNwpGM2UUJoql\nEqUMwDXk5uVH5r5k62Tr9kguDWoUEG1OqQSyeMY24AmA64tq/HSlAdZ+CX32bc4E\nZvm+n8poJBrdSVmWEaa4ZfYaLFdOc6Kcuid1B1Sv9kPhD9WD6T1sicdzjDzcorBK\n/MLReCuSb2E8aPTnFWRoAZ4xCUGs1IXzX5fmxI8VdzwR42R6RhGJ/rqMuZRFenZF\nbOks45K5gE1da4QpkYOUQa3GVMNPqPiT3CqjmJ8tjxq7bGpb6v+YoCLACjjPpPZL\n2Y28qLxwHVaINDFUUxD75WWdrlulRbqHwiSw8jolP9qrpXhDuLAqYam9tRwV5K5R\n8uNawnFwWkicBEYkN/WtBTouWzehOPn38tHXov6SyEyD6lkuxUBZrsGQ2ru+t33U\nk0kKCbV0GFw43I+3Ji5DiB4TUVNZYVoPG1B7Qve+UfA=","translations":{}},{"version":"0.3.3","phpExtensions":[],"databases":[],"shellCommands":[],"phpVersionSpec":"*","platformVersionSpec":">=9.0.0 <11.0.0","minIntSize":32,"download":"https://apps.owncloud.com/CONTENT/content-files/174436-spreedme.tar.gz","created":"2016-10-20T09:09:26.520692Z","licenses":["agpl"],"lastModified":"2016-10-20T09:09:26.666738Z","isNightly":false,"rawPhpVersionSpec":"*","rawPlatformVersionSpec":">=9 <=10","signature":"D62Ck7JUnrYbrfFlX7xXVaYUMZIh2acmykIKapqfemD/tuX5Bvb08GYGTeFG61MA\nQzsqcIylDfGnC1UJbf8yWEX7PbyJD5w/R4WlbFv34njDvM8rBs4HpzSjkqQoykOF\nZpYAjH2ydfKqtZadgoIRm7et5B8X2AeoGg11ec52DId5t1wAEBcDIv824CDBUt8t\n0pVY8Z8n1MUYwU7DCjCbPy23br2+EBODFCHp+cFfMBLg3F0BJI5nY3Q8ku+0tqMR\n0NDxQcscNZ2Ck/wpVDWylfhpS+ICIxSMiyq7urP593mRrK3399SUyaMqDfgl/pxo\nqTzdBxHLaAqcnKZYglbqp+Gxbyj4teqCod8TiSMlp90VaxhC72ACuVQQRWQKuTNI\nZeW3YweWB5d7VErqBNmQR1tGnX5YFFHiKo41fVDQFsrOqHx4zP6AeU3nkl2ol/r/\n3pg553so1MOxMkyLEhGYGMfrdQqVEtajNWHUdj3B73LS+M3jcjBFIdOD+AGXPtDX\njCRymt07c1znhkL+aT8yY5SHMVbKBZj9mExL49hcLjAYYc4U++60uq9MFH5r9g4T\ndph+yT6VVEM/UH2HjvKsHv2wm937sNgG3EXQdh79JU8nCXIz7cVrJ8f5/9r6n1VP\nBbjtfDAPEjmfVCXX2gmgLuZHV+GMhLBS9bTh+61AhhE=","translations":{}},{"version":"0.3.2","phpExtensions":[],"databases":[],"shellCommands":[],"phpVersionSpec":"*","platformVersionSpec":">=9.0.0 <11.0.0","minIntSize":32,"download":"https://apps.owncloud.com/CONTENT/content-files/174436-spreedme.tar.gz","created":"2016-10-06T08:14:05.212553Z","licenses":["agpl"],"lastModified":"2016-10-06T08:14:05.278533Z","isNightly":false,"rawPhpVersionSpec":"*","rawPlatformVersionSpec":">=9 <=10","signature":"X9zXDyMBPoXPMpZ+XXWK3MLufjY2MG8lJ+93LiW3rv0iq9yd8PafK4IvP9czO6o9\nf/vNilq+1mfl6mjTvL6QF5+sySlzbRGbT3uTBwYXyYL07HVYgl1ZLrwe0kxvxqaW\nxTvPem7+HzwClI3VnWc7ylQfzGrcYIaSIg7nNq1GOHocsgZVNyj/nVW/eQx24MjZ\nuLzZs9SJqYoBGq+mo63vRswhqv5OzGebo+G6dHm0hvRSOw9qsWCDWBugiSRU8zU4\nD9PQ0e8WbyrIrQhBoUvvkuijO3zCySx606S1HUyaHmbJzMc4Fbpwz6ggmi6IRBbT\nFBKB1DWJDwN/7mY4fhS4KhircVnAHDqiBVCTu5i3pSfMPrwFymcmbn9OBuFHAFuZ\nd9PZvWQg4v32w+Q/NNvZVW5lRi+l0w5DEqNREaj79hljk2reZMaB65lvtV9NCYw+\nHmwWqsGqZ1SgGZuhYkOzEIkCfJ2fF/VpyavJ4X6bHP9yYdkt1pxnSSoZ2HC8mkG4\nBnPf28mEXRcY8EJv0rEePqKSBIhAt8yfEW+joH/8nupe1qOdfPvP08ifLad5m76s\nt23UzlSljzq9kVO+d16z2uagKomN9USZaNnJcUDVblfjvCPpdiHLfRPEJnRsDZCm\nNffFWEMcz+TWmwBboZgTRO9v0bPDEuwfCCEW0zy8rT0=","translations":{}}],"screenshots":[{"url":"https://raw.githubusercontent.com/strukturag/nextcloud-spreedme/master/screenshots/appstore/conference.gif"},{"url":"https://raw.githubusercontent.com/strukturag/nextcloud-spreedme/master/screenshots/appstore/presentation.png"},{"url":"https://raw.githubusercontent.com/strukturag/nextcloud-spreedme/master/screenshots/appstore/import.png"},{"url":"https://raw.githubusercontent.com/strukturag/nextcloud-spreedme/master/screenshots/appstore/users.png"}],"translations":{"en":{"name":"Spreed.ME","summary":"Audio-, video- and text chat for your Nextcloud","description":"Securely communicate with your friends and family using rich audio-, video- and text chat, and much more right from your Nextcloud – in your browser"}},"isFeatured":false,"authors":[{"name":"struktur AG","mail":"","homepage":""}],"ratingRecent":0.5,"ratingOverall":0.5,"ratingNumRecent":0,"ratingNumOverall":0,"certificate":"-----BEGIN CERTIFICATE-----\r\nMIIEAzCCAusCAhANMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD\r\nVQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI\r\nMTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB\r\ndXRob3JpdHkwHhcNMTYwOTI2MTYxNzMzWhcNMjcwMTAyMTYxNzMzWjATMREwDwYD\r\nVQQDEwhzcHJlZWRtZTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAKLx\r\n2dCPBLIgX948BnOdLij0YyI2+FKD6uZOvzxMaoi3rlxNf8MJgraNMzTBWEXtxT5b\r\n7ZISNp89WEXhaQ1dwwCocodd/xow4Ek63m5nUvTZXsm+YSbMgrFbxzsBhYU7KuIE\r\nT/jhKdzYgemzErwwN/gtwkLMfPo3jkgg6c8NPPohYv6k7V4VnsqtJ0JS0kX19FqM\r\nMiNz9XkcncBHy9x0BSxy4+YnwbFcgIx/MtYKlBL8NkPuuJaB/6C1O+IPYhdEdnpX\r\n+RaIue71nSStOYOqT4YDqHAIw7EmqgA1my09mmK+0Pn92GJVEAEN7JGBSQ+F32RI\r\ndB3ivGAOVtUtVvJlepWdbHxj1xqeP+LCjWzHMLQjm0TyH8VqU4Cg/wxwAEFnBATH\r\naOaWwrggzY2d9KBo1mp0k71NArLbBdlHykFU4bgiSDWrXXMz0fZzLQVwGI0Eqcxc\r\nouf6t0kvrK8oKjrnso+FjBoT7lHV/H6ny4ufxIEDAJ/FEBV/gMizt5fDZ+DvmMw4\r\nq+a088/lXoiI/vWPoGfOa77H5BQOt3y70Pmwv2uVYp46dtU8oat+ZvyW9iMmgP1h\r\nJSEHj1WGGGlp45d10l4OghwfTB0OSuPUYwWR+lZnV8sukGvQzC9iRV1DGl/rREMC\r\ncQ5ajRAtO5NPnThvN5/Zuh4n8JoDc0GK4jEZsIivAgMBAAEwDQYJKoZIhvcNAQEL\r\nBQADggEBAGHMRbPV0WTI9r1w6m2iJRrMbZtbBb+mQr8NtOoXQwvSXWT1lXMP2N8u\r\nLQ1a8U5UaUjeg7TnoUWTEOqU05HpwA8GZtdWZqPPQpe691kMNvfqF64g0le2kzOL\r\nhuMP9kpDGzSD8pEKf1ihxvEWNUBmwewrZTC3+b4gM+MJ3BBCfb5SCzMURLirfFST\r\naxCNzc7veb2M98hS73w5ZE6vO+C/wz0GTsxuK0AoLitApT5naQnjvxSvSsjFPEGD\r\nsUNUEU2Decyp0jxLVnrrpz6Y5UupfBR0V8yAv1t5Od/mCKLc5DxHsDWiKOpsob9U\r\nJN+bdzJil2NNftihD4Dm7Ha7OS3O8W0=\r\n-----END CERTIFICATE-----"},{"id":"nextant","categories":["files","tools"],"userDocs":"","adminDocs":"https://github.com/nextcloud/nextant/wiki","developerDocs":"","issueTracker":"https://github.com/nextcloud/nextant/issues","website":"https://github.com/nextcloud/nextant/wiki","created":"2016-09-14T14:34:35.977699Z","lastModified":"2016-11-22T16:02:57.758477Z","releases":[{"version":"0.6.6","phpExtensions":[],"databases":[],"shellCommands":[],"phpVersionSpec":"*","platformVersionSpec":">=9.0.0 <12.0.0","minIntSize":32,"download":"https://github.com/nextcloud/nextant/releases/download/v0.6.6/nextant-0.6.6.tar.gz","created":"2016-11-16T15:11:14.344704Z","licenses":["agpl"],"lastModified":"2016-11-16T20:39:59.030384Z","isNightly":false,"rawPhpVersionSpec":"*","rawPlatformVersionSpec":">=9 <=11","signature":"aOZeEeThyZ0V/vXBcn6c+Z0vyCsZcN6nfSJ8oWEea4zXh4g705Si+MFZESqix3M2\nOPCnA/U8eASwdRTAEwQJrW5ECmu1THXSIsrzQzc9kFycvyOGzCgAWtuu0ayzZD2/\nU5aDWlzpLHC1Czg9QJ5UnfZR0AfChWQ402N1YzGqMShdJv6AHXFrVE+uYnIyxuYI\noPJQBUYbQwthVUjpYwFwSxw50YU17gmx5RZ0Y0OPz3i/EiuEUrxopXtfDVYAuCML\npDw37LOTRQ2JqxSU3teALh8LcrwJbTeOP0n4bTeV+vU3jvtiaEoRrwfVrK41F701\nQymGXy1/EFG0kxPGS2dRNPBAXYLZfeoWlROl3D5BWlbsCcXKU1S+22yn0TEdS7x1\nY44x8jRKnBddDE7qkn+QoQYHNNcxOREsFFLmIoyCUpdNOdDX2PvTFUYkIqdnXaJy\noAKv2GkvWPQ0aiiBtA1i4oXuzvHW/M2wOrK7v7DCpNfILrD/sjxpljxcX082nRCd\n9P3iPd2hQ6yOM9fG21LVN74b6wggI81BzFf/xJPd4ZqYLjfeG/yqd0zaiMOzMm1W\nse+kc/a4iB3BoCNX3E942pBBzew4ya8LkCXdCHUUsuelDf1va1ikTh/G7D84ll9/\n2avNqQnUh3hgOnxFCLI/5VrbqxfSTVdO6O/LTuAmwgw=","translations":{}},{"version":"0.6.5","phpExtensions":[],"databases":[],"shellCommands":[],"phpVersionSpec":"*","platformVersionSpec":">=9.0.0 <12.0.0","minIntSize":32,"download":"https://github.com/nextcloud/nextant/releases/download/v0.6.5/nextant-0.6.5.tar.gz","created":"2016-11-09T16:58:06.856332Z","licenses":["agpl"],"lastModified":"2016-11-09T16:58:07.139404Z","isNightly":false,"rawPhpVersionSpec":"*","rawPlatformVersionSpec":">=9 <=11","signature":"DVOIbLEVggiLkNkuPW+pXqu8WYT15unUsMoqHSw81NiU6HF0Nuf3XiwnHJJDDqo5\nyX+QyHADO4ZiQpvXhGigvwD2eS1jVLatAztyxE0tEQv5eBU/7R0jQYxI8YCnC/jE\nZDa0qs+TI58EkDek0LBzueVQqrLubKgGU9P+E9H8gbWi1JHvl/2LdY7CplPqaJ+J\nMRokobPntzgx9m4DZC1RsCoXzSON7o2gp2cmunPJiXVHPhMUfIfolGEbNGJ1/xdp\nra7Y7XkPnDx4po98a38UpUh1x/2m5goOV54em35bWbh4ShNDykiE5ttz6tOywlYN\ngxceSsStTKyqscVaOV2Xu6Ive0pY9CInvrSfRnRktIWBYDyWdbK9sJuqs/s69kqn\nKQ/SjzE2smw0zwOUMnSaz0Jzr1vdPFgNu2xDYAVQO5G03V+wQ5AhxuhBz5Xp5Fll\nLaOhymZLCC7lq0DUqkeTeQ2QCfiG23hvG2VUPsIqW7xFe2YzKHZVXi9JuH//Gwym\nDmJmcyZDMvNwNiObx3ZRKsZNH2XwbldFZ9nTpb9AafyoSR/qbwd473NewaDLRTiY\nLrOP5Wx1xx6DOkRmDF2l2iT1bSJ6eoAoWQU2I0aYRH9NAr2Ugd4f2Um4o61EJaL+\nRHT9cERRySEloU/NdgmZEOi+CG0rEu+9LC5G/jGlHE8=","translations":{}},{"version":"0.6.4","phpExtensions":[],"databases":[],"shellCommands":[],"phpVersionSpec":"*","platformVersionSpec":">=9.0.0 <12.0.0","minIntSize":32,"download":"https://github.com/nextcloud/nextant/releases/download/v0.6.4/nextant-0.6.4.tar.gz","created":"2016-11-05T18:17:47.622023Z","licenses":["agpl"],"lastModified":"2016-11-05T18:17:47.678445Z","isNightly":false,"rawPhpVersionSpec":"*","rawPlatformVersionSpec":">=9 <=11","signature":"RdkvnhNjw+kAnT6Or3+N9FzAv9DjJ9BAlmgANMwZZcaqo1gZRFewsGD2Rx1KEb9X\numSC28tl2B5/3r/+dprVJmOnYJny/7+kDmI/d+vigKfnaQJOUZ0ya5+f72pFgow7\nth8fw9rX/3+zIBs2IeEN66cis8ioFq97BJDsnDMBDr7wl7CnFJjYe6eviWuiFTnC\n4sBXlYjHoaIRRu561nwAooV+WXmWsparYPVhj2cXdyP/CnWo5HSF5jA51WCsz7Up\n7a0URXdh85xmxEbZtnjUymTW2BIegdxj9Erbfiuy/m3ApgnP+DiEQRcM13J7pXqg\n4cgFOBSzKDZgim599WBW2uNO1ztnDYOzz47GXDfJhcdvKiZZoQpUF9W4LMRtheMz\nxD9YArO3j3d+VOInSYU2Rpvhugwo1LExhwnRdT4+cOZfEeq0VojiM7yBZLDdEjIb\nGdYUJtNWSU0F6cPab2Au8FgZymLrHL9EpGvxuA1oAwtRxHAgMElJG2O6Jp89gGl9\nh/AptypeTvzNEc9/Kg24ueBKqmSUd5a45pZ3gM2pNATJhUK7fzLb/K6cq/kEzZtj\nOPra1ZfP0/20u8VP32Rgw1cFmIjqt8DFzUmOMpMfyoJkdldtTwQtGk+yIvtN1zp6\nT2zDknAKA2N/rZ/0SJl8KxVVNLhQWtYBJ+rFAdapuxI=","translations":{}},{"version":"0.6.3","phpExtensions":[],"databases":[],"shellCommands":[],"phpVersionSpec":"*","platformVersionSpec":">=9.0.0 <12.0.0","minIntSize":32,"download":"https://github.com/nextcloud/nextant/releases/download/v0.6.3/nextant-0.6.3.tar.gz","created":"2016-11-03T21:51:27.654342Z","licenses":["agpl"],"lastModified":"2016-11-04T18:25:35.697130Z","isNightly":false,"rawPhpVersionSpec":"*","rawPlatformVersionSpec":">=9 <=11","signature":"Hf5GB4xd+rVXzWvVpGbbF5tqmnI+DGHlNHdLYPImFLS/Z4K5wKeNp80E5sd/RkAi\nhyuEsdWHlGDVMT6s7oeCmH/ClyWqLNSz9VH4KYqyFgD4+usHZp9PrEeEKbvPDPKv\nD3eB7Ats34cWcpf4E1oR5wsPicgmdgIgb2uMXzc/1G9xUBRWzocwCstzjEEAB/VJ\nvJuHvhDTGG294P4gOb82MxKCQ8LZ4i1QXzOf/mLETOubiUbZtJgTReYvpdAo2Wct\nbdfDFw13LYZkCf71r9jIQ3PSPlIpD+0BwAlE1fi0Br9dP2JjIfiKN6CGVaki6O0v\nKR42jtcE9xXiAop0Ym1FYMWJvQUy5PFLMwYDfEd6CvfEFJl+fi+RjXNDNZcTyw00\nHa48sACoGzxwts2JknWMU57mwvi0Z4uwpE0cFp/PRzBsXmSlCzWHjJhu7+2qambE\nAabdP9nH2NvqJHUJyPsxtDSrSWCBY4CoL3wYu36UrIA4NepyudMPNe9fhKTEU0bg\n8DLclw6hYdj5p9Zj3OUuwOZLz6r85KwnooTsUjOYkBXvdUuHWkgONqqZlPMApS4i\nChRQ7ysHAinPyyzsvr0PR9g6J52CSCO/7qwSJy6yqSzuSWrbZUa4FVTcKIwWJJPu\nJ2XzB4rWVG1wWjzMM6MIvFbO2HY9upzh651OdOwsYvk=","translations":{}},{"version":"0.6.2","phpExtensions":[],"databases":[],"shellCommands":[],"phpVersionSpec":"*","platformVersionSpec":">=9.0.0 <12.0.0","minIntSize":32,"download":"https://github.com/nextcloud/nextant/releases/download/v0.6.2/nextant-0.6.2.tar.gz","created":"2016-11-01T11:24:58.054892Z","licenses":["agpl"],"lastModified":"2016-11-01T11:24:58.151609Z","isNightly":false,"rawPhpVersionSpec":"*","rawPlatformVersionSpec":">=9 <=11","signature":"h8KgwMh2RGGIp7q/II23VSfE5Ibkha7p/C1kvIfG6QIIc2Zu/Mm3Oekynnysh5ZJ\nZuMTaeWbejbBAmlnxW+AwBWa/s2PoMhv7foVvdtg76l9/qr+9jGvUM7D1LbbBvAy\n/XW6JSrhhBZHOohdU7kwV5Xnwsn/NC/zUe0G4eZ+9fc9uSntkob9wnWvUs2daAeD\nY6Mi7Xt/XAIX65OIVTKfC6ah1SlbXgtJ2i2j4G32I9jRhmbkpt/UJEangn90fHnY\nQXNJ85OyV0aNMafNHoMSL3uLscdvjp0Hy8w4iBeavsRlCs0GiUoG1+YdwTwmC9EM\n4CjbMfRJ0DYK7u697TOmS8MQzk8O7f5THtjeokZlrom2YnV9t6gLvjnxl/+gXPdJ\nmgLixnA8P6tPsff9pquHKQZsvxjv6vVa2DVJc8VpcqJRih7yj/3V7rxesEP7MUnP\nznIOcwzTsKXHuAnvujpCwyQj3QtpQK2XJPQ5WkKgwbTdvriVJfnzPironhcHo1vC\nbuUDOdhL59aySChw2cZGD9lCWaxYR7I1BDDzWKNl9Qg0AZ2auyGUGTv8P2vi5qUB\n0CmnkzkZurR5ju6Nb9/2lcZvda7QJdIdMtm2Wnn+Ak/Z3Y4IehB5PPDP5/MMAhQY\nXE8Jqe0mGtiU/O2346L5IThkS58JlRmep4kYv+II9zE=","translations":{}},{"version":"0.6.1","phpExtensions":[],"databases":[],"shellCommands":[],"phpVersionSpec":"*","platformVersionSpec":">=9.0.0 <12.0.0","minIntSize":32,"download":"https://github.com/nextcloud/nextant/releases/download/v0.6.1/nextant-0.6.1.tar.gz","created":"2016-10-27T21:16:47.066097Z","licenses":["agpl"],"lastModified":"2016-10-27T21:16:47.125641Z","isNightly":false,"rawPhpVersionSpec":"*","rawPlatformVersionSpec":">=9 <=11","signature":"axSX4Kz2P4PbKU676DibjPZsxk8hCIG3lLOmeMXoiBhp3ka4wJ8u5tNwTzgY8/MV\n3mjXe5DNttD66SqmiRNSPKbotYHVFFW3wFK+Dgh/++n/KTomGYUeIwt88Z9ecbuG\nNT6U46jFrfZBYzRHWzbgiJ4c7MCoid9cfmoB7HDuQSyw+E0S2vbLL8+jzMcIzF+5\nTh/sJEterXCyrWSciw/9x98F+4svNbskdEIvrOox3+K6UIhpsojqJR2+bQhG3rsM\nPerOb6J+bzHdLV1ZL/4nWEz1F30T7B08QxY/4pHD68JFQcdtzmHMIhXfCoRvWhN2\nVRnizx3IXBALY4F49Ql6bjsnr6BCp+LroM5RSQ3eupDcqejDJLbjPz8xfOMOwlx7\nz84Xd0MUyqaEkxg1ihsWLbPlYACUZ2aoDkSQUIbfZTTiov7eqTM8UBc/UqVID/LU\nyEW4gjFZzQy6kX76XRAGq1vebKFjCU63asCnVyJhF/YQVTu1hPGbFslkRKnYuh8W\ne4MeaNfbdjcSEX+7oTcPJz6V09pOPvukXL0M1m7lS9PhTisI6oGj8c33GPYp/DSK\n6SGk+ukbt1mwFuFKdTvAMxo1lk96D+pKUv4MX/ralaaoIAmwPTGsSQ04RyL454ae\nU6q8PApwrVyPHYwMBPtXGoQMyb2ZV9rylazYbKCQ8I0=","translations":{}},{"version":"0.6.0","phpExtensions":[],"databases":[],"shellCommands":[],"phpVersionSpec":"*","platformVersionSpec":">=9.0.0 <12.0.0","minIntSize":32,"download":"https://github.com/nextcloud/nextant/releases/download/v0.6.0/nextant-0.6.0.tar.gz","created":"2016-10-26T01:46:48.419025Z","licenses":["agpl"],"lastModified":"2016-10-26T01:46:48.521063Z","isNightly":false,"rawPhpVersionSpec":"*","rawPlatformVersionSpec":">=9 <=11","signature":"W2TmbX/NbbfPPjIJLalO0kCDhhQF1pEohH/CxO9bY+yR+a5NKiTbpAhG2McqpTSj\nmgC4J8/thmwGlWGC+VW+KlpXzzjc7wCgMGMKViOpGD3pIy8p8U5MXTqVgjjrEb9g\nKgr9uErXzxJ5oDfkx8Uh1bUeBJTsAAivGJqMlhBYFGxw8BSB09sfOZytNxo4wbwZ\nNAcYP1qvkUQ8CVR0nInSTRfLvAp5+e/8xxyYZwJIWrdNgpoP0CxiwzKP/VSjBk/U\nsPU4R72UQnVZB0InRCeh/KNTwu1YiPkUKm+mNmt2hCfN7Fm6bY2rUMH7oa8KTkqn\nh52FhbaYRSAR1OPdC5RnHiQWlPh71gq+4Xqgp19Eawnl/QiVteVifSjNQZ+Ban8M\nRyw/PxHnzIWg/OAjx81Jx9mXjUIHSeUxMTJTKTp+lEqIAzjku0iHeU5UPGCfE+VM\nwmopZfnlfk2nLkUwjQXLCIcnZD1ME1m0h/H4Ad0Q/qXpBScUp47npkxg2b8zPIhk\n3aXUmNPLgwyXPWvAuaBK/WwpNefUnqWFns8t2Alpzg/EpC2PrZqciCNDcRFEycoa\nX+JsFyD7eYA7Dc9iIf09gXZX+tZ+Jinb+iPDwYrl1u/7IIBoBlUGCgo+cF7/dL9S\nc3vYeWw6MCH8Sv+ckgS2g726BfdN5EjB/8cb071b4lE=","translations":{}},{"version":"0.5.1","phpExtensions":[],"databases":[],"shellCommands":[],"phpVersionSpec":"*","platformVersionSpec":">=9.0.0 <12.0.0","minIntSize":32,"download":"https://github.com/daita/nextant/releases/download/0.5.1/nextant-0.5.1.tar.gz","created":"2016-10-17T15:23:04.515057Z","licenses":["agpl"],"lastModified":"2016-10-17T15:23:04.576640Z","isNightly":false,"rawPhpVersionSpec":"*","rawPlatformVersionSpec":">=9 <=11","signature":"Pp3rC/9RmAYURneGpGit4HZ2t1qH9A9nwsUnGDgRuJ0akIii7CtJC+n8l1b9k73/\nhxMYnp2JOBu2HWKgFp9a3yeo1xphI5hOUdVQ1UZAWxIQyDI1FZVYDr81l7GCdkqm\n2lMxgviFADSYURCgEnAsj9Nt0NZ6LDcJZiJg3iPAjkDI0U+KnEBjtx/XRFqGUnfp\nCUZ/XLHh/hvoEitSHepTBDCMKkTNjbDEwBYfA2rAoz4zbMR5zKLU+1r1DIUgWSRe\nbk2i8TaTDVL4cbb6MhkGKwkujb+Atikvkpi45o7+fyQMs84c6fjjh/TZJaC+dMyG\n1GCikMPwwtEPjXtnLzynERAxJOd5mP4Ee4sD8ZrnzNUehpyFR88pwWU6r+dmiebb\nnsYlGkhIu2aIO2O4HZ4sUTsO5sfjZ9me7jsafhgJl6iG4IBeHa/L1MsSbhsh6mvH\nYsz4Xsluwr0QcFLmSDDQQYynyogKfJZG2xQsadM0GETWgXE44dVeRvMUsILfB4uZ\nmfKgd23SgaOhYC8m4bg5Hxnkl+xHJnyGZ6jhqg7bhuKwsoLymc18Vmjmb7a45HGV\nXbL5CTmw9yaPOBS3v7v91TnlB+0lhlzbKzZ0xIhY55qsTC76uScbTLwndPqNGaF7\n2koxRbJ3jcmf/Z2MLymdRi2BTZbZkPkxgVrSf9plaR0=","translations":{}},{"version":"0.5.0","phpExtensions":[],"databases":[],"shellCommands":[],"phpVersionSpec":"*","platformVersionSpec":">=9.0.0 <12.0.0","minIntSize":32,"download":"https://github.com/daita/nextant/releases/download/0.5.0/nextant-0.5.0.tar.gz","created":"2016-10-11T11:47:46.191539Z","licenses":["agpl"],"lastModified":"2016-10-11T11:55:40.393000Z","isNightly":false,"rawPhpVersionSpec":"*","rawPlatformVersionSpec":">=9 <=11","signature":"qzQJSLK8nkrQedwwxUdhxL8bq3aXyppAlWJo+n3GqSvqA8uNTzl3Wsci0LsnBV0E\nDvDNW8K0enhl563F/bywQrDhgKl8jTX/CA5KCxqO9P+tvE80zAfMqiRnQayVcWuY\nSWX6RqfI/kqiWyN1SsFp2EDlas6eb+xfIoiJamlfsN0qzHYOFt5W77wmw2Bn9dB5\n9nwHHyC0z60Pf2pPduc/KuZ/971WrDFaIapL7Gm+z9XoaKSwUT575VtS+RNJkOKy\niBrwnHdc8x/62HPFOXsUYjCt2aEmLzPCQN8Ke5pd3596hm5wbAVzTHuxf2H35tb3\nljfGqAZ5AJX2Xd13d4aHXFdSEILwv6IFq2fx0hO3vkvFEoKF5oQ2t3hi++Mw/h8R\n15OKZCOC1bFH3gTwdshmnHSTSr3LxDeTF60aH16wpXcehQuJHagpb/aG8mPD1w+v\n759/mekqa4LYlqT9TLWTqX3UPeQXYIwcPijG84IvW1BDK1M4Mj2Vqsld4jXwG6CP\nORIL8xoQbA52dQI1Y19JXcU9zxIb6GaHYgpV0wejatsZRfhPv2Yd0CBShF4HY7aw\nnfcm88pqzOKNvjnLZjTFQwuJ0AUUSOsWhgZzYt8tATJ2KDZ+lxz+WAMGXJAC/ciY\ntrrglY7YxwJNLbYp+arE0sowZx+IOVaSZBvmUGHiEBY=","translations":{}},{"version":"0.4.2","phpExtensions":[],"databases":[],"shellCommands":[],"phpVersionSpec":"*","platformVersionSpec":">=9.0.0 <12.0.0","minIntSize":32,"download":"https://github.com/daita/nextant/releases/download/0.4.2/nextant-0.4.2.tar.gz","created":"2016-10-06T10:31:12.482416Z","licenses":["agpl"],"lastModified":"2016-10-06T10:31:12.551117Z","isNightly":false,"rawPhpVersionSpec":"*","rawPlatformVersionSpec":">=9 <=11","signature":"QHJhYcBMi5HyPofshZ7EdcXsOfRrl7o48Y3BBBq8CkmYtFDbekghdJqjFbwwZa5u\n8FtgMVwssql/RSDNP6M2Zc/MpQ3K9gDm+DyxE5KRmtMEpzHB+oD+1DxP7kAoyW8/\nnBr5iiQSdLCelddMcTwbdxskLFUXIs3cFuLGhMvr8pdQOAgfxte5lolrj4/8EsJ0\n0yUImgIYG4NlgmvCygGApdpVaOcK7XVtv4oH+x43JmX9YZ3Ce0DQPYPUbFTCf4ZS\nS075j1vcnPx2cRFGxc+YpKzYVVYoy7ZdB75Hq+kaei/atxrTyV5+gcCrVPnH1RkX\n6G8rgu5l8FoGJYopi8/9dd8LsGLFx53CHMdEVob3tFR0WeK4TJAGJa403zE6S3hM\nxr86WCedmjuti0uOhSQr5AEVAoXZ/JUWQMMsPAUMuKEYVjKfmve6TlcNMC2oM5XT\nXcOf4OP3pcQq4ViN53o4Pj6NGSci6IzD6xLeAxKZUoTX37ArVKH6RHS5Najc193H\nRhYRnfE7D5YOr1u10HaZCFCVJif2MgMP0/uH2759NoRjXFowrh7Z6dW7JQG5lbHN\ne0jjJH1Y8m8H1peGGcmM0YxFiOVZ0ER7P+AxT4Cbau/cVhaS8vnPF2a2a6YFRiFS\nVH4aqazvvXrtifDr3lfvlyPCrP/570nwvOJgZGk+K/Y=","translations":{}},{"version":"0.10.0-alpha","phpExtensions":[],"databases":[],"shellCommands":[],"phpVersionSpec":"*","platformVersionSpec":">=9.0.0 <12.0.0","minIntSize":32,"download":"https://github.com/nextcloud/nextant/releases/download/0.10.0/nextant-master-0.10.0.tar.gz","created":"2016-11-22T16:02:57.740378Z","licenses":["agpl"],"lastModified":"2016-11-22T16:02:57.900805Z","isNightly":false,"rawPhpVersionSpec":"*","rawPlatformVersionSpec":">=9 <=11","signature":"kDO3xbPpoUdl2qo362tXfJIqKeiKE12M8FkMXbdKiRNzuQyvDOehQq3dErALZDOr\nLG47Tpez/Kn9Fsx1y4dQDx0w9SD3pyoqvjj1O6KkTYN6srpitQcj9EzEItCY+MZd\ngRSc7Px9MzxpFpgwtuThGVlSt5kLMd0vjWFLVcv7k07rZfWEsTwXd24INIDtlr1A\nC7hyLB777nEOGa7oAzx8nr+FJcIbmu9opVZk8AL40FOFDNBgfAy2AS9hGZreUmRV\ndV9Zh7UAR+RsEeO51xcU/CKqC8Jb0jL1gkYyUaQy16oe1HF9bRs1PWuNL5mYwsmy\nZNn0ay/a7mb7hxJbza1F3lbgBtodvbgUm7+So/QvaR29CSAqqoUXeQy6FfSBVWhZ\nYlTxdQfKcBcUPFO14BBk/O5p5iQaG8JCLJ/EZGDPDIVDMn7crGQ4oLZJv80eqTeB\n7ueDmWaD3gQ9j2XKsMk1uLSyY4unt9AaTofBylsKD1SjLhyxofGZym4jc2+M1GnQ\nyLcoEMSexnKuextu4nzrA0y5k3z9tvO07R29lwT1GFp6oGAakMLob/6XrGsm3YQY\nRQXgfXKFw8XmXBumqG8ayEIyvQ/O8nO6r4R1H8a7ooj6oWa3PhPsen+gLE0SpJPZ\nz3e2TLliwC4VtZp69H7u3px5Qn1Fc6RMDTh571edCr8=","translations":{}}],"screenshots":[{"url":"https://raw.githubusercontent.com/nextcloud/nextant/master/screenshots/displayResult.jpg"},{"url":"https://raw.githubusercontent.com/nextcloud/nextant/master/screenshots/admin.jpg"}],"translations":{"en":{"name":"Nextant","summary":"Navigate through your cloud using Solr","description":"\n\t Navigate through your cloud using Solr\n\n\n**Nextant** performs fast and concise _Full-Text Search_ within:\n\n- your own files,\n- shared files,\n- external storage,\n- bookmarks\n\n\n### Recognized file format:\n- plain text,\n- rtf,\n- pdf,\n- html,\n- openoffice,\n- microsoft office,\n- image JPEG and TIFF (will requiert Tesseract installed)\n- pdf with no text layer (will also requiert Tesseract) _[work in progress]_\n\n\n\n## Installation\n\n- [You first need to install a Solr servlet](https://github.com/nextcloud/nextant/wiki)\n- Download the .zip from the appstore, unzip and place this app in **nextcloud/apps/** (or clone the github and build the app yourself)\n- Enable the app in the app list,\n- Edit the settings in the administration page.\n- Extract the current files from your cloud using the **./occ nextant:index** commands\n- Have a look to this [explanation on how Nextant works](https://github.com/nextcloud/nextant/wiki/Extracting,-Live-Update)\n- _(Optional)_ [Installing Tesseract](https://github.com/tesseract-ocr/tesseract/wiki) ([Optical Character Recognition](https://en.wikipedia.org/wiki/Optical_character_recognition) (OCR) Engine) will allow Nextant to extract text from images and pdfs without text layer.\n\n\n\t"}},"isFeatured":false,"authors":[{"name":"Maxence Lange","mail":"","homepage":""}],"ratingRecent":0.5,"ratingOverall":0.5,"ratingNumRecent":0,"ratingNumOverall":0,"certificate":"-----BEGIN CERTIFICATE-----\nMIIEAjCCAuoCAhAFMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD\nVQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI\nMTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB\ndXRob3JpdHkwHhcNMTYwOTE0MTI1NDQwWhcNMjYxMjIxMTI1NDQwWjASMRAwDgYD\nVQQDDAduZXh0YW50MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAsbnQ\n+9acjKHfcrUj4yqBpD++GmQ5z2Sp8C8uOz4ZbLyM9bUXEYHo4a4u3CdC49kGUkb3\np5MkEAEzslTWDi1eh5MZgPWpbPgItsDsXY1o55O3jtxNkzSG5/yYcPQcuKtIOm9S\n7DY0K+UQt3nK+RrXEZfARMNrzFbEzpE3b7w901Yl5n+m/B8rhW4pqg8uSfx3u04J\nwduV1fHwoHUB0Ox5HyWib4Pq1XppNh7xdc2Fg93JxshwuCPJyOOzrFTnxC7s1yzQ\nUvaqkjPW5QeQRunQjZ2XtpYH8f8v01W18bNEiHwqtFwuDEyCVx1rvEMgUDVXdPkP\ngZrlB5TzGmz0U3HzYvf6205WuzfHxz7kPj502wP51PoZBKpniggKzmuXkx6BpsZC\nZX45VpDHdiATLwRj1t2bMs3C01nzpIWO5ZwFtkepH3Y+mvwX5lDh/XDsqJC2Yo8o\nWMmniWNW7dspufYOsBUqqYGP7rkailgVT4oYk6D1j6oFZ5SSpfPF5lsyYedDSM6y\nbIGVkSF+sjLK6R9BenBijKceAKsS//WwRYCBPC+JHlsYpXKW12bL+C47Kj2/N6d4\nrYryzV6ofVSF6pwIq0oEjoyfBfNpYavf3xrRkSSmIIlPSnMY7DT1xkGD5retxSm6\n+WIfkWKRZpv2S6PhMHGLspYc4H5Dj8c48rG5Co8CAwEAATANBgkqhkiG9w0BAQsF\nAAOCAQEAOZUwyPaUi+1BOUgQJMWqYRoTVZUyBshTXSC7jSwa97b7qADV9ooA6TYF\nzgsPcE41k7jRkUbnjcY45RGtL3vqsgZbx5TjPa5fGMxlqJ6eYBOY61Q6VIHEVm3u\nxnPEO9dsMoDBijvo5D7KtE+Ccs907Rq70kCsbrdgPHkyb5tDSnCKogN1LiQrg1EP\nmy7Z1C7jG9/h57vx0+QBMDCYnTmqLsvMKqo27uHskzAiB7VXLEdSZ2FtMGHkLUQO\n0bfhnvTZ2VhMmK83t7ovo71An4ycmsolGD/MA0vNI78VrVISrdI8rRh2WntUnCBU\nEJL3BaQAQaASSsvFrcozYxrQG4VzEg==\n-----END CERTIFICATE-----"}]
EOD;
- public static $expectedResponse = [
+ public static $expectedResponse = [
'data' =>
[
0 =>
diff --git a/tests/lib/AppFramework/Db/MapperTestUtility.php b/tests/lib/AppFramework/Db/MapperTestUtility.php
index 1224e6d24ed..b25ff9f3e16 100644
--- a/tests/lib/AppFramework/Db/MapperTestUtility.php
+++ b/tests/lib/AppFramework/Db/MapperTestUtility.php
@@ -88,8 +88,8 @@ abstract class MapperTestUtility extends \Test\TestCase {
* of the database query. If not provided, it wont be assumed that fetch
* will be called on the result
*/
- protected function setMapperResult($sql, $arguments=[], $returnRows=[],
- $limit=null, $offset=null, $expectClose=false) {
+ protected function setMapperResult($sql, $arguments = [], $returnRows = [],
+ $limit = null, $offset = null, $expectClose = false) {
if ($limit === null && $offset === null) {
$this->db->expects($this->at($this->prepareAt))
->method('prepare')
@@ -164,7 +164,7 @@ abstract class MapperTestUtility extends \Test\TestCase {
$this->query->expects($this->at($this->queryAt))
->method('execute')
- ->willReturnCallback(function ($sql, $p=null, $o=null, $s=null) {
+ ->willReturnCallback(function ($sql, $p = null, $o = null, $s = null) {
});
$this->queryAt++;
diff --git a/tests/lib/AppFramework/Http/DispatcherTest.php b/tests/lib/AppFramework/Http/DispatcherTest.php
index e308e5f2b3b..966e49effcb 100644
--- a/tests/lib/AppFramework/Http/DispatcherTest.php
+++ b/tests/lib/AppFramework/Http/DispatcherTest.php
@@ -53,7 +53,7 @@ class TestController extends Controller {
* @param int $test2
* @return array
*/
- public function exec($int, $bool, $test=4, $test2=1) {
+ public function exec($int, $bool, $test = 4, $test2 = 1) {
$this->registerResponder('text', function ($in) {
return new JSONResponse(['text' => $in]);
});
@@ -68,7 +68,7 @@ class TestController extends Controller {
* @param int $test2
* @return DataResponse
*/
- public function execDataResponse($int, $bool, $test=4, $test2=1) {
+ public function execDataResponse($int, $bool, $test = 4, $test2 = 1) {
return new DataResponse([
'text' => [$int, $bool, $test, $test2]
]);
@@ -157,9 +157,9 @@ class DispatcherTest extends \Test\TestCase {
* @param string $out
* @param string $httpHeaders
*/
- private function setMiddlewareExpectations($out=null,
- $httpHeaders=null, $responseHeaders=[],
- $ex=false, $catchEx=true) {
+ private function setMiddlewareExpectations($out = null,
+ $httpHeaders = null, $responseHeaders = [],
+ $ex = false, $catchEx = true) {
if ($ex) {
$exception = new \Exception();
$this->middlewareDispatcher->expects($this->once())
diff --git a/tests/lib/AppFramework/Middleware/MiddlewareDispatcherTest.php b/tests/lib/AppFramework/Middleware/MiddlewareDispatcherTest.php
index 25cfa32dc7c..9a5254fb4dd 100644
--- a/tests/lib/AppFramework/Middleware/MiddlewareDispatcherTest.php
+++ b/tests/lib/AppFramework/Middleware/MiddlewareDispatcherTest.php
@@ -136,7 +136,7 @@ class MiddlewareDispatcherTest extends \Test\TestCase {
}
- private function getMiddleware($beforeControllerThrowsEx=false) {
+ private function getMiddleware($beforeControllerThrowsEx = false) {
$m1 = new TestMiddleware($beforeControllerThrowsEx);
$this->dispatcher->registerMiddleware($m1);
return $m1;
diff --git a/tests/lib/AppFramework/Middleware/Security/CORSMiddlewareTest.php b/tests/lib/AppFramework/Middleware/Security/CORSMiddlewareTest.php
index 4853b527bf3..c89f38b44f5 100644
--- a/tests/lib/AppFramework/Middleware/Security/CORSMiddlewareTest.php
+++ b/tests/lib/AppFramework/Middleware/Security/CORSMiddlewareTest.php
@@ -38,7 +38,7 @@ class CORSMiddlewareTest extends \Test\TestCase {
parent::setUp();
$this->reflector = new ControllerMethodReflector();
$this->session = $this->createMock(Session::class);
- $this->throttler = $this->createMock(Throttler::class);
+ $this->throttler = $this->createMock(Throttler::class);
$this->controller = $this->createMock(Controller::class);
}
diff --git a/tests/lib/AppFramework/Middleware/Security/SecurityMiddlewareTest.php b/tests/lib/AppFramework/Middleware/Security/SecurityMiddlewareTest.php
index 680c3937836..a3c9efa557c 100644
--- a/tests/lib/AppFramework/Middleware/Security/SecurityMiddlewareTest.php
+++ b/tests/lib/AppFramework/Middleware/Security/SecurityMiddlewareTest.php
@@ -223,7 +223,7 @@ class SecurityMiddlewareTest extends \Test\TestCase {
* @param string $method
* @param string $expects
*/
- private function securityCheck($method, $expects, $shouldFail=false) {
+ private function securityCheck($method, $expects, $shouldFail = false) {
// admin check requires login
if ($expects === 'isAdminUser') {
$isLoggedIn = true;
diff --git a/tests/lib/AppFramework/Routing/RoutingTest.php b/tests/lib/AppFramework/Routing/RoutingTest.php
index 4712d2f30eb..c53c251ea2d 100644
--- a/tests/lib/AppFramework/Routing/RoutingTest.php
+++ b/tests/lib/AppFramework/Routing/RoutingTest.php
@@ -250,9 +250,9 @@ class RoutingTest extends \Test\TestCase {
$url,
$controllerName,
$actionName,
- array $requirements=[],
- array $defaults=[],
- $postfix='') {
+ array $requirements = [],
+ array $defaults = [],
+ $postfix = '') {
if ($postfix) {
$name .= $postfix;
}
@@ -415,8 +415,8 @@ class RoutingTest extends \Test\TestCase {
$verb,
$controllerName,
$actionName,
- array $requirements=[],
- array $defaults=[]
+ array $requirements = [],
+ array $defaults = []
) {
$route = $this->getMockBuilder(Route::class)
->onlyMethods(['method', 'requirements', 'defaults'])
diff --git a/tests/lib/AppFramework/Utility/ControllerMethodReflectorTest.php b/tests/lib/AppFramework/Utility/ControllerMethodReflectorTest.php
index 990ad44adf3..6bf683ef2ed 100644
--- a/tests/lib/AppFramework/Utility/ControllerMethodReflectorTest.php
+++ b/tests/lib/AppFramework/Utility/ControllerMethodReflectorTest.php
@@ -189,7 +189,7 @@ class ControllerMethodReflectorTest extends \Test\TestCase {
}
- public function arguments($arg, $arg2='hi') {
+ public function arguments($arg, $arg2 = 'hi') {
}
public function testReflectParameters() {
$reader = new ControllerMethodReflector();
diff --git a/tests/lib/Archive/TestBase.php b/tests/lib/Archive/TestBase.php
index a9a41ed36ba..a816cd97710 100644
--- a/tests/lib/Archive/TestBase.php
+++ b/tests/lib/Archive/TestBase.php
@@ -26,9 +26,9 @@ abstract class TestBase extends \Test\TestCase {
abstract protected function getNew();
public function testGetFiles() {
- $this->instance=$this->getExisting();
- $allFiles=$this->instance->getFiles();
- $expected=['lorem.txt','logo-wide.png','dir/', 'dir/lorem.txt'];
+ $this->instance = $this->getExisting();
+ $allFiles = $this->instance->getFiles();
+ $expected = ['lorem.txt','logo-wide.png','dir/', 'dir/lorem.txt'];
$this->assertEquals(4, count($allFiles), 'only found '.count($allFiles).' out of 4 expected files');
foreach ($expected as $file) {
$this->assertContains($file, $allFiles, 'cant find '. $file . ' in archive');
@@ -36,15 +36,15 @@ abstract class TestBase extends \Test\TestCase {
}
$this->assertFalse($this->instance->fileExists('non/existing/file'));
- $rootContent=$this->instance->getFolder('');
- $expected=['lorem.txt','logo-wide.png', 'dir/'];
+ $rootContent = $this->instance->getFolder('');
+ $expected = ['lorem.txt','logo-wide.png', 'dir/'];
$this->assertEquals(3, count($rootContent));
foreach ($expected as $file) {
$this->assertContains($file, $rootContent, 'cant find '. $file . ' in archive');
}
- $dirContent=$this->instance->getFolder('dir/');
- $expected=['lorem.txt'];
+ $dirContent = $this->instance->getFolder('dir/');
+ $expected = ['lorem.txt'];
$this->assertEquals(1, count($dirContent));
foreach ($expected as $file) {
$this->assertContains($file, $dirContent, 'cant find '. $file . ' in archive');
@@ -52,9 +52,9 @@ abstract class TestBase extends \Test\TestCase {
}
public function testContent() {
- $this->instance=$this->getExisting();
- $dir=\OC::$SERVERROOT.'/tests/data';
- $textFile=$dir.'/lorem.txt';
+ $this->instance = $this->getExisting();
+ $dir = \OC::$SERVERROOT.'/tests/data';
+ $textFile = $dir.'/lorem.txt';
$this->assertEquals(file_get_contents($textFile), $this->instance->getFile('lorem.txt'));
$tmpFile = \OC::$server->getTempManager()->getTemporaryFile('.txt');
@@ -63,9 +63,9 @@ abstract class TestBase extends \Test\TestCase {
}
public function testWrite() {
- $dir=\OC::$SERVERROOT.'/tests/data';
- $textFile=$dir.'/lorem.txt';
- $this->instance=$this->getNew();
+ $dir = \OC::$SERVERROOT.'/tests/data';
+ $textFile = $dir.'/lorem.txt';
+ $this->instance = $this->getNew();
$this->assertEquals(0, count($this->instance->getFiles()));
$this->instance->addFile('lorem.txt', $textFile);
$this->assertEquals(1, count($this->instance->getFiles()));
@@ -78,19 +78,19 @@ abstract class TestBase extends \Test\TestCase {
}
public function testReadStream() {
- $dir=\OC::$SERVERROOT.'/tests/data';
- $this->instance=$this->getExisting();
- $fh=$this->instance->getStream('lorem.txt', 'r');
+ $dir = \OC::$SERVERROOT.'/tests/data';
+ $this->instance = $this->getExisting();
+ $fh = $this->instance->getStream('lorem.txt', 'r');
$this->assertTrue((bool)$fh);
- $content=fread($fh, $this->instance->filesize('lorem.txt'));
+ $content = fread($fh, $this->instance->filesize('lorem.txt'));
fclose($fh);
$this->assertEquals(file_get_contents($dir.'/lorem.txt'), $content);
}
public function testWriteStream() {
- $dir=\OC::$SERVERROOT.'/tests/data';
- $this->instance=$this->getNew();
- $fh=$this->instance->getStream('lorem.txt', 'w');
- $source=fopen($dir.'/lorem.txt', 'r');
+ $dir = \OC::$SERVERROOT.'/tests/data';
+ $this->instance = $this->getNew();
+ $fh = $this->instance->getStream('lorem.txt', 'w');
+ $source = fopen($dir.'/lorem.txt', 'r');
\OCP\Files::streamCopy($source, $fh);
fclose($source);
fclose($fh);
@@ -98,7 +98,7 @@ abstract class TestBase extends \Test\TestCase {
$this->assertEquals(file_get_contents($dir.'/lorem.txt'), $this->instance->getFile('lorem.txt'));
}
public function testFolder() {
- $this->instance=$this->getNew();
+ $this->instance = $this->getNew();
$this->assertFalse($this->instance->fileExists('/test'));
$this->assertFalse($this->instance->fileExists('/test/'));
$this->instance->addFolder('/test');
@@ -109,8 +109,8 @@ abstract class TestBase extends \Test\TestCase {
$this->assertFalse($this->instance->fileExists('/test/'));
}
public function testExtract() {
- $dir=\OC::$SERVERROOT.'/tests/data';
- $this->instance=$this->getExisting();
+ $dir = \OC::$SERVERROOT.'/tests/data';
+ $this->instance = $this->getExisting();
$tmpDir = \OC::$server->getTempManager()->getTemporaryFolder();
$this->instance->extract($tmpDir);
$this->assertEquals(true, file_exists($tmpDir.'lorem.txt'));
@@ -120,9 +120,9 @@ abstract class TestBase extends \Test\TestCase {
\OCP\Files::rmdirr($tmpDir);
}
public function testMoveRemove() {
- $dir=\OC::$SERVERROOT.'/tests/data';
- $textFile=$dir.'/lorem.txt';
- $this->instance=$this->getNew();
+ $dir = \OC::$SERVERROOT.'/tests/data';
+ $textFile = $dir.'/lorem.txt';
+ $this->instance = $this->getNew();
$this->instance->addFile('lorem.txt', $textFile);
$this->assertFalse($this->instance->fileExists('target.txt'));
$this->instance->rename('lorem.txt', 'target.txt');
@@ -133,8 +133,8 @@ abstract class TestBase extends \Test\TestCase {
$this->assertFalse($this->instance->fileExists('target.txt'));
}
public function testRecursive() {
- $dir=\OC::$SERVERROOT.'/tests/data';
- $this->instance=$this->getNew();
+ $dir = \OC::$SERVERROOT.'/tests/data';
+ $this->instance = $this->getNew();
$this->instance->addRecursive('/dir', $dir);
$this->assertTrue($this->instance->fileExists('/dir/lorem.txt'));
$this->assertTrue($this->instance->fileExists('/dir/data.zip'));
diff --git a/tests/lib/Authentication/Token/DefaultTokenMapperTest.php b/tests/lib/Authentication/Token/DefaultTokenMapperTest.php
index 6fdf5b9060e..da779be0807 100644
--- a/tests/lib/Authentication/Token/DefaultTokenMapperTest.php
+++ b/tests/lib/Authentication/Token/DefaultTokenMapperTest.php
@@ -77,7 +77,7 @@ class DefaultTokenMapperTest extends TestCase {
'token' => $qb->createNamedParameter('1504445f1524fc801035448a95681a9378ba2e83930c814546c56e5d6ebde221198792fd900c88ed5ead0555780dad1ebce3370d7e154941cd5de87eb419899b'),
'type' => $qb->createNamedParameter(IToken::TEMPORARY_TOKEN),
'last_activity' => $qb->createNamedParameter($this->time - 60 * 60 * 24 * 3, IQueryBuilder::PARAM_INT), // Three days ago
- 'last_check' => $this->time - 10, // 10secs ago
+ 'last_check' => $this->time - 10, // 10secs ago
])->execute();
$qb->insert('authtoken')->values([
'uid' => $qb->createNamedParameter('user1'),
diff --git a/tests/lib/Authentication/Token/PublicKeyTokenMapperTest.php b/tests/lib/Authentication/Token/PublicKeyTokenMapperTest.php
index 2f2af38851d..bfb92932e81 100644
--- a/tests/lib/Authentication/Token/PublicKeyTokenMapperTest.php
+++ b/tests/lib/Authentication/Token/PublicKeyTokenMapperTest.php
@@ -82,7 +82,7 @@ class PublicKeyTokenMapperTest extends TestCase {
'token' => $qb->createNamedParameter('1504445f1524fc801035448a95681a9378ba2e83930c814546c56e5d6ebde221198792fd900c88ed5ead0555780dad1ebce3370d7e154941cd5de87eb419899b'),
'type' => $qb->createNamedParameter(IToken::TEMPORARY_TOKEN),
'last_activity' => $qb->createNamedParameter($this->time - 60 * 60 * 24 * 3, IQueryBuilder::PARAM_INT), // Three days ago
- 'last_check' => $this->time - 10, // 10secs ago
+ 'last_check' => $this->time - 10, // 10secs ago
'public_key' => $qb->createNamedParameter('public key'),
'private_key' => $qb->createNamedParameter('private key'),
'version' => $qb->createNamedParameter(2),
diff --git a/tests/lib/Authentication/TwoFactorAuth/MandatoryTwoFactorTest.php b/tests/lib/Authentication/TwoFactorAuth/MandatoryTwoFactorTest.php
index 5147d763daf..525defd671b 100644
--- a/tests/lib/Authentication/TwoFactorAuth/MandatoryTwoFactorTest.php
+++ b/tests/lib/Authentication/TwoFactorAuth/MandatoryTwoFactorTest.php
@@ -110,7 +110,7 @@ class MandatoryTwoFactorTest extends TestCase {
]);
$this->groupManager->method('isInGroup')
->willReturnCallback(function ($user, $group) {
- return $user === 'user123' && $group ==='twofactorers';
+ return $user === 'user123' && $group === 'twofactorers';
});
$isEnforced = $this->mandatoryTwoFactor->isEnforcedFor($user);
@@ -148,7 +148,7 @@ class MandatoryTwoFactorTest extends TestCase {
]);
$this->groupManager->method('isInGroup')
->willReturnCallback(function ($user, $group) {
- return $user === 'user123' && $group ==='yoloers';
+ return $user === 'user123' && $group === 'yoloers';
});
$isEnforced = $this->mandatoryTwoFactor->isEnforcedFor($user);
diff --git a/tests/lib/Cache/FileCacheTest.php b/tests/lib/Cache/FileCacheTest.php
index 1a28724ae12..c9eafeca280 100644
--- a/tests/lib/Cache/FileCacheTest.php
+++ b/tests/lib/Cache/FileCacheTest.php
@@ -82,7 +82,7 @@ class FileCacheTest extends TestCache {
$this->rootView = new \OC\Files\View('');
$this->rootView->mkdir('/test');
- $this->instance=new \OC\Cache\File();
+ $this->instance = new \OC\Cache\File();
// forces creation of cache folder for subsequent tests
$this->instance->set('hack', 'hack');
diff --git a/tests/lib/Cache/TestCache.php b/tests/lib/Cache/TestCache.php
index 9dfc46eb5a0..1dd9761682d 100644
--- a/tests/lib/Cache/TestCache.php
+++ b/tests/lib/Cache/TestCache.php
@@ -26,19 +26,19 @@ abstract class TestCache extends \Test\TestCase {
$this->assertNull($this->instance->get('value1'));
$this->assertFalse($this->instance->hasKey('value1'));
- $value='foobar';
+ $value = 'foobar';
$this->instance->set('value1', $value);
$this->assertTrue($this->instance->hasKey('value1'));
- $received=$this->instance->get('value1');
+ $received = $this->instance->get('value1');
$this->assertEquals($value, $received, 'Value received from cache not equal to the original');
- $value='ipsum lorum';
+ $value = 'ipsum lorum';
$this->instance->set('value1', $value);
- $received=$this->instance->get('value1');
+ $received = $this->instance->get('value1');
$this->assertEquals($value, $received, 'Value not overwritten by second set');
- $value2='foobar';
+ $value2 = 'foobar';
$this->instance->set('value2', $value2);
- $received2=$this->instance->get('value2');
+ $received2 = $this->instance->get('value2');
$this->assertTrue($this->instance->hasKey('value1'));
$this->assertTrue($this->instance->hasKey('value2'));
$this->assertEquals($value, $received, 'Value changed while setting other variable');
@@ -52,7 +52,7 @@ abstract class TestCache extends \Test\TestCase {
}
public function testClear() {
- $value='ipsum lorum';
+ $value = 'ipsum lorum';
$this->instance->set('1_value1', $value . '1');
$this->instance->set('1_value2', $value . '2');
$this->instance->set('2_value1', $value . '3');
diff --git a/tests/lib/Collaboration/Collaborators/MailPluginTest.php b/tests/lib/Collaboration/Collaborators/MailPluginTest.php
index 54dec490a2d..b3a1e2c2756 100644
--- a/tests/lib/Collaboration/Collaborators/MailPluginTest.php
+++ b/tests/lib/Collaboration/Collaborators/MailPluginTest.php
@@ -614,7 +614,7 @@ class MailPluginTest extends TestCase {
'UID' => 'User'
]
],
- ['emails'=> [], 'exact' => ['emails' => []]],
+ ['emails' => [], 'exact' => ['emails' => []]],
false,
false,
[
diff --git a/tests/lib/ConfigTest.php b/tests/lib/ConfigTest.php
index d360d115824..db4efc7b15d 100644
--- a/tests/lib/ConfigTest.php
+++ b/tests/lib/ConfigTest.php
@@ -98,8 +98,8 @@ class ConfigTest extends TestCase {
// Changing configs to existing values and deleting non-existing once
// should not rewrite the config.php
$this->config->setValues([
- 'foo' => 'bar',
- 'not_exists' => null,
+ 'foo' => 'bar',
+ 'not_exists' => null,
]);
$this->assertSame('bar', $this->config->getValue('foo'));
@@ -108,8 +108,8 @@ class ConfigTest extends TestCase {
$this->assertEquals(self::TESTCONTENT, $content);
$this->config->setValues([
- 'foo' => 'moo',
- 'alcohol_free' => null,
+ 'foo' => 'moo',
+ 'alcohol_free' => null,
]);
$this->assertSame('moo', $this->config->getValue('foo'));
$this->assertSame(null, $this->config->getValue('not_exists'));
diff --git a/tests/lib/ContactsManagerTest.php b/tests/lib/ContactsManagerTest.php
index 841c510941f..70e8dd74a1e 100644
--- a/tests/lib/ContactsManagerTest.php
+++ b/tests/lib/ContactsManagerTest.php
@@ -49,7 +49,7 @@ class ContactsManagerTest extends \Test\TestCase {
],
];
- $expectedResult = array_merge($search1, $search2);
+ $expectedResult = array_merge($search1, $search2);
return [
[
$search1,
@@ -91,7 +91,7 @@ class ContactsManagerTest extends \Test\TestCase {
$this->cm->registerAddressBook($addressbook1);
$this->cm->registerAddressBook($addressbook2);
- $result = $this->cm->search('');
+ $result = $this->cm->search('');
$this->assertEquals($expectedResult, $result);
}
diff --git a/tests/lib/DB/SchemaDiffTest.php b/tests/lib/DB/SchemaDiffTest.php
index 29d456805d5..6394fa41b8e 100644
--- a/tests/lib/DB/SchemaDiffTest.php
+++ b/tests/lib/DB/SchemaDiffTest.php
@@ -58,7 +58,7 @@ class SchemaDiffTest extends TestCase {
$this->config = \OC::$server->getConfig();
$this->connection = \OC::$server->getDatabaseConnection();
$this->manager = new MDB2SchemaManager($this->connection);
- $this->testPrefix= strtolower($this->getUniqueID($this->config->getSystemValue('dbtableprefix', 'oc_'), 3));
+ $this->testPrefix = strtolower($this->getUniqueID($this->config->getSystemValue('dbtableprefix', 'oc_'), 3));
}
protected function tearDown(): void {
diff --git a/tests/lib/DateTimeFormatterTest.php b/tests/lib/DateTimeFormatterTest.php
index 2beb89654f6..78ef0ef3ace 100644
--- a/tests/lib/DateTimeFormatterTest.php
+++ b/tests/lib/DateTimeFormatterTest.php
@@ -38,7 +38,7 @@ class DateTimeFormatterTest extends TestCase {
}
protected function getTimestampAgo($time, $seconds = 0, $minutes = 0, $hours = 0, $days = 0, $years = 0) {
- return $time - $seconds - $minutes * 60 - $hours * 3600 - $days * 24*3600 - $years * 365*24*3600;
+ return $time - $seconds - $minutes * 60 - $hours * 3600 - $days * 24 * 3600 - $years * 365 * 24 * 3600;
}
public function formatTimeSpanData() {
diff --git a/tests/lib/Encryption/DecryptAllTest.php b/tests/lib/Encryption/DecryptAllTest.php
index a8c6f6caebb..dc7c40f0fe2 100644
--- a/tests/lib/Encryption/DecryptAllTest.php
+++ b/tests/lib/Encryption/DecryptAllTest.php
@@ -268,16 +268,16 @@ class DecryptAllTest extends TestCase {
$this->view->expects($this->at(0))->method('getDirectoryContent')
->with('/user1/files')->willReturn(
[
- new FileInfo('path', $storage, 'intPath', ['name' => 'foo', 'type'=>'dir'], null),
- new FileInfo('path', $storage, 'intPath', ['name' => 'bar', 'type'=>'file', 'encrypted'=>true], null),
- new FileInfo('path', $sharedStorage, 'intPath', ['name' => 'shared', 'type'=>'file', 'encrypted'=>true], null),
+ new FileInfo('path', $storage, 'intPath', ['name' => 'foo', 'type' => 'dir'], null),
+ new FileInfo('path', $storage, 'intPath', ['name' => 'bar', 'type' => 'file', 'encrypted' => true], null),
+ new FileInfo('path', $sharedStorage, 'intPath', ['name' => 'shared', 'type' => 'file', 'encrypted' => true], null),
]
);
$this->view->expects($this->at(3))->method('getDirectoryContent')
->with('/user1/files/foo')->willReturn(
[
- new FileInfo('path', $storage, 'intPath', ['name' => 'subfile', 'type'=>'file', 'encrypted'=>true], null)
+ new FileInfo('path', $storage, 'intPath', ['name' => 'subfile', 'type' => 'file', 'encrypted' => true], null)
]
);
diff --git a/tests/lib/Group/Dummy.php b/tests/lib/Group/Dummy.php
index d687b6a3dda..d2d8b6332dd 100644
--- a/tests/lib/Group/Dummy.php
+++ b/tests/lib/Group/Dummy.php
@@ -30,6 +30,6 @@ namespace Test\Group;
class Dummy extends Backend {
protected function setUp(): void {
parent::setUp();
- $this->backend=new \Test\Util\Group\Dummy();
+ $this->backend = new \Test\Util\Group\Dummy();
}
}
diff --git a/tests/lib/InstallerTest.php b/tests/lib/InstallerTest.php
index 97f74cc2f8f..58602a7cf58 100644
--- a/tests/lib/InstallerTest.php
+++ b/tests/lib/InstallerTest.php
@@ -91,7 +91,7 @@ class InstallerTest extends TestCase {
\OC_App::getAppVersion('testapp');
// Extract app
- $pathOfTestApp = __DIR__ . '/../data/testapp.zip';
+ $pathOfTestApp = __DIR__ . '/../data/testapp.zip';
$tar = new ZIP($pathOfTestApp);
$tar->extract(\OC_App::getInstallPath());
diff --git a/tests/lib/L10N/FactoryTest.php b/tests/lib/L10N/FactoryTest.php
index db4dc4db865..33094f053d8 100644
--- a/tests/lib/L10N/FactoryTest.php
+++ b/tests/lib/L10N/FactoryTest.php
@@ -611,7 +611,7 @@ class FactoryTest extends TestCase {
$factory = $this->getFactory();
if ($iUserMock === null) {
- $matcher = $this->userSession->expects($this->once())
+ $matcher = $this->userSession->expects($this->once())
->method('getUser');
if ($hasSession) {
diff --git a/tests/lib/LoggerTest.php b/tests/lib/LoggerTest.php
index 9e0e3c4b66e..9b44fe198e2 100644
--- a/tests/lib/LoggerTest.php
+++ b/tests/lib/LoggerTest.php
@@ -68,7 +68,7 @@ class LoggerTest extends TestCase implements IWriter {
}
public function write(string $app, $message, int $level) {
- $this->logs[]= "$level $message";
+ $this->logs[] = "$level $message";
}
public function userAndPasswordData(): array {
diff --git a/tests/lib/Memcache/APCuTest.php b/tests/lib/Memcache/APCuTest.php
index 704f9f1c433..50e3984ca34 100644
--- a/tests/lib/Memcache/APCuTest.php
+++ b/tests/lib/Memcache/APCuTest.php
@@ -17,7 +17,7 @@ class APCuTest extends Cache {
$this->markTestSkipped('The APCu extension is not available.');
return;
}
- $this->instance=new \OC\Memcache\APCu($this->getUniqueID());
+ $this->instance = new \OC\Memcache\APCu($this->getUniqueID());
}
public function testCasIntChanged() {
diff --git a/tests/lib/Memcache/MemcachedTest.php b/tests/lib/Memcache/MemcachedTest.php
index 340ce85b9aa..caebf50cd6b 100644
--- a/tests/lib/Memcache/MemcachedTest.php
+++ b/tests/lib/Memcache/MemcachedTest.php
@@ -29,7 +29,7 @@ class MemcachedTest extends Cache {
public function testClear() {
// Memcached is sometimes broken with clear(), so we don't test it thoroughly
- $value='ipsum lorum';
+ $value = 'ipsum lorum';
$this->instance->set('1_value1', $value);
$this->instance->set('1_value2', $value);
$this->instance->set('2_value1', $value);
diff --git a/tests/lib/NavigationManagerTest.php b/tests/lib/NavigationManagerTest.php
index 012130792ac..19d01bfac0f 100644
--- a/tests/lib/NavigationManagerTest.php
+++ b/tests/lib/NavigationManagerTest.php
@@ -44,12 +44,12 @@ class NavigationManagerTest extends TestCase {
protected function setUp(): void {
parent::setUp();
- $this->appManager = $this->createMock(AppManager::class);
- $this->urlGenerator = $this->createMock(IURLGenerator::class);
- $this->l10nFac = $this->createMock(IFactory::class);
- $this->userSession = $this->createMock(IUserSession::class);
- $this->groupManager = $this->createMock(Manager::class);
- $this->config = $this->createMock(IConfig::class);
+ $this->appManager = $this->createMock(AppManager::class);
+ $this->urlGenerator = $this->createMock(IURLGenerator::class);
+ $this->l10nFac = $this->createMock(IFactory::class);
+ $this->userSession = $this->createMock(IUserSession::class);
+ $this->groupManager = $this->createMock(Manager::class);
+ $this->config = $this->createMock(IConfig::class);
$this->navigationManager = new NavigationManager(
$this->appManager,
$this->urlGenerator,
@@ -65,43 +65,43 @@ class NavigationManagerTest extends TestCase {
public function addArrayData() {
return [
[
- 'entry id' => [
- 'id' => 'entry id',
- 'name' => 'link text',
- 'order' => 1,
- 'icon' => 'optional',
- 'href' => 'url',
- 'type' => 'settings',
+ 'entry id' => [
+ 'id' => 'entry id',
+ 'name' => 'link text',
+ 'order' => 1,
+ 'icon' => 'optional',
+ 'href' => 'url',
+ 'type' => 'settings',
'classes' => ''
],
'entry id2' => [
- 'id' => 'entry id',
- 'name' => 'link text',
- 'order' => 1,
- 'icon' => 'optional',
- 'href' => 'url',
- 'active' => false,
- 'type' => 'settings',
+ 'id' => 'entry id',
+ 'name' => 'link text',
+ 'order' => 1,
+ 'icon' => 'optional',
+ 'href' => 'url',
+ 'active' => false,
+ 'type' => 'settings',
'classes' => ''
]
],
[
- 'entry id' => [
- 'id' => 'entry id',
- 'name' => 'link text',
- 'order' => 1,
+ 'entry id' => [
+ 'id' => 'entry id',
+ 'name' => 'link text',
+ 'order' => 1,
//'icon' => 'optional',
- 'href' => 'url',
+ 'href' => 'url',
'active' => true
],
'entry id2' => [
- 'id' => 'entry id',
- 'name' => 'link text',
- 'order' => 1,
- 'icon' => '',
- 'href' => 'url',
- 'active' => false,
- 'type' => 'link',
+ 'id' => 'entry id',
+ 'name' => 'link text',
+ 'order' => 1,
+ 'icon' => '',
+ 'href' => 'url',
+ 'active' => false,
+ 'type' => 'link',
'classes' => ''
]
]
@@ -161,11 +161,11 @@ class NavigationManagerTest extends TestCase {
public function testAddArrayClearGetAll() {
$entry = [
- 'id' => 'entry id',
- 'name' => 'link text',
+ 'id' => 'entry id',
+ 'name' => 'link text',
'order' => 1,
- 'icon' => 'optional',
- 'href' => 'url'
+ 'icon' => 'optional',
+ 'href' => 'url'
];
$this->assertEmpty($this->navigationManager->getAll(), 'Expected no navigation entry exists');
@@ -178,11 +178,11 @@ class NavigationManagerTest extends TestCase {
$this->assertEmpty($this->navigationManager->getAll(), 'Expected no navigation entry exists');
$entry = [
- 'id' => 'entry id',
- 'name' => 'link text',
+ 'id' => 'entry id',
+ 'name' => 'link text',
'order' => 1,
- 'icon' => 'optional',
- 'href' => 'url'
+ 'icon' => 'optional',
+ 'href' => 'url'
];
global $testAddClosureNumberOfCalls;
@@ -243,35 +243,35 @@ class NavigationManagerTest extends TestCase {
public function providesNavigationConfig() {
$apps = [
'core_apps' => [
- 'id' => 'core_apps',
- 'order' => 4,
- 'href' => '/apps/test/',
- 'icon' => '/apps/settings/img/apps.svg',
- 'name' => 'Apps',
- 'active' => false,
- 'type' => 'settings',
+ 'id' => 'core_apps',
+ 'order' => 4,
+ 'href' => '/apps/test/',
+ 'icon' => '/apps/settings/img/apps.svg',
+ 'name' => 'Apps',
+ 'active' => false,
+ 'type' => 'settings',
'classes' => ''
]
];
$defaults = [
'settings' => [
- 'id' => 'settings',
- 'order' => 2,
- 'href' => '/apps/test/',
- 'icon' => '/apps/settings/img/admin.svg',
- 'name' => 'Settings',
- 'active' => false,
- 'type' => 'settings',
+ 'id' => 'settings',
+ 'order' => 2,
+ 'href' => '/apps/test/',
+ 'icon' => '/apps/settings/img/admin.svg',
+ 'name' => 'Settings',
+ 'active' => false,
+ 'type' => 'settings',
'classes' => ''
],
'logout' => [
- 'id' => 'logout',
- 'order' => 99999,
- 'href' => 'https://example.com/logout?requesttoken='. urlencode(\OCP\Util::callRegister()),
- 'icon' => '/apps/core/img/actions/logout.svg',
- 'name' => 'Log out',
- 'active' => false,
- 'type' => 'settings',
+ 'id' => 'logout',
+ 'order' => 99999,
+ 'href' => 'https://example.com/logout?requesttoken='. urlencode(\OCP\Util::callRegister()),
+ 'icon' => '/apps/core/img/actions/logout.svg',
+ 'name' => 'Log out',
+ 'active' => false,
+ 'type' => 'settings',
'classes' => ''
]
];
@@ -281,13 +281,13 @@ class NavigationManagerTest extends TestCase {
array_merge(
['settings' => $defaults['settings']],
['test' => [
- 'id' => 'test',
- 'order' => 100,
- 'href' => '/apps/test/',
- 'icon' => '/apps/test/img/app.svg',
- 'name' => 'Test',
- 'active' => false,
- 'type' => 'link',
+ 'id' => 'test',
+ 'order' => 100,
+ 'href' => '/apps/test/',
+ 'icon' => '/apps/test/img/app.svg',
+ 'name' => 'Test',
+ 'active' => false,
+ 'type' => 'link',
'classes' => ''
]],
['logout' => $defaults['logout']]
@@ -302,13 +302,13 @@ class NavigationManagerTest extends TestCase {
array_merge(
['settings' => $defaults['settings']],
['test' => [
- 'id' => 'test',
- 'order' => 100,
- 'href' => '/apps/test/',
- 'icon' => '/apps/test/img/app.svg',
- 'name' => 'Test',
- 'active' => false,
- 'type' => 'settings',
+ 'id' => 'test',
+ 'order' => 100,
+ 'href' => '/apps/test/',
+ 'icon' => '/apps/test/img/app.svg',
+ 'name' => 'Test',
+ 'active' => false,
+ 'type' => 'settings',
'classes' => ''
]],
['logout' => $defaults['logout']]
@@ -324,13 +324,13 @@ class NavigationManagerTest extends TestCase {
['settings' => $defaults['settings']],
$apps,
['test' => [
- 'id' => 'test',
- 'order' => 100,
- 'href' => '/apps/test/',
- 'icon' => '/apps/test/img/app.svg',
- 'name' => 'Test',
- 'active' => false,
- 'type' => 'link',
+ 'id' => 'test',
+ 'order' => 100,
+ 'href' => '/apps/test/',
+ 'icon' => '/apps/test/img/app.svg',
+ 'name' => 'Test',
+ 'active' => false,
+ 'type' => 'link',
'classes' => ''
]],
['logout' => $defaults['logout']]
@@ -359,8 +359,8 @@ class NavigationManagerTest extends TestCase {
$defaults,
['navigations' => [[
'@attributes' => ['role' => 'admin'],
- 'route' => 'test.page.index',
- 'name' => 'Test'
+ 'route' => 'test.page.index',
+ 'name' => 'Test'
]]]
]
];
diff --git a/tests/lib/Repair/CleanTagsTest.php b/tests/lib/Repair/CleanTagsTest.php
index 468b715e5e4..a56d79f9bc6 100644
--- a/tests/lib/Repair/CleanTagsTest.php
+++ b/tests/lib/Repair/CleanTagsTest.php
@@ -137,9 +137,9 @@ class CleanTagsTest extends \Test\TestCase {
$qb = $this->connection->getQueryBuilder();
$qb->insert('vcategory')
->values([
- 'uid' => $qb->createNamedParameter($user),
- 'category' => $qb->createNamedParameter($category),
- 'type' => $qb->createNamedParameter($type),
+ 'uid' => $qb->createNamedParameter($user),
+ 'category' => $qb->createNamedParameter($category),
+ 'type' => $qb->createNamedParameter($type),
])
->execute();
@@ -156,9 +156,9 @@ class CleanTagsTest extends \Test\TestCase {
$qb = $this->connection->getQueryBuilder();
$qb->insert('vcategory_to_object')
->values([
- 'objid' => $qb->createNamedParameter($objectId, IQueryBuilder::PARAM_INT),
- 'categoryid' => $qb->createNamedParameter($category, IQueryBuilder::PARAM_INT),
- 'type' => $qb->createNamedParameter($type),
+ 'objid' => $qb->createNamedParameter($objectId, IQueryBuilder::PARAM_INT),
+ 'categoryid' => $qb->createNamedParameter($category, IQueryBuilder::PARAM_INT),
+ 'type' => $qb->createNamedParameter($type),
])
->execute();
}
@@ -178,15 +178,15 @@ class CleanTagsTest extends \Test\TestCase {
$fileName = $this->getUniqueID('TestRepairCleanTags', 12);
$qb->insert('filecache')
->values([
- 'path' => $qb->createNamedParameter($fileName),
- 'path_hash' => $qb->createNamedParameter(md5($fileName)),
+ 'path' => $qb->createNamedParameter($fileName),
+ 'path_hash' => $qb->createNamedParameter(md5($fileName)),
])
->execute();
$fileName = $this->getUniqueID('TestRepairCleanTags', 12);
$qb->insert('filecache')
->values([
- 'path' => $qb->createNamedParameter($fileName),
- 'path_hash' => $qb->createNamedParameter(md5($fileName)),
+ 'path' => $qb->createNamedParameter($fileName),
+ 'path_hash' => $qb->createNamedParameter(md5($fileName)),
])
->execute();
diff --git a/tests/lib/Repair/ClearGeneratedAvatarCacheTest.php b/tests/lib/Repair/ClearGeneratedAvatarCacheTest.php
index 30df6474b80..c721d174916 100644
--- a/tests/lib/Repair/ClearGeneratedAvatarCacheTest.php
+++ b/tests/lib/Repair/ClearGeneratedAvatarCacheTest.php
@@ -45,9 +45,9 @@ class ClearGeneratedAvatarCacheTest extends \Test\TestCase {
protected function setUp(): void {
parent::setUp();
- $this->outputMock = $this->createMock(IOutput::class);
+ $this->outputMock = $this->createMock(IOutput::class);
$this->avatarManager = $this->createMock(AvatarManager::class);
- $this->config = $this->createMock(IConfig::class);
+ $this->config = $this->createMock(IConfig::class);
$this->repair = new ClearGeneratedAvatarCache($this->config, $this->avatarManager);
}
diff --git a/tests/lib/Security/HasherTest.php b/tests/lib/Security/HasherTest.php
index e1faef2f69b..3bd98625529 100644
--- a/tests/lib/Security/HasherTest.php
+++ b/tests/lib/Security/HasherTest.php
@@ -185,12 +185,12 @@ class HasherTest extends \Test\TestCase {
$message = 'mysecret';
$blowfish = 1 . '|' . password_hash($message, PASSWORD_BCRYPT, []);
- $argon2 = 2 . '|' . password_hash($message, PASSWORD_ARGON2I, []);
+ $argon2 = 2 . '|' . password_hash($message, PASSWORD_ARGON2I, []);
$newAlg = PASSWORD_ARGON2I;
if (\defined('PASSWORD_ARGON2ID')) {
$newAlg = PASSWORD_ARGON2ID;
- $argon2 = 2 . '|' . password_hash($message, PASSWORD_ARGON2ID, []);
+ $argon2 = 2 . '|' . password_hash($message, PASSWORD_ARGON2ID, []);
}
@@ -213,7 +213,7 @@ class HasherTest extends \Test\TestCase {
$message = 'mysecret';
- $argon2i = 2 . '|' . password_hash($message, PASSWORD_ARGON2I, []);
+ $argon2i = 2 . '|' . password_hash($message, PASSWORD_ARGON2I, []);
$newHash = null;
$this->assertTrue($this->hasher->verify($message, $argon2i, $newHash));
@@ -237,7 +237,7 @@ class HasherTest extends \Test\TestCase {
$message = 'mysecret';
- $argon2id = 3 . '|' . password_hash($message, PASSWORD_ARGON2ID, []);
+ $argon2id = 3 . '|' . password_hash($message, PASSWORD_ARGON2ID, []);
$newHash = null;
$this->assertTrue($this->hasher->verify($message, $argon2id, $newHash));
diff --git a/tests/lib/Share20/DefaultShareProviderTest.php b/tests/lib/Share20/DefaultShareProviderTest.php
index 24474b11dcf..f6ce4894dbb 100644
--- a/tests/lib/Share20/DefaultShareProviderTest.php
+++ b/tests/lib/Share20/DefaultShareProviderTest.php
@@ -189,11 +189,11 @@ class DefaultShareProviderTest extends \Test\TestCase {
$qb->insert('share')
->values([
- 'share_type' => $qb->expr()->literal(IShare::TYPE_USER),
- 'share_with' => $qb->expr()->literal('sharedWith'),
- 'uid_owner' => $qb->expr()->literal('shareOwner'),
+ 'share_type' => $qb->expr()->literal(IShare::TYPE_USER),
+ 'share_with' => $qb->expr()->literal('sharedWith'),
+ 'uid_owner' => $qb->expr()->literal('shareOwner'),
'uid_initiator' => $qb->expr()->literal('sharedBy'),
- 'item_type' => $qb->expr()->literal('file'),
+ 'item_type' => $qb->expr()->literal('file'),
'file_source' => $qb->expr()->literal(42),
'file_target' => $qb->expr()->literal('myTarget'),
'permissions' => $qb->expr()->literal(13),
@@ -236,11 +236,11 @@ class DefaultShareProviderTest extends \Test\TestCase {
$qb->insert('share')
->values([
- 'share_type' => $qb->expr()->literal(IShare::TYPE_USER),
- 'share_with' => $qb->expr()->literal('sharedWith'),
- 'uid_owner' => $qb->expr()->literal('shareOwner'),
+ 'share_type' => $qb->expr()->literal(IShare::TYPE_USER),
+ 'share_with' => $qb->expr()->literal('sharedWith'),
+ 'uid_owner' => $qb->expr()->literal('shareOwner'),
'uid_initiator' => $qb->expr()->literal('sharedBy'),
- 'item_type' => $qb->expr()->literal('file'),
+ 'item_type' => $qb->expr()->literal('file'),
'file_source' => $qb->expr()->literal(42),
'file_target' => $qb->expr()->literal('myTarget'),
'permissions' => $qb->expr()->literal(13),
@@ -271,11 +271,11 @@ class DefaultShareProviderTest extends \Test\TestCase {
$qb->insert('share')
->values([
- 'share_type' => $qb->expr()->literal(IShare::TYPE_USER),
- 'share_with' => $qb->expr()->literal('sharedWith'),
- 'uid_owner' => $qb->expr()->literal('shareOwner'),
+ 'share_type' => $qb->expr()->literal(IShare::TYPE_USER),
+ 'share_with' => $qb->expr()->literal('sharedWith'),
+ 'uid_owner' => $qb->expr()->literal('shareOwner'),
'uid_initiator' => $qb->expr()->literal('sharedBy'),
- 'item_type' => $qb->expr()->literal('file'),
+ 'item_type' => $qb->expr()->literal('file'),
'file_source' => $qb->expr()->literal(42),
'file_target' => $qb->expr()->literal('myTarget'),
'permissions' => $qb->expr()->literal(13),
@@ -319,7 +319,7 @@ class DefaultShareProviderTest extends \Test\TestCase {
'share_with' => $qb->expr()->literal('sharedWith'),
'uid_owner' => $qb->expr()->literal('shareOwner'),
'uid_initiator' => $qb->expr()->literal('sharedBy'),
- 'item_type' => $qb->expr()->literal('file'),
+ 'item_type' => $qb->expr()->literal('file'),
'file_source' => $qb->expr()->literal(42),
'file_target' => $qb->expr()->literal('myTarget'),
'permissions' => $qb->expr()->literal(13),
@@ -401,7 +401,7 @@ class DefaultShareProviderTest extends \Test\TestCase {
'password_by_talk' => $qb->expr()->literal(true),
'uid_owner' => $qb->expr()->literal('shareOwner'),
'uid_initiator' => $qb->expr()->literal('sharedBy'),
- 'item_type' => $qb->expr()->literal('file'),
+ 'item_type' => $qb->expr()->literal('file'),
'file_source' => $qb->expr()->literal(42),
'file_target' => $qb->expr()->literal('myTarget'),
'permissions' => $qb->expr()->literal(13),
@@ -445,7 +445,7 @@ class DefaultShareProviderTest extends \Test\TestCase {
'share_type' => $qb->expr()->literal(IShare::TYPE_USER),
'share_with' => $qb->expr()->literal('sharedWith'),
'uid_owner' => $qb->expr()->literal('sharedBy'),
- 'item_type' => $qb->expr()->literal('file'),
+ 'item_type' => $qb->expr()->literal('file'),
'file_source' => $qb->expr()->literal(42),
'file_target' => $qb->expr()->literal('myTarget'),
'permissions' => $qb->expr()->literal(13),
@@ -494,7 +494,7 @@ class DefaultShareProviderTest extends \Test\TestCase {
'share_with' => $qb->expr()->literal('sharedWith'),
'uid_owner' => $qb->expr()->literal('shareOwner'),
'uid_initiator' => $qb->expr()->literal('sharedBy'),
- 'item_type' => $qb->expr()->literal('file'),
+ 'item_type' => $qb->expr()->literal('file'),
'file_source' => $qb->expr()->literal(42),
'file_target' => $qb->expr()->literal('myTarget'),
'permissions' => $qb->expr()->literal(13),
@@ -526,7 +526,7 @@ class DefaultShareProviderTest extends \Test\TestCase {
'share_type' => $qb->expr()->literal(IShare::TYPE_GROUP),
'share_with' => $qb->expr()->literal('sharedWith'),
'uid_owner' => $qb->expr()->literal('sharedBy'),
- 'item_type' => $qb->expr()->literal('file'),
+ 'item_type' => $qb->expr()->literal('file'),
'file_source' => $qb->expr()->literal(42),
'file_target' => $qb->expr()->literal('myTarget'),
'permissions' => $qb->expr()->literal(13),
@@ -540,11 +540,11 @@ class DefaultShareProviderTest extends \Test\TestCase {
'share_type' => $qb->expr()->literal(2),
'share_with' => $qb->expr()->literal('sharedWithUser'),
'uid_owner' => $qb->expr()->literal('sharedBy'),
- 'item_type' => $qb->expr()->literal('file'),
+ 'item_type' => $qb->expr()->literal('file'),
'file_source' => $qb->expr()->literal(42),
'file_target' => $qb->expr()->literal('myTarget'),
'permissions' => $qb->expr()->literal(13),
- 'parent' => $qb->expr()->literal($id),
+ 'parent' => $qb->expr()->literal($id),
]);
$this->assertEquals(1, $qb->execute());
@@ -585,11 +585,11 @@ class DefaultShareProviderTest extends \Test\TestCase {
$qb = $this->dbConn->getQueryBuilder();
$qb->insert('share')
->values([
- 'share_type' => $qb->expr()->literal(IShare::TYPE_USER),
- 'share_with' => $qb->expr()->literal('sharedWith'),
- 'uid_owner' => $qb->expr()->literal('shareOwner'),
+ 'share_type' => $qb->expr()->literal(IShare::TYPE_USER),
+ 'share_with' => $qb->expr()->literal('sharedWith'),
+ 'uid_owner' => $qb->expr()->literal('shareOwner'),
'uid_initiator' => $qb->expr()->literal('sharedBy'),
- 'item_type' => $qb->expr()->literal('file'),
+ 'item_type' => $qb->expr()->literal('file'),
'file_source' => $qb->expr()->literal(42),
'file_target' => $qb->expr()->literal('myTarget'),
'permissions' => $qb->expr()->literal(13),
@@ -602,30 +602,30 @@ class DefaultShareProviderTest extends \Test\TestCase {
$qb = $this->dbConn->getQueryBuilder();
$qb->insert('share')
->values([
- 'share_type' => $qb->expr()->literal(IShare::TYPE_USER),
- 'share_with' => $qb->expr()->literal('user1'),
- 'uid_owner' => $qb->expr()->literal('shareOwner'),
+ 'share_type' => $qb->expr()->literal(IShare::TYPE_USER),
+ 'share_with' => $qb->expr()->literal('user1'),
+ 'uid_owner' => $qb->expr()->literal('shareOwner'),
'uid_initiator' => $qb->expr()->literal('user2'),
- 'item_type' => $qb->expr()->literal('file'),
+ 'item_type' => $qb->expr()->literal('file'),
'file_source' => $qb->expr()->literal(1),
'file_target' => $qb->expr()->literal('myTarget1'),
'permissions' => $qb->expr()->literal(2),
- 'parent' => $qb->expr()->literal($id),
+ 'parent' => $qb->expr()->literal($id),
]);
$qb->execute();
$qb = $this->dbConn->getQueryBuilder();
$qb->insert('share')
->values([
- 'share_type' => $qb->expr()->literal(IShare::TYPE_GROUP),
- 'share_with' => $qb->expr()->literal('group1'),
- 'uid_owner' => $qb->expr()->literal('shareOwner'),
+ 'share_type' => $qb->expr()->literal(IShare::TYPE_GROUP),
+ 'share_with' => $qb->expr()->literal('group1'),
+ 'uid_owner' => $qb->expr()->literal('shareOwner'),
'uid_initiator' => $qb->expr()->literal('user3'),
- 'item_type' => $qb->expr()->literal('folder'),
+ 'item_type' => $qb->expr()->literal('folder'),
'file_source' => $qb->expr()->literal(3),
'file_target' => $qb->expr()->literal('myTarget2'),
'permissions' => $qb->expr()->literal(4),
- 'parent' => $qb->expr()->literal($id),
+ 'parent' => $qb->expr()->literal($id),
]);
$qb->execute();
@@ -841,16 +841,16 @@ class DefaultShareProviderTest extends \Test\TestCase {
$qb->insert('share')
->values([
- 'share_type' => $qb->expr()->literal(IShare::TYPE_LINK),
- 'password' => $qb->expr()->literal('password'),
+ 'share_type' => $qb->expr()->literal(IShare::TYPE_LINK),
+ 'password' => $qb->expr()->literal('password'),
'password_by_talk' => $qb->expr()->literal(true),
- 'uid_owner' => $qb->expr()->literal('shareOwner'),
+ 'uid_owner' => $qb->expr()->literal('shareOwner'),
'uid_initiator' => $qb->expr()->literal('sharedBy'),
- 'item_type' => $qb->expr()->literal('file'),
- 'file_source' => $qb->expr()->literal(42),
- 'file_target' => $qb->expr()->literal('myTarget'),
- 'permissions' => $qb->expr()->literal(13),
- 'token' => $qb->expr()->literal('secrettoken'),
+ 'item_type' => $qb->expr()->literal('file'),
+ 'file_source' => $qb->expr()->literal(42),
+ 'file_target' => $qb->expr()->literal('myTarget'),
+ 'permissions' => $qb->expr()->literal(13),
+ 'token' => $qb->expr()->literal('secrettoken'),
]);
$qb->execute();
$id = $qb->getLastInsertId();
@@ -925,7 +925,7 @@ class DefaultShareProviderTest extends \Test\TestCase {
'share_with' => $qb->expr()->literal('sharedWith'),
'uid_owner' => $qb->expr()->literal('shareOwner'),
'uid_initiator' => $qb->expr()->literal('sharedBy'),
- 'item_type' => $qb->expr()->literal('file'),
+ 'item_type' => $qb->expr()->literal('file'),
'file_source' => $qb->expr()->literal($fileId),
'file_target' => $qb->expr()->literal('myTarget'),
'permissions' => $qb->expr()->literal(13),
@@ -940,7 +940,7 @@ class DefaultShareProviderTest extends \Test\TestCase {
'share_with' => $qb->expr()->literal('sharedWith2'),
'uid_owner' => $qb->expr()->literal('shareOwner2'),
'uid_initiator' => $qb->expr()->literal('sharedBy2'),
- 'item_type' => $qb->expr()->literal('file2'),
+ 'item_type' => $qb->expr()->literal('file2'),
'file_source' => $qb->expr()->literal($fileId2),
'file_target' => $qb->expr()->literal('myTarget2'),
'permissions' => $qb->expr()->literal(14),
@@ -976,7 +976,7 @@ class DefaultShareProviderTest extends \Test\TestCase {
'share_with' => $qb->expr()->literal('sharedWith'),
'uid_owner' => $qb->expr()->literal('shareOwner2'),
'uid_initiator' => $qb->expr()->literal('sharedBy2'),
- 'item_type' => $qb->expr()->literal('file'),
+ 'item_type' => $qb->expr()->literal('file'),
'file_source' => $qb->expr()->literal($fileId2),
'file_target' => $qb->expr()->literal('myTarget2'),
'permissions' => $qb->expr()->literal(14),
@@ -990,7 +990,7 @@ class DefaultShareProviderTest extends \Test\TestCase {
'share_with' => $qb->expr()->literal('sharedWith'),
'uid_owner' => $qb->expr()->literal('shareOwner'),
'uid_initiator' => $qb->expr()->literal('sharedBy'),
- 'item_type' => $qb->expr()->literal('file'),
+ 'item_type' => $qb->expr()->literal('file'),
'file_source' => $qb->expr()->literal($fileId),
'file_target' => $qb->expr()->literal('myTarget'),
'permissions' => $qb->expr()->literal(13),
@@ -1047,7 +1047,7 @@ class DefaultShareProviderTest extends \Test\TestCase {
'share_with' => $qb->expr()->literal('sharedWith'),
'uid_owner' => $qb->expr()->literal('shareOwner'),
'uid_initiator' => $qb->expr()->literal('sharedBy'),
- 'item_type' => $qb->expr()->literal('file'),
+ 'item_type' => $qb->expr()->literal('file'),
'file_source' => $qb->expr()->literal($fileId),
'file_target' => $qb->expr()->literal('myTarget'),
'permissions' => $qb->expr()->literal(13),
@@ -1065,7 +1065,7 @@ class DefaultShareProviderTest extends \Test\TestCase {
'share_with' => $qb->expr()->literal('user2'),
'uid_owner' => $qb->expr()->literal('shareOwner'),
'uid_initiator' => $qb->expr()->literal('sharedBy'),
- 'item_type' => $qb->expr()->literal('file'),
+ 'item_type' => $qb->expr()->literal('file'),
'file_source' => $qb->expr()->literal($fileId),
'file_target' => $qb->expr()->literal('wrongTarget'),
'permissions' => $qb->expr()->literal(31),
@@ -1083,7 +1083,7 @@ class DefaultShareProviderTest extends \Test\TestCase {
'share_with' => $qb->expr()->literal('user'),
'uid_owner' => $qb->expr()->literal('shareOwner'),
'uid_initiator' => $qb->expr()->literal('sharedBy'),
- 'item_type' => $qb->expr()->literal('file'),
+ 'item_type' => $qb->expr()->literal('file'),
'file_source' => $qb->expr()->literal($fileId),
'file_target' => $qb->expr()->literal('userTarget'),
'permissions' => $qb->expr()->literal(0),
@@ -1235,7 +1235,7 @@ class DefaultShareProviderTest extends \Test\TestCase {
'share_with' => $qb->expr()->literal('sharedWith'),
'uid_owner' => $qb->expr()->literal('shareOwner'),
'uid_initiator' => $qb->expr()->literal('sharedBy'),
- 'item_type' => $qb->expr()->literal('file'),
+ 'item_type' => $qb->expr()->literal('file'),
'file_source' => $qb->expr()->literal($deletedFileId),
'file_target' => $qb->expr()->literal('myTarget'),
'permissions' => $qb->expr()->literal(13),
@@ -1279,7 +1279,7 @@ class DefaultShareProviderTest extends \Test\TestCase {
'share_with' => $qb->expr()->literal('sharedWith'),
'uid_owner' => $qb->expr()->literal('shareOwner'),
'uid_initiator' => $qb->expr()->literal('sharedBy'),
- 'item_type' => $qb->expr()->literal('file'),
+ 'item_type' => $qb->expr()->literal('file'),
'file_source' => $qb->expr()->literal(42),
'file_target' => $qb->expr()->literal('myTarget'),
'permissions' => $qb->expr()->literal(13),
@@ -1294,7 +1294,7 @@ class DefaultShareProviderTest extends \Test\TestCase {
'share_with' => $qb->expr()->literal('sharedWith'),
'uid_owner' => $qb->expr()->literal('shareOwner'),
'uid_initiator' => $qb->expr()->literal('sharedBy2'),
- 'item_type' => $qb->expr()->literal('file'),
+ 'item_type' => $qb->expr()->literal('file'),
'file_source' => $qb->expr()->literal(42),
'file_target' => $qb->expr()->literal('userTarget'),
'permissions' => $qb->expr()->literal(0),
@@ -1328,7 +1328,7 @@ class DefaultShareProviderTest extends \Test\TestCase {
'share_with' => $qb->expr()->literal('sharedWith'),
'uid_owner' => $qb->expr()->literal('shareOwner'),
'uid_initiator' => $qb->expr()->literal('sharedBy'),
- 'item_type' => $qb->expr()->literal('file'),
+ 'item_type' => $qb->expr()->literal('file'),
'file_source' => $qb->expr()->literal(42),
'file_target' => $qb->expr()->literal('myTarget'),
'permissions' => $qb->expr()->literal(13),
@@ -1343,7 +1343,7 @@ class DefaultShareProviderTest extends \Test\TestCase {
'share_with' => $qb->expr()->literal('sharedWith'),
'uid_owner' => $qb->expr()->literal('shareOwner'),
'uid_initiator' => $qb->expr()->literal('sharedBy'),
- 'item_type' => $qb->expr()->literal('file'),
+ 'item_type' => $qb->expr()->literal('file'),
'file_source' => $qb->expr()->literal(43),
'file_target' => $qb->expr()->literal('userTarget'),
'permissions' => $qb->expr()->literal(0),
@@ -1433,14 +1433,14 @@ class DefaultShareProviderTest extends \Test\TestCase {
$qb = $this->dbConn->getQueryBuilder();
$stmt = $qb->insert('share')
->values([
- 'share_type' => $qb->expr()->literal(IShare::TYPE_GROUP),
- 'share_with' => $qb->expr()->literal('group'),
- 'uid_owner' => $qb->expr()->literal('user1'),
+ 'share_type' => $qb->expr()->literal(IShare::TYPE_GROUP),
+ 'share_with' => $qb->expr()->literal('group'),
+ 'uid_owner' => $qb->expr()->literal('user1'),
'uid_initiator' => $qb->expr()->literal('user1'),
- 'item_type' => $qb->expr()->literal('file'),
- 'file_source' => $qb->expr()->literal(1),
- 'file_target' => $qb->expr()->literal('myTarget1'),
- 'permissions' => $qb->expr()->literal(2)
+ 'item_type' => $qb->expr()->literal('file'),
+ 'file_source' => $qb->expr()->literal(1),
+ 'file_target' => $qb->expr()->literal('myTarget1'),
+ 'permissions' => $qb->expr()->literal(2)
])->execute();
$this->assertEquals(1, $stmt);
$id = $qb->getLastInsertId();
@@ -1489,14 +1489,14 @@ class DefaultShareProviderTest extends \Test\TestCase {
$qb = $this->dbConn->getQueryBuilder();
$stmt = $qb->insert('share')
->values([
- 'share_type' => $qb->expr()->literal(IShare::TYPE_GROUP),
- 'share_with' => $qb->expr()->literal('group'),
- 'uid_owner' => $qb->expr()->literal('user1'),
+ 'share_type' => $qb->expr()->literal(IShare::TYPE_GROUP),
+ 'share_with' => $qb->expr()->literal('group'),
+ 'uid_owner' => $qb->expr()->literal('user1'),
'uid_initiator' => $qb->expr()->literal('user1'),
- 'item_type' => $qb->expr()->literal('file'),
- 'file_source' => $qb->expr()->literal(1),
- 'file_target' => $qb->expr()->literal('myTarget1'),
- 'permissions' => $qb->expr()->literal(2)
+ 'item_type' => $qb->expr()->literal('file'),
+ 'file_source' => $qb->expr()->literal(1),
+ 'file_target' => $qb->expr()->literal('myTarget1'),
+ 'permissions' => $qb->expr()->literal(2)
])->execute();
$this->assertEquals(1, $stmt);
$id = $qb->getLastInsertId();
@@ -1504,15 +1504,15 @@ class DefaultShareProviderTest extends \Test\TestCase {
$qb = $this->dbConn->getQueryBuilder();
$stmt = $qb->insert('share')
->values([
- 'share_type' => $qb->expr()->literal(2),
- 'share_with' => $qb->expr()->literal('user2'),
- 'uid_owner' => $qb->expr()->literal('user1'),
+ 'share_type' => $qb->expr()->literal(2),
+ 'share_with' => $qb->expr()->literal('user2'),
+ 'uid_owner' => $qb->expr()->literal('user1'),
'uid_initiator' => $qb->expr()->literal('user1'),
- 'item_type' => $qb->expr()->literal('file'),
- 'file_source' => $qb->expr()->literal(1),
- 'file_target' => $qb->expr()->literal('myTarget1'),
- 'permissions' => $qb->expr()->literal(2),
- 'parent' => $qb->expr()->literal($id),
+ 'item_type' => $qb->expr()->literal('file'),
+ 'file_source' => $qb->expr()->literal(1),
+ 'file_target' => $qb->expr()->literal('myTarget1'),
+ 'permissions' => $qb->expr()->literal(2),
+ 'parent' => $qb->expr()->literal($id),
])->execute();
$this->assertEquals(1, $stmt);
@@ -1564,14 +1564,14 @@ class DefaultShareProviderTest extends \Test\TestCase {
$qb = $this->dbConn->getQueryBuilder();
$stmt = $qb->insert('share')
->values([
- 'share_type' => $qb->expr()->literal(IShare::TYPE_GROUP),
- 'share_with' => $qb->expr()->literal('group'),
- 'uid_owner' => $qb->expr()->literal('user1'),
+ 'share_type' => $qb->expr()->literal(IShare::TYPE_GROUP),
+ 'share_with' => $qb->expr()->literal('group'),
+ 'uid_owner' => $qb->expr()->literal('user1'),
'uid_initiator' => $qb->expr()->literal('user1'),
- 'item_type' => $qb->expr()->literal('file'),
- 'file_source' => $qb->expr()->literal(1),
- 'file_target' => $qb->expr()->literal('myTarget1'),
- 'permissions' => $qb->expr()->literal(2)
+ 'item_type' => $qb->expr()->literal('file'),
+ 'file_source' => $qb->expr()->literal(1),
+ 'file_target' => $qb->expr()->literal('myTarget1'),
+ 'permissions' => $qb->expr()->literal(2)
])->execute();
$this->assertEquals(1, $stmt);
$id = $qb->getLastInsertId();
@@ -1609,14 +1609,14 @@ class DefaultShareProviderTest extends \Test\TestCase {
$qb = $this->dbConn->getQueryBuilder();
$stmt = $qb->insert('share')
->values([
- 'share_type' => $qb->expr()->literal(IShare::TYPE_GROUP),
- 'share_with' => $qb->expr()->literal('group'),
- 'uid_owner' => $qb->expr()->literal('user1'),
+ 'share_type' => $qb->expr()->literal(IShare::TYPE_GROUP),
+ 'share_with' => $qb->expr()->literal('group'),
+ 'uid_owner' => $qb->expr()->literal('user1'),
'uid_initiator' => $qb->expr()->literal('user1'),
- 'item_type' => $qb->expr()->literal('file'),
- 'file_source' => $qb->expr()->literal(1),
- 'file_target' => $qb->expr()->literal('myTarget1'),
- 'permissions' => $qb->expr()->literal(2)
+ 'item_type' => $qb->expr()->literal('file'),
+ 'file_source' => $qb->expr()->literal(1),
+ 'file_target' => $qb->expr()->literal('myTarget1'),
+ 'permissions' => $qb->expr()->literal(2)
])->execute();
$this->assertEquals(1, $stmt);
$id = $qb->getLastInsertId();
@@ -1647,14 +1647,14 @@ class DefaultShareProviderTest extends \Test\TestCase {
$qb = $this->dbConn->getQueryBuilder();
$stmt = $qb->insert('share')
->values([
- 'share_type' => $qb->expr()->literal(IShare::TYPE_USER),
- 'share_with' => $qb->expr()->literal('user2'),
- 'uid_owner' => $qb->expr()->literal('user1'),
+ 'share_type' => $qb->expr()->literal(IShare::TYPE_USER),
+ 'share_with' => $qb->expr()->literal('user2'),
+ 'uid_owner' => $qb->expr()->literal('user1'),
'uid_initiator' => $qb->expr()->literal('user1'),
- 'item_type' => $qb->expr()->literal('file'),
- 'file_source' => $qb->expr()->literal(1),
- 'file_target' => $qb->expr()->literal('myTarget1'),
- 'permissions' => $qb->expr()->literal(2)
+ 'item_type' => $qb->expr()->literal('file'),
+ 'file_source' => $qb->expr()->literal(1),
+ 'file_target' => $qb->expr()->literal('myTarget1'),
+ 'permissions' => $qb->expr()->literal(2)
])->execute();
$this->assertEquals(1, $stmt);
$id = $qb->getLastInsertId();
@@ -1700,14 +1700,14 @@ class DefaultShareProviderTest extends \Test\TestCase {
$qb = $this->dbConn->getQueryBuilder();
$stmt = $qb->insert('share')
->values([
- 'share_type' => $qb->expr()->literal(IShare::TYPE_USER),
- 'share_with' => $qb->expr()->literal('user2'),
- 'uid_owner' => $qb->expr()->literal('user1'),
+ 'share_type' => $qb->expr()->literal(IShare::TYPE_USER),
+ 'share_with' => $qb->expr()->literal('user2'),
+ 'uid_owner' => $qb->expr()->literal('user1'),
'uid_initiator' => $qb->expr()->literal('user1'),
- 'item_type' => $qb->expr()->literal('file'),
- 'file_source' => $qb->expr()->literal(1),
- 'file_target' => $qb->expr()->literal('myTarget1'),
- 'permissions' => $qb->expr()->literal(2)
+ 'item_type' => $qb->expr()->literal('file'),
+ 'file_source' => $qb->expr()->literal(1),
+ 'file_target' => $qb->expr()->literal('myTarget1'),
+ 'permissions' => $qb->expr()->literal(2)
])->execute();
$this->assertEquals(1, $stmt);
$id = $qb->getLastInsertId();
@@ -2770,11 +2770,11 @@ class DefaultShareProviderTest extends \Test\TestCase {
$qb->insert('share')
->values([
- 'share_type' => $qb->expr()->literal(IShare::TYPE_USER),
- 'share_with' => $qb->expr()->literal('sharedWith1'),
- 'uid_owner' => $qb->expr()->literal('shareOwner1'),
+ 'share_type' => $qb->expr()->literal(IShare::TYPE_USER),
+ 'share_with' => $qb->expr()->literal('sharedWith1'),
+ 'uid_owner' => $qb->expr()->literal('shareOwner1'),
'uid_initiator' => $qb->expr()->literal('sharedBy1'),
- 'item_type' => $qb->expr()->literal('file'),
+ 'item_type' => $qb->expr()->literal('file'),
'file_source' => $qb->expr()->literal(42),
'file_target' => $qb->expr()->literal('myTarget1'),
'permissions' => $qb->expr()->literal(13),
@@ -2785,11 +2785,11 @@ class DefaultShareProviderTest extends \Test\TestCase {
$qb->insert('share')
->values([
- 'share_type' => $qb->expr()->literal(IShare::TYPE_GROUP),
- 'share_with' => $qb->expr()->literal('sharedWith2'),
- 'uid_owner' => $qb->expr()->literal('shareOwner2'),
+ 'share_type' => $qb->expr()->literal(IShare::TYPE_GROUP),
+ 'share_with' => $qb->expr()->literal('sharedWith2'),
+ 'uid_owner' => $qb->expr()->literal('shareOwner2'),
'uid_initiator' => $qb->expr()->literal('sharedBy2'),
- 'item_type' => $qb->expr()->literal('file'),
+ 'item_type' => $qb->expr()->literal('file'),
'file_source' => $qb->expr()->literal(43),
'file_target' => $qb->expr()->literal('myTarget2'),
'permissions' => $qb->expr()->literal(14),
@@ -2800,11 +2800,11 @@ class DefaultShareProviderTest extends \Test\TestCase {
$qb->insert('share')
->values([
- 'share_type' => $qb->expr()->literal(IShare::TYPE_LINK),
- 'token' => $qb->expr()->literal('token3'),
- 'uid_owner' => $qb->expr()->literal('shareOwner3'),
+ 'share_type' => $qb->expr()->literal(IShare::TYPE_LINK),
+ 'token' => $qb->expr()->literal('token3'),
+ 'uid_owner' => $qb->expr()->literal('shareOwner3'),
'uid_initiator' => $qb->expr()->literal('sharedBy3'),
- 'item_type' => $qb->expr()->literal('file'),
+ 'item_type' => $qb->expr()->literal('file'),
'file_source' => $qb->expr()->literal(44),
'file_target' => $qb->expr()->literal('myTarget3'),
'permissions' => $qb->expr()->literal(15),
@@ -2815,12 +2815,12 @@ class DefaultShareProviderTest extends \Test\TestCase {
$qb->insert('share')
->values([
- 'share_type' => $qb->expr()->literal(IShare::TYPE_EMAIL),
- 'share_with' => $qb->expr()->literal('shareOwner4'),
- 'token' => $qb->expr()->literal('token4'),
- 'uid_owner' => $qb->expr()->literal('shareOwner4'),
+ 'share_type' => $qb->expr()->literal(IShare::TYPE_EMAIL),
+ 'share_with' => $qb->expr()->literal('shareOwner4'),
+ 'token' => $qb->expr()->literal('token4'),
+ 'uid_owner' => $qb->expr()->literal('shareOwner4'),
'uid_initiator' => $qb->expr()->literal('sharedBy4'),
- 'item_type' => $qb->expr()->literal('file'),
+ 'item_type' => $qb->expr()->literal('file'),
'file_source' => $qb->expr()->literal(45),
'file_target' => $qb->expr()->literal('myTarget4'),
'permissions' => $qb->expr()->literal(16),
@@ -2831,11 +2831,11 @@ class DefaultShareProviderTest extends \Test\TestCase {
$qb->insert('share')
->values([
- 'share_type' => $qb->expr()->literal(IShare::TYPE_LINK),
- 'token' => $qb->expr()->literal('token5'),
- 'uid_owner' => $qb->expr()->literal('shareOwner5'),
+ 'share_type' => $qb->expr()->literal(IShare::TYPE_LINK),
+ 'token' => $qb->expr()->literal('token5'),
+ 'uid_owner' => $qb->expr()->literal('shareOwner5'),
'uid_initiator' => $qb->expr()->literal('sharedBy5'),
- 'item_type' => $qb->expr()->literal('file'),
+ 'item_type' => $qb->expr()->literal('file'),
'file_source' => $qb->expr()->literal(46),
'file_target' => $qb->expr()->literal('myTarget5'),
'permissions' => $qb->expr()->literal(17),
diff --git a/tests/lib/Share20/ManagerTest.php b/tests/lib/Share20/ManagerTest.php
index 58f96c418b8..a33740834f5 100644
--- a/tests/lib/Share20/ManagerTest.php
+++ b/tests/lib/Share20/ManagerTest.php
@@ -1086,7 +1086,7 @@ class ManagerTest extends \Test\TestCase {
$this->expectException(\Exception::class);
$this->expectExceptionMessage('Path is already shared with this user');
- $share = $this->manager->newShare();
+ $share = $this->manager->newShare();
$share2 = $this->manager->newShare();
$sharedWith = $this->createMock(IUser::class);
@@ -1111,7 +1111,7 @@ class ManagerTest extends \Test\TestCase {
$this->expectException(\Exception::class);
$this->expectExceptionMessage('Path is already shared with this user');
- $share = $this->manager->newShare();
+ $share = $this->manager->newShare();
$sharedWith = $this->createMock(IUser::class);
$sharedWith->method('getUID')->willReturn('sharedWith');
@@ -1149,7 +1149,7 @@ class ManagerTest extends \Test\TestCase {
}
public function testUserCreateChecksIdenticalPathSharedViaDeletedGroup() {
- $share = $this->manager->newShare();
+ $share = $this->manager->newShare();
$sharedWith = $this->createMock(IUser::class);
$sharedWith->method('getUID')->willReturn('sharedWith');
diff --git a/tests/lib/Template/CSSResourceLocatorTest.php b/tests/lib/Template/CSSResourceLocatorTest.php
index 42fa06a474d..3f377f9daa4 100644
--- a/tests/lib/Template/CSSResourceLocatorTest.php
+++ b/tests/lib/Template/CSSResourceLocatorTest.php
@@ -85,8 +85,8 @@ class CSSResourceLocatorTest extends \Test\TestCase {
return new CSSResourceLocator(
$this->logger,
'theme',
- ['core'=>'map'],
- ['3rd'=>'party'],
+ ['core' => 'map'],
+ ['3rd' => 'party'],
$scssCacher
);
}
diff --git a/tests/lib/Template/JSResourceLocatorTest.php b/tests/lib/Template/JSResourceLocatorTest.php
index cdc3606f020..e3e1398dd17 100644
--- a/tests/lib/Template/JSResourceLocatorTest.php
+++ b/tests/lib/Template/JSResourceLocatorTest.php
@@ -64,8 +64,8 @@ class JSResourceLocatorTest extends \Test\TestCase {
return new JSResourceLocator(
$this->logger,
'theme',
- ['core'=>'map'],
- ['3rd'=>'party'],
+ ['core' => 'map'],
+ ['3rd' => 'party'],
$jsCombiner
);
}
diff --git a/tests/lib/Template/ResourceLocatorTest.php b/tests/lib/Template/ResourceLocatorTest.php
index d23d17778d4..04691451079 100644
--- a/tests/lib/Template/ResourceLocatorTest.php
+++ b/tests/lib/Template/ResourceLocatorTest.php
@@ -48,7 +48,7 @@ class ResourceLocatorTest extends \Test\TestCase {
public function testFindNotFound() {
$locator = $this->getResourceLocator('theme',
- ['core'=>'map'], ['3rd'=>'party'], ['foo'=>'bar']);
+ ['core' => 'map'], ['3rd' => 'party'], ['foo' => 'bar']);
$locator->expects($this->once())
->method('doFind')
->with('foo')
@@ -66,7 +66,7 @@ class ResourceLocatorTest extends \Test\TestCase {
public function testAppendIfExist() {
$locator = $this->getResourceLocator('theme',
- [__DIR__=>'map'], ['3rd'=>'party'], ['foo'=>'bar']);
+ [__DIR__ => 'map'], ['3rd' => 'party'], ['foo' => 'bar']);
/** @var \OC\Template\ResourceLocator $locator */
$method = new \ReflectionMethod($locator, 'appendIfExist');
$method->setAccessible(true);
diff --git a/tests/lib/Updater/ChangesCheckTest.php b/tests/lib/Updater/ChangesCheckTest.php
index 1daff9ce1fb..223cbb45f66 100644
--- a/tests/lib/Updater/ChangesCheckTest.php
+++ b/tests/lib/Updater/ChangesCheckTest.php
@@ -311,7 +311,7 @@ class ChangesCheckTest extends TestCase {
->method('__call')
->willReturn($etag);
- $expectedHeaders = $etag === '' ? [] : ['If-None-Match' => [$etag]];
+ $expectedHeaders = $etag === '' ? [] : ['If-None-Match' => [$etag]];
$client = $this->createMock(IClient::class);
$client->expects($this->once())
diff --git a/tests/lib/User/Backend.php b/tests/lib/User/Backend.php
index 3fb08777abb..fd87da72364 100644
--- a/tests/lib/User/Backend.php
+++ b/tests/lib/User/Backend.php
@@ -49,31 +49,31 @@ abstract class Backend extends \Test\TestCase {
public function testAddRemove() {
//get the number of groups we start with, in case there are exising groups
- $startCount=count($this->backend->getUsers());
+ $startCount = count($this->backend->getUsers());
- $name1=$this->getUser();
- $name2=$this->getUser();
+ $name1 = $this->getUser();
+ $name2 = $this->getUser();
$this->backend->createUser($name1, '');
- $count=count($this->backend->getUsers())-$startCount;
+ $count = count($this->backend->getUsers()) - $startCount;
$this->assertEquals(1, $count);
- $this->assertTrue((array_search($name1, $this->backend->getUsers())!==false));
- $this->assertFalse((array_search($name2, $this->backend->getUsers())!==false));
+ $this->assertTrue((array_search($name1, $this->backend->getUsers()) !== false));
+ $this->assertFalse((array_search($name2, $this->backend->getUsers()) !== false));
$this->backend->createUser($name2, '');
- $count=count($this->backend->getUsers())-$startCount;
+ $count = count($this->backend->getUsers()) - $startCount;
$this->assertEquals(2, $count);
- $this->assertTrue((array_search($name1, $this->backend->getUsers())!==false));
- $this->assertTrue((array_search($name2, $this->backend->getUsers())!==false));
+ $this->assertTrue((array_search($name1, $this->backend->getUsers()) !== false));
+ $this->assertTrue((array_search($name2, $this->backend->getUsers()) !== false));
$this->backend->deleteUser($name2);
- $count=count($this->backend->getUsers())-$startCount;
+ $count = count($this->backend->getUsers()) - $startCount;
$this->assertEquals(1, $count);
- $this->assertTrue((array_search($name1, $this->backend->getUsers())!==false));
- $this->assertFalse((array_search($name2, $this->backend->getUsers())!==false));
+ $this->assertTrue((array_search($name1, $this->backend->getUsers()) !== false));
+ $this->assertFalse((array_search($name2, $this->backend->getUsers()) !== false));
}
public function testLogin() {
- $name1=$this->getUser();
- $name2=$this->getUser();
+ $name1 = $this->getUser();
+ $name2 = $this->getUser();
$this->assertFalse($this->backend->userExists($name1));
$this->assertFalse($this->backend->userExists($name2));
diff --git a/tests/lib/User/DatabaseTest.php b/tests/lib/User/DatabaseTest.php
index 1c63190890b..6eb4466c69d 100644
--- a/tests/lib/User/DatabaseTest.php
+++ b/tests/lib/User/DatabaseTest.php
@@ -43,7 +43,7 @@ class DatabaseTest extends Backend {
public function getUser() {
$user = parent::getUser();
- $this->users[]=$user;
+ $this->users[] = $user;
return $user;
}
@@ -52,7 +52,7 @@ class DatabaseTest extends Backend {
$this->eventDispatcher = $this->createMock(IEventDispatcher::class);
- $this->backend=new \OC\User\Database($this->eventDispatcher);
+ $this->backend = new \OC\User\Database($this->eventDispatcher);
}
protected function tearDown(): void {
diff --git a/tests/lib/User/Dummy.php b/tests/lib/User/Dummy.php
index a543e7e58b6..a9e4a2936a7 100644
--- a/tests/lib/User/Dummy.php
+++ b/tests/lib/User/Dummy.php
@@ -25,6 +25,6 @@ namespace Test\User;
class Dummy extends Backend {
protected function setUp(): void {
parent::setUp();
- $this->backend=new \Test\Util\User\Dummy();
+ $this->backend = new \Test\Util\User\Dummy();
}
}
diff --git a/tests/lib/Util/Group/Dummy.php b/tests/lib/Util/Group/Dummy.php
index 293c8f48945..3735a5e1167 100644
--- a/tests/lib/Util/Group/Dummy.php
+++ b/tests/lib/Util/Group/Dummy.php
@@ -35,7 +35,7 @@ use OC\Group\Backend;
* dummy group backend, does not keep state, only for testing use
*/
class Dummy extends Backend {
- private $groups=[];
+ private $groups = [];
/**
* Try to create a new group
* @param string $gid The name of the group to create
@@ -46,7 +46,7 @@ class Dummy extends Backend {
*/
public function createGroup($gid) {
if (!isset($this->groups[$gid])) {
- $this->groups[$gid]=[];
+ $this->groups[$gid] = [];
return true;
} else {
return false;
@@ -79,7 +79,7 @@ class Dummy extends Backend {
*/
public function inGroup($uid, $gid) {
if (isset($this->groups[$gid])) {
- return (array_search($uid, $this->groups[$gid])!==false);
+ return (array_search($uid, $this->groups[$gid]) !== false);
} else {
return false;
}
@@ -95,8 +95,8 @@ class Dummy extends Backend {
*/
public function addToGroup($uid, $gid) {
if (isset($this->groups[$gid])) {
- if (array_search($uid, $this->groups[$gid])===false) {
- $this->groups[$gid][]=$uid;
+ if (array_search($uid, $this->groups[$gid]) === false) {
+ $this->groups[$gid][] = $uid;
return true;
} else {
return false;
@@ -116,7 +116,7 @@ class Dummy extends Backend {
*/
public function removeFromGroup($uid, $gid) {
if (isset($this->groups[$gid])) {
- if (($index=array_search($uid, $this->groups[$gid]))!==false) {
+ if (($index = array_search($uid, $this->groups[$gid])) !== false) {
unset($this->groups[$gid][$index]);
return true;
} else {
@@ -136,11 +136,11 @@ class Dummy extends Backend {
* if the user exists at all.
*/
public function getUserGroups($uid) {
- $groups=[];
- $allGroups=array_keys($this->groups);
+ $groups = [];
+ $allGroups = array_keys($this->groups);
foreach ($allGroups as $group) {
if ($this->inGroup($uid, $group)) {
- $groups[]=$group;
+ $groups[] = $group;
}
}
return $groups;
diff --git a/tests/preseed-config.php b/tests/preseed-config.php
index fdea46230c3..97c8a1d11a8 100644
--- a/tests/preseed-config.php
+++ b/tests/preseed-config.php
@@ -4,9 +4,9 @@ $CONFIG = [
'appstoreenabled' => false,
'apps_paths' => [
[
- 'path' => OC::$SERVERROOT . '/apps',
- 'url' => '/apps',
- 'writable' => true,
+ 'path' => OC::$SERVERROOT . '/apps',
+ 'url' => '/apps',
+ 'writable' => true,
],
],
];