PATH:
home
/
letacommog
/
letacommunication
/
wp-content
/
plugins
/
google-site-kit
/
includes
/
Core
/
Util
<?php /** * Class Google\Site_Kit\Core\Util\Activation_Flag * * @package Google\Site_Kit * @copyright 2021 Google LLC * @license https://www.apache.org/licenses/LICENSE-2.0 Apache License 2.0 * @link https://sitekit.withgoogle.com */ namespace Google\Site_Kit\Core\Util; use Google\Site_Kit\Context; use Google\Site_Kit\Core\Storage\Options; /** * Class handling plugin activation. * * @since 1.10.0 * @access private * @ignore */ final class Activation_Flag { const OPTION_SHOW_ACTIVATION_NOTICE = 'googlesitekit_show_activation_notice'; const OPTION_NEW_SITE_POSTS = 'googlesitekit_new_site_posts'; /** * Plugin context. * * @since 1.10.0 * @var Context */ private $context; /** * Option API instance. * * @since 1.10.0 * @var Options */ protected $options; /** * Constructor. * * @since 1.10.0 * * @param Context $context Plugin context. * @param Options $options Optional. The Option API instance. Default is a new instance. */ public function __construct( Context $context, Options $options = null ) { $this->context = $context; $this->options = $options ?: new Options( $this->context ); } /** * Registers functionality through WordPress hooks. * * @since 1.10.0 */ public function register() { add_action( 'googlesitekit_activation', function( $network_wide ) { // Set activation flag. $this->set_activation_flag( $network_wide ); } ); add_filter( 'googlesitekit_admin_data', function ( $data ) { return $this->inline_js_admin_data( $data ); } ); } /** * Sets the flag that the plugin has just been activated. * * @since 1.10.0 Migrated from Activation class. * * @param bool $network_wide Whether the plugin is being activated network-wide. */ public function set_activation_flag( $network_wide ) { if ( $network_wide ) { update_network_option( null, self::OPTION_SHOW_ACTIVATION_NOTICE, '1' ); return; } update_option( self::OPTION_SHOW_ACTIVATION_NOTICE, '1', false ); } /** * Gets the flag that the plugin has just been activated. * * @since 1.10.0 Migrated from Activation class. * * @param bool $network_wide Whether to check the flag network-wide. * @return bool True if just activated, false otherwise. */ public function get_activation_flag( $network_wide ) { if ( $network_wide ) { return (bool) get_network_option( null, self::OPTION_SHOW_ACTIVATION_NOTICE ); } return (bool) get_option( self::OPTION_SHOW_ACTIVATION_NOTICE ); } /** * Deletes the flag that the plugin has just been activated. * * @since 1.10.0 Migrated from Activation class. * * @param bool $network_wide Whether the plugin is being activated network-wide. */ public function delete_activation_flag( $network_wide ) { if ( $network_wide ) { delete_network_option( null, self::OPTION_SHOW_ACTIVATION_NOTICE ); return; } delete_option( self::OPTION_SHOW_ACTIVATION_NOTICE ); } /** * Modifies the admin data to pass to JS. * * @since 1.10.0 Migrated from Activation class. * * @param array $data Inline JS data. * @return array Filtered $data. */ private function inline_js_admin_data( $data ) { $data['newSitePosts'] = $this->options->get( self::OPTION_NEW_SITE_POSTS ); return $data; } }
[+]
..
[-] Google_URL_Matcher_Trait.php
[edit]
[-] Developer_Plugin_Installer.php
[edit]
[-] Migration_1_8_1.php
[edit]
[-] Feature_Flags.php
[edit]
[-] Build_Mode.php
[edit]
[-] Activation_Flag.php
[edit]
[-] Exit_Handler.php
[edit]
[-] User_Input_Settings.php
[edit]
[-] BC_Functions.php
[edit]
[-] JSON_File.php
[edit]
[-] Debug_Data.php
[edit]
[-] Migrate_Legacy_Keys.php
[edit]
[-] Activation_Notice.php
[edit]
[-] Input.php
[edit]
[-] Health_Checks.php
[edit]
[-] Google_Icon.php
[edit]
[-] Tracking.php
[edit]
[-] Reset.php
[edit]
[-] Scopes.php
[edit]
[-] Tracking_Consent.php
[edit]
[-] WP_Context_Switcher_Trait.php
[edit]
[-] Reset_Persistent.php
[edit]
[-] Migration_1_3_0.php
[edit]
[-] Requires_Javascript_Trait.php
[edit]
[-] Entity_Factory.php
[edit]
[-] WP_Query_Factory.php
[edit]
[-] Method_Proxy_Trait.php
[edit]
[-] Synthetic_WP_Query.php
[edit]
[-] Uninstallation.php
[edit]
[-] Google_URL_Normalizer.php
[edit]
[-] Entity.php
[edit]