Skip to content

Commit 1a3df3b

Browse files
authored
Merge pull request #5575 from nextcloud/backport-lookup-server-settings
allow to disable upload to lookup server, by default it is enabled
2 parents a7c1d2c + 9aa41b2 commit 1a3df3b

File tree

7 files changed

+73
-5
lines changed

7 files changed

+73
-5
lines changed

apps/federatedfilesharing/lib/FederatedShareProvider.php

Lines changed: 14 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -931,7 +931,7 @@ public function userDeletedFromGroup($uid, $gid) {
931931
*/
932932
public function isOutgoingServer2serverShareEnabled() {
933933
$result = $this->config->getAppValue('files_sharing', 'outgoing_server2server_share_enabled', 'yes');
934-
return ($result === 'yes') ? true : false;
934+
return ($result === 'yes');
935935
}
936936

937937
/**
@@ -941,7 +941,7 @@ public function isOutgoingServer2serverShareEnabled() {
941941
*/
942942
public function isIncomingServer2serverShareEnabled() {
943943
$result = $this->config->getAppValue('files_sharing', 'incoming_server2server_share_enabled', 'yes');
944-
return ($result === 'yes') ? true : false;
944+
return ($result === 'yes');
945945
}
946946

947947
/**
@@ -951,6 +951,17 @@ public function isIncomingServer2serverShareEnabled() {
951951
*/
952952
public function isLookupServerQueriesEnabled() {
953953
$result = $this->config->getAppValue('files_sharing', 'lookupServerEnabled', 'no');
954-
return ($result === 'yes') ? true : false;
954+
return ($result === 'yes');
955+
}
956+
957+
958+
/**
959+
* Check if it is allowed to publish user specific data to the lookup server
960+
*
961+
* @return bool
962+
*/
963+
public function isLookupServerUploadEnabled() {
964+
$result = $this->config->getAppValue('files_sharing', 'lookupServerUploadEnabled', 'yes');
965+
return ($result === 'yes');
955966
}
956967
}

apps/federatedfilesharing/lib/Settings/Admin.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,7 @@ public function getForm() {
4444
'outgoingServer2serverShareEnabled' => $this->fedShareProvider->isOutgoingServer2serverShareEnabled(),
4545
'incomingServer2serverShareEnabled' => $this->fedShareProvider->isIncomingServer2serverShareEnabled(),
4646
'lookupServerEnabled' => $this->fedShareProvider->isLookupServerQueriesEnabled(),
47+
'lookupServerUploadEnabled' => $this->fedShareProvider->isLookupServerUploadEnabled(),
4748
];
4849

4950
return new TemplateResponse('federatedfilesharing', 'settings-admin', $parameters, '');

apps/federatedfilesharing/templates/settings-admin.php

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,15 @@
2929
<input type="checkbox" name="lookupServerEnabled" id="lookupServerEnabled" class="checkbox"
3030
value="1" <?php if ($_['lookupServerEnabled']) print_unescaped('checked="checked"'); ?> />
3131
<label for="lookupServerEnabled">
32-
<?php p($l->t('Search global and public address book for users'));?>
32+
<?php p($l->t('Search global and public address book for users and let local users publish their data'));?>
3333
</label><br/>
3434
</p>
35+
<p>
36+
<input type="checkbox" name="lookupServerUploadEnabled" id="lookupServerUploadEnabled" class="checkbox"
37+
value="1" <?php if ($_['lookupServerUploadEnabled']) print_unescaped('checked="checked"'); ?> />
38+
<label for="lookupServerUploadEnabled">
39+
<?php p($l->t('Allow users to publish their data to a global and public address book'));?>
40+
</label><br/>
41+
</p>
42+
3543
</div>

apps/federatedfilesharing/tests/FederatedShareProviderTest.php

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -696,6 +696,38 @@ public function testIsIncomingServer2serverShareEnabled($isEnabled, $expected) {
696696
);
697697
}
698698

699+
/**
700+
* @dataProvider dataTestFederatedSharingSettings
701+
*
702+
* @param string $isEnabled
703+
* @param bool $expected
704+
*/
705+
public function testIsLookupServerQueriesEnabled($isEnabled, $expected) {
706+
$this->config->expects($this->once())->method('getAppValue')
707+
->with('files_sharing', 'lookupServerEnabled', 'no')
708+
->willReturn($isEnabled);
709+
710+
$this->assertSame($expected,
711+
$this->provider->isLookupServerQueriesEnabled()
712+
);
713+
}
714+
715+
/**
716+
* @dataProvider dataTestFederatedSharingSettings
717+
*
718+
* @param string $isEnabled
719+
* @param bool $expected
720+
*/
721+
public function testIsLookupServerUploadEnabled($isEnabled, $expected) {
722+
$this->config->expects($this->once())->method('getAppValue')
723+
->with('files_sharing', 'lookupServerUploadEnabled', 'yes')
724+
->willReturn($isEnabled);
725+
726+
$this->assertSame($expected,
727+
$this->provider->isLookupServerUploadEnabled()
728+
);
729+
}
730+
699731
public function dataTestFederatedSharingSettings() {
700732
return [
701733
['yes', true],

apps/federatedfilesharing/tests/Settings/AdminTest.php

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -69,11 +69,16 @@ public function testGetForm($state) {
6969
->expects($this->once())
7070
->method('isLookupServerQueriesEnabled')
7171
->willReturn($state);
72+
$this->federatedShareProvider
73+
->expects($this->once())
74+
->method('isLookupServerUploadEnabled')
75+
->willReturn($state);
7276

7377
$params = [
7478
'outgoingServer2serverShareEnabled' => $state,
7579
'incomingServer2serverShareEnabled' => $state,
7680
'lookupServerEnabled' => $state,
81+
'lookupServerUploadEnabled' => $state
7782
];
7883
$expected = new TemplateResponse('federatedfilesharing', 'settings-admin', $params, '');
7984
$this->assertEquals($expected, $this->admin->getForm());

settings/personal.php

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -188,6 +188,10 @@
188188
$tmpl->assign('showCertificates', $enableCertImport);
189189
$tmpl->assign('urlGenerator', $urlGenerator);
190190

191+
$lookupServerUploadEnabled = $config->getAppValue('files_sharing', 'lookupServerUploadEnabled', 'yes');
192+
$lookupServerUploadEnabled = $lookupServerUploadEnabled === 'yes';
193+
$tmpl->assign('lookupServerUploadEnabled', $lookupServerUploadEnabled);
194+
191195
// Get array of group ids for this user
192196
$groups = \OC::$server->getGroupManager()->getUserIdGroups(OC_User::getUser());
193197
$groups2 = array_map(function($group) { return $group->getGID(); }, $groups);

settings/templates/personal.php

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,9 @@
6161
</div>
6262
</div>
6363
<span class="icon-checkmark hidden"/>
64+
<?php if($_['lookupServerUploadEnabled']) { ?>
6465
<input type="hidden" id="avatarscope" value="<?php p($_['avatarScope']) ?>">
66+
<?php } ?>
6567
</form>
6668
</div>
6769
<?php endif; ?>
@@ -81,7 +83,9 @@
8183
<span><?php if(isset($_['displayName']) && !empty($_['displayName'])) { p($_['displayName']); } else { p($l->t('No display name set')); } ?></span>
8284
<?php } ?>
8385
<span class="icon-checkmark hidden"/>
86+
<?php if($_['lookupServerUploadEnabled']) { ?>
8487
<input type="hidden" id="displaynamescope" value="<?php p($_['displayNameScope']) ?>">
88+
<?php } ?>
8589
</form>
8690
</div>
8791
<div class="personal-settings-setting-box">
@@ -102,9 +106,12 @@
102106
<em><?php p($l->t('For password recovery and notifications')); ?></em>
103107
<?php } ?>
104108
<span class="icon-checkmark hidden"/>
109+
<?php if($_['lookupServerUploadEnabled']) { ?>
105110
<input type="hidden" id="emailscope" value="<?php p($_['emailScope']) ?>">
111+
<?php } ?>
106112
</form>
107113
</div>
114+
<?php if($_['lookupServerUploadEnabled']) { ?>
108115
<div class="personal-settings-setting-box">
109116
<form id="phoneform" class="section">
110117
<h2>
@@ -159,7 +166,7 @@
159166
<input type="hidden" id="twitterscope" value="<?php p($_['twitterScope']) ?>">
160167
</form>
161168
</div>
162-
169+
<?php } ?>
163170
<span class="msg"></span>
164171
</div>
165172
</div>

0 commit comments

Comments
 (0)