@@ -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 )); |
@@ -51,48 +51,48 @@ |
||
| 51 | 51 | * @param \OCP\IDBConnection $conn |
| 52 | 52 | */ |
| 53 | 53 | function owncloud_reset_encrypted_flag(\OCP\IDBConnection $conn) { |
| 54 | - $conn->executeUpdate('UPDATE `*PREFIX*filecache` SET `encrypted` = 0 WHERE `encrypted` = 1'); |
|
| 54 | + $conn->executeUpdate('UPDATE `*PREFIX*filecache` SET `encrypted` = 0 WHERE `encrypted` = 1'); |
|
| 55 | 55 | } |
| 56 | 56 | |
| 57 | 57 | // Current version of ownCloud before the update is 8.1.0 or 8.2.0.(0-2) |
| 58 | 58 | if ($installedVersion === '1.1.9' && ( |
| 59 | - // 8.1.0.x |
|
| 60 | - (((int) $ocVersion[0]) === 8 && ((int) $ocVersion[1]) === 1 && ((int) $ocVersion[2]) === 0) |
|
| 61 | - || |
|
| 62 | - // < 8.2.0.3 |
|
| 63 | - (((int) $ocVersion[0]) === 8 && ((int) $ocVersion[1]) === 2 && ((int) $ocVersion[2]) === 0 && ((int) $ocVersion[3]) < 3) |
|
| 64 | - )) { |
|
| 59 | + // 8.1.0.x |
|
| 60 | + (((int) $ocVersion[0]) === 8 && ((int) $ocVersion[1]) === 1 && ((int) $ocVersion[2]) === 0) |
|
| 61 | + || |
|
| 62 | + // < 8.2.0.3 |
|
| 63 | + (((int) $ocVersion[0]) === 8 && ((int) $ocVersion[1]) === 2 && ((int) $ocVersion[2]) === 0 && ((int) $ocVersion[3]) < 3) |
|
| 64 | + )) { |
|
| 65 | 65 | |
| 66 | - // Encryption is not enabled |
|
| 67 | - if (!\OC::$server->getEncryptionManager()->isEnabled()) { |
|
| 68 | - $conn = \OC::$server->getDatabaseConnection(); |
|
| 66 | + // Encryption is not enabled |
|
| 67 | + if (!\OC::$server->getEncryptionManager()->isEnabled()) { |
|
| 68 | + $conn = \OC::$server->getDatabaseConnection(); |
|
| 69 | 69 | |
| 70 | - // Old encryption is not known in app config |
|
| 71 | - $oldEncryption = \OC::$server->getConfig()->getAppKeys('files_encryption'); |
|
| 72 | - if (empty($oldEncryption)) { |
|
| 73 | - owncloud_reset_encrypted_flag($conn); |
|
| 74 | - } else { |
|
| 75 | - $query = $conn->prepare('SELECT * FROM `*PREFIX*filecache` WHERE `encrypted` = 1 AND `unencrypted_size` > 0', 1); |
|
| 76 | - $query->execute(); |
|
| 77 | - $empty = $query->fetch(); |
|
| 70 | + // Old encryption is not known in app config |
|
| 71 | + $oldEncryption = \OC::$server->getConfig()->getAppKeys('files_encryption'); |
|
| 72 | + if (empty($oldEncryption)) { |
|
| 73 | + owncloud_reset_encrypted_flag($conn); |
|
| 74 | + } else { |
|
| 75 | + $query = $conn->prepare('SELECT * FROM `*PREFIX*filecache` WHERE `encrypted` = 1 AND `unencrypted_size` > 0', 1); |
|
| 76 | + $query->execute(); |
|
| 77 | + $empty = $query->fetch(); |
|
| 78 | 78 | |
| 79 | - if (empty($empty)) { |
|
| 80 | - owncloud_reset_encrypted_flag($conn); |
|
| 81 | - } else { |
|
| 82 | - /** |
|
| 83 | - * Sorry in case you are a false positive, but we are not 100% that |
|
| 84 | - * you don't have any encrypted files anymore, so we can not reset |
|
| 85 | - * the value safely |
|
| 86 | - */ |
|
| 87 | - \OC::$server->getLogger()->warning( |
|
| 88 | - 'If you have a problem with files not being accessible and ' |
|
| 89 | - . 'you are not using encryption, please have a look at the following' |
|
| 90 | - . 'issue: {issue}', |
|
| 91 | - [ |
|
| 92 | - 'issue' => 'https://github.com/owncloud/core/issues/17846', |
|
| 93 | - ] |
|
| 94 | - ); |
|
| 95 | - } |
|
| 96 | - } |
|
| 97 | - } |
|
| 79 | + if (empty($empty)) { |
|
| 80 | + owncloud_reset_encrypted_flag($conn); |
|
| 81 | + } else { |
|
| 82 | + /** |
|
| 83 | + * Sorry in case you are a false positive, but we are not 100% that |
|
| 84 | + * you don't have any encrypted files anymore, so we can not reset |
|
| 85 | + * the value safely |
|
| 86 | + */ |
|
| 87 | + \OC::$server->getLogger()->warning( |
|
| 88 | + 'If you have a problem with files not being accessible and ' |
|
| 89 | + . 'you are not using encryption, please have a look at the following' |
|
| 90 | + . 'issue: {issue}', |
|
| 91 | + [ |
|
| 92 | + 'issue' => 'https://github.com/owncloud/core/issues/17846', |
|
| 93 | + ] |
|
| 94 | + ); |
|
| 95 | + } |
|
| 96 | + } |
|
| 97 | + } |
|
| 98 | 98 | } |
@@ -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 | |
@@ -39,21 +39,21 @@ |
||
| 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 | }); |
@@ -38,99 +38,99 @@ |
||
| 38 | 38 | * @package OCA\LookupServerConnector |
| 39 | 39 | */ |
| 40 | 40 | class UpdateLookupServer { |
| 41 | - /** @var AccountManager */ |
|
| 42 | - private $accountManager; |
|
| 43 | - /** @var IConfig */ |
|
| 44 | - private $config; |
|
| 45 | - /** @var ISecureRandom */ |
|
| 46 | - private $secureRandom; |
|
| 47 | - /** @var IClientService */ |
|
| 48 | - private $clientService; |
|
| 49 | - /** @var Manager */ |
|
| 50 | - private $keyManager; |
|
| 51 | - /** @var Signer */ |
|
| 52 | - private $signer; |
|
| 53 | - /** @var IJobList */ |
|
| 54 | - private $jobList; |
|
| 55 | - /** @var string URL point to lookup server */ |
|
| 56 | - private $lookupServer = 'https://lookup.nextcloud.com/users'; |
|
| 41 | + /** @var AccountManager */ |
|
| 42 | + private $accountManager; |
|
| 43 | + /** @var IConfig */ |
|
| 44 | + private $config; |
|
| 45 | + /** @var ISecureRandom */ |
|
| 46 | + private $secureRandom; |
|
| 47 | + /** @var IClientService */ |
|
| 48 | + private $clientService; |
|
| 49 | + /** @var Manager */ |
|
| 50 | + private $keyManager; |
|
| 51 | + /** @var Signer */ |
|
| 52 | + private $signer; |
|
| 53 | + /** @var IJobList */ |
|
| 54 | + private $jobList; |
|
| 55 | + /** @var string URL point to lookup server */ |
|
| 56 | + private $lookupServer = 'https://lookup.nextcloud.com/users'; |
|
| 57 | 57 | |
| 58 | - /** |
|
| 59 | - * @param AccountManager $accountManager |
|
| 60 | - * @param IConfig $config |
|
| 61 | - * @param ISecureRandom $secureRandom |
|
| 62 | - * @param IClientService $clientService |
|
| 63 | - * @param Manager $manager |
|
| 64 | - * @param Signer $signer |
|
| 65 | - * @param IJobList $jobList |
|
| 66 | - */ |
|
| 67 | - public function __construct(AccountManager $accountManager, |
|
| 68 | - IConfig $config, |
|
| 69 | - ISecureRandom $secureRandom, |
|
| 70 | - IClientService $clientService, |
|
| 71 | - Manager $manager, |
|
| 72 | - Signer $signer, |
|
| 73 | - IJobList $jobList) { |
|
| 74 | - $this->accountManager = $accountManager; |
|
| 75 | - $this->config = $config; |
|
| 76 | - $this->secureRandom = $secureRandom; |
|
| 77 | - $this->clientService = $clientService; |
|
| 78 | - $this->keyManager = $manager; |
|
| 79 | - $this->signer = $signer; |
|
| 80 | - $this->jobList = $jobList; |
|
| 81 | - } |
|
| 58 | + /** |
|
| 59 | + * @param AccountManager $accountManager |
|
| 60 | + * @param IConfig $config |
|
| 61 | + * @param ISecureRandom $secureRandom |
|
| 62 | + * @param IClientService $clientService |
|
| 63 | + * @param Manager $manager |
|
| 64 | + * @param Signer $signer |
|
| 65 | + * @param IJobList $jobList |
|
| 66 | + */ |
|
| 67 | + public function __construct(AccountManager $accountManager, |
|
| 68 | + IConfig $config, |
|
| 69 | + ISecureRandom $secureRandom, |
|
| 70 | + IClientService $clientService, |
|
| 71 | + Manager $manager, |
|
| 72 | + Signer $signer, |
|
| 73 | + IJobList $jobList) { |
|
| 74 | + $this->accountManager = $accountManager; |
|
| 75 | + $this->config = $config; |
|
| 76 | + $this->secureRandom = $secureRandom; |
|
| 77 | + $this->clientService = $clientService; |
|
| 78 | + $this->keyManager = $manager; |
|
| 79 | + $this->signer = $signer; |
|
| 80 | + $this->jobList = $jobList; |
|
| 81 | + } |
|
| 82 | 82 | |
| 83 | - /** |
|
| 84 | - * @param IUser $user |
|
| 85 | - */ |
|
| 86 | - public function userUpdated(IUser $user) { |
|
| 87 | - $userData = $this->accountManager->getUser($user); |
|
| 88 | - $publicData = []; |
|
| 83 | + /** |
|
| 84 | + * @param IUser $user |
|
| 85 | + */ |
|
| 86 | + public function userUpdated(IUser $user) { |
|
| 87 | + $userData = $this->accountManager->getUser($user); |
|
| 88 | + $publicData = []; |
|
| 89 | 89 | |
| 90 | - foreach ($userData as $key => $data) { |
|
| 91 | - if ($data['scope'] === AccountManager::VISIBILITY_PUBLIC) { |
|
| 92 | - $publicData[$key] = $data; |
|
| 93 | - } |
|
| 94 | - } |
|
| 90 | + foreach ($userData as $key => $data) { |
|
| 91 | + if ($data['scope'] === AccountManager::VISIBILITY_PUBLIC) { |
|
| 92 | + $publicData[$key] = $data; |
|
| 93 | + } |
|
| 94 | + } |
|
| 95 | 95 | |
| 96 | - if (!empty($publicData)) { |
|
| 97 | - $this->sendToLookupServer($user, $publicData); |
|
| 98 | - } |
|
| 99 | - } |
|
| 96 | + if (!empty($publicData)) { |
|
| 97 | + $this->sendToLookupServer($user, $publicData); |
|
| 98 | + } |
|
| 99 | + } |
|
| 100 | 100 | |
| 101 | - /** |
|
| 102 | - * send public user data to the lookup server |
|
| 103 | - * |
|
| 104 | - * @param IUser $user |
|
| 105 | - * @param array $publicData |
|
| 106 | - */ |
|
| 107 | - protected function sendToLookupServer(IUser $user, array $publicData) { |
|
| 108 | - $dataArray = [ |
|
| 109 | - 'federationId' => $user->getCloudId(), |
|
| 110 | - 'name' => isset($publicData[AccountManager::PROPERTY_DISPLAYNAME]) ? $publicData[AccountManager::PROPERTY_DISPLAYNAME]['value'] : '', |
|
| 111 | - 'email' => isset($publicData[AccountManager::PROPERTY_EMAIL]) ? $publicData[AccountManager::PROPERTY_EMAIL]['value'] : '', |
|
| 112 | - 'address' => isset($publicData[AccountManager::PROPERTY_ADDRESS]) ? $publicData[AccountManager::PROPERTY_ADDRESS]['value'] : '', |
|
| 113 | - 'website' => isset($publicData[AccountManager::PROPERTY_WEBSITE]) ? $publicData[AccountManager::PROPERTY_WEBSITE]['value'] : '', |
|
| 114 | - 'twitter' => isset($publicData[AccountManager::PROPERTY_TWITTER]) ? $publicData[AccountManager::PROPERTY_TWITTER]['value'] : '', |
|
| 115 | - 'phone' => isset($publicData[AccountManager::PROPERTY_PHONE]) ? $publicData[AccountManager::PROPERTY_PHONE]['value'] : '', |
|
| 116 | - ]; |
|
| 117 | - $dataArray = $this->signer->sign('lookupserver', $dataArray, $user); |
|
| 118 | - $httpClient = $this->clientService->newClient(); |
|
| 119 | - try { |
|
| 120 | - $httpClient->post($this->lookupServer, |
|
| 121 | - [ |
|
| 122 | - 'body' => json_encode($dataArray), |
|
| 123 | - 'timeout' => 10, |
|
| 124 | - 'connect_timeout' => 3, |
|
| 125 | - ] |
|
| 126 | - ); |
|
| 127 | - } catch (\Exception $e) { |
|
| 128 | - $this->jobList->add(RetryJob::class, |
|
| 129 | - [ |
|
| 130 | - 'dataArray' => $dataArray, |
|
| 131 | - 'retryNo' => 0, |
|
| 132 | - ] |
|
| 133 | - ); |
|
| 134 | - } |
|
| 135 | - } |
|
| 101 | + /** |
|
| 102 | + * send public user data to the lookup server |
|
| 103 | + * |
|
| 104 | + * @param IUser $user |
|
| 105 | + * @param array $publicData |
|
| 106 | + */ |
|
| 107 | + protected function sendToLookupServer(IUser $user, array $publicData) { |
|
| 108 | + $dataArray = [ |
|
| 109 | + 'federationId' => $user->getCloudId(), |
|
| 110 | + 'name' => isset($publicData[AccountManager::PROPERTY_DISPLAYNAME]) ? $publicData[AccountManager::PROPERTY_DISPLAYNAME]['value'] : '', |
|
| 111 | + 'email' => isset($publicData[AccountManager::PROPERTY_EMAIL]) ? $publicData[AccountManager::PROPERTY_EMAIL]['value'] : '', |
|
| 112 | + 'address' => isset($publicData[AccountManager::PROPERTY_ADDRESS]) ? $publicData[AccountManager::PROPERTY_ADDRESS]['value'] : '', |
|
| 113 | + 'website' => isset($publicData[AccountManager::PROPERTY_WEBSITE]) ? $publicData[AccountManager::PROPERTY_WEBSITE]['value'] : '', |
|
| 114 | + 'twitter' => isset($publicData[AccountManager::PROPERTY_TWITTER]) ? $publicData[AccountManager::PROPERTY_TWITTER]['value'] : '', |
|
| 115 | + 'phone' => isset($publicData[AccountManager::PROPERTY_PHONE]) ? $publicData[AccountManager::PROPERTY_PHONE]['value'] : '', |
|
| 116 | + ]; |
|
| 117 | + $dataArray = $this->signer->sign('lookupserver', $dataArray, $user); |
|
| 118 | + $httpClient = $this->clientService->newClient(); |
|
| 119 | + try { |
|
| 120 | + $httpClient->post($this->lookupServer, |
|
| 121 | + [ |
|
| 122 | + 'body' => json_encode($dataArray), |
|
| 123 | + 'timeout' => 10, |
|
| 124 | + 'connect_timeout' => 3, |
|
| 125 | + ] |
|
| 126 | + ); |
|
| 127 | + } catch (\Exception $e) { |
|
| 128 | + $this->jobList->add(RetryJob::class, |
|
| 129 | + [ |
|
| 130 | + 'dataArray' => $dataArray, |
|
| 131 | + 'retryNo' => 0, |
|
| 132 | + ] |
|
| 133 | + ); |
|
| 134 | + } |
|
| 135 | + } |
|
| 136 | 136 | } |
@@ -28,54 +28,54 @@ |
||
| 28 | 28 | use OCP\Http\Client\IClientService; |
| 29 | 29 | |
| 30 | 30 | class RetryJob extends Job { |
| 31 | - /** @var IClientService */ |
|
| 32 | - private $clientService; |
|
| 33 | - /** @var IJobList */ |
|
| 34 | - private $jobList; |
|
| 35 | - /** @var string */ |
|
| 36 | - private $lookupServer = 'https://lookup.nextcloud.com/users'; |
|
| 31 | + /** @var IClientService */ |
|
| 32 | + private $clientService; |
|
| 33 | + /** @var IJobList */ |
|
| 34 | + private $jobList; |
|
| 35 | + /** @var string */ |
|
| 36 | + private $lookupServer = 'https://lookup.nextcloud.com/users'; |
|
| 37 | 37 | |
| 38 | - /** |
|
| 39 | - * @param IClientService|null $clientService |
|
| 40 | - * @param IJobList|null $jobList |
|
| 41 | - */ |
|
| 42 | - public function __construct(IClientService $clientService = null, |
|
| 43 | - IJobList $jobList = null) { |
|
| 44 | - if($clientService !== null) { |
|
| 45 | - $this->clientService = $clientService; |
|
| 46 | - } else { |
|
| 47 | - $this->clientService = \OC::$server->getHTTPClientService(); |
|
| 48 | - } |
|
| 49 | - if($jobList !== null) { |
|
| 50 | - $this->jobList = $jobList; |
|
| 51 | - } else { |
|
| 52 | - $this->jobList = \OC::$server->getJobList(); |
|
| 53 | - } |
|
| 54 | - } |
|
| 38 | + /** |
|
| 39 | + * @param IClientService|null $clientService |
|
| 40 | + * @param IJobList|null $jobList |
|
| 41 | + */ |
|
| 42 | + public function __construct(IClientService $clientService = null, |
|
| 43 | + IJobList $jobList = null) { |
|
| 44 | + if($clientService !== null) { |
|
| 45 | + $this->clientService = $clientService; |
|
| 46 | + } else { |
|
| 47 | + $this->clientService = \OC::$server->getHTTPClientService(); |
|
| 48 | + } |
|
| 49 | + if($jobList !== null) { |
|
| 50 | + $this->jobList = $jobList; |
|
| 51 | + } else { |
|
| 52 | + $this->jobList = \OC::$server->getJobList(); |
|
| 53 | + } |
|
| 54 | + } |
|
| 55 | 55 | |
| 56 | - protected function run($argument) { |
|
| 57 | - if($argument['retryNo'] === 5) { |
|
| 58 | - return; |
|
| 59 | - } |
|
| 56 | + protected function run($argument) { |
|
| 57 | + if($argument['retryNo'] === 5) { |
|
| 58 | + return; |
|
| 59 | + } |
|
| 60 | 60 | |
| 61 | - $client = $this->clientService->newClient(); |
|
| 61 | + $client = $this->clientService->newClient(); |
|
| 62 | 62 | |
| 63 | - try { |
|
| 64 | - $client->post($this->lookupServer, |
|
| 65 | - [ |
|
| 66 | - 'body' => json_encode($argument['dataArray']), |
|
| 67 | - 'timeout' => 10, |
|
| 68 | - 'connect_timeout' => 3, |
|
| 69 | - ] |
|
| 70 | - ); |
|
| 71 | - } catch (\Exception $e) { |
|
| 72 | - $this->jobList->add(RetryJob::class, |
|
| 73 | - [ |
|
| 74 | - 'dataArray' => $argument['dataArray'], |
|
| 75 | - 'retryNo' => $argument['retryNo'] + 1, |
|
| 76 | - ] |
|
| 77 | - ); |
|
| 63 | + try { |
|
| 64 | + $client->post($this->lookupServer, |
|
| 65 | + [ |
|
| 66 | + 'body' => json_encode($argument['dataArray']), |
|
| 67 | + 'timeout' => 10, |
|
| 68 | + 'connect_timeout' => 3, |
|
| 69 | + ] |
|
| 70 | + ); |
|
| 71 | + } catch (\Exception $e) { |
|
| 72 | + $this->jobList->add(RetryJob::class, |
|
| 73 | + [ |
|
| 74 | + 'dataArray' => $argument['dataArray'], |
|
| 75 | + 'retryNo' => $argument['retryNo'] + 1, |
|
| 76 | + ] |
|
| 77 | + ); |
|
| 78 | 78 | |
| 79 | - } |
|
| 80 | - } |
|
| 79 | + } |
|
| 80 | + } |
|
| 81 | 81 | } |
@@ -22,24 +22,24 @@ |
||
| 22 | 22 | $dispatcher = \OC::$server->getEventDispatcher(); |
| 23 | 23 | |
| 24 | 24 | $dispatcher->addListener('OC\AccountManager::userUpdated', function(\Symfony\Component\EventDispatcher\GenericEvent $event) { |
| 25 | - $user = $event->getSubject(); |
|
| 25 | + $user = $event->getSubject(); |
|
| 26 | 26 | |
| 27 | - $keyManager = new \OC\Security\IdentityProof\Manager( |
|
| 28 | - \OC::$server->getAppDataDir('identityproof'), |
|
| 29 | - \OC::$server->getCrypto() |
|
| 30 | - ); |
|
| 31 | - $updateLookupServer = new \OCA\LookupServerConnector\UpdateLookupServer( |
|
| 32 | - new \OC\Accounts\AccountManager(\OC::$server->getDatabaseConnection(), \OC::$server->getEventDispatcher()), |
|
| 33 | - \OC::$server->getConfig(), |
|
| 34 | - \OC::$server->getSecureRandom(), |
|
| 35 | - \OC::$server->getHTTPClientService(), |
|
| 36 | - $keyManager, |
|
| 37 | - new \OC\Security\IdentityProof\Signer( |
|
| 38 | - $keyManager, |
|
| 39 | - new \OC\AppFramework\Utility\TimeFactory(), |
|
| 40 | - \OC::$server->getUserManager() |
|
| 41 | - ), |
|
| 42 | - \OC::$server->getJobList() |
|
| 43 | - ); |
|
| 44 | - $updateLookupServer->userUpdated($user); |
|
| 27 | + $keyManager = new \OC\Security\IdentityProof\Manager( |
|
| 28 | + \OC::$server->getAppDataDir('identityproof'), |
|
| 29 | + \OC::$server->getCrypto() |
|
| 30 | + ); |
|
| 31 | + $updateLookupServer = new \OCA\LookupServerConnector\UpdateLookupServer( |
|
| 32 | + new \OC\Accounts\AccountManager(\OC::$server->getDatabaseConnection(), \OC::$server->getEventDispatcher()), |
|
| 33 | + \OC::$server->getConfig(), |
|
| 34 | + \OC::$server->getSecureRandom(), |
|
| 35 | + \OC::$server->getHTTPClientService(), |
|
| 36 | + $keyManager, |
|
| 37 | + new \OC\Security\IdentityProof\Signer( |
|
| 38 | + $keyManager, |
|
| 39 | + new \OC\AppFramework\Utility\TimeFactory(), |
|
| 40 | + \OC::$server->getUserManager() |
|
| 41 | + ), |
|
| 42 | + \OC::$server->getJobList() |
|
| 43 | + ); |
|
| 44 | + $updateLookupServer->userUpdated($user); |
|
| 45 | 45 | }); |
@@ -5,46 +5,46 @@ discard block |
||
| 5 | 5 | vendor_style('user_ldap', 'ui-multiselect/jquery.multiselect'); |
| 6 | 6 | |
| 7 | 7 | script('user_ldap', [ |
| 8 | - 'wizard/controller', |
|
| 9 | - 'wizard/configModel', |
|
| 10 | - 'wizard/view', |
|
| 11 | - 'wizard/wizardObject', |
|
| 12 | - 'wizard/wizardTabGeneric', |
|
| 13 | - 'wizard/wizardTabElementary', |
|
| 14 | - 'wizard/wizardTabAbstractFilter', |
|
| 15 | - 'wizard/wizardTabUserFilter', |
|
| 16 | - 'wizard/wizardTabLoginFilter', |
|
| 17 | - 'wizard/wizardTabGroupFilter', |
|
| 18 | - 'wizard/wizardTabAdvanced', |
|
| 19 | - 'wizard/wizardTabExpert', |
|
| 20 | - 'wizard/wizardDetectorQueue', |
|
| 21 | - 'wizard/wizardDetectorGeneric', |
|
| 22 | - 'wizard/wizardDetectorPort', |
|
| 23 | - 'wizard/wizardDetectorBaseDN', |
|
| 24 | - 'wizard/wizardDetectorFeatureAbstract', |
|
| 25 | - 'wizard/wizardDetectorUserObjectClasses', |
|
| 26 | - 'wizard/wizardDetectorGroupObjectClasses', |
|
| 27 | - 'wizard/wizardDetectorGroupsForUsers', |
|
| 28 | - 'wizard/wizardDetectorGroupsForGroups', |
|
| 29 | - 'wizard/wizardDetectorSimpleRequestAbstract', |
|
| 30 | - 'wizard/wizardDetectorFilterUser', |
|
| 31 | - 'wizard/wizardDetectorFilterLogin', |
|
| 32 | - 'wizard/wizardDetectorFilterGroup', |
|
| 33 | - 'wizard/wizardDetectorUserCount', |
|
| 34 | - 'wizard/wizardDetectorGroupCount', |
|
| 35 | - 'wizard/wizardDetectorEmailAttribute', |
|
| 36 | - 'wizard/wizardDetectorUserDisplayNameAttribute', |
|
| 37 | - 'wizard/wizardDetectorUserGroupAssociation', |
|
| 38 | - 'wizard/wizardDetectorAvailableAttributes', |
|
| 39 | - 'wizard/wizardDetectorTestAbstract', |
|
| 40 | - 'wizard/wizardDetectorTestLoginName', |
|
| 41 | - 'wizard/wizardDetectorTestBaseDN', |
|
| 42 | - 'wizard/wizardDetectorTestConfiguration', |
|
| 43 | - 'wizard/wizardDetectorClearUserMappings', |
|
| 44 | - 'wizard/wizardDetectorClearGroupMappings', |
|
| 45 | - 'wizard/wizardFilterOnType', |
|
| 46 | - 'wizard/wizardFilterOnTypeFactory', |
|
| 47 | - 'wizard/wizard' |
|
| 8 | + 'wizard/controller', |
|
| 9 | + 'wizard/configModel', |
|
| 10 | + 'wizard/view', |
|
| 11 | + 'wizard/wizardObject', |
|
| 12 | + 'wizard/wizardTabGeneric', |
|
| 13 | + 'wizard/wizardTabElementary', |
|
| 14 | + 'wizard/wizardTabAbstractFilter', |
|
| 15 | + 'wizard/wizardTabUserFilter', |
|
| 16 | + 'wizard/wizardTabLoginFilter', |
|
| 17 | + 'wizard/wizardTabGroupFilter', |
|
| 18 | + 'wizard/wizardTabAdvanced', |
|
| 19 | + 'wizard/wizardTabExpert', |
|
| 20 | + 'wizard/wizardDetectorQueue', |
|
| 21 | + 'wizard/wizardDetectorGeneric', |
|
| 22 | + 'wizard/wizardDetectorPort', |
|
| 23 | + 'wizard/wizardDetectorBaseDN', |
|
| 24 | + 'wizard/wizardDetectorFeatureAbstract', |
|
| 25 | + 'wizard/wizardDetectorUserObjectClasses', |
|
| 26 | + 'wizard/wizardDetectorGroupObjectClasses', |
|
| 27 | + 'wizard/wizardDetectorGroupsForUsers', |
|
| 28 | + 'wizard/wizardDetectorGroupsForGroups', |
|
| 29 | + 'wizard/wizardDetectorSimpleRequestAbstract', |
|
| 30 | + 'wizard/wizardDetectorFilterUser', |
|
| 31 | + 'wizard/wizardDetectorFilterLogin', |
|
| 32 | + 'wizard/wizardDetectorFilterGroup', |
|
| 33 | + 'wizard/wizardDetectorUserCount', |
|
| 34 | + 'wizard/wizardDetectorGroupCount', |
|
| 35 | + 'wizard/wizardDetectorEmailAttribute', |
|
| 36 | + 'wizard/wizardDetectorUserDisplayNameAttribute', |
|
| 37 | + 'wizard/wizardDetectorUserGroupAssociation', |
|
| 38 | + 'wizard/wizardDetectorAvailableAttributes', |
|
| 39 | + 'wizard/wizardDetectorTestAbstract', |
|
| 40 | + 'wizard/wizardDetectorTestLoginName', |
|
| 41 | + 'wizard/wizardDetectorTestBaseDN', |
|
| 42 | + 'wizard/wizardDetectorTestConfiguration', |
|
| 43 | + 'wizard/wizardDetectorClearUserMappings', |
|
| 44 | + 'wizard/wizardDetectorClearGroupMappings', |
|
| 45 | + 'wizard/wizardFilterOnType', |
|
| 46 | + 'wizard/wizardFilterOnTypeFactory', |
|
| 47 | + 'wizard/wizard' |
|
| 48 | 48 | ]); |
| 49 | 49 | |
| 50 | 50 | style('user_ldap', 'settings'); |
@@ -67,12 +67,12 @@ discard block |
||
| 67 | 67 | <li class="ldapSettingsTabs"><a href="#ldapSettings-1"><?php p($l->t('Advanced'));?></a></li> |
| 68 | 68 | </ul> |
| 69 | 69 | <?php if(OCP\App::isEnabled('user_webdavauth')) { |
| 70 | - print_unescaped('<p class="ldapwarning">'.$l->t('<b>Warning:</b> Apps user_ldap and user_webdavauth are incompatible. You may experience unexpected behavior. Please ask your system administrator to disable one of them.').'</p>'); |
|
| 71 | - } |
|
| 72 | - if(!function_exists('ldap_connect')) { |
|
| 73 | - print_unescaped('<p class="ldapwarning">'.$l->t('<b>Warning:</b> The PHP LDAP module is not installed, the backend will not work. Please ask your system administrator to install it.').'</p>'); |
|
| 74 | - } |
|
| 75 | - ?> |
|
| 70 | + print_unescaped('<p class="ldapwarning">'.$l->t('<b>Warning:</b> Apps user_ldap and user_webdavauth are incompatible. You may experience unexpected behavior. Please ask your system administrator to disable one of them.').'</p>'); |
|
| 71 | + } |
|
| 72 | + if(!function_exists('ldap_connect')) { |
|
| 73 | + print_unescaped('<p class="ldapwarning">'.$l->t('<b>Warning:</b> The PHP LDAP module is not installed, the backend will not work. Please ask your system administrator to install it.').'</p>'); |
|
| 74 | + } |
|
| 75 | + ?> |
|
| 76 | 76 | <?php require_once(__DIR__ . '/part.wizard-server.php'); ?> |
| 77 | 77 | <?php require_once(__DIR__ . '/part.wizard-userfilter.php'); ?> |
| 78 | 78 | <?php require_once(__DIR__ . '/part.wizard-loginfilter.php'); ?> |
@@ -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" |