|
| 1 | +<?php |
| 2 | + |
| 3 | +final class PhabricatorPolicyConfigOptions |
| 4 | + extends PhabricatorApplicationConfigOptions { |
| 5 | + |
| 6 | + public function getName() { |
| 7 | + return pht("Policy"); |
| 8 | + } |
| 9 | + |
| 10 | + public function getDescription() { |
| 11 | + return pht("Options relating to object visibility."); |
| 12 | + } |
| 13 | + |
| 14 | + public function getOptions() { |
| 15 | + return array( |
| 16 | + $this->newOption('policy.allow-public', 'bool', false) |
| 17 | + ->setBoolOptions( |
| 18 | + array( |
| 19 | + pht('Allow Public Visibility'), |
| 20 | + pht('Require Login'))) |
| 21 | + ->setSummary(pht("Allow users to set object visibility to public.")) |
| 22 | + ->setDescription( |
| 23 | + pht( |
| 24 | + "Phabricator allows you to set the visibility of objects (like ". |
| 25 | + "repositories and tasks) to 'Public', which means **anyone ". |
| 26 | + "on the internet can see them, without needing to log in or ". |
| 27 | + "have an account**.". |
| 28 | + "\n\n". |
| 29 | + "This is intended for open source projects. Many installs will ". |
| 30 | + "never want to make anything public, so this policy is disabled ". |
| 31 | + "by default. You can enable it here, which will let you set the ". |
| 32 | + "policy for objects to 'Public'.". |
| 33 | + "\n\n". |
| 34 | + "Enabling this setting will immediately open up some features, ". |
| 35 | + "like the user directory. Anyone on the internet will be able to ". |
| 36 | + "access these features.". |
| 37 | + "\n\n". |
| 38 | + "With this setting disabled, the 'Public' policy is not ". |
| 39 | + "available, and the most open policy is 'All Users' (which means ". |
| 40 | + "users must have accounts and be logged in to view things).")), |
| 41 | + ); |
| 42 | + } |
| 43 | + |
| 44 | +} |
0 commit comments