PluginProbe ʕ •ᴥ•ʔ
Jetpack – WP Security, Backup, Speed, & Growth / 16.1-beta.2
Jetpack – WP Security, Backup, Speed, & Growth v16.1-beta.2
16.2-a.3 16.1.2 16.2-a.1 16.1.1 16.1 16.1-beta 16.1-beta.2 16.1-beta.3 16.1-a.5 16.1-a.3 16.0.1 16.1-a.1 16.0 16.0-beta 16.0-a.7 16.0-a.5 15.9.1 16.0-a.3 16.0-a.1 15.9 15.9-beta 15.9-a.7 15.9-a.5 15.9-a.3 15.9-a.1 15.8 15.8-beta 15.8-a.7 15.8-a.5 5.2.5 5.3.4 5.4.4 5.5.5 5.6.5 5.7.5 5.8.4 5.9.4 6.0.4 6.1 6.1.1 6.1.2 6.1.3 6.1.4 6.1.5 6.2 6.2.1 6.2.2 6.2.3 6.2.4 6.2.5 6.3 6.3.1 6.3.2 6.3.3 6.3.4 6.3.5 6.3.6 6.3.7 6.4 6.4.1 6.4.2 6.4.3 6.4.4 6.4.5 6.4.6 6.5 6.5.1 6.5.2 6.5.3 6.5.4 6.6 6.6.1 6.6.2 6.6.3 6.6.4 6.6.5 6.7 6.7.1 6.7.2 6.7.3 6.7.4 6.8 6.8.1 6.8.2 6.8.3 6.8.4 6.8.5 6.9 6.9.1 6.9.2 6.9.3 6.9.4 7.0 7.0.1 7.0.2 7.0.3 7.0.4 7.0.5 7.1 7.1.1 7.1.2 7.1.3 7.1.4 7.1.5 7.2 7.2.1 7.2.1.1 7.2.2 7.2.3 7.2.4 7.2.5 7.3 7.3.0.1 7.3.1 7.3.1.1 7.3.2 7.3.3 7.3.4 7.3.5 7.4 7.4.1 7.4.2 7.4.3 7.4.4 7.4.5 7.5 7.5.0.1 7.5.1 7.5.2 7.5.3 7.5.4 7.5.5 7.5.6 7.5.7 7.6 7.6.1 7.6.2 7.6.3 7.6.4 7.7 7.7.1 7.7.2 7.7.3 7.7.4 7.7.5 7.7.6 7.8 7.8.1 7.8.2 7.8.3 7.8.4 7.9 7.9.1 7.9.2 7.9.3 7.9.4 8.0 8.0.1 8.0.2 8.0.3 8.1 8.1.1 8.1.2 8.1.3 8.1.4 8.2 8.2.0.1 8.2.1 8.2.2 8.2.3 8.2.4 8.2.5 8.2.6 8.3 8.3.1 8.3.2 8.3.3 8.4 8.4.1 8.4.2 8.4.3 8.4.4 8.4.5 8.5 8.5.1 8.5.2 8.5.3 8.6 8.6.1 8.6.2 8.6.3 8.6.4 8.7 8.7.0.1 8.7.1 8.7.2 8.7.3 8.7.4 8.8 8.8.1 8.8.2 8.8.3 8.8.4 8.8.5 8.9 8.9.1 8.9.2 8.9.3 8.9.4 9.0 9.0.1 9.0.2 9.0.3 9.0.4 9.0.5 9.1 9.1.1 9.1.2 9.1.3 9.2 9.2.1 9.2.2 9.2.3 9.2.4 9.3 9.3.1 9.3.2 9.3.3 9.3.4 9.3.5 9.4 9.4.1 9.4.2 9.4.3 9.4.4 9.5 9.5.1 9.5.2 9.5.3 9.5.4 9.5.5 9.6 9.6.1 9.6.2 9.6.3 9.6.4 9.7 9.7.1 9.7.2 15.7-beta.2 9.7.3 15.7.1 9.8 15.8-a.1 9.8.1 15.8-a.3 9.8.2 2.0.9 9.8.3 2.1.7 9.9 2.2.10 9.9.1 2.3.10 9.9.2 2.4.7 9.9.3 2.5.5 2.6.6 2.7.5 2.8.5 2.9.6 3.0.6 3.1.5 3.2.5 3.3.6 3.4.6 3.5.6 3.6.4 3.7.5 3.8.5 3.9.10 4.0.7 4.1.4 4.2.5 4.3.5 4.4.5 4.5.3 4.6.3 4.7.4 4.8.5 4.9.3 5.0.3 5.1.4 trunk 10.0 10.0.1 10.0.2 10.1 10.1.1 10.1.2 10.2 10.2.1 10.2.2 10.2.3 10.3 10.3.1 10.3.2 10.4 10.4.1 10.4.2 10.5 10.5.1 10.5.2 10.5.3 10.6 10.6.1 10.6.2 10.7 10.7.1 10.7.2 10.8 10.8.1 10.8.2 10.9 10.9.1 10.9.2 10.9.3 11.0 11.0.1 11.0.2 11.1 11.1.1 11.1.2 11.1.3 11.1.4 11.2 11.2.1 11.2.2 11.3 11.3.1 11.3.2 11.3.3 11.3.4 11.4 11.4.1 11.4.2 11.5 11.5.1 11.5.2 11.5.3 11.6 11.6.1 11.6.2 11.7 11.7.1 11.7.2 11.7.3 11.8 11.8.3 11.8.4 11.8.5 11.8.6 11.9 11.9.1 11.9.2 11.9.3 12.0 12.0.1 12.0.2 12.1 12.1.1 12.1.2 12.2 12.2.1 12.2.2 12.3 12.3.1 12.4 12.4.1 12.5 12.5.1 12.6 12.6.1 12.6.2 12.6.3 12.7 12.7.1 12.7.2 12.8 12.8.1 12.8.2 12.9 12.9.1 12.9.2 12.9.3 12.9.4 13.0 13.0.1 13.1 13.1.1 13.1.2 13.1.3 13.1.4 13.2 13.2.1 13.2.2 13.2.3 13.3 13.3.1 13.3.2 13.4 13.4.1 13.4.2 13.4.3 13.4.4 13.5 13.5.1 13.6 13.6.1 13.7 13.7.1 13.8 13.8.1 13.8.2 13.9 13.9.1 14.0 14.1 14.2 14.2.1 14.3 14.4 14.4.1 14.5 14.6 14.7 14.8 14.9 14.9.1 15.0 15.0.1 15.0.2 15.1 15.1.1 15.2 15.3 15.3.1 15.4 15.5 15.6 15.7 15.7-a.1 15.7-a.3 15.7-a.5 15.7-a.7 15.7-beta
jetpack / jetpack_vendor / automattic / jetpack-connection / src / class-terms-of-service.php
jetpack / jetpack_vendor / automattic / jetpack-connection / src Last commit date
abilities 3 months ago connectors 2 months ago health 2 months ago identity-crisis 2 months ago sso 2 months ago traits 9 months ago webhooks 9 months ago class-authorize-json-api.php 2 months ago class-client.php 8 months ago class-connection-assets.php 1 year ago class-connection-notice.php 8 months ago class-error-handler.php 3 weeks ago class-external-storage.php 4 months ago class-heartbeat.php 1 month ago class-initial-state.php 1 month ago class-manager.php 3 weeks ago class-nonce-handler.php 9 months ago class-package-version-tracker.php 2 months ago class-package-version.php 3 weeks ago class-partner-coupon.php 3 months ago class-partner.php 2 years ago class-plugin-storage.php 8 months ago class-plugin.php 9 months ago class-rest-authentication.php 9 months ago class-rest-connector.php 1 month ago class-secrets.php 9 months ago class-server-sandbox.php 3 months ago class-site-health.php 2 months ago class-terms-of-service.php 2 years ago class-tokens-locks.php 9 months ago class-tokens.php 9 months ago class-tracking.php 3 months ago class-urls.php 6 months ago class-user-account-status.php 9 months ago class-users-connection-admin.php 2 months ago class-utils.php 2 years ago class-webhooks.php 2 months ago class-xmlrpc-async-call.php 2 years ago class-xmlrpc-connector.php 9 months ago interface-manager.php 4 years ago interface-storage-provider.php 6 months ago
class-terms-of-service.php
112 lines
1 <?php
2 /**
3 * A Terms of Service class for Jetpack.
4 *
5 * @package automattic/jetpack-connection
6 */
7
8 namespace Automattic\Jetpack;
9
10 /**
11 * Class Terms_Of_Service
12 *
13 * Helper class that is responsible for the state of agreement of the terms of service.
14 */
15 class Terms_Of_Service {
16 /**
17 * Jetpack option name where the terms of service state is stored.
18 *
19 * @var string
20 */
21 const OPTION_NAME = 'tos_agreed';
22
23 /**
24 * Allow the site to agree to the terms of service.
25 */
26 public function agree() {
27 $this->set_agree();
28 /**
29 * Acton fired when the master user has agreed to the terms of service.
30 *
31 * @since 1.0.4
32 * @since-jetpack 7.9.0
33 */
34 do_action( 'jetpack_agreed_to_terms_of_service' );
35 }
36
37 /**
38 * Allow the site to reject to the terms of service.
39 */
40 public function reject() {
41 $this->set_reject();
42 /**
43 * Acton fired when the master user has revoked their agreement to the terms of service.
44 *
45 * @since 1.0.4
46 * @since-jetpack 7.9.1
47 */
48 do_action( 'jetpack_reject_terms_of_service' );
49 }
50
51 /**
52 * Returns whether the master user has agreed to the terms of service.
53 *
54 * The following conditions have to be met in order to agree to the terms of service.
55 * 1. The master user has gone though the connect flow.
56 * 2. The site is not in dev mode.
57 * 3. The master user of the site is still connected (deprecated @since 1.4.0).
58 *
59 * @return bool
60 */
61 public function has_agreed() {
62 if ( $this->is_offline_mode() ) {
63 return false;
64 }
65 /**
66 * Before 1.4.0 we used to also check if the master user of the site is connected
67 * by calling the Connection related `is_active` method.
68 * As of 1.4.0 we have removed this check in order to resolve the
69 * circular dependencies it was introducing to composer packages.
70 *
71 * @since 1.4.0
72 */
73 return $this->get_raw_has_agreed();
74 }
75
76 /**
77 * Abstracted for testing purposes.
78 * Tells us if the site is in dev mode.
79 *
80 * @return bool
81 */
82 protected function is_offline_mode() {
83 return ( new Status() )->is_offline_mode();
84 }
85
86 /**
87 * Gets just the Jetpack Option that contains the terms of service state.
88 * Abstracted for testing purposes.
89 *
90 * @return bool
91 */
92 protected function get_raw_has_agreed() {
93 return \Jetpack_Options::get_option( self::OPTION_NAME, false );
94 }
95
96 /**
97 * Sets the correct Jetpack Option to mark the that the site has agreed to the terms of service.
98 * Abstracted for testing purposes.
99 */
100 protected function set_agree() {
101 \Jetpack_Options::update_option( self::OPTION_NAME, true );
102 }
103
104 /**
105 * Sets the correct Jetpack Option to mark that the site has rejected the terms of service.
106 * Abstracted for testing purposes.
107 */
108 protected function set_reject() {
109 \Jetpack_Options::update_option( self::OPTION_NAME, false );
110 }
111 }
112