@@ -26,14 +26,14 @@ |
||
| 26 | 26 | use OCP\AutoloadNotAllowedException; |
| 27 | 27 | |
| 28 | 28 | class RegularJob extends \OC\BackgroundJob\Job { |
| 29 | - public function run($argument) { |
|
| 30 | - try { |
|
| 31 | - if (is_callable($argument)) { |
|
| 32 | - call_user_func($argument); |
|
| 33 | - } |
|
| 34 | - } catch (AutoloadNotAllowedException $e) { |
|
| 35 | - // job is from a disabled app, ignore |
|
| 36 | - return null; |
|
| 37 | - } |
|
| 38 | - } |
|
| 29 | + public function run($argument) { |
|
| 30 | + try { |
|
| 31 | + if (is_callable($argument)) { |
|
| 32 | + call_user_func($argument); |
|
| 33 | + } |
|
| 34 | + } catch (AutoloadNotAllowedException $e) { |
|
| 35 | + // job is from a disabled app, ignore |
|
| 36 | + return null; |
|
| 37 | + } |
|
| 38 | + } |
|
| 39 | 39 | } |
@@ -24,12 +24,12 @@ |
||
| 24 | 24 | namespace OC\BackgroundJob\Legacy; |
| 25 | 25 | |
| 26 | 26 | class QueuedJob extends \OC\BackgroundJob\QueuedJob { |
| 27 | - public function run($argument) { |
|
| 28 | - $class = $argument['klass']; |
|
| 29 | - $method = $argument['method']; |
|
| 30 | - $parameters = $argument['parameters']; |
|
| 31 | - if (is_callable(array($class, $method))) { |
|
| 32 | - call_user_func(array($class, $method), $parameters); |
|
| 33 | - } |
|
| 34 | - } |
|
| 27 | + public function run($argument) { |
|
| 28 | + $class = $argument['klass']; |
|
| 29 | + $method = $argument['method']; |
|
| 30 | + $parameters = $argument['parameters']; |
|
| 31 | + if (is_callable(array($class, $method))) { |
|
| 32 | + call_user_func(array($class, $method), $parameters); |
|
| 33 | + } |
|
| 34 | + } |
|
| 35 | 35 | } |
@@ -26,67 +26,67 @@ |
||
| 26 | 26 | use OCP\Settings\IIconSection; |
| 27 | 27 | |
| 28 | 28 | class Section implements IIconSection { |
| 29 | - /** @var string */ |
|
| 30 | - private $id; |
|
| 31 | - /** @var string */ |
|
| 32 | - private $name; |
|
| 33 | - /** @var int */ |
|
| 34 | - private $priority; |
|
| 35 | - /** @var string */ |
|
| 36 | - private $icon; |
|
| 29 | + /** @var string */ |
|
| 30 | + private $id; |
|
| 31 | + /** @var string */ |
|
| 32 | + private $name; |
|
| 33 | + /** @var int */ |
|
| 34 | + private $priority; |
|
| 35 | + /** @var string */ |
|
| 36 | + private $icon; |
|
| 37 | 37 | |
| 38 | - /** |
|
| 39 | - * @param string $id |
|
| 40 | - * @param string $name |
|
| 41 | - * @param int $priority |
|
| 42 | - * @param string $icon |
|
| 43 | - */ |
|
| 44 | - public function __construct($id, $name, $priority, $icon = '') { |
|
| 45 | - $this->id = $id; |
|
| 46 | - $this->name = $name; |
|
| 47 | - $this->priority = $priority; |
|
| 48 | - $this->icon = $icon; |
|
| 49 | - } |
|
| 38 | + /** |
|
| 39 | + * @param string $id |
|
| 40 | + * @param string $name |
|
| 41 | + * @param int $priority |
|
| 42 | + * @param string $icon |
|
| 43 | + */ |
|
| 44 | + public function __construct($id, $name, $priority, $icon = '') { |
|
| 45 | + $this->id = $id; |
|
| 46 | + $this->name = $name; |
|
| 47 | + $this->priority = $priority; |
|
| 48 | + $this->icon = $icon; |
|
| 49 | + } |
|
| 50 | 50 | |
| 51 | - /** |
|
| 52 | - * returns the ID of the section. It is supposed to be a lower case string, |
|
| 53 | - * e.g. 'ldap' |
|
| 54 | - * |
|
| 55 | - * @returns string |
|
| 56 | - */ |
|
| 57 | - public function getID() { |
|
| 58 | - return $this->id; |
|
| 59 | - } |
|
| 51 | + /** |
|
| 52 | + * returns the ID of the section. It is supposed to be a lower case string, |
|
| 53 | + * e.g. 'ldap' |
|
| 54 | + * |
|
| 55 | + * @returns string |
|
| 56 | + */ |
|
| 57 | + public function getID() { |
|
| 58 | + return $this->id; |
|
| 59 | + } |
|
| 60 | 60 | |
| 61 | - /** |
|
| 62 | - * returns the translated name as it should be displayed, e.g. 'LDAP / AD |
|
| 63 | - * integration'. Use the L10N service to translate it. |
|
| 64 | - * |
|
| 65 | - * @return string |
|
| 66 | - */ |
|
| 67 | - public function getName() { |
|
| 68 | - return $this->name; |
|
| 69 | - } |
|
| 61 | + /** |
|
| 62 | + * returns the translated name as it should be displayed, e.g. 'LDAP / AD |
|
| 63 | + * integration'. Use the L10N service to translate it. |
|
| 64 | + * |
|
| 65 | + * @return string |
|
| 66 | + */ |
|
| 67 | + public function getName() { |
|
| 68 | + return $this->name; |
|
| 69 | + } |
|
| 70 | 70 | |
| 71 | - /** |
|
| 72 | - * @return int whether the form should be rather on the top or bottom of |
|
| 73 | - * the settings navigation. The sections are arranged in ascending order of |
|
| 74 | - * the priority values. It is required to return a value between 0 and 99. |
|
| 75 | - * |
|
| 76 | - * E.g.: 70 |
|
| 77 | - */ |
|
| 78 | - public function getPriority() { |
|
| 79 | - return $this->priority; |
|
| 80 | - } |
|
| 71 | + /** |
|
| 72 | + * @return int whether the form should be rather on the top or bottom of |
|
| 73 | + * the settings navigation. The sections are arranged in ascending order of |
|
| 74 | + * the priority values. It is required to return a value between 0 and 99. |
|
| 75 | + * |
|
| 76 | + * E.g.: 70 |
|
| 77 | + */ |
|
| 78 | + public function getPriority() { |
|
| 79 | + return $this->priority; |
|
| 80 | + } |
|
| 81 | 81 | |
| 82 | - /** |
|
| 83 | - * returns the relative path to an 16*16 icon describing the section. |
|
| 84 | - * e.g. '/core/img/places/files.svg' |
|
| 85 | - * |
|
| 86 | - * @returns string |
|
| 87 | - * @since 12 |
|
| 88 | - */ |
|
| 89 | - public function getIcon() { |
|
| 90 | - return $this->icon; |
|
| 91 | - } |
|
| 82 | + /** |
|
| 83 | + * returns the relative path to an 16*16 icon describing the section. |
|
| 84 | + * e.g. '/core/img/places/files.svg' |
|
| 85 | + * |
|
| 86 | + * @returns string |
|
| 87 | + * @since 12 |
|
| 88 | + */ |
|
| 89 | + public function getIcon() { |
|
| 90 | + return $this->icon; |
|
| 91 | + } |
|
| 92 | 92 | } |
@@ -46,7 +46,7 @@ discard block |
||
| 46 | 46 | private $manager; |
| 47 | 47 | |
| 48 | 48 | public function __construct(Manager $manager = null) { |
| 49 | - if($manager !== null) { |
|
| 49 | + if ($manager !== null) { |
|
| 50 | 50 | $this->manager = $manager; |
| 51 | 51 | } else { |
| 52 | 52 | // fix DI for Jobs |
@@ -62,7 +62,7 @@ discard block |
||
| 62 | 62 | */ |
| 63 | 63 | public function execute($jobList, ILogger $logger = null) { |
| 64 | 64 | // add an interval of 15 mins |
| 65 | - $this->setInterval(15*60); |
|
| 65 | + $this->setInterval(15 * 60); |
|
| 66 | 66 | |
| 67 | 67 | $this->jobList = $jobList; |
| 68 | 68 | $this->logger = $logger; |
@@ -36,56 +36,56 @@ |
||
| 36 | 36 | */ |
| 37 | 37 | class RemoveOrphaned extends TimedJob { |
| 38 | 38 | |
| 39 | - /** @var IJobList */ |
|
| 40 | - private $jobList; |
|
| 39 | + /** @var IJobList */ |
|
| 40 | + private $jobList; |
|
| 41 | 41 | |
| 42 | - /** @var ILogger */ |
|
| 43 | - private $logger; |
|
| 42 | + /** @var ILogger */ |
|
| 43 | + private $logger; |
|
| 44 | 44 | |
| 45 | - /** @var Manager */ |
|
| 46 | - private $manager; |
|
| 45 | + /** @var Manager */ |
|
| 46 | + private $manager; |
|
| 47 | 47 | |
| 48 | - public function __construct(Manager $manager = null) { |
|
| 49 | - if($manager !== null) { |
|
| 50 | - $this->manager = $manager; |
|
| 51 | - } else { |
|
| 52 | - // fix DI for Jobs |
|
| 53 | - $this->manager = \OC::$server->getSettingsManager(); |
|
| 54 | - } |
|
| 55 | - } |
|
| 48 | + public function __construct(Manager $manager = null) { |
|
| 49 | + if($manager !== null) { |
|
| 50 | + $this->manager = $manager; |
|
| 51 | + } else { |
|
| 52 | + // fix DI for Jobs |
|
| 53 | + $this->manager = \OC::$server->getSettingsManager(); |
|
| 54 | + } |
|
| 55 | + } |
|
| 56 | 56 | |
| 57 | - /** |
|
| 58 | - * run the job, then remove it from the job list |
|
| 59 | - * |
|
| 60 | - * @param JobList $jobList |
|
| 61 | - * @param ILogger|null $logger |
|
| 62 | - */ |
|
| 63 | - public function execute($jobList, ILogger $logger = null) { |
|
| 64 | - // add an interval of 15 mins |
|
| 65 | - $this->setInterval(15*60); |
|
| 57 | + /** |
|
| 58 | + * run the job, then remove it from the job list |
|
| 59 | + * |
|
| 60 | + * @param JobList $jobList |
|
| 61 | + * @param ILogger|null $logger |
|
| 62 | + */ |
|
| 63 | + public function execute($jobList, ILogger $logger = null) { |
|
| 64 | + // add an interval of 15 mins |
|
| 65 | + $this->setInterval(15*60); |
|
| 66 | 66 | |
| 67 | - $this->jobList = $jobList; |
|
| 68 | - $this->logger = $logger; |
|
| 69 | - parent::execute($jobList, $logger); |
|
| 70 | - } |
|
| 67 | + $this->jobList = $jobList; |
|
| 68 | + $this->logger = $logger; |
|
| 69 | + parent::execute($jobList, $logger); |
|
| 70 | + } |
|
| 71 | 71 | |
| 72 | - /** |
|
| 73 | - * @param array $argument |
|
| 74 | - * @throws \Exception |
|
| 75 | - * @throws \OC\NeedsUpdateException |
|
| 76 | - */ |
|
| 77 | - protected function run($argument) { |
|
| 78 | - try { |
|
| 79 | - \OC_App::loadApps(); |
|
| 80 | - } catch (NeedsUpdateException $ex) { |
|
| 81 | - // only run when apps are up to date |
|
| 82 | - return; |
|
| 83 | - } |
|
| 72 | + /** |
|
| 73 | + * @param array $argument |
|
| 74 | + * @throws \Exception |
|
| 75 | + * @throws \OC\NeedsUpdateException |
|
| 76 | + */ |
|
| 77 | + protected function run($argument) { |
|
| 78 | + try { |
|
| 79 | + \OC_App::loadApps(); |
|
| 80 | + } catch (NeedsUpdateException $ex) { |
|
| 81 | + // only run when apps are up to date |
|
| 82 | + return; |
|
| 83 | + } |
|
| 84 | 84 | |
| 85 | - $this->manager->checkForOrphanedClassNames(); |
|
| 85 | + $this->manager->checkForOrphanedClassNames(); |
|
| 86 | 86 | |
| 87 | - // remove the job once executed successfully |
|
| 88 | - $this->jobList->remove($this); |
|
| 89 | - } |
|
| 87 | + // remove the job once executed successfully |
|
| 88 | + $this->jobList->remove($this); |
|
| 89 | + } |
|
| 90 | 90 | |
| 91 | 91 | } |
@@ -28,105 +28,105 @@ |
||
| 28 | 28 | use ZipStreamer\ZipStreamer; |
| 29 | 29 | |
| 30 | 30 | class Streamer { |
| 31 | - // array of regexp. Matching user agents will get tar instead of zip |
|
| 32 | - private $preferTarFor = [ '/macintosh|mac os x/i' ]; |
|
| 31 | + // array of regexp. Matching user agents will get tar instead of zip |
|
| 32 | + private $preferTarFor = [ '/macintosh|mac os x/i' ]; |
|
| 33 | 33 | |
| 34 | - // streamer instance |
|
| 35 | - private $streamerInstance; |
|
| 34 | + // streamer instance |
|
| 35 | + private $streamerInstance; |
|
| 36 | 36 | |
| 37 | - public function __construct(){ |
|
| 38 | - /** @var \OCP\IRequest */ |
|
| 39 | - $request = \OC::$server->getRequest(); |
|
| 37 | + public function __construct(){ |
|
| 38 | + /** @var \OCP\IRequest */ |
|
| 39 | + $request = \OC::$server->getRequest(); |
|
| 40 | 40 | |
| 41 | - if ($request->isUserAgent($this->preferTarFor)) { |
|
| 42 | - $this->streamerInstance = new TarStreamer(); |
|
| 43 | - } else { |
|
| 44 | - $this->streamerInstance = new ZipStreamer(['zip64' => PHP_INT_SIZE !== 4]); |
|
| 45 | - } |
|
| 46 | - } |
|
| 41 | + if ($request->isUserAgent($this->preferTarFor)) { |
|
| 42 | + $this->streamerInstance = new TarStreamer(); |
|
| 43 | + } else { |
|
| 44 | + $this->streamerInstance = new ZipStreamer(['zip64' => PHP_INT_SIZE !== 4]); |
|
| 45 | + } |
|
| 46 | + } |
|
| 47 | 47 | |
| 48 | - /** |
|
| 49 | - * Send HTTP headers |
|
| 50 | - * @param string $name |
|
| 51 | - */ |
|
| 52 | - public function sendHeaders($name){ |
|
| 53 | - $extension = $this->streamerInstance instanceof ZipStreamer ? '.zip' : '.tar'; |
|
| 54 | - $fullName = $name . $extension; |
|
| 55 | - $this->streamerInstance->sendHeaders($fullName); |
|
| 56 | - } |
|
| 48 | + /** |
|
| 49 | + * Send HTTP headers |
|
| 50 | + * @param string $name |
|
| 51 | + */ |
|
| 52 | + public function sendHeaders($name){ |
|
| 53 | + $extension = $this->streamerInstance instanceof ZipStreamer ? '.zip' : '.tar'; |
|
| 54 | + $fullName = $name . $extension; |
|
| 55 | + $this->streamerInstance->sendHeaders($fullName); |
|
| 56 | + } |
|
| 57 | 57 | |
| 58 | - /** |
|
| 59 | - * Stream directory recursively |
|
| 60 | - * @param string $dir |
|
| 61 | - * @param string $internalDir |
|
| 62 | - */ |
|
| 63 | - public function addDirRecursive($dir, $internalDir='') { |
|
| 64 | - $dirname = basename($dir); |
|
| 65 | - $rootDir = $internalDir . $dirname; |
|
| 66 | - if (!empty($rootDir)) { |
|
| 67 | - $this->streamerInstance->addEmptyDir($rootDir); |
|
| 68 | - } |
|
| 69 | - $internalDir .= $dirname . '/'; |
|
| 70 | - // prevent absolute dirs |
|
| 71 | - $internalDir = ltrim($internalDir, '/'); |
|
| 58 | + /** |
|
| 59 | + * Stream directory recursively |
|
| 60 | + * @param string $dir |
|
| 61 | + * @param string $internalDir |
|
| 62 | + */ |
|
| 63 | + public function addDirRecursive($dir, $internalDir='') { |
|
| 64 | + $dirname = basename($dir); |
|
| 65 | + $rootDir = $internalDir . $dirname; |
|
| 66 | + if (!empty($rootDir)) { |
|
| 67 | + $this->streamerInstance->addEmptyDir($rootDir); |
|
| 68 | + } |
|
| 69 | + $internalDir .= $dirname . '/'; |
|
| 70 | + // prevent absolute dirs |
|
| 71 | + $internalDir = ltrim($internalDir, '/'); |
|
| 72 | 72 | |
| 73 | - $files= \OC\Files\Filesystem::getDirectoryContent($dir); |
|
| 74 | - foreach($files as $file) { |
|
| 75 | - $filename = $file['name']; |
|
| 76 | - $file = $dir . '/' . $filename; |
|
| 77 | - if(\OC\Files\Filesystem::is_file($file)) { |
|
| 78 | - $filesize = \OC\Files\Filesystem::filesize($file); |
|
| 79 | - $fileTime = \OC\Files\Filesystem::filemtime($file); |
|
| 80 | - $fh = \OC\Files\Filesystem::fopen($file, 'r'); |
|
| 81 | - $this->addFileFromStream($fh, $internalDir . $filename, $filesize, $fileTime); |
|
| 82 | - fclose($fh); |
|
| 83 | - }elseif(\OC\Files\Filesystem::is_dir($file)) { |
|
| 84 | - $this->addDirRecursive($file, $internalDir); |
|
| 85 | - } |
|
| 86 | - } |
|
| 87 | - } |
|
| 73 | + $files= \OC\Files\Filesystem::getDirectoryContent($dir); |
|
| 74 | + foreach($files as $file) { |
|
| 75 | + $filename = $file['name']; |
|
| 76 | + $file = $dir . '/' . $filename; |
|
| 77 | + if(\OC\Files\Filesystem::is_file($file)) { |
|
| 78 | + $filesize = \OC\Files\Filesystem::filesize($file); |
|
| 79 | + $fileTime = \OC\Files\Filesystem::filemtime($file); |
|
| 80 | + $fh = \OC\Files\Filesystem::fopen($file, 'r'); |
|
| 81 | + $this->addFileFromStream($fh, $internalDir . $filename, $filesize, $fileTime); |
|
| 82 | + fclose($fh); |
|
| 83 | + }elseif(\OC\Files\Filesystem::is_dir($file)) { |
|
| 84 | + $this->addDirRecursive($file, $internalDir); |
|
| 85 | + } |
|
| 86 | + } |
|
| 87 | + } |
|
| 88 | 88 | |
| 89 | - /** |
|
| 90 | - * Add a file to the archive at the specified location and file name. |
|
| 91 | - * |
|
| 92 | - * @param string $stream Stream to read data from |
|
| 93 | - * @param string $internalName Filepath and name to be used in the archive. |
|
| 94 | - * @param int $size Filesize |
|
| 95 | - * @param int|bool $time File mtime as int, or false |
|
| 96 | - * @return bool $success |
|
| 97 | - */ |
|
| 98 | - public function addFileFromStream($stream, $internalName, $size, $time) { |
|
| 99 | - $options = []; |
|
| 100 | - if ($time) { |
|
| 101 | - $options = [ |
|
| 102 | - 'timestamp' => $time |
|
| 103 | - ]; |
|
| 104 | - } |
|
| 89 | + /** |
|
| 90 | + * Add a file to the archive at the specified location and file name. |
|
| 91 | + * |
|
| 92 | + * @param string $stream Stream to read data from |
|
| 93 | + * @param string $internalName Filepath and name to be used in the archive. |
|
| 94 | + * @param int $size Filesize |
|
| 95 | + * @param int|bool $time File mtime as int, or false |
|
| 96 | + * @return bool $success |
|
| 97 | + */ |
|
| 98 | + public function addFileFromStream($stream, $internalName, $size, $time) { |
|
| 99 | + $options = []; |
|
| 100 | + if ($time) { |
|
| 101 | + $options = [ |
|
| 102 | + 'timestamp' => $time |
|
| 103 | + ]; |
|
| 104 | + } |
|
| 105 | 105 | |
| 106 | - if ($this->streamerInstance instanceof ZipStreamer) { |
|
| 107 | - return $this->streamerInstance->addFileFromStream($stream, $internalName, $options); |
|
| 108 | - } else { |
|
| 109 | - return $this->streamerInstance->addFileFromStream($stream, $internalName, $size, $options); |
|
| 110 | - } |
|
| 111 | - } |
|
| 106 | + if ($this->streamerInstance instanceof ZipStreamer) { |
|
| 107 | + return $this->streamerInstance->addFileFromStream($stream, $internalName, $options); |
|
| 108 | + } else { |
|
| 109 | + return $this->streamerInstance->addFileFromStream($stream, $internalName, $size, $options); |
|
| 110 | + } |
|
| 111 | + } |
|
| 112 | 112 | |
| 113 | - /** |
|
| 114 | - * Add an empty directory entry to the archive. |
|
| 115 | - * |
|
| 116 | - * @param string $dirName Directory Path and name to be added to the archive. |
|
| 117 | - * @return bool $success |
|
| 118 | - */ |
|
| 119 | - public function addEmptyDir($dirName){ |
|
| 120 | - return $this->streamerInstance->addEmptyDir($dirName); |
|
| 121 | - } |
|
| 113 | + /** |
|
| 114 | + * Add an empty directory entry to the archive. |
|
| 115 | + * |
|
| 116 | + * @param string $dirName Directory Path and name to be added to the archive. |
|
| 117 | + * @return bool $success |
|
| 118 | + */ |
|
| 119 | + public function addEmptyDir($dirName){ |
|
| 120 | + return $this->streamerInstance->addEmptyDir($dirName); |
|
| 121 | + } |
|
| 122 | 122 | |
| 123 | - /** |
|
| 124 | - * Close the archive. |
|
| 125 | - * A closed archive can no longer have new files added to it. After |
|
| 126 | - * closing, the file is completely written to the output stream. |
|
| 127 | - * @return bool $success |
|
| 128 | - */ |
|
| 129 | - public function finalize(){ |
|
| 130 | - return $this->streamerInstance->finalize(); |
|
| 131 | - } |
|
| 123 | + /** |
|
| 124 | + * Close the archive. |
|
| 125 | + * A closed archive can no longer have new files added to it. After |
|
| 126 | + * closing, the file is completely written to the output stream. |
|
| 127 | + * @return bool $success |
|
| 128 | + */ |
|
| 129 | + public function finalize(){ |
|
| 130 | + return $this->streamerInstance->finalize(); |
|
| 131 | + } |
|
| 132 | 132 | } |
@@ -29,12 +29,12 @@ discard block |
||
| 29 | 29 | |
| 30 | 30 | class Streamer { |
| 31 | 31 | // array of regexp. Matching user agents will get tar instead of zip |
| 32 | - private $preferTarFor = [ '/macintosh|mac os x/i' ]; |
|
| 32 | + private $preferTarFor = ['/macintosh|mac os x/i']; |
|
| 33 | 33 | |
| 34 | 34 | // streamer instance |
| 35 | 35 | private $streamerInstance; |
| 36 | 36 | |
| 37 | - public function __construct(){ |
|
| 37 | + public function __construct() { |
|
| 38 | 38 | /** @var \OCP\IRequest */ |
| 39 | 39 | $request = \OC::$server->getRequest(); |
| 40 | 40 | |
@@ -49,9 +49,9 @@ discard block |
||
| 49 | 49 | * Send HTTP headers |
| 50 | 50 | * @param string $name |
| 51 | 51 | */ |
| 52 | - public function sendHeaders($name){ |
|
| 52 | + public function sendHeaders($name) { |
|
| 53 | 53 | $extension = $this->streamerInstance instanceof ZipStreamer ? '.zip' : '.tar'; |
| 54 | - $fullName = $name . $extension; |
|
| 54 | + $fullName = $name.$extension; |
|
| 55 | 55 | $this->streamerInstance->sendHeaders($fullName); |
| 56 | 56 | } |
| 57 | 57 | |
@@ -60,27 +60,27 @@ discard block |
||
| 60 | 60 | * @param string $dir |
| 61 | 61 | * @param string $internalDir |
| 62 | 62 | */ |
| 63 | - public function addDirRecursive($dir, $internalDir='') { |
|
| 63 | + public function addDirRecursive($dir, $internalDir = '') { |
|
| 64 | 64 | $dirname = basename($dir); |
| 65 | - $rootDir = $internalDir . $dirname; |
|
| 65 | + $rootDir = $internalDir.$dirname; |
|
| 66 | 66 | if (!empty($rootDir)) { |
| 67 | 67 | $this->streamerInstance->addEmptyDir($rootDir); |
| 68 | 68 | } |
| 69 | - $internalDir .= $dirname . '/'; |
|
| 69 | + $internalDir .= $dirname.'/'; |
|
| 70 | 70 | // prevent absolute dirs |
| 71 | 71 | $internalDir = ltrim($internalDir, '/'); |
| 72 | 72 | |
| 73 | - $files= \OC\Files\Filesystem::getDirectoryContent($dir); |
|
| 74 | - foreach($files as $file) { |
|
| 73 | + $files = \OC\Files\Filesystem::getDirectoryContent($dir); |
|
| 74 | + foreach ($files as $file) { |
|
| 75 | 75 | $filename = $file['name']; |
| 76 | - $file = $dir . '/' . $filename; |
|
| 77 | - if(\OC\Files\Filesystem::is_file($file)) { |
|
| 76 | + $file = $dir.'/'.$filename; |
|
| 77 | + if (\OC\Files\Filesystem::is_file($file)) { |
|
| 78 | 78 | $filesize = \OC\Files\Filesystem::filesize($file); |
| 79 | 79 | $fileTime = \OC\Files\Filesystem::filemtime($file); |
| 80 | 80 | $fh = \OC\Files\Filesystem::fopen($file, 'r'); |
| 81 | - $this->addFileFromStream($fh, $internalDir . $filename, $filesize, $fileTime); |
|
| 81 | + $this->addFileFromStream($fh, $internalDir.$filename, $filesize, $fileTime); |
|
| 82 | 82 | fclose($fh); |
| 83 | - }elseif(\OC\Files\Filesystem::is_dir($file)) { |
|
| 83 | + }elseif (\OC\Files\Filesystem::is_dir($file)) { |
|
| 84 | 84 | $this->addDirRecursive($file, $internalDir); |
| 85 | 85 | } |
| 86 | 86 | } |
@@ -116,7 +116,7 @@ discard block |
||
| 116 | 116 | * @param string $dirName Directory Path and name to be added to the archive. |
| 117 | 117 | * @return bool $success |
| 118 | 118 | */ |
| 119 | - public function addEmptyDir($dirName){ |
|
| 119 | + public function addEmptyDir($dirName) { |
|
| 120 | 120 | return $this->streamerInstance->addEmptyDir($dirName); |
| 121 | 121 | } |
| 122 | 122 | |
@@ -126,7 +126,7 @@ discard block |
||
| 126 | 126 | * closing, the file is completely written to the output stream. |
| 127 | 127 | * @return bool $success |
| 128 | 128 | */ |
| 129 | - public function finalize(){ |
|
| 129 | + public function finalize() { |
|
| 130 | 130 | return $this->streamerInstance->finalize(); |
| 131 | 131 | } |
| 132 | 132 | } |
@@ -80,7 +80,7 @@ |
||
| 80 | 80 | $fh = \OC\Files\Filesystem::fopen($file, 'r'); |
| 81 | 81 | $this->addFileFromStream($fh, $internalDir . $filename, $filesize, $fileTime); |
| 82 | 82 | fclose($fh); |
| 83 | - }elseif(\OC\Files\Filesystem::is_dir($file)) { |
|
| 83 | + } elseif(\OC\Files\Filesystem::is_dir($file)) { |
|
| 84 | 84 | $this->addDirRecursive($file, $internalDir); |
| 85 | 85 | } |
| 86 | 86 | } |
@@ -34,158 +34,158 @@ |
||
| 34 | 34 | use \OCP\ILogger; |
| 35 | 35 | |
| 36 | 36 | class Factory implements ICacheFactory { |
| 37 | - const NULL_CACHE = '\\OC\\Memcache\\NullCache'; |
|
| 38 | - |
|
| 39 | - /** |
|
| 40 | - * @var string $globalPrefix |
|
| 41 | - */ |
|
| 42 | - private $globalPrefix; |
|
| 43 | - |
|
| 44 | - /** |
|
| 45 | - * @var ILogger $logger |
|
| 46 | - */ |
|
| 47 | - private $logger; |
|
| 48 | - |
|
| 49 | - /** |
|
| 50 | - * @var string $localCacheClass |
|
| 51 | - */ |
|
| 52 | - private $localCacheClass; |
|
| 53 | - |
|
| 54 | - /** |
|
| 55 | - * @var string $distributedCacheClass |
|
| 56 | - */ |
|
| 57 | - private $distributedCacheClass; |
|
| 58 | - |
|
| 59 | - /** |
|
| 60 | - * @var string $lockingCacheClass |
|
| 61 | - */ |
|
| 62 | - private $lockingCacheClass; |
|
| 63 | - |
|
| 64 | - /** |
|
| 65 | - * @param string $globalPrefix |
|
| 66 | - * @param ILogger $logger |
|
| 67 | - * @param string|null $localCacheClass |
|
| 68 | - * @param string|null $distributedCacheClass |
|
| 69 | - * @param string|null $lockingCacheClass |
|
| 70 | - */ |
|
| 71 | - public function __construct($globalPrefix, ILogger $logger, |
|
| 72 | - $localCacheClass = null, $distributedCacheClass = null, $lockingCacheClass = null) |
|
| 73 | - { |
|
| 74 | - $this->logger = $logger; |
|
| 75 | - $this->globalPrefix = $globalPrefix; |
|
| 76 | - |
|
| 77 | - if (!$localCacheClass) { |
|
| 78 | - $localCacheClass = self::NULL_CACHE; |
|
| 79 | - } |
|
| 80 | - if (!$distributedCacheClass) { |
|
| 81 | - $distributedCacheClass = $localCacheClass; |
|
| 82 | - } |
|
| 83 | - |
|
| 84 | - $missingCacheMessage = 'Memcache {class} not available for {use} cache'; |
|
| 85 | - $missingCacheHint = 'Is the matching PHP module installed and enabled?'; |
|
| 86 | - if (!class_exists($localCacheClass) || !$localCacheClass::isAvailable()) { |
|
| 87 | - if (\OC::$CLI && !defined('PHPUNIT_RUN')) { |
|
| 88 | - // CLI should not hard-fail on broken memcache |
|
| 89 | - $this->logger->info($missingCacheMessage, [ |
|
| 90 | - 'class' => $localCacheClass, |
|
| 91 | - 'use' => 'local', |
|
| 92 | - 'app' => 'cli' |
|
| 93 | - ]); |
|
| 94 | - $localCacheClass = self::NULL_CACHE; |
|
| 95 | - } else { |
|
| 96 | - throw new \OC\HintException(strtr($missingCacheMessage, [ |
|
| 97 | - '{class}' => $localCacheClass, '{use}' => 'local' |
|
| 98 | - ]), $missingCacheHint); |
|
| 99 | - } |
|
| 100 | - } |
|
| 101 | - if (!class_exists($distributedCacheClass) || !$distributedCacheClass::isAvailable()) { |
|
| 102 | - if (\OC::$CLI && !defined('PHPUNIT_RUN')) { |
|
| 103 | - // CLI should not hard-fail on broken memcache |
|
| 104 | - $this->logger->info($missingCacheMessage, [ |
|
| 105 | - 'class' => $distributedCacheClass, |
|
| 106 | - 'use' => 'distributed', |
|
| 107 | - 'app' => 'cli' |
|
| 108 | - ]); |
|
| 109 | - $distributedCacheClass = self::NULL_CACHE; |
|
| 110 | - } else { |
|
| 111 | - throw new \OC\HintException(strtr($missingCacheMessage, [ |
|
| 112 | - '{class}' => $distributedCacheClass, '{use}' => 'distributed' |
|
| 113 | - ]), $missingCacheHint); |
|
| 114 | - } |
|
| 115 | - } |
|
| 116 | - if (!($lockingCacheClass && class_exists($distributedCacheClass) && $lockingCacheClass::isAvailable())) { |
|
| 117 | - // don't fallback since the fallback might not be suitable for storing lock |
|
| 118 | - $lockingCacheClass = self::NULL_CACHE; |
|
| 119 | - } |
|
| 120 | - |
|
| 121 | - $this->localCacheClass = $localCacheClass; |
|
| 122 | - $this->distributedCacheClass = $distributedCacheClass; |
|
| 123 | - $this->lockingCacheClass = $lockingCacheClass; |
|
| 124 | - } |
|
| 125 | - |
|
| 126 | - /** |
|
| 127 | - * create a cache instance for storing locks |
|
| 128 | - * |
|
| 129 | - * @param string $prefix |
|
| 130 | - * @return \OCP\IMemcache |
|
| 131 | - */ |
|
| 132 | - public function createLocking($prefix = '') { |
|
| 133 | - return new $this->lockingCacheClass($this->globalPrefix . '/' . $prefix); |
|
| 134 | - } |
|
| 135 | - |
|
| 136 | - /** |
|
| 137 | - * create a distributed cache instance |
|
| 138 | - * |
|
| 139 | - * @param string $prefix |
|
| 140 | - * @return \OC\Memcache\Cache |
|
| 141 | - */ |
|
| 142 | - public function createDistributed($prefix = '') { |
|
| 143 | - return new $this->distributedCacheClass($this->globalPrefix . '/' . $prefix); |
|
| 144 | - } |
|
| 145 | - |
|
| 146 | - /** |
|
| 147 | - * create a local cache instance |
|
| 148 | - * |
|
| 149 | - * @param string $prefix |
|
| 150 | - * @return \OC\Memcache\Cache |
|
| 151 | - */ |
|
| 152 | - public function createLocal($prefix = '') { |
|
| 153 | - return new $this->localCacheClass($this->globalPrefix . '/' . $prefix); |
|
| 154 | - } |
|
| 155 | - |
|
| 156 | - /** |
|
| 157 | - * @see \OC\Memcache\Factory::createDistributed() |
|
| 158 | - * @param string $prefix |
|
| 159 | - * @return \OC\Memcache\Cache |
|
| 160 | - */ |
|
| 161 | - public function create($prefix = '') { |
|
| 162 | - return $this->createDistributed($prefix); |
|
| 163 | - } |
|
| 164 | - |
|
| 165 | - /** |
|
| 166 | - * check memcache availability |
|
| 167 | - * |
|
| 168 | - * @return bool |
|
| 169 | - */ |
|
| 170 | - public function isAvailable() { |
|
| 171 | - return ($this->distributedCacheClass !== self::NULL_CACHE); |
|
| 172 | - } |
|
| 173 | - |
|
| 174 | - /** |
|
| 175 | - * @see \OC\Memcache\Factory::createLocal() |
|
| 176 | - * @param string $prefix |
|
| 177 | - * @return Cache |
|
| 178 | - */ |
|
| 179 | - public function createLowLatency($prefix = '') { |
|
| 180 | - return $this->createLocal($prefix); |
|
| 181 | - } |
|
| 182 | - |
|
| 183 | - /** |
|
| 184 | - * check local memcache availability |
|
| 185 | - * |
|
| 186 | - * @return bool |
|
| 187 | - */ |
|
| 188 | - public function isAvailableLowLatency() { |
|
| 189 | - return ($this->localCacheClass !== self::NULL_CACHE); |
|
| 190 | - } |
|
| 37 | + const NULL_CACHE = '\\OC\\Memcache\\NullCache'; |
|
| 38 | + |
|
| 39 | + /** |
|
| 40 | + * @var string $globalPrefix |
|
| 41 | + */ |
|
| 42 | + private $globalPrefix; |
|
| 43 | + |
|
| 44 | + /** |
|
| 45 | + * @var ILogger $logger |
|
| 46 | + */ |
|
| 47 | + private $logger; |
|
| 48 | + |
|
| 49 | + /** |
|
| 50 | + * @var string $localCacheClass |
|
| 51 | + */ |
|
| 52 | + private $localCacheClass; |
|
| 53 | + |
|
| 54 | + /** |
|
| 55 | + * @var string $distributedCacheClass |
|
| 56 | + */ |
|
| 57 | + private $distributedCacheClass; |
|
| 58 | + |
|
| 59 | + /** |
|
| 60 | + * @var string $lockingCacheClass |
|
| 61 | + */ |
|
| 62 | + private $lockingCacheClass; |
|
| 63 | + |
|
| 64 | + /** |
|
| 65 | + * @param string $globalPrefix |
|
| 66 | + * @param ILogger $logger |
|
| 67 | + * @param string|null $localCacheClass |
|
| 68 | + * @param string|null $distributedCacheClass |
|
| 69 | + * @param string|null $lockingCacheClass |
|
| 70 | + */ |
|
| 71 | + public function __construct($globalPrefix, ILogger $logger, |
|
| 72 | + $localCacheClass = null, $distributedCacheClass = null, $lockingCacheClass = null) |
|
| 73 | + { |
|
| 74 | + $this->logger = $logger; |
|
| 75 | + $this->globalPrefix = $globalPrefix; |
|
| 76 | + |
|
| 77 | + if (!$localCacheClass) { |
|
| 78 | + $localCacheClass = self::NULL_CACHE; |
|
| 79 | + } |
|
| 80 | + if (!$distributedCacheClass) { |
|
| 81 | + $distributedCacheClass = $localCacheClass; |
|
| 82 | + } |
|
| 83 | + |
|
| 84 | + $missingCacheMessage = 'Memcache {class} not available for {use} cache'; |
|
| 85 | + $missingCacheHint = 'Is the matching PHP module installed and enabled?'; |
|
| 86 | + if (!class_exists($localCacheClass) || !$localCacheClass::isAvailable()) { |
|
| 87 | + if (\OC::$CLI && !defined('PHPUNIT_RUN')) { |
|
| 88 | + // CLI should not hard-fail on broken memcache |
|
| 89 | + $this->logger->info($missingCacheMessage, [ |
|
| 90 | + 'class' => $localCacheClass, |
|
| 91 | + 'use' => 'local', |
|
| 92 | + 'app' => 'cli' |
|
| 93 | + ]); |
|
| 94 | + $localCacheClass = self::NULL_CACHE; |
|
| 95 | + } else { |
|
| 96 | + throw new \OC\HintException(strtr($missingCacheMessage, [ |
|
| 97 | + '{class}' => $localCacheClass, '{use}' => 'local' |
|
| 98 | + ]), $missingCacheHint); |
|
| 99 | + } |
|
| 100 | + } |
|
| 101 | + if (!class_exists($distributedCacheClass) || !$distributedCacheClass::isAvailable()) { |
|
| 102 | + if (\OC::$CLI && !defined('PHPUNIT_RUN')) { |
|
| 103 | + // CLI should not hard-fail on broken memcache |
|
| 104 | + $this->logger->info($missingCacheMessage, [ |
|
| 105 | + 'class' => $distributedCacheClass, |
|
| 106 | + 'use' => 'distributed', |
|
| 107 | + 'app' => 'cli' |
|
| 108 | + ]); |
|
| 109 | + $distributedCacheClass = self::NULL_CACHE; |
|
| 110 | + } else { |
|
| 111 | + throw new \OC\HintException(strtr($missingCacheMessage, [ |
|
| 112 | + '{class}' => $distributedCacheClass, '{use}' => 'distributed' |
|
| 113 | + ]), $missingCacheHint); |
|
| 114 | + } |
|
| 115 | + } |
|
| 116 | + if (!($lockingCacheClass && class_exists($distributedCacheClass) && $lockingCacheClass::isAvailable())) { |
|
| 117 | + // don't fallback since the fallback might not be suitable for storing lock |
|
| 118 | + $lockingCacheClass = self::NULL_CACHE; |
|
| 119 | + } |
|
| 120 | + |
|
| 121 | + $this->localCacheClass = $localCacheClass; |
|
| 122 | + $this->distributedCacheClass = $distributedCacheClass; |
|
| 123 | + $this->lockingCacheClass = $lockingCacheClass; |
|
| 124 | + } |
|
| 125 | + |
|
| 126 | + /** |
|
| 127 | + * create a cache instance for storing locks |
|
| 128 | + * |
|
| 129 | + * @param string $prefix |
|
| 130 | + * @return \OCP\IMemcache |
|
| 131 | + */ |
|
| 132 | + public function createLocking($prefix = '') { |
|
| 133 | + return new $this->lockingCacheClass($this->globalPrefix . '/' . $prefix); |
|
| 134 | + } |
|
| 135 | + |
|
| 136 | + /** |
|
| 137 | + * create a distributed cache instance |
|
| 138 | + * |
|
| 139 | + * @param string $prefix |
|
| 140 | + * @return \OC\Memcache\Cache |
|
| 141 | + */ |
|
| 142 | + public function createDistributed($prefix = '') { |
|
| 143 | + return new $this->distributedCacheClass($this->globalPrefix . '/' . $prefix); |
|
| 144 | + } |
|
| 145 | + |
|
| 146 | + /** |
|
| 147 | + * create a local cache instance |
|
| 148 | + * |
|
| 149 | + * @param string $prefix |
|
| 150 | + * @return \OC\Memcache\Cache |
|
| 151 | + */ |
|
| 152 | + public function createLocal($prefix = '') { |
|
| 153 | + return new $this->localCacheClass($this->globalPrefix . '/' . $prefix); |
|
| 154 | + } |
|
| 155 | + |
|
| 156 | + /** |
|
| 157 | + * @see \OC\Memcache\Factory::createDistributed() |
|
| 158 | + * @param string $prefix |
|
| 159 | + * @return \OC\Memcache\Cache |
|
| 160 | + */ |
|
| 161 | + public function create($prefix = '') { |
|
| 162 | + return $this->createDistributed($prefix); |
|
| 163 | + } |
|
| 164 | + |
|
| 165 | + /** |
|
| 166 | + * check memcache availability |
|
| 167 | + * |
|
| 168 | + * @return bool |
|
| 169 | + */ |
|
| 170 | + public function isAvailable() { |
|
| 171 | + return ($this->distributedCacheClass !== self::NULL_CACHE); |
|
| 172 | + } |
|
| 173 | + |
|
| 174 | + /** |
|
| 175 | + * @see \OC\Memcache\Factory::createLocal() |
|
| 176 | + * @param string $prefix |
|
| 177 | + * @return Cache |
|
| 178 | + */ |
|
| 179 | + public function createLowLatency($prefix = '') { |
|
| 180 | + return $this->createLocal($prefix); |
|
| 181 | + } |
|
| 182 | + |
|
| 183 | + /** |
|
| 184 | + * check local memcache availability |
|
| 185 | + * |
|
| 186 | + * @return bool |
|
| 187 | + */ |
|
| 188 | + public function isAvailableLowLatency() { |
|
| 189 | + return ($this->localCacheClass !== self::NULL_CACHE); |
|
| 190 | + } |
|
| 191 | 191 | } |
@@ -130,7 +130,7 @@ discard block |
||
| 130 | 130 | * @return \OCP\IMemcache |
| 131 | 131 | */ |
| 132 | 132 | public function createLocking($prefix = '') { |
| 133 | - return new $this->lockingCacheClass($this->globalPrefix . '/' . $prefix); |
|
| 133 | + return new $this->lockingCacheClass($this->globalPrefix.'/'.$prefix); |
|
| 134 | 134 | } |
| 135 | 135 | |
| 136 | 136 | /** |
@@ -140,7 +140,7 @@ discard block |
||
| 140 | 140 | * @return \OC\Memcache\Cache |
| 141 | 141 | */ |
| 142 | 142 | public function createDistributed($prefix = '') { |
| 143 | - return new $this->distributedCacheClass($this->globalPrefix . '/' . $prefix); |
|
| 143 | + return new $this->distributedCacheClass($this->globalPrefix.'/'.$prefix); |
|
| 144 | 144 | } |
| 145 | 145 | |
| 146 | 146 | /** |
@@ -150,7 +150,7 @@ discard block |
||
| 150 | 150 | * @return \OC\Memcache\Cache |
| 151 | 151 | */ |
| 152 | 152 | public function createLocal($prefix = '') { |
| 153 | - return new $this->localCacheClass($this->globalPrefix . '/' . $prefix); |
|
| 153 | + return new $this->localCacheClass($this->globalPrefix.'/'.$prefix); |
|
| 154 | 154 | } |
| 155 | 155 | |
| 156 | 156 | /** |
@@ -23,35 +23,35 @@ |
||
| 23 | 23 | namespace OC\Memcache; |
| 24 | 24 | |
| 25 | 25 | trait CASTrait { |
| 26 | - abstract public function get($key); |
|
| 26 | + abstract public function get($key); |
|
| 27 | 27 | |
| 28 | - abstract public function set($key, $value, $ttl = 0); |
|
| 28 | + abstract public function set($key, $value, $ttl = 0); |
|
| 29 | 29 | |
| 30 | - abstract public function remove($key); |
|
| 30 | + abstract public function remove($key); |
|
| 31 | 31 | |
| 32 | - abstract public function add($key, $value, $ttl = 0); |
|
| 32 | + abstract public function add($key, $value, $ttl = 0); |
|
| 33 | 33 | |
| 34 | - /** |
|
| 35 | - * Compare and set |
|
| 36 | - * |
|
| 37 | - * @param string $key |
|
| 38 | - * @param mixed $old |
|
| 39 | - * @param mixed $new |
|
| 40 | - * @return bool |
|
| 41 | - */ |
|
| 42 | - public function cas($key, $old, $new) { |
|
| 43 | - //no native cas, emulate with locking |
|
| 44 | - if ($this->add($key . '_lock', true)) { |
|
| 45 | - if ($this->get($key) === $old) { |
|
| 46 | - $this->set($key, $new); |
|
| 47 | - $this->remove($key . '_lock'); |
|
| 48 | - return true; |
|
| 49 | - } else { |
|
| 50 | - $this->remove($key . '_lock'); |
|
| 51 | - return false; |
|
| 52 | - } |
|
| 53 | - } else { |
|
| 54 | - return false; |
|
| 55 | - } |
|
| 56 | - } |
|
| 34 | + /** |
|
| 35 | + * Compare and set |
|
| 36 | + * |
|
| 37 | + * @param string $key |
|
| 38 | + * @param mixed $old |
|
| 39 | + * @param mixed $new |
|
| 40 | + * @return bool |
|
| 41 | + */ |
|
| 42 | + public function cas($key, $old, $new) { |
|
| 43 | + //no native cas, emulate with locking |
|
| 44 | + if ($this->add($key . '_lock', true)) { |
|
| 45 | + if ($this->get($key) === $old) { |
|
| 46 | + $this->set($key, $new); |
|
| 47 | + $this->remove($key . '_lock'); |
|
| 48 | + return true; |
|
| 49 | + } else { |
|
| 50 | + $this->remove($key . '_lock'); |
|
| 51 | + return false; |
|
| 52 | + } |
|
| 53 | + } else { |
|
| 54 | + return false; |
|
| 55 | + } |
|
| 56 | + } |
|
| 57 | 57 | } |
@@ -41,13 +41,13 @@ |
||
| 41 | 41 | */ |
| 42 | 42 | public function cas($key, $old, $new) { |
| 43 | 43 | //no native cas, emulate with locking |
| 44 | - if ($this->add($key . '_lock', true)) { |
|
| 44 | + if ($this->add($key.'_lock', true)) { |
|
| 45 | 45 | if ($this->get($key) === $old) { |
| 46 | 46 | $this->set($key, $new); |
| 47 | - $this->remove($key . '_lock'); |
|
| 47 | + $this->remove($key.'_lock'); |
|
| 48 | 48 | return true; |
| 49 | 49 | } else { |
| 50 | - $this->remove($key . '_lock'); |
|
| 50 | + $this->remove($key.'_lock'); |
|
| 51 | 51 | return false; |
| 52 | 52 | } |
| 53 | 53 | } else { |
@@ -26,72 +26,72 @@ |
||
| 26 | 26 | namespace OC\Memcache; |
| 27 | 27 | |
| 28 | 28 | abstract class Cache implements \ArrayAccess, \OCP\ICache { |
| 29 | - /** |
|
| 30 | - * @var string $prefix |
|
| 31 | - */ |
|
| 32 | - protected $prefix; |
|
| 29 | + /** |
|
| 30 | + * @var string $prefix |
|
| 31 | + */ |
|
| 32 | + protected $prefix; |
|
| 33 | 33 | |
| 34 | - /** |
|
| 35 | - * @param string $prefix |
|
| 36 | - */ |
|
| 37 | - public function __construct($prefix = '') { |
|
| 38 | - $this->prefix = $prefix; |
|
| 39 | - } |
|
| 34 | + /** |
|
| 35 | + * @param string $prefix |
|
| 36 | + */ |
|
| 37 | + public function __construct($prefix = '') { |
|
| 38 | + $this->prefix = $prefix; |
|
| 39 | + } |
|
| 40 | 40 | |
| 41 | - /** |
|
| 42 | - * @return string Prefix used for caching purposes |
|
| 43 | - */ |
|
| 44 | - public function getPrefix() { |
|
| 45 | - return $this->prefix; |
|
| 46 | - } |
|
| 41 | + /** |
|
| 42 | + * @return string Prefix used for caching purposes |
|
| 43 | + */ |
|
| 44 | + public function getPrefix() { |
|
| 45 | + return $this->prefix; |
|
| 46 | + } |
|
| 47 | 47 | |
| 48 | - /** |
|
| 49 | - * @param string $key |
|
| 50 | - * @return mixed |
|
| 51 | - */ |
|
| 52 | - abstract public function get($key); |
|
| 48 | + /** |
|
| 49 | + * @param string $key |
|
| 50 | + * @return mixed |
|
| 51 | + */ |
|
| 52 | + abstract public function get($key); |
|
| 53 | 53 | |
| 54 | - /** |
|
| 55 | - * @param string $key |
|
| 56 | - * @param mixed $value |
|
| 57 | - * @param int $ttl |
|
| 58 | - * @return mixed |
|
| 59 | - */ |
|
| 60 | - abstract public function set($key, $value, $ttl = 0); |
|
| 54 | + /** |
|
| 55 | + * @param string $key |
|
| 56 | + * @param mixed $value |
|
| 57 | + * @param int $ttl |
|
| 58 | + * @return mixed |
|
| 59 | + */ |
|
| 60 | + abstract public function set($key, $value, $ttl = 0); |
|
| 61 | 61 | |
| 62 | - /** |
|
| 63 | - * @param string $key |
|
| 64 | - * @return mixed |
|
| 65 | - */ |
|
| 66 | - abstract public function hasKey($key); |
|
| 62 | + /** |
|
| 63 | + * @param string $key |
|
| 64 | + * @return mixed |
|
| 65 | + */ |
|
| 66 | + abstract public function hasKey($key); |
|
| 67 | 67 | |
| 68 | - /** |
|
| 69 | - * @param string $key |
|
| 70 | - * @return mixed |
|
| 71 | - */ |
|
| 72 | - abstract public function remove($key); |
|
| 68 | + /** |
|
| 69 | + * @param string $key |
|
| 70 | + * @return mixed |
|
| 71 | + */ |
|
| 72 | + abstract public function remove($key); |
|
| 73 | 73 | |
| 74 | - /** |
|
| 75 | - * @param string $prefix |
|
| 76 | - * @return mixed |
|
| 77 | - */ |
|
| 78 | - abstract public function clear($prefix = ''); |
|
| 74 | + /** |
|
| 75 | + * @param string $prefix |
|
| 76 | + * @return mixed |
|
| 77 | + */ |
|
| 78 | + abstract public function clear($prefix = ''); |
|
| 79 | 79 | |
| 80 | - //implement the ArrayAccess interface |
|
| 80 | + //implement the ArrayAccess interface |
|
| 81 | 81 | |
| 82 | - public function offsetExists($offset) { |
|
| 83 | - return $this->hasKey($offset); |
|
| 84 | - } |
|
| 82 | + public function offsetExists($offset) { |
|
| 83 | + return $this->hasKey($offset); |
|
| 84 | + } |
|
| 85 | 85 | |
| 86 | - public function offsetSet($offset, $value) { |
|
| 87 | - $this->set($offset, $value); |
|
| 88 | - } |
|
| 86 | + public function offsetSet($offset, $value) { |
|
| 87 | + $this->set($offset, $value); |
|
| 88 | + } |
|
| 89 | 89 | |
| 90 | - public function offsetGet($offset) { |
|
| 91 | - return $this->get($offset); |
|
| 92 | - } |
|
| 90 | + public function offsetGet($offset) { |
|
| 91 | + return $this->get($offset); |
|
| 92 | + } |
|
| 93 | 93 | |
| 94 | - public function offsetUnset($offset) { |
|
| 95 | - $this->remove($offset); |
|
| 96 | - } |
|
| 94 | + public function offsetUnset($offset) { |
|
| 95 | + $this->remove($offset); |
|
| 96 | + } |
|
| 97 | 97 | } |
@@ -23,32 +23,32 @@ |
||
| 23 | 23 | namespace OC\Memcache; |
| 24 | 24 | |
| 25 | 25 | trait CADTrait { |
| 26 | - abstract public function get($key); |
|
| 26 | + abstract public function get($key); |
|
| 27 | 27 | |
| 28 | - abstract public function remove($key); |
|
| 28 | + abstract public function remove($key); |
|
| 29 | 29 | |
| 30 | - abstract public function add($key, $value, $ttl = 0); |
|
| 30 | + abstract public function add($key, $value, $ttl = 0); |
|
| 31 | 31 | |
| 32 | - /** |
|
| 33 | - * Compare and delete |
|
| 34 | - * |
|
| 35 | - * @param string $key |
|
| 36 | - * @param mixed $old |
|
| 37 | - * @return bool |
|
| 38 | - */ |
|
| 39 | - public function cad($key, $old) { |
|
| 40 | - //no native cas, emulate with locking |
|
| 41 | - if ($this->add($key . '_lock', true)) { |
|
| 42 | - if ($this->get($key) === $old) { |
|
| 43 | - $this->remove($key); |
|
| 44 | - $this->remove($key . '_lock'); |
|
| 45 | - return true; |
|
| 46 | - } else { |
|
| 47 | - $this->remove($key . '_lock'); |
|
| 48 | - return false; |
|
| 49 | - } |
|
| 50 | - } else { |
|
| 51 | - return false; |
|
| 52 | - } |
|
| 53 | - } |
|
| 32 | + /** |
|
| 33 | + * Compare and delete |
|
| 34 | + * |
|
| 35 | + * @param string $key |
|
| 36 | + * @param mixed $old |
|
| 37 | + * @return bool |
|
| 38 | + */ |
|
| 39 | + public function cad($key, $old) { |
|
| 40 | + //no native cas, emulate with locking |
|
| 41 | + if ($this->add($key . '_lock', true)) { |
|
| 42 | + if ($this->get($key) === $old) { |
|
| 43 | + $this->remove($key); |
|
| 44 | + $this->remove($key . '_lock'); |
|
| 45 | + return true; |
|
| 46 | + } else { |
|
| 47 | + $this->remove($key . '_lock'); |
|
| 48 | + return false; |
|
| 49 | + } |
|
| 50 | + } else { |
|
| 51 | + return false; |
|
| 52 | + } |
|
| 53 | + } |
|
| 54 | 54 | } |
@@ -38,13 +38,13 @@ |
||
| 38 | 38 | */ |
| 39 | 39 | public function cad($key, $old) { |
| 40 | 40 | //no native cas, emulate with locking |
| 41 | - if ($this->add($key . '_lock', true)) { |
|
| 41 | + if ($this->add($key.'_lock', true)) { |
|
| 42 | 42 | if ($this->get($key) === $old) { |
| 43 | 43 | $this->remove($key); |
| 44 | - $this->remove($key . '_lock'); |
|
| 44 | + $this->remove($key.'_lock'); |
|
| 45 | 45 | return true; |
| 46 | 46 | } else { |
| 47 | - $this->remove($key . '_lock'); |
|
| 47 | + $this->remove($key.'_lock'); |
|
| 48 | 48 | return false; |
| 49 | 49 | } |
| 50 | 50 | } else { |