@@ -30,29 +30,29 @@ |
||
| 30 | 30 | */ |
| 31 | 31 | class CleanupFileLocks extends TimedJob { |
| 32 | 32 | |
| 33 | - /** |
|
| 34 | - * Default interval in minutes |
|
| 35 | - * |
|
| 36 | - * @var int $defaultIntervalMin |
|
| 37 | - **/ |
|
| 38 | - protected $defaultIntervalMin = 5; |
|
| 33 | + /** |
|
| 34 | + * Default interval in minutes |
|
| 35 | + * |
|
| 36 | + * @var int $defaultIntervalMin |
|
| 37 | + **/ |
|
| 38 | + protected $defaultIntervalMin = 5; |
|
| 39 | 39 | |
| 40 | - /** |
|
| 41 | - * sets the correct interval for this timed job |
|
| 42 | - */ |
|
| 43 | - public function __construct() { |
|
| 44 | - $this->interval = $this->defaultIntervalMin * 60; |
|
| 45 | - } |
|
| 40 | + /** |
|
| 41 | + * sets the correct interval for this timed job |
|
| 42 | + */ |
|
| 43 | + public function __construct() { |
|
| 44 | + $this->interval = $this->defaultIntervalMin * 60; |
|
| 45 | + } |
|
| 46 | 46 | |
| 47 | - /** |
|
| 48 | - * Makes the background job do its work |
|
| 49 | - * |
|
| 50 | - * @param array $argument unused argument |
|
| 51 | - */ |
|
| 52 | - public function run($argument) { |
|
| 53 | - $lockingProvider = \OC::$server->getLockingProvider(); |
|
| 54 | - if($lockingProvider instanceof DBLockingProvider) { |
|
| 55 | - $lockingProvider->cleanExpiredLocks(); |
|
| 56 | - } |
|
| 57 | - } |
|
| 47 | + /** |
|
| 48 | + * Makes the background job do its work |
|
| 49 | + * |
|
| 50 | + * @param array $argument unused argument |
|
| 51 | + */ |
|
| 52 | + public function run($argument) { |
|
| 53 | + $lockingProvider = \OC::$server->getLockingProvider(); |
|
| 54 | + if($lockingProvider instanceof DBLockingProvider) { |
|
| 55 | + $lockingProvider->cleanExpiredLocks(); |
|
| 56 | + } |
|
| 57 | + } |
|
| 58 | 58 | } |
@@ -51,7 +51,7 @@ |
||
| 51 | 51 | */ |
| 52 | 52 | public function run($argument) { |
| 53 | 53 | $lockingProvider = \OC::$server->getLockingProvider(); |
| 54 | - if($lockingProvider instanceof DBLockingProvider) { |
|
| 54 | + if ($lockingProvider instanceof DBLockingProvider) { |
|
| 55 | 55 | $lockingProvider->cleanExpiredLocks(); |
| 56 | 56 | } |
| 57 | 57 | } |
@@ -32,123 +32,123 @@ |
||
| 32 | 32 | */ |
| 33 | 33 | class DeleteOrphanedItems extends TimedJob { |
| 34 | 34 | |
| 35 | - const CHUNK_SIZE = 200; |
|
| 36 | - |
|
| 37 | - /** @var \OCP\IDBConnection */ |
|
| 38 | - protected $connection; |
|
| 39 | - |
|
| 40 | - /** @var \OCP\ILogger */ |
|
| 41 | - protected $logger; |
|
| 42 | - |
|
| 43 | - /** |
|
| 44 | - * Default interval in minutes |
|
| 45 | - * |
|
| 46 | - * @var int $defaultIntervalMin |
|
| 47 | - **/ |
|
| 48 | - protected $defaultIntervalMin = 60; |
|
| 49 | - |
|
| 50 | - /** |
|
| 51 | - * sets the correct interval for this timed job |
|
| 52 | - */ |
|
| 53 | - public function __construct() { |
|
| 54 | - $this->interval = $this->defaultIntervalMin * 60; |
|
| 55 | - $this->connection = \OC::$server->getDatabaseConnection(); |
|
| 56 | - $this->logger = \OC::$server->getLogger(); |
|
| 57 | - } |
|
| 58 | - |
|
| 59 | - /** |
|
| 60 | - * Makes the background job do its work |
|
| 61 | - * |
|
| 62 | - * @param array $argument unused argument |
|
| 63 | - */ |
|
| 64 | - public function run($argument) { |
|
| 65 | - $this->cleanSystemTags(); |
|
| 66 | - $this->cleanUserTags(); |
|
| 67 | - $this->cleanComments(); |
|
| 68 | - $this->cleanCommentMarkers(); |
|
| 69 | - } |
|
| 70 | - |
|
| 71 | - /** |
|
| 72 | - * Deleting orphaned system tag mappings |
|
| 73 | - * |
|
| 74 | - * @param string $table |
|
| 75 | - * @param string $idCol |
|
| 76 | - * @param string $typeCol |
|
| 77 | - * @return int Number of deleted entries |
|
| 78 | - */ |
|
| 79 | - protected function cleanUp($table, $idCol, $typeCol) { |
|
| 80 | - $deletedEntries = 0; |
|
| 81 | - |
|
| 82 | - $query = $this->connection->getQueryBuilder(); |
|
| 83 | - $query->select('t1.' . $idCol) |
|
| 84 | - ->from($table, 't1') |
|
| 85 | - ->where($query->expr()->eq($typeCol, $query->expr()->literal('files'))) |
|
| 86 | - ->andWhere($query->expr()->isNull('t2.fileid')) |
|
| 87 | - ->leftJoin('t1', 'filecache', 't2', $query->expr()->eq($query->expr()->castColumn('t1.' . $idCol, IQueryBuilder::PARAM_INT), 't2.fileid')) |
|
| 88 | - ->groupBy('t1.' . $idCol) |
|
| 89 | - ->setMaxResults(self::CHUNK_SIZE); |
|
| 90 | - |
|
| 91 | - $deleteQuery = $this->connection->getQueryBuilder(); |
|
| 92 | - $deleteQuery->delete($table) |
|
| 93 | - ->where($deleteQuery->expr()->eq($idCol, $deleteQuery->createParameter('objectid'))); |
|
| 94 | - |
|
| 95 | - $deletedInLastChunk = self::CHUNK_SIZE; |
|
| 96 | - while ($deletedInLastChunk === self::CHUNK_SIZE) { |
|
| 97 | - $result = $query->execute(); |
|
| 98 | - $deletedInLastChunk = 0; |
|
| 99 | - while ($row = $result->fetch()) { |
|
| 100 | - $deletedInLastChunk++; |
|
| 101 | - $deletedEntries += $deleteQuery->setParameter('objectid', (int) $row[$idCol]) |
|
| 102 | - ->execute(); |
|
| 103 | - } |
|
| 104 | - $result->closeCursor(); |
|
| 105 | - } |
|
| 106 | - |
|
| 107 | - return $deletedEntries; |
|
| 108 | - } |
|
| 109 | - |
|
| 110 | - /** |
|
| 111 | - * Deleting orphaned system tag mappings |
|
| 112 | - * |
|
| 113 | - * @return int Number of deleted entries |
|
| 114 | - */ |
|
| 115 | - protected function cleanSystemTags() { |
|
| 116 | - $deletedEntries = $this->cleanUp('systemtag_object_mapping', 'objectid', 'objecttype'); |
|
| 117 | - $this->logger->debug("$deletedEntries orphaned system tag relations deleted", ['app' => 'DeleteOrphanedItems']); |
|
| 118 | - return $deletedEntries; |
|
| 119 | - } |
|
| 120 | - |
|
| 121 | - /** |
|
| 122 | - * Deleting orphaned user tag mappings |
|
| 123 | - * |
|
| 124 | - * @return int Number of deleted entries |
|
| 125 | - */ |
|
| 126 | - protected function cleanUserTags() { |
|
| 127 | - $deletedEntries = $this->cleanUp('vcategory_to_object', 'objid', 'type'); |
|
| 128 | - $this->logger->debug("$deletedEntries orphaned user tag relations deleted", ['app' => 'DeleteOrphanedItems']); |
|
| 129 | - return $deletedEntries; |
|
| 130 | - } |
|
| 131 | - |
|
| 132 | - /** |
|
| 133 | - * Deleting orphaned comments |
|
| 134 | - * |
|
| 135 | - * @return int Number of deleted entries |
|
| 136 | - */ |
|
| 137 | - protected function cleanComments() { |
|
| 138 | - $deletedEntries = $this->cleanUp('comments', 'object_id', 'object_type'); |
|
| 139 | - $this->logger->debug("$deletedEntries orphaned comments deleted", ['app' => 'DeleteOrphanedItems']); |
|
| 140 | - return $deletedEntries; |
|
| 141 | - } |
|
| 142 | - |
|
| 143 | - /** |
|
| 144 | - * Deleting orphaned comment read markers |
|
| 145 | - * |
|
| 146 | - * @return int Number of deleted entries |
|
| 147 | - */ |
|
| 148 | - protected function cleanCommentMarkers() { |
|
| 149 | - $deletedEntries = $this->cleanUp('comments_read_markers', 'object_id', 'object_type'); |
|
| 150 | - $this->logger->debug("$deletedEntries orphaned comment read marks deleted", ['app' => 'DeleteOrphanedItems']); |
|
| 151 | - return $deletedEntries; |
|
| 152 | - } |
|
| 35 | + const CHUNK_SIZE = 200; |
|
| 36 | + |
|
| 37 | + /** @var \OCP\IDBConnection */ |
|
| 38 | + protected $connection; |
|
| 39 | + |
|
| 40 | + /** @var \OCP\ILogger */ |
|
| 41 | + protected $logger; |
|
| 42 | + |
|
| 43 | + /** |
|
| 44 | + * Default interval in minutes |
|
| 45 | + * |
|
| 46 | + * @var int $defaultIntervalMin |
|
| 47 | + **/ |
|
| 48 | + protected $defaultIntervalMin = 60; |
|
| 49 | + |
|
| 50 | + /** |
|
| 51 | + * sets the correct interval for this timed job |
|
| 52 | + */ |
|
| 53 | + public function __construct() { |
|
| 54 | + $this->interval = $this->defaultIntervalMin * 60; |
|
| 55 | + $this->connection = \OC::$server->getDatabaseConnection(); |
|
| 56 | + $this->logger = \OC::$server->getLogger(); |
|
| 57 | + } |
|
| 58 | + |
|
| 59 | + /** |
|
| 60 | + * Makes the background job do its work |
|
| 61 | + * |
|
| 62 | + * @param array $argument unused argument |
|
| 63 | + */ |
|
| 64 | + public function run($argument) { |
|
| 65 | + $this->cleanSystemTags(); |
|
| 66 | + $this->cleanUserTags(); |
|
| 67 | + $this->cleanComments(); |
|
| 68 | + $this->cleanCommentMarkers(); |
|
| 69 | + } |
|
| 70 | + |
|
| 71 | + /** |
|
| 72 | + * Deleting orphaned system tag mappings |
|
| 73 | + * |
|
| 74 | + * @param string $table |
|
| 75 | + * @param string $idCol |
|
| 76 | + * @param string $typeCol |
|
| 77 | + * @return int Number of deleted entries |
|
| 78 | + */ |
|
| 79 | + protected function cleanUp($table, $idCol, $typeCol) { |
|
| 80 | + $deletedEntries = 0; |
|
| 81 | + |
|
| 82 | + $query = $this->connection->getQueryBuilder(); |
|
| 83 | + $query->select('t1.' . $idCol) |
|
| 84 | + ->from($table, 't1') |
|
| 85 | + ->where($query->expr()->eq($typeCol, $query->expr()->literal('files'))) |
|
| 86 | + ->andWhere($query->expr()->isNull('t2.fileid')) |
|
| 87 | + ->leftJoin('t1', 'filecache', 't2', $query->expr()->eq($query->expr()->castColumn('t1.' . $idCol, IQueryBuilder::PARAM_INT), 't2.fileid')) |
|
| 88 | + ->groupBy('t1.' . $idCol) |
|
| 89 | + ->setMaxResults(self::CHUNK_SIZE); |
|
| 90 | + |
|
| 91 | + $deleteQuery = $this->connection->getQueryBuilder(); |
|
| 92 | + $deleteQuery->delete($table) |
|
| 93 | + ->where($deleteQuery->expr()->eq($idCol, $deleteQuery->createParameter('objectid'))); |
|
| 94 | + |
|
| 95 | + $deletedInLastChunk = self::CHUNK_SIZE; |
|
| 96 | + while ($deletedInLastChunk === self::CHUNK_SIZE) { |
|
| 97 | + $result = $query->execute(); |
|
| 98 | + $deletedInLastChunk = 0; |
|
| 99 | + while ($row = $result->fetch()) { |
|
| 100 | + $deletedInLastChunk++; |
|
| 101 | + $deletedEntries += $deleteQuery->setParameter('objectid', (int) $row[$idCol]) |
|
| 102 | + ->execute(); |
|
| 103 | + } |
|
| 104 | + $result->closeCursor(); |
|
| 105 | + } |
|
| 106 | + |
|
| 107 | + return $deletedEntries; |
|
| 108 | + } |
|
| 109 | + |
|
| 110 | + /** |
|
| 111 | + * Deleting orphaned system tag mappings |
|
| 112 | + * |
|
| 113 | + * @return int Number of deleted entries |
|
| 114 | + */ |
|
| 115 | + protected function cleanSystemTags() { |
|
| 116 | + $deletedEntries = $this->cleanUp('systemtag_object_mapping', 'objectid', 'objecttype'); |
|
| 117 | + $this->logger->debug("$deletedEntries orphaned system tag relations deleted", ['app' => 'DeleteOrphanedItems']); |
|
| 118 | + return $deletedEntries; |
|
| 119 | + } |
|
| 120 | + |
|
| 121 | + /** |
|
| 122 | + * Deleting orphaned user tag mappings |
|
| 123 | + * |
|
| 124 | + * @return int Number of deleted entries |
|
| 125 | + */ |
|
| 126 | + protected function cleanUserTags() { |
|
| 127 | + $deletedEntries = $this->cleanUp('vcategory_to_object', 'objid', 'type'); |
|
| 128 | + $this->logger->debug("$deletedEntries orphaned user tag relations deleted", ['app' => 'DeleteOrphanedItems']); |
|
| 129 | + return $deletedEntries; |
|
| 130 | + } |
|
| 131 | + |
|
| 132 | + /** |
|
| 133 | + * Deleting orphaned comments |
|
| 134 | + * |
|
| 135 | + * @return int Number of deleted entries |
|
| 136 | + */ |
|
| 137 | + protected function cleanComments() { |
|
| 138 | + $deletedEntries = $this->cleanUp('comments', 'object_id', 'object_type'); |
|
| 139 | + $this->logger->debug("$deletedEntries orphaned comments deleted", ['app' => 'DeleteOrphanedItems']); |
|
| 140 | + return $deletedEntries; |
|
| 141 | + } |
|
| 142 | + |
|
| 143 | + /** |
|
| 144 | + * Deleting orphaned comment read markers |
|
| 145 | + * |
|
| 146 | + * @return int Number of deleted entries |
|
| 147 | + */ |
|
| 148 | + protected function cleanCommentMarkers() { |
|
| 149 | + $deletedEntries = $this->cleanUp('comments_read_markers', 'object_id', 'object_type'); |
|
| 150 | + $this->logger->debug("$deletedEntries orphaned comment read marks deleted", ['app' => 'DeleteOrphanedItems']); |
|
| 151 | + return $deletedEntries; |
|
| 152 | + } |
|
| 153 | 153 | |
| 154 | 154 | } |
@@ -80,12 +80,12 @@ |
||
| 80 | 80 | $deletedEntries = 0; |
| 81 | 81 | |
| 82 | 82 | $query = $this->connection->getQueryBuilder(); |
| 83 | - $query->select('t1.' . $idCol) |
|
| 83 | + $query->select('t1.'.$idCol) |
|
| 84 | 84 | ->from($table, 't1') |
| 85 | 85 | ->where($query->expr()->eq($typeCol, $query->expr()->literal('files'))) |
| 86 | 86 | ->andWhere($query->expr()->isNull('t2.fileid')) |
| 87 | - ->leftJoin('t1', 'filecache', 't2', $query->expr()->eq($query->expr()->castColumn('t1.' . $idCol, IQueryBuilder::PARAM_INT), 't2.fileid')) |
|
| 88 | - ->groupBy('t1.' . $idCol) |
|
| 87 | + ->leftJoin('t1', 'filecache', 't2', $query->expr()->eq($query->expr()->castColumn('t1.'.$idCol, IQueryBuilder::PARAM_INT), 't2.fileid')) |
|
| 88 | + ->groupBy('t1.'.$idCol) |
|
| 89 | 89 | ->setMaxResults(self::CHUNK_SIZE); |
| 90 | 90 | |
| 91 | 91 | $deleteQuery = $this->connection->getQueryBuilder(); |
@@ -36,80 +36,80 @@ |
||
| 36 | 36 | * @package OCA\Files\BackgroundJob |
| 37 | 37 | */ |
| 38 | 38 | class ScanFiles extends \OC\BackgroundJob\TimedJob { |
| 39 | - /** @var IConfig */ |
|
| 40 | - private $config; |
|
| 41 | - /** @var IUserManager */ |
|
| 42 | - private $userManager; |
|
| 43 | - /** @var IDBConnection */ |
|
| 44 | - private $dbConnection; |
|
| 45 | - /** @var ILogger */ |
|
| 46 | - private $logger; |
|
| 47 | - /** Amount of users that should get scanned per execution */ |
|
| 48 | - const USERS_PER_SESSION = 500; |
|
| 39 | + /** @var IConfig */ |
|
| 40 | + private $config; |
|
| 41 | + /** @var IUserManager */ |
|
| 42 | + private $userManager; |
|
| 43 | + /** @var IDBConnection */ |
|
| 44 | + private $dbConnection; |
|
| 45 | + /** @var ILogger */ |
|
| 46 | + private $logger; |
|
| 47 | + /** Amount of users that should get scanned per execution */ |
|
| 48 | + const USERS_PER_SESSION = 500; |
|
| 49 | 49 | |
| 50 | - /** |
|
| 51 | - * @param IConfig|null $config |
|
| 52 | - * @param IUserManager|null $userManager |
|
| 53 | - * @param IDBConnection|null $dbConnection |
|
| 54 | - * @param ILogger|null $logger |
|
| 55 | - */ |
|
| 56 | - public function __construct(IConfig $config = null, |
|
| 57 | - IUserManager $userManager = null, |
|
| 58 | - IDBConnection $dbConnection = null, |
|
| 59 | - ILogger $logger = null) { |
|
| 60 | - // Run once per 10 minutes |
|
| 61 | - $this->setInterval(60 * 10); |
|
| 50 | + /** |
|
| 51 | + * @param IConfig|null $config |
|
| 52 | + * @param IUserManager|null $userManager |
|
| 53 | + * @param IDBConnection|null $dbConnection |
|
| 54 | + * @param ILogger|null $logger |
|
| 55 | + */ |
|
| 56 | + public function __construct(IConfig $config = null, |
|
| 57 | + IUserManager $userManager = null, |
|
| 58 | + IDBConnection $dbConnection = null, |
|
| 59 | + ILogger $logger = null) { |
|
| 60 | + // Run once per 10 minutes |
|
| 61 | + $this->setInterval(60 * 10); |
|
| 62 | 62 | |
| 63 | - if (is_null($userManager) || is_null($config)) { |
|
| 64 | - $this->fixDIForJobs(); |
|
| 65 | - } else { |
|
| 66 | - $this->config = $config; |
|
| 67 | - $this->userManager = $userManager; |
|
| 68 | - $this->logger = $logger; |
|
| 69 | - } |
|
| 70 | - } |
|
| 63 | + if (is_null($userManager) || is_null($config)) { |
|
| 64 | + $this->fixDIForJobs(); |
|
| 65 | + } else { |
|
| 66 | + $this->config = $config; |
|
| 67 | + $this->userManager = $userManager; |
|
| 68 | + $this->logger = $logger; |
|
| 69 | + } |
|
| 70 | + } |
|
| 71 | 71 | |
| 72 | - protected function fixDIForJobs() { |
|
| 73 | - $this->config = \OC::$server->getConfig(); |
|
| 74 | - $this->userManager = \OC::$server->getUserManager(); |
|
| 75 | - $this->logger = \OC::$server->getLogger(); |
|
| 76 | - } |
|
| 72 | + protected function fixDIForJobs() { |
|
| 73 | + $this->config = \OC::$server->getConfig(); |
|
| 74 | + $this->userManager = \OC::$server->getUserManager(); |
|
| 75 | + $this->logger = \OC::$server->getLogger(); |
|
| 76 | + } |
|
| 77 | 77 | |
| 78 | - /** |
|
| 79 | - * @param IUser $user |
|
| 80 | - */ |
|
| 81 | - protected function runScanner(IUser $user) { |
|
| 82 | - try { |
|
| 83 | - $scanner = new Scanner( |
|
| 84 | - $user->getUID(), |
|
| 85 | - $this->dbConnection, |
|
| 86 | - $this->logger |
|
| 87 | - ); |
|
| 88 | - $scanner->backgroundScan(''); |
|
| 89 | - } catch (\Exception $e) { |
|
| 90 | - $this->logger->logException($e, ['app' => 'files']); |
|
| 91 | - } |
|
| 92 | - \OC_Util::tearDownFS(); |
|
| 93 | - } |
|
| 78 | + /** |
|
| 79 | + * @param IUser $user |
|
| 80 | + */ |
|
| 81 | + protected function runScanner(IUser $user) { |
|
| 82 | + try { |
|
| 83 | + $scanner = new Scanner( |
|
| 84 | + $user->getUID(), |
|
| 85 | + $this->dbConnection, |
|
| 86 | + $this->logger |
|
| 87 | + ); |
|
| 88 | + $scanner->backgroundScan(''); |
|
| 89 | + } catch (\Exception $e) { |
|
| 90 | + $this->logger->logException($e, ['app' => 'files']); |
|
| 91 | + } |
|
| 92 | + \OC_Util::tearDownFS(); |
|
| 93 | + } |
|
| 94 | 94 | |
| 95 | - /** |
|
| 96 | - * @param $argument |
|
| 97 | - * @throws \Exception |
|
| 98 | - */ |
|
| 99 | - protected function run($argument) { |
|
| 100 | - $offset = $this->config->getAppValue('files', 'cronjob_scan_files', 0); |
|
| 101 | - $users = $this->userManager->search('', self::USERS_PER_SESSION, $offset); |
|
| 102 | - if (!count($users)) { |
|
| 103 | - // No users found, reset offset and retry |
|
| 104 | - $offset = 0; |
|
| 105 | - $users = $this->userManager->search('', self::USERS_PER_SESSION); |
|
| 106 | - } |
|
| 95 | + /** |
|
| 96 | + * @param $argument |
|
| 97 | + * @throws \Exception |
|
| 98 | + */ |
|
| 99 | + protected function run($argument) { |
|
| 100 | + $offset = $this->config->getAppValue('files', 'cronjob_scan_files', 0); |
|
| 101 | + $users = $this->userManager->search('', self::USERS_PER_SESSION, $offset); |
|
| 102 | + if (!count($users)) { |
|
| 103 | + // No users found, reset offset and retry |
|
| 104 | + $offset = 0; |
|
| 105 | + $users = $this->userManager->search('', self::USERS_PER_SESSION); |
|
| 106 | + } |
|
| 107 | 107 | |
| 108 | - $offset += self::USERS_PER_SESSION; |
|
| 109 | - $this->config->setAppValue('files', 'cronjob_scan_files', $offset); |
|
| 108 | + $offset += self::USERS_PER_SESSION; |
|
| 109 | + $this->config->setAppValue('files', 'cronjob_scan_files', $offset); |
|
| 110 | 110 | |
| 111 | - foreach ($users as $user) { |
|
| 112 | - $this->runScanner($user); |
|
| 113 | - } |
|
| 114 | - } |
|
| 111 | + foreach ($users as $user) { |
|
| 112 | + $this->runScanner($user); |
|
| 113 | + } |
|
| 114 | + } |
|
| 115 | 115 | } |
@@ -30,11 +30,11 @@ |
||
| 30 | 30 | $filename = $_GET["file"]; |
| 31 | 31 | |
| 32 | 32 | if(!\OC\Files\Filesystem::file_exists($filename)) { |
| 33 | - header("HTTP/1.0 404 Not Found"); |
|
| 34 | - $tmpl = new OCP\Template( '', '404', 'guest' ); |
|
| 35 | - $tmpl->assign('file', $filename); |
|
| 36 | - $tmpl->printPage(); |
|
| 37 | - exit; |
|
| 33 | + header("HTTP/1.0 404 Not Found"); |
|
| 34 | + $tmpl = new OCP\Template( '', '404', 'guest' ); |
|
| 35 | + $tmpl->assign('file', $filename); |
|
| 36 | + $tmpl->printPage(); |
|
| 37 | + exit; |
|
| 38 | 38 | } |
| 39 | 39 | |
| 40 | 40 | $ftype=\OC::$server->getMimeTypeDetector()->getSecureMimeType(\OC\Files\Filesystem::getMimeType( $filename )); |
@@ -29,22 +29,22 @@ |
||
| 29 | 29 | |
| 30 | 30 | $filename = $_GET["file"]; |
| 31 | 31 | |
| 32 | -if(!\OC\Files\Filesystem::file_exists($filename)) { |
|
| 32 | +if (!\OC\Files\Filesystem::file_exists($filename)) { |
|
| 33 | 33 | header("HTTP/1.0 404 Not Found"); |
| 34 | - $tmpl = new OCP\Template( '', '404', 'guest' ); |
|
| 34 | + $tmpl = new OCP\Template('', '404', 'guest'); |
|
| 35 | 35 | $tmpl->assign('file', $filename); |
| 36 | 36 | $tmpl->printPage(); |
| 37 | 37 | exit; |
| 38 | 38 | } |
| 39 | 39 | |
| 40 | -$ftype=\OC::$server->getMimeTypeDetector()->getSecureMimeType(\OC\Files\Filesystem::getMimeType( $filename )); |
|
| 40 | +$ftype = \OC::$server->getMimeTypeDetector()->getSecureMimeType(\OC\Files\Filesystem::getMimeType($filename)); |
|
| 41 | 41 | |
| 42 | 42 | header('Content-Type:'.$ftype); |
| 43 | 43 | OCP\Response::setContentDispositionHeader(basename($filename), 'attachment'); |
| 44 | -header('Pragma: public');// enable caching in IE |
|
| 44 | +header('Pragma: public'); // enable caching in IE |
|
| 45 | 45 | header('Expires: 0'); |
| 46 | 46 | header("Cache-Control: must-revalidate, post-check=0, pre-check=0"); |
| 47 | 47 | OCP\Response::setContentLengthHeader(\OC\Files\Filesystem::filesize($filename)); |
| 48 | 48 | |
| 49 | 49 | OC_Util::obEnd(); |
| 50 | -\OC\Files\Filesystem::readfile( $filename ); |
|
| 50 | +\OC\Files\Filesystem::readfile($filename); |
|
@@ -29,60 +29,60 @@ |
||
| 29 | 29 | |
| 30 | 30 | $application = new Application(); |
| 31 | 31 | $application->registerRoutes( |
| 32 | - $this, |
|
| 33 | - array( |
|
| 34 | - 'routes' => array( |
|
| 35 | - array( |
|
| 36 | - 'name' => 'API#getThumbnail', |
|
| 37 | - 'url' => '/api/v1/thumbnail/{x}/{y}/{file}', |
|
| 38 | - 'verb' => 'GET', |
|
| 39 | - 'requirements' => array('file' => '.+') |
|
| 40 | - ), |
|
| 41 | - array( |
|
| 42 | - 'name' => 'API#updateFileTags', |
|
| 43 | - 'url' => '/api/v1/files/{path}', |
|
| 44 | - 'verb' => 'POST', |
|
| 45 | - 'requirements' => array('path' => '.+'), |
|
| 46 | - ), |
|
| 47 | - array( |
|
| 48 | - 'name' => 'API#getRecentFiles', |
|
| 49 | - 'url' => '/api/v1/recent/', |
|
| 50 | - 'verb' => 'GET' |
|
| 51 | - ), |
|
| 52 | - array( |
|
| 53 | - 'name' => 'API#updateFileSorting', |
|
| 54 | - 'url' => '/api/v1/sorting', |
|
| 55 | - 'verb' => 'POST' |
|
| 56 | - ), |
|
| 57 | - array( |
|
| 58 | - 'name' => 'API#showHiddenFiles', |
|
| 59 | - 'url' => '/api/v1/showhidden', |
|
| 60 | - 'verb' => 'POST' |
|
| 61 | - ), |
|
| 62 | - [ |
|
| 63 | - 'name' => 'view#index', |
|
| 64 | - 'url' => '/', |
|
| 65 | - 'verb' => 'GET', |
|
| 66 | - ], |
|
| 67 | - [ |
|
| 68 | - 'name' => 'settings#setMaxUploadSize', |
|
| 69 | - 'url' => '/settings/maxUpload', |
|
| 70 | - 'verb' => 'POST', |
|
| 71 | - ] |
|
| 72 | - ) |
|
| 73 | - ) |
|
| 32 | + $this, |
|
| 33 | + array( |
|
| 34 | + 'routes' => array( |
|
| 35 | + array( |
|
| 36 | + 'name' => 'API#getThumbnail', |
|
| 37 | + 'url' => '/api/v1/thumbnail/{x}/{y}/{file}', |
|
| 38 | + 'verb' => 'GET', |
|
| 39 | + 'requirements' => array('file' => '.+') |
|
| 40 | + ), |
|
| 41 | + array( |
|
| 42 | + 'name' => 'API#updateFileTags', |
|
| 43 | + 'url' => '/api/v1/files/{path}', |
|
| 44 | + 'verb' => 'POST', |
|
| 45 | + 'requirements' => array('path' => '.+'), |
|
| 46 | + ), |
|
| 47 | + array( |
|
| 48 | + 'name' => 'API#getRecentFiles', |
|
| 49 | + 'url' => '/api/v1/recent/', |
|
| 50 | + 'verb' => 'GET' |
|
| 51 | + ), |
|
| 52 | + array( |
|
| 53 | + 'name' => 'API#updateFileSorting', |
|
| 54 | + 'url' => '/api/v1/sorting', |
|
| 55 | + 'verb' => 'POST' |
|
| 56 | + ), |
|
| 57 | + array( |
|
| 58 | + 'name' => 'API#showHiddenFiles', |
|
| 59 | + 'url' => '/api/v1/showhidden', |
|
| 60 | + 'verb' => 'POST' |
|
| 61 | + ), |
|
| 62 | + [ |
|
| 63 | + 'name' => 'view#index', |
|
| 64 | + 'url' => '/', |
|
| 65 | + 'verb' => 'GET', |
|
| 66 | + ], |
|
| 67 | + [ |
|
| 68 | + 'name' => 'settings#setMaxUploadSize', |
|
| 69 | + 'url' => '/settings/maxUpload', |
|
| 70 | + 'verb' => 'POST', |
|
| 71 | + ] |
|
| 72 | + ) |
|
| 73 | + ) |
|
| 74 | 74 | ); |
| 75 | 75 | |
| 76 | 76 | /** @var $this \OC\Route\Router */ |
| 77 | 77 | |
| 78 | 78 | $this->create('files_ajax_download', 'ajax/download.php') |
| 79 | - ->actionInclude('files/ajax/download.php'); |
|
| 79 | + ->actionInclude('files/ajax/download.php'); |
|
| 80 | 80 | $this->create('files_ajax_getstoragestats', 'ajax/getstoragestats.php') |
| 81 | - ->actionInclude('files/ajax/getstoragestats.php'); |
|
| 81 | + ->actionInclude('files/ajax/getstoragestats.php'); |
|
| 82 | 82 | $this->create('files_ajax_list', 'ajax/list.php') |
| 83 | - ->actionInclude('files/ajax/list.php'); |
|
| 83 | + ->actionInclude('files/ajax/list.php'); |
|
| 84 | 84 | |
| 85 | 85 | $this->create('download', 'download{file}') |
| 86 | - ->requirements(array('file' => '.*')) |
|
| 87 | - ->actionInclude('files/download.php'); |
|
| 86 | + ->requirements(array('file' => '.*')) |
|
| 87 | + ->actionInclude('files/download.php'); |
|
| 88 | 88 | |
@@ -38,7 +38,7 @@ discard block |
||
| 38 | 38 | $templateManager->registerTemplate('application/vnd.oasis.opendocument.text', 'core/templates/filetemplates/template.odt'); |
| 39 | 39 | $templateManager->registerTemplate('application/vnd.oasis.opendocument.spreadsheet', 'core/templates/filetemplates/template.ods'); |
| 40 | 40 | |
| 41 | -\OCA\Files\App::getNavigationManager()->add(function () use ($l) { |
|
| 41 | +\OCA\Files\App::getNavigationManager()->add(function() use ($l) { |
|
| 42 | 42 | return [ |
| 43 | 43 | 'id' => 'files', |
| 44 | 44 | 'appname' => 'files', |
@@ -48,7 +48,7 @@ discard block |
||
| 48 | 48 | ]; |
| 49 | 49 | }); |
| 50 | 50 | |
| 51 | -\OCA\Files\App::getNavigationManager()->add(function () use ($l) { |
|
| 51 | +\OCA\Files\App::getNavigationManager()->add(function() use ($l) { |
|
| 52 | 52 | return [ |
| 53 | 53 | 'id' => 'recent', |
| 54 | 54 | 'appname' => 'files', |
@@ -39,23 +39,23 @@ |
||
| 39 | 39 | $templateManager->registerTemplate('application/vnd.oasis.opendocument.spreadsheet', 'core/templates/filetemplates/template.ods'); |
| 40 | 40 | |
| 41 | 41 | \OCA\Files\App::getNavigationManager()->add(function () use ($l) { |
| 42 | - return [ |
|
| 43 | - 'id' => 'files', |
|
| 44 | - 'appname' => 'files', |
|
| 45 | - 'script' => 'list.php', |
|
| 46 | - 'order' => 0, |
|
| 47 | - 'name' => $l->t('All files'), |
|
| 48 | - ]; |
|
| 42 | + return [ |
|
| 43 | + 'id' => 'files', |
|
| 44 | + 'appname' => 'files', |
|
| 45 | + 'script' => 'list.php', |
|
| 46 | + 'order' => 0, |
|
| 47 | + 'name' => $l->t('All files'), |
|
| 48 | + ]; |
|
| 49 | 49 | }); |
| 50 | 50 | |
| 51 | 51 | \OCA\Files\App::getNavigationManager()->add(function () use ($l) { |
| 52 | - return [ |
|
| 53 | - 'id' => 'recent', |
|
| 54 | - 'appname' => 'files', |
|
| 55 | - 'script' => 'recentlist.php', |
|
| 56 | - 'order' => 2, |
|
| 57 | - 'name' => $l->t('Recent'), |
|
| 58 | - ]; |
|
| 52 | + return [ |
|
| 53 | + 'id' => 'recent', |
|
| 54 | + 'appname' => 'files', |
|
| 55 | + 'script' => 'recentlist.php', |
|
| 56 | + 'order' => 2, |
|
| 57 | + 'name' => $l->t('Recent'), |
|
| 58 | + ]; |
|
| 59 | 59 | }); |
| 60 | 60 | |
| 61 | 61 | \OCP\Util::connectHook('\OCP\Config', 'js', '\OCA\Files\App', 'extendJsConfig'); |
@@ -9,19 +9,19 @@ |
||
| 9 | 9 | <p> |
| 10 | 10 | <select id="ldap_serverconfig_chooser" name="ldap_serverconfig_chooser"> |
| 11 | 11 | <?php if(count($_['serverConfigurationPrefixes']) === 0 ) { |
| 12 | - ?> |
|
| 12 | + ?> |
|
| 13 | 13 | <option value="" selected><?php p($l->t('1. Server'));?></option>'); |
| 14 | 14 | <?php |
| 15 | - } else { |
|
| 16 | - $i = 1; |
|
| 17 | - $sel = ' selected'; |
|
| 18 | - foreach($_['serverConfigurationPrefixes'] as $prefix) { |
|
| 19 | - ?> |
|
| 15 | + } else { |
|
| 16 | + $i = 1; |
|
| 17 | + $sel = ' selected'; |
|
| 18 | + foreach($_['serverConfigurationPrefixes'] as $prefix) { |
|
| 19 | + ?> |
|
| 20 | 20 | <option value="<?php p($prefix); ?>"<?php p($sel); $sel = ''; ?>><?php p($l->t('%s. Server:', array($i++)));?> <?php p(' '.$_['serverConfigurationHosts'][$prefix]); ?></option> |
| 21 | 21 | <?php |
| 22 | - } |
|
| 23 | - } |
|
| 24 | - ?> |
|
| 22 | + } |
|
| 23 | + } |
|
| 24 | + ?> |
|
| 25 | 25 | </select> |
| 26 | 26 | <button type="button" id="ldap_action_add_configuration" |
| 27 | 27 | name="ldap_action_add_configuration" class="icon-add icon-default-style" |
@@ -1,16 +1,16 @@ discard block |
||
| 1 | 1 | <fieldset id="ldapWizard1"> |
| 2 | 2 | <p> |
| 3 | 3 | <select id="ldap_serverconfig_chooser" name="ldap_serverconfig_chooser"> |
| 4 | - <?php if(count($_['serverConfigurationPrefixes']) === 0 ) { |
|
| 4 | + <?php if (count($_['serverConfigurationPrefixes']) === 0) { |
|
| 5 | 5 | ?> |
| 6 | - <option value="" selected><?php p($l->t('1. Server'));?></option>'); |
|
| 6 | + <option value="" selected><?php p($l->t('1. Server')); ?></option>'); |
|
| 7 | 7 | <?php |
| 8 | 8 | } else { |
| 9 | 9 | $i = 1; |
| 10 | 10 | $sel = ' selected'; |
| 11 | - foreach($_['serverConfigurationPrefixes'] as $prefix) { |
|
| 11 | + foreach ($_['serverConfigurationPrefixes'] as $prefix) { |
|
| 12 | 12 | ?> |
| 13 | - <option value="<?php p($prefix); ?>"<?php p($sel); $sel = ''; ?>><?php p($l->t('%s. Server:', array($i++)));?> <?php p(' '.$_['serverConfigurationHosts'][$prefix]); ?></option> |
|
| 13 | + <option value="<?php p($prefix); ?>"<?php p($sel); $sel = ''; ?>><?php p($l->t('%s. Server:', array($i++))); ?> <?php p(' '.$_['serverConfigurationHosts'][$prefix]); ?></option> |
|
| 14 | 14 | <?php |
| 15 | 15 | } |
| 16 | 16 | } |
@@ -18,14 +18,14 @@ discard block |
||
| 18 | 18 | </select> |
| 19 | 19 | <button type="button" id="ldap_action_add_configuration" |
| 20 | 20 | name="ldap_action_add_configuration" class="icon-add icon-default-style" |
| 21 | - title="<?php p($l->t('Add a new configuration'));?>"> </button> |
|
| 21 | + title="<?php p($l->t('Add a new configuration')); ?>"> </button> |
|
| 22 | 22 | <button type="button" id="ldap_action_copy_configuration" |
| 23 | 23 | name="ldap_action_copy_configuration" |
| 24 | 24 | class="ldapIconCopy icon-default-style" |
| 25 | - title="<?php p($l->t('Copy current configuration into new directory binding'));?>"> </button> |
|
| 25 | + title="<?php p($l->t('Copy current configuration into new directory binding')); ?>"> </button> |
|
| 26 | 26 | <button type="button" id="ldap_action_delete_configuration" |
| 27 | 27 | name="ldap_action_delete_configuration" class="icon-delete icon-default-style" |
| 28 | - title="<?php p($l->t('Delete the current configuration'));?>"> </button> |
|
| 28 | + title="<?php p($l->t('Delete the current configuration')); ?>"> </button> |
|
| 29 | 29 | </p> |
| 30 | 30 | |
| 31 | 31 | <div class="hostPortCombinator"> |
@@ -34,14 +34,14 @@ discard block |
||
| 34 | 34 | <div class="table"> |
| 35 | 35 | <input type="text" class="host" id="ldap_host" |
| 36 | 36 | name="ldap_host" |
| 37 | - placeholder="<?php p($l->t('Host'));?>" |
|
| 38 | - title="<?php p($l->t('You can omit the protocol, unless you require SSL. If so, start with ldaps://'));?>" |
|
| 37 | + placeholder="<?php p($l->t('Host')); ?>" |
|
| 38 | + title="<?php p($l->t('You can omit the protocol, unless you require SSL. If so, start with ldaps://')); ?>" |
|
| 39 | 39 | /> |
| 40 | 40 | <span class="hostPortCombinatorSpan"> |
| 41 | 41 | <input type="number" id="ldap_port" name="ldap_port" |
| 42 | - placeholder="<?php p($l->t('Port'));?>" /> |
|
| 42 | + placeholder="<?php p($l->t('Port')); ?>" /> |
|
| 43 | 43 | <button class="ldapDetectPort" name="ldapDetectPort" type="button"> |
| 44 | - <?php p($l->t('Detect Port'));?> |
|
| 44 | + <?php p($l->t('Detect Port')); ?> |
|
| 45 | 45 | </button> |
| 46 | 46 | </span> |
| 47 | 47 | </div> |
@@ -51,19 +51,19 @@ discard block |
||
| 51 | 51 | <div class="tablerow"> |
| 52 | 52 | <input type="text" id="ldap_dn" name="ldap_dn" |
| 53 | 53 | class="tablecell" |
| 54 | - placeholder="<?php p($l->t('User DN'));?>" autocomplete="off" |
|
| 55 | - title="<?php p($l->t('The DN of the client user with which the bind shall be done, e.g. uid=agent,dc=example,dc=com. For anonymous access, leave DN and Password empty.'));?>" |
|
| 54 | + placeholder="<?php p($l->t('User DN')); ?>" autocomplete="off" |
|
| 55 | + title="<?php p($l->t('The DN of the client user with which the bind shall be done, e.g. uid=agent,dc=example,dc=com. For anonymous access, leave DN and Password empty.')); ?>" |
|
| 56 | 56 | /> |
| 57 | 57 | </div> |
| 58 | 58 | |
| 59 | 59 | <div class="tablerow"> |
| 60 | 60 | <input type="password" id="ldap_agent_password" |
| 61 | 61 | class="tablecell" name="ldap_agent_password" |
| 62 | - placeholder="<?php p($l->t('Password'));?>" autocomplete="off" |
|
| 63 | - title="<?php p($l->t('For anonymous access, leave DN and Password empty.'));?>" |
|
| 62 | + placeholder="<?php p($l->t('Password')); ?>" autocomplete="off" |
|
| 63 | + title="<?php p($l->t('For anonymous access, leave DN and Password empty.')); ?>" |
|
| 64 | 64 | /> |
| 65 | 65 | <button class="ldapSaveAgentCredentials" name="ldapSaveAgentCredentials" type="button"> |
| 66 | - <?php p($l->t('Save Credentials'));?> |
|
| 66 | + <?php p($l->t('Save Credentials')); ?> |
|
| 67 | 67 | </button> |
| 68 | 68 | </div> |
| 69 | 69 | <div class="tablerow"> </div> |
@@ -71,24 +71,24 @@ discard block |
||
| 71 | 71 | <div class="tablerow"> |
| 72 | 72 | <textarea id="ldap_base" name="ldap_base" |
| 73 | 73 | class="tablecell" |
| 74 | - placeholder="<?php p($l->t('One Base DN per line'));?>" |
|
| 75 | - title="<?php p($l->t('You can specify Base DN for users and groups in the Advanced tab'));?>"> |
|
| 74 | + placeholder="<?php p($l->t('One Base DN per line')); ?>" |
|
| 75 | + title="<?php p($l->t('You can specify Base DN for users and groups in the Advanced tab')); ?>"> |
|
| 76 | 76 | </textarea> |
| 77 | 77 | <button class="ldapDetectBase" name="ldapDetectBase" type="button"> |
| 78 | - <?php p($l->t('Detect Base DN'));?> |
|
| 78 | + <?php p($l->t('Detect Base DN')); ?> |
|
| 79 | 79 | </button> |
| 80 | 80 | <button class="ldapTestBase" name="ldapTestBase" type="button"> |
| 81 | - <?php p($l->t('Test Base DN'));?> |
|
| 81 | + <?php p($l->t('Test Base DN')); ?> |
|
| 82 | 82 | </button> |
| 83 | 83 | </div> |
| 84 | 84 | |
| 85 | 85 | <div class="tablerow left"> |
| 86 | 86 | <input type="checkbox" id="ldap_experienced_admin" value="1" |
| 87 | 87 | name="ldap_experienced_admin" class="tablecell" |
| 88 | - title="<?php p($l->t('Avoids automatic LDAP requests. Better for bigger setups, but requires some LDAP knowledge.'));?>" |
|
| 88 | + title="<?php p($l->t('Avoids automatic LDAP requests. Better for bigger setups, but requires some LDAP knowledge.')); ?>" |
|
| 89 | 89 | /> |
| 90 | 90 | <label for="ldap_experienced_admin" class="tablecell"> |
| 91 | - <?php p($l->t('Manually enter LDAP filters (recommended for large directories)'));?> |
|
| 91 | + <?php p($l->t('Manually enter LDAP filters (recommended for large directories)')); ?> |
|
| 92 | 92 | </label> |
| 93 | 93 | </div> |
| 94 | 94 | |
@@ -34,16 +34,16 @@ |
||
| 34 | 34 | $subject = (string)$_POST['ldap_clear_mapping']; |
| 35 | 35 | $mapping = null; |
| 36 | 36 | if($subject === 'user') { |
| 37 | - $mapping = new UserMapping(\OC::$server->getDatabaseConnection()); |
|
| 37 | + $mapping = new UserMapping(\OC::$server->getDatabaseConnection()); |
|
| 38 | 38 | } else if($subject === 'group') { |
| 39 | - $mapping = new GroupMapping(\OC::$server->getDatabaseConnection()); |
|
| 39 | + $mapping = new GroupMapping(\OC::$server->getDatabaseConnection()); |
|
| 40 | 40 | } |
| 41 | 41 | try { |
| 42 | - if(is_null($mapping) || !$mapping->clear()) { |
|
| 43 | - $l = \OC::$server->getL10N('user_ldap'); |
|
| 44 | - throw new \Exception($l->t('Failed to clear the mappings.')); |
|
| 45 | - } |
|
| 46 | - OCP\JSON::success(); |
|
| 42 | + if(is_null($mapping) || !$mapping->clear()) { |
|
| 43 | + $l = \OC::$server->getL10N('user_ldap'); |
|
| 44 | + throw new \Exception($l->t('Failed to clear the mappings.')); |
|
| 45 | + } |
|
| 46 | + OCP\JSON::success(); |
|
| 47 | 47 | } catch (\Exception $e) { |
| 48 | - OCP\JSON::error(array('message' => $e->getMessage())); |
|
| 48 | + OCP\JSON::error(array('message' => $e->getMessage())); |
|
| 49 | 49 | } |
@@ -31,15 +31,15 @@ |
||
| 31 | 31 | OCP\JSON::checkAppEnabled('user_ldap'); |
| 32 | 32 | OCP\JSON::callCheck(); |
| 33 | 33 | |
| 34 | -$subject = (string)$_POST['ldap_clear_mapping']; |
|
| 34 | +$subject = (string) $_POST['ldap_clear_mapping']; |
|
| 35 | 35 | $mapping = null; |
| 36 | -if($subject === 'user') { |
|
| 36 | +if ($subject === 'user') { |
|
| 37 | 37 | $mapping = new UserMapping(\OC::$server->getDatabaseConnection()); |
| 38 | -} else if($subject === 'group') { |
|
| 38 | +} else if ($subject === 'group') { |
|
| 39 | 39 | $mapping = new GroupMapping(\OC::$server->getDatabaseConnection()); |
| 40 | 40 | } |
| 41 | 41 | try { |
| 42 | - if(is_null($mapping) || !$mapping->clear()) { |
|
| 42 | + if (is_null($mapping) || !$mapping->clear()) { |
|
| 43 | 43 | $l = \OC::$server->getL10N('user_ldap'); |
| 44 | 44 | throw new \Exception($l->t('Failed to clear the mappings.')); |
| 45 | 45 | } |
@@ -34,7 +34,7 @@ |
||
| 34 | 34 | $connection = new \OCA\User_LDAP\Connection($ldapWrapper, $prefix); |
| 35 | 35 | $configuration = $connection->getConfiguration(); |
| 36 | 36 | if (isset($configuration['ldap_agent_password']) && $configuration['ldap_agent_password'] !== '') { |
| 37 | - // hide password |
|
| 38 | - $configuration['ldap_agent_password'] = '**PASSWORD SET**'; |
|
| 37 | + // hide password |
|
| 38 | + $configuration['ldap_agent_password'] = '**PASSWORD SET**'; |
|
| 39 | 39 | } |
| 40 | 40 | OCP\JSON::success(array('configuration' => $configuration)); |
@@ -29,7 +29,7 @@ |
||
| 29 | 29 | OCP\JSON::checkAppEnabled('user_ldap'); |
| 30 | 30 | OCP\JSON::callCheck(); |
| 31 | 31 | |
| 32 | -$prefix = (string)$_POST['ldap_serverconfig_chooser']; |
|
| 32 | +$prefix = (string) $_POST['ldap_serverconfig_chooser']; |
|
| 33 | 33 | $ldapWrapper = new OCA\User_LDAP\LDAP(); |
| 34 | 34 | $connection = new \OCA\User_LDAP\Connection($ldapWrapper, $prefix); |
| 35 | 35 | $configuration = $connection->getConfiguration(); |