It's only reasonable to have proper type hinting here which might even help us to catch bugs.
namespace OCA\Files;
+use OCP\Files\FileInfo;
+
/**
* Helper class for manipulating file information
*/
* @param \OCP\Files\FileInfo $b file
* @return int -1 if $a must come before $b, 1 otherwise
*/
- public static function compareFileNames($a, $b) {
+ public static function compareFileNames(FileInfo $a, FileInfo $b) {
$aType = $a->getType();
$bType = $b->getType();
if ($aType === 'dir' and $bType !== 'dir') {
* @param \OCP\Files\FileInfo $b file
* @return int -1 if $a must come before $b, 1 otherwise
*/
- public static function compareTimestamp($a, $b) {
+ public static function compareTimestamp(FileInfo $a, FileInfo $b) {
$aTime = $a->getMTime();
$bTime = $b->getMTime();
return $aTime - $bTime;
* @param \OCP\Files\FileInfo $b file
* @return int -1 if $a must come before $b, 1 otherwise
*/
- public static function compareSize($a, $b) {
+ public static function compareSize(FileInfo $a, FileInfo $b) {
$aSize = $a->getSize();
$bSize = $b->getSize();
return ($aSize < $bSize) ? -1 : 1;
* @param \OCP\Files\FileInfo $i
* @return array formatted file info
*/
- public static function formatFileInfo($i) {
+ public static function formatFileInfo(FileInfo $i) {
$entry = array();
$entry['id'] = $i['fileid'];
/**
* Format file info for JSON
* @param \OCP\Files\FileInfo[] $fileInfos file infos
+ * @return array
*/
public static function formatFileInfos($fileInfos) {
$files = array();
* @param string $password
* @return bool
*/
- public static function setupUser($util, $password) {
+ public static function setupUser(Util $util, $password) {
// Check files_encryption infrastructure is ready for action
if (!$util->ready()) {
* @param string $path
* @param \OC\Files\View $view
*/
- public static function mkdirr($path, $view) {
+ public static function mkdirr($path, \OC\Files\View $view) {
$dirname = \OC\Files\Filesystem::normalizePath(dirname($path));
$dirParts = explode('/', $dirname);
$dir = "";
/**
* redirect to a error page
* @param Session $session
+ * @param int|null $errorCode
+ * @throws \Exception
*/
- public static function redirectToErrorPage($session, $errorCode = null) {
+ public static function redirectToErrorPage(Session $session, $errorCode = null) {
if ($errorCode === null) {
$init = $session->getInitialized();
* @param \OC\Files\View $rootView root view, relative to data/
* @return array list of share key files, path relative to data/$user
*/
- public static function findShareKeys($filePath, $shareKeyPath, $rootView) {
+ public static function findShareKeys($filePath, $shareKeyPath, \OC\Files\View $rootView) {
$result = array();
$user = \OCP\User::getUser();
* @param string $backend
* @return string
*/
- private static function getSingleDependencyMessage($l, $module, $backend) {
+ private static function getSingleDependencyMessage(OC_L10N $l, $module, $backend) {
switch (strtolower($module)) {
case 'curl':
return $l->t('<b>Note:</b> The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it.', $backend);
* @param string $filename name of file once it was deleted
* @param string $uniqueFilename new file name to restore the file without overwriting existing files
* @param string $location location if file
- * @param int $timestamp deleteion time
- *
+ * @param int $timestamp deletion time
+ * @return bool
*/
- private static function restoreVersions($view, $file, $filename, $uniqueFilename, $location, $timestamp) {
+ private static function restoreVersions(\OC\Files\View $view, $file, $filename, $uniqueFilename, $location, $timestamp) {
if (\OCP\App::isEnabled('files_versions')) {
// disable proxy to prevent recursive calls
* @param string $filename name of file
* @param string $uniqueFilename new file name to restore the file without overwriting existing files
* @param string $location location of file
- * @param int $timestamp deleteion time
- *
+ * @param int $timestamp deletion time
+ * @return bool
*/
- private static function restoreEncryptionKeys($view, $file, $filename, $uniqueFilename, $location, $timestamp) {
+ private static function restoreEncryptionKeys(\OC\Files\View $view, $file, $filename, $uniqueFilename, $location, $timestamp) {
// Take care of encryption keys TODO! Get '.key' in file between file name and delete date (also for permanent delete!)
if (\OCP\App::isEnabled('files_encryption')) {
$user = \OCP\User::getUser();
/**
* @param \OC\Files\View $view
+ * @param $file
+ * @param $filename
+ * @param $timestamp
+ * @return int
*/
- private static function deleteVersions($view, $file, $filename, $timestamp) {
+ private static function deleteVersions(\OC\Files\View $view, $file, $filename, $timestamp) {
$size = 0;
if (\OCP\App::isEnabled('files_versions')) {
$user = \OCP\User::getUser();
/**
* @param \OC\Files\View $view
+ * @param $file
+ * @param $filename
+ * @param $timestamp
+ * @return int
*/
- private static function deleteEncryptionKeys($view, $file, $filename, $timestamp) {
+ private static function deleteEncryptionKeys(\OC\Files\View $view, $file, $filename, $timestamp) {
$size = 0;
if (\OCP\App::isEnabled('files_encryption')) {
$user = \OCP\User::getUser();
* @param string $source source path, relative to the users files directory
* @param string $destination destination path relative to the users root directoy
* @param \OC\Files\View $view file view for the users root directory
+ * @return int
+ * @throws Exceptions\CopyRecursiveException
*/
- private static function copy_recursive($source, $destination, $view) {
+ private static function copy_recursive($source, $destination, \OC\Files\View $view) {
$size = 0;
if ($view->is_dir($source)) {
$view->mkdir($destination);
* @param \OC\Files\View $view filesystem view relative to users root directory
* @return string with unique extension
*/
- private static function getUniqueFilename($location, $filename, $view) {
+ private static function getUniqueFilename($location, $filename, \OC\Files\View $view) {
$ext = pathinfo($filename, PATHINFO_EXTENSION);
$name = pathinfo($filename, PATHINFO_FILENAME);
$l = \OC::$server->getL10N('files_trashbin');
/**
* check if trash bin is empty for a given user
* @param string $user
+ * @return bool
*/
public static function isEmpty($user) {
return true;
}
+ /**
+ * @param $path
+ * @return string
+ */
public static function preview_icon($path) {
return \OC_Helper::linkToRoute('core_ajax_trashbin_preview', array('x' => 36, 'y' => 36, 'file' => $path));
}
* @param \Doctrine\DBAL\Schema\Schema $schema
* @return bool
*/
- private function executeSchemaChange($schema) {
+ private function executeSchemaChange(\Doctrine\DBAL\Schema\Schema $schema) {
$this->conn->beginTransaction();
foreach ($schema->toSql($this->conn->getDatabasePlatform()) as $sql) {
$this->conn->query($sql);
* @param ZipStreamer $zip
* @param string $internalDir
*/
- public static function zipAddDir($dir, $zip, $internalDir='') {
+ public static function zipAddDir($dir, ZipStreamer $zip, $internalDir='') {
$dirname=basename($dir);
$rootDir = $internalDir.$dirname;
if (!empty($rootDir)) {
/**
* @param Mount $mount
*/
- public function addMount($mount) {
+ public function addMount(Mount $mount) {
$this->mounts[$mount->getMountPoint()] = $mount;
}
* @param \OC\Files\FileInfo $file
* @return bool
*/
- public static function isAvailable($file) {
+ public static function isAvailable(\OC\Files\FileInfo $file) {
if (!\OC_Config::getValue('enable_previews', true)) {
return false;
}
$this->registerService('PreviewManager', function ($c) {
return new PreviewManager();
});
- $this->registerService('TagMapper', function($c) {
+ $this->registerService('TagMapper', function(Server $c) {
return new TagMapper($c->getDb());
});
- $this->registerService('TagManager', function ($c) {
+ $this->registerService('TagManager', function (Server $c) {
$tagMapper = $c->query('TagMapper');
$user = \OC_User::getUser();
return new TagManager($tagMapper, $user);
});
- $this->registerService('RootFolder', function ($c) {
+ $this->registerService('RootFolder', function (Server $c) {
// TODO: get user and user manager from container as well
$user = \OC_User::getUser();
/** @var $c SimpleContainer */
$view = new View();
return new Root($manager, $view, $user);
});
- $this->registerService('UserManager', function ($c) {
- /**
- * @var SimpleContainer $c
- * @var \OC\AllConfig $config
- */
- $config = $c->query('AllConfig');
+ $this->registerService('UserManager', function (Server $c) {
+ $config = $c->getConfig();
return new \OC\User\Manager($config);
});
- $this->registerService('GroupManager', function ($c) {
- /**
- * @var SimpleContainer $c
- * @var \OC\User\Manager $userManager
- */
- $userManager = $c->query('UserManager');
+ $this->registerService('GroupManager', function (Server $c) {
+ $userManager = $c->getUserManager();
return new \OC\Group\Manager($userManager);
});
- $this->registerService('UserSession', function ($c) {
- /**
- * @var SimpleContainer $c
- * @var \OC\User\Manager $manager
- */
- $manager = $c->query('UserManager');
+ $this->registerService('UserSession', function (Server $c) {
+ $manager = $c->getUserManager();
$userSession = new \OC\User\Session($manager, new \OC\Session\Memory(''));
$userSession->listen('\OC\User', 'preCreateUser', function ($uid, $password) {
\OC_Hook::emit('OC_User', 'pre_createUser', array('run' => true, 'uid' => $uid, 'password' => $password));
$this->registerService('L10NFactory', function ($c) {
return new \OC\L10N\Factory();
});
- $this->registerService('URLGenerator', function ($c) {
- /** @var $c SimpleContainer */
- $config = $c->query('AllConfig');
+ $this->registerService('URLGenerator', function (Server $c) {
+ $config = $c->getConfig();
return new \OC\URLGenerator($config);
});
$this->registerService('AppHelper', function ($c) {
$this->registerService('AvatarManager', function ($c) {
return new AvatarManager();
});
- $this->registerService('Logger', function ($c) {
+ $this->registerService('Logger', function (Server $c) {
/** @var $c SimpleContainer */
$logClass = $c->query('AllConfig')->getSystemValue('log_type', 'owncloud');
$logger = 'OC_Log_' . ucfirst($logClass);
return new Log($logger);
});
- $this->registerService('JobList', function ($c) {
- /**
- * @var Server $c
- */
+ $this->registerService('JobList', function (Server $c) {
$config = $c->getConfig();
return new \OC\BackgroundJob\JobList($c->getDatabaseConnection(), $config);
});
- $this->registerService('Router', function ($c) {
- /**
- * @var Server $c
- */
+ $this->registerService('Router', function (Server $c) {
$cacheFactory = $c->getMemCacheFactory();
if ($cacheFactory->isAvailable()) {
$router = new \OC\Route\CachingRouter($cacheFactory->create('route'));
$this->registerService('SecureRandom', function ($c) {
return new SecureRandom();
});
- $this->registerService('Crypto', function ($c) {
- return new Crypto(\OC::$server->getConfig(), \OC::$server->getSecureRandom());
+ $this->registerService('Crypto', function (Server $c) {
+ return new Crypto($c->getConfig(), $c->getSecureRandom());
});
- $this->registerService('DatabaseConnection', function ($c) {
- /**
- * @var Server $c
- */
+ $this->registerService('DatabaseConnection', function (Server $c) {
$factory = new \OC\DB\ConnectionFactory();
$type = $c->getConfig()->getSystemValue('dbtype', 'sqlite');
if (!$factory->isValidType($type)) {
$connection->getConfiguration()->setSQLLogger($c->getQueryLogger());
return $connection;
});
- $this->registerService('Db', function ($c) {
- /**
- * @var Server $c
- */
+ $this->registerService('Db', function (Server $c) {
return new Db($c->getDatabaseConnection());
});
- $this->registerService('HTTPHelper', function (SimpleContainer $c) {
- $config = $c->query('AllConfig');
+ $this->registerService('HTTPHelper', function (Server $c) {
+ $config = $c->getConfig();
return new HTTPHelper($config);
});
- $this->registerService('EventLogger', function ($c) {
- /** @var Server $c */
+ $this->registerService('EventLogger', function (Server $c) {
if (defined('DEBUG') and DEBUG) {
return new EventLogger();
} else {
* @param \OCP\IConfig $config
* @return array arrays with error messages and hints
*/
- public static function checkServer($config) {
+ public static function checkServer(\OCP\IConfig $config) {
$l = \OC::$server->getL10N('lib');
$errors = array();
$CONFIG_DATADIRECTORY = $config->getSystemValue('datadirectory', OC::$SERVERROOT . '/data');
* @param \OCP\IConfig $config
* @return bool whether the core or any app needs an upgrade
*/
- public static function needUpgrade($config) {
+ public static function needUpgrade(\OCP\IConfig $config) {
if ($config->getSystemValue('installed', false)) {
$installedVersion = $config->getSystemValue('version', '0.0.0');
$currentVersion = implode('.', OC_Util::getVersion());