You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

208 lines
6.5 KiB
PHTML

<?php
/**
3.8.0 Release (#230) * Initial Coding Standards & Static Analysis Chanages. * Adds WordPress coding standards configuration. * Adds WordPress/PHP static analysis configuration. * Adds Git hooks to enforce checks and ensure quality on commits. * Adds initial local Docker development environment setup. * Current state of coding standards and analysis fixes. * Near Completion Update of PHP Code Sniffer Compliance Changes. * Fixes all PHP Code Sniffer WordPress Coding Standards Issues. * Updates Code Base to Pass Level 5 Baseline * Ensures PHP Code Sniffs continue to pass. * Fixes all code base issues to pass a level 5 PHP static analysis. * Updates PHPStan configurations to use a level 5 baseline. * Fixes Travis CI Configuration for Static Analysis * Fixes Plugin Pass i18n Checks * Adds i18n check to Travis CI builds. * Adds additional i18n run scripts to package.json. * Internationalization Checking & Fixes * Fixes missing i18n translation in main plugin file. * Adds update POT file. * Enforces i18n checks on commit with GrumPHP. * Adds i18n check step to Travis CI builds. * Gitattributes for export exclusions * Fixes missing loaded settings property assignment. * Adds Support for IDP Settings as Defined Constants - Reads from defined constants on plugin bootstrap. - Disabled plugin settings fields when defined constants are used. - Prevents savings plugin settings that are using defined constants. * Adds Node/NPM Environment Requirements * Fixes GrumPHP Bin Directory Configuration * Updates GrumPHP for Required Features - Bumps Composer package PHP version to 7.3. - Updates GrumPHP configuration to new format. * Plugin Settings Page Updates Using Constants - Ensures that any available defined constants are loaded in place of any database stored settings as an override. * Composer Dependency Updates & Travis CI Caching Fix * Travis CI Build Composer Update Change * NPM Updates & NVM Version Lock * Fixes NPM Package Lock File for Node v12 * Updates NPM Package Dependencies * Updates Changelog & README Files With Relevant Changes * Fixes Localizaion on Error Output * Changes GrumPHP Configuration to Provide a Full PHPCS Report * Fixes Local Dev Setup to Activate Plugin by Default * Adds Contribution Guide and Issue & PR Templates (#222) * Fixes Support GitHub Issue Template (#223) * Fixes space/typo with Wiki link (#224) * Fixes invalid wp-env plugin configuration (#225) * Improve Local Dev Setup by Reducing Setup Commands (#226) * Improve Local Dev Setup by Reducing Setup Commands * Adds Code Owners Configuration for Pull Requests * Fixes Development Dependencies and Setup Scripts (#227) * Dev release/3.8 (#229) * Adds dev Branch to Travis CI Builds * Release Preparation Enhancements & Release Changes Co-authored-by: Jonathan Daggerhart <jonathan@daggerhart.com>
5 years ago
* WordPress options handling class.
*
* @package OpenID_Connect_Generic
* @category Settings
* @author Jonathan Daggerhart <jonathan@daggerhart.com>
* @copyright 2015-2020 daggerhart
* @license http://www.gnu.org/licenses/gpl-2.0.txt GPL-2.0+
*/
/**
* OpenId_Connect_Generic_Option_Settings class.
*
* WordPress options handling.
*
* @package OpenID_Connect_Generic
* @category Settings
*
* Legacy Settings:
*
* @property string $ep_login The login endpoint.
* @property string $ep_token The token endpoint.
* @property string $ep_userinfo The userinfo endpoint.
*
* OAuth Client Settings:
*
* @property string $login_type How the client (login form) should provide login options.
* @property string $client_id The ID the client will be recognized as when connecting the to Identity provider server.
* @property string $client_secret The secret key the IDP server expects from the client.
* @property string $scope The list of scopes this client should access.
* @property string $endpoint_login The IDP authorization endpoint URL.
* @property string $endpoint_userinfo The IDP User information endpoint URL.
* @property string $endpoint_token The IDP token validation endpoint URL.
* @property string $endpoint_end_session The IDP logout endpoint URL.
*
* Non-standard Settings:
*
* @property bool $no_sslverify The flag to enable/disable SSL verification during authorization.
* @property int $http_request_timeout The timeout for requests made to the IDP. Default value is 5.
* @property string $identity_key The key in the user claim array to find the user's identification data.
* @property string $nickname_key The key in the user claim array to find the user's nickname.
* @property string $email_format The key(s) in the user claim array to formulate the user's email address.
* @property string $displayname_format The key(s) in the user claim array to formulate the user's display name.
* @property bool $identify_with_username The flag which indicates how the user's identity will be determined.
* @property int $state_time_limit The valid time limit of the state, in seconds. Defaults to 180 seconds.
*
* Plugin Settings:
*
* @property bool $enforce_privacy The flag to indicates whether a user us required to be authenticated to access the site.
* @property bool $alternate_redirect_uri The flag to indicate whether to use the alternative redirect URI.
* @property bool $token_refresh_enable The flag whether to support refresh tokens by IDPs.
* @property bool $link_existing_users The flag to indicate whether to link to existing WordPress-only accounts or greturn an error.
* @property bool $create_if_does_not_exist The flag to indicate whether to create new users or not.
* @property bool $redirect_user_back The flag to indicate whether to redirect the user back to the page on which they started.
* @property bool $redirect_on_logout The flag to indicate whether to redirect to the login screen on session expiration.
* @property bool $enable_logging The flag to enable/disable logging.
* @property int $log_limit The maximum number of log entries to keep.
*/
class OpenID_Connect_Generic_Option_Settings {
3.8.0 Release (#230) * Initial Coding Standards & Static Analysis Chanages. * Adds WordPress coding standards configuration. * Adds WordPress/PHP static analysis configuration. * Adds Git hooks to enforce checks and ensure quality on commits. * Adds initial local Docker development environment setup. * Current state of coding standards and analysis fixes. * Near Completion Update of PHP Code Sniffer Compliance Changes. * Fixes all PHP Code Sniffer WordPress Coding Standards Issues. * Updates Code Base to Pass Level 5 Baseline * Ensures PHP Code Sniffs continue to pass. * Fixes all code base issues to pass a level 5 PHP static analysis. * Updates PHPStan configurations to use a level 5 baseline. * Fixes Travis CI Configuration for Static Analysis * Fixes Plugin Pass i18n Checks * Adds i18n check to Travis CI builds. * Adds additional i18n run scripts to package.json. * Internationalization Checking & Fixes * Fixes missing i18n translation in main plugin file. * Adds update POT file. * Enforces i18n checks on commit with GrumPHP. * Adds i18n check step to Travis CI builds. * Gitattributes for export exclusions * Fixes missing loaded settings property assignment. * Adds Support for IDP Settings as Defined Constants - Reads from defined constants on plugin bootstrap. - Disabled plugin settings fields when defined constants are used. - Prevents savings plugin settings that are using defined constants. * Adds Node/NPM Environment Requirements * Fixes GrumPHP Bin Directory Configuration * Updates GrumPHP for Required Features - Bumps Composer package PHP version to 7.3. - Updates GrumPHP configuration to new format. * Plugin Settings Page Updates Using Constants - Ensures that any available defined constants are loaded in place of any database stored settings as an override. * Composer Dependency Updates & Travis CI Caching Fix * Travis CI Build Composer Update Change * NPM Updates & NVM Version Lock * Fixes NPM Package Lock File for Node v12 * Updates NPM Package Dependencies * Updates Changelog & README Files With Relevant Changes * Fixes Localizaion on Error Output * Changes GrumPHP Configuration to Provide a Full PHPCS Report * Fixes Local Dev Setup to Activate Plugin by Default * Adds Contribution Guide and Issue & PR Templates (#222) * Fixes Support GitHub Issue Template (#223) * Fixes space/typo with Wiki link (#224) * Fixes invalid wp-env plugin configuration (#225) * Improve Local Dev Setup by Reducing Setup Commands (#226) * Improve Local Dev Setup by Reducing Setup Commands * Adds Code Owners Configuration for Pull Requests * Fixes Development Dependencies and Setup Scripts (#227) * Dev release/3.8 (#229) * Adds dev Branch to Travis CI Builds * Release Preparation Enhancements & Release Changes Co-authored-by: Jonathan Daggerhart <jonathan@daggerhart.com>
5 years ago
/**
* WordPress option name/key.
*
* @var string
*/
private $option_name;
3.8.0 Release (#230) * Initial Coding Standards & Static Analysis Chanages. * Adds WordPress coding standards configuration. * Adds WordPress/PHP static analysis configuration. * Adds Git hooks to enforce checks and ensure quality on commits. * Adds initial local Docker development environment setup. * Current state of coding standards and analysis fixes. * Near Completion Update of PHP Code Sniffer Compliance Changes. * Fixes all PHP Code Sniffer WordPress Coding Standards Issues. * Updates Code Base to Pass Level 5 Baseline * Ensures PHP Code Sniffs continue to pass. * Fixes all code base issues to pass a level 5 PHP static analysis. * Updates PHPStan configurations to use a level 5 baseline. * Fixes Travis CI Configuration for Static Analysis * Fixes Plugin Pass i18n Checks * Adds i18n check to Travis CI builds. * Adds additional i18n run scripts to package.json. * Internationalization Checking & Fixes * Fixes missing i18n translation in main plugin file. * Adds update POT file. * Enforces i18n checks on commit with GrumPHP. * Adds i18n check step to Travis CI builds. * Gitattributes for export exclusions * Fixes missing loaded settings property assignment. * Adds Support for IDP Settings as Defined Constants - Reads from defined constants on plugin bootstrap. - Disabled plugin settings fields when defined constants are used. - Prevents savings plugin settings that are using defined constants. * Adds Node/NPM Environment Requirements * Fixes GrumPHP Bin Directory Configuration * Updates GrumPHP for Required Features - Bumps Composer package PHP version to 7.3. - Updates GrumPHP configuration to new format. * Plugin Settings Page Updates Using Constants - Ensures that any available defined constants are loaded in place of any database stored settings as an override. * Composer Dependency Updates & Travis CI Caching Fix * Travis CI Build Composer Update Change * NPM Updates & NVM Version Lock * Fixes NPM Package Lock File for Node v12 * Updates NPM Package Dependencies * Updates Changelog & README Files With Relevant Changes * Fixes Localizaion on Error Output * Changes GrumPHP Configuration to Provide a Full PHPCS Report * Fixes Local Dev Setup to Activate Plugin by Default * Adds Contribution Guide and Issue & PR Templates (#222) * Fixes Support GitHub Issue Template (#223) * Fixes space/typo with Wiki link (#224) * Fixes invalid wp-env plugin configuration (#225) * Improve Local Dev Setup by Reducing Setup Commands (#226) * Improve Local Dev Setup by Reducing Setup Commands * Adds Code Owners Configuration for Pull Requests * Fixes Development Dependencies and Setup Scripts (#227) * Dev release/3.8 (#229) * Adds dev Branch to Travis CI Builds * Release Preparation Enhancements & Release Changes Co-authored-by: Jonathan Daggerhart <jonathan@daggerhart.com>
5 years ago
/**
* Stored option values array.
*
* @var array<mixed>
*/
private $values;
3.8.0 Release (#230) * Initial Coding Standards & Static Analysis Chanages. * Adds WordPress coding standards configuration. * Adds WordPress/PHP static analysis configuration. * Adds Git hooks to enforce checks and ensure quality on commits. * Adds initial local Docker development environment setup. * Current state of coding standards and analysis fixes. * Near Completion Update of PHP Code Sniffer Compliance Changes. * Fixes all PHP Code Sniffer WordPress Coding Standards Issues. * Updates Code Base to Pass Level 5 Baseline * Ensures PHP Code Sniffs continue to pass. * Fixes all code base issues to pass a level 5 PHP static analysis. * Updates PHPStan configurations to use a level 5 baseline. * Fixes Travis CI Configuration for Static Analysis * Fixes Plugin Pass i18n Checks * Adds i18n check to Travis CI builds. * Adds additional i18n run scripts to package.json. * Internationalization Checking & Fixes * Fixes missing i18n translation in main plugin file. * Adds update POT file. * Enforces i18n checks on commit with GrumPHP. * Adds i18n check step to Travis CI builds. * Gitattributes for export exclusions * Fixes missing loaded settings property assignment. * Adds Support for IDP Settings as Defined Constants - Reads from defined constants on plugin bootstrap. - Disabled plugin settings fields when defined constants are used. - Prevents savings plugin settings that are using defined constants. * Adds Node/NPM Environment Requirements * Fixes GrumPHP Bin Directory Configuration * Updates GrumPHP for Required Features - Bumps Composer package PHP version to 7.3. - Updates GrumPHP configuration to new format. * Plugin Settings Page Updates Using Constants - Ensures that any available defined constants are loaded in place of any database stored settings as an override. * Composer Dependency Updates & Travis CI Caching Fix * Travis CI Build Composer Update Change * NPM Updates & NVM Version Lock * Fixes NPM Package Lock File for Node v12 * Updates NPM Package Dependencies * Updates Changelog & README Files With Relevant Changes * Fixes Localizaion on Error Output * Changes GrumPHP Configuration to Provide a Full PHPCS Report * Fixes Local Dev Setup to Activate Plugin by Default * Adds Contribution Guide and Issue & PR Templates (#222) * Fixes Support GitHub Issue Template (#223) * Fixes space/typo with Wiki link (#224) * Fixes invalid wp-env plugin configuration (#225) * Improve Local Dev Setup by Reducing Setup Commands (#226) * Improve Local Dev Setup by Reducing Setup Commands * Adds Code Owners Configuration for Pull Requests * Fixes Development Dependencies and Setup Scripts (#227) * Dev release/3.8 (#229) * Adds dev Branch to Travis CI Builds * Release Preparation Enhancements & Release Changes Co-authored-by: Jonathan Daggerhart <jonathan@daggerhart.com>
5 years ago
/**
* Default plugin settings values.
*
* @var array<mixed>
*/
private $default_settings;
/**
3.8.0 Release (#230) * Initial Coding Standards & Static Analysis Chanages. * Adds WordPress coding standards configuration. * Adds WordPress/PHP static analysis configuration. * Adds Git hooks to enforce checks and ensure quality on commits. * Adds initial local Docker development environment setup. * Current state of coding standards and analysis fixes. * Near Completion Update of PHP Code Sniffer Compliance Changes. * Fixes all PHP Code Sniffer WordPress Coding Standards Issues. * Updates Code Base to Pass Level 5 Baseline * Ensures PHP Code Sniffs continue to pass. * Fixes all code base issues to pass a level 5 PHP static analysis. * Updates PHPStan configurations to use a level 5 baseline. * Fixes Travis CI Configuration for Static Analysis * Fixes Plugin Pass i18n Checks * Adds i18n check to Travis CI builds. * Adds additional i18n run scripts to package.json. * Internationalization Checking & Fixes * Fixes missing i18n translation in main plugin file. * Adds update POT file. * Enforces i18n checks on commit with GrumPHP. * Adds i18n check step to Travis CI builds. * Gitattributes for export exclusions * Fixes missing loaded settings property assignment. * Adds Support for IDP Settings as Defined Constants - Reads from defined constants on plugin bootstrap. - Disabled plugin settings fields when defined constants are used. - Prevents savings plugin settings that are using defined constants. * Adds Node/NPM Environment Requirements * Fixes GrumPHP Bin Directory Configuration * Updates GrumPHP for Required Features - Bumps Composer package PHP version to 7.3. - Updates GrumPHP configuration to new format. * Plugin Settings Page Updates Using Constants - Ensures that any available defined constants are loaded in place of any database stored settings as an override. * Composer Dependency Updates & Travis CI Caching Fix * Travis CI Build Composer Update Change * NPM Updates & NVM Version Lock * Fixes NPM Package Lock File for Node v12 * Updates NPM Package Dependencies * Updates Changelog & README Files With Relevant Changes * Fixes Localizaion on Error Output * Changes GrumPHP Configuration to Provide a Full PHPCS Report * Fixes Local Dev Setup to Activate Plugin by Default * Adds Contribution Guide and Issue & PR Templates (#222) * Fixes Support GitHub Issue Template (#223) * Fixes space/typo with Wiki link (#224) * Fixes invalid wp-env plugin configuration (#225) * Improve Local Dev Setup by Reducing Setup Commands (#226) * Improve Local Dev Setup by Reducing Setup Commands * Adds Code Owners Configuration for Pull Requests * Fixes Development Dependencies and Setup Scripts (#227) * Dev release/3.8 (#229) * Adds dev Branch to Travis CI Builds * Release Preparation Enhancements & Release Changes Co-authored-by: Jonathan Daggerhart <jonathan@daggerhart.com>
5 years ago
* List of settings that can be defined by environment variables.
*
* @var array<string,string>
*/
3.8.0 Release (#230) * Initial Coding Standards & Static Analysis Chanages. * Adds WordPress coding standards configuration. * Adds WordPress/PHP static analysis configuration. * Adds Git hooks to enforce checks and ensure quality on commits. * Adds initial local Docker development environment setup. * Current state of coding standards and analysis fixes. * Near Completion Update of PHP Code Sniffer Compliance Changes. * Fixes all PHP Code Sniffer WordPress Coding Standards Issues. * Updates Code Base to Pass Level 5 Baseline * Ensures PHP Code Sniffs continue to pass. * Fixes all code base issues to pass a level 5 PHP static analysis. * Updates PHPStan configurations to use a level 5 baseline. * Fixes Travis CI Configuration for Static Analysis * Fixes Plugin Pass i18n Checks * Adds i18n check to Travis CI builds. * Adds additional i18n run scripts to package.json. * Internationalization Checking & Fixes * Fixes missing i18n translation in main plugin file. * Adds update POT file. * Enforces i18n checks on commit with GrumPHP. * Adds i18n check step to Travis CI builds. * Gitattributes for export exclusions * Fixes missing loaded settings property assignment. * Adds Support for IDP Settings as Defined Constants - Reads from defined constants on plugin bootstrap. - Disabled plugin settings fields when defined constants are used. - Prevents savings plugin settings that are using defined constants. * Adds Node/NPM Environment Requirements * Fixes GrumPHP Bin Directory Configuration * Updates GrumPHP for Required Features - Bumps Composer package PHP version to 7.3. - Updates GrumPHP configuration to new format. * Plugin Settings Page Updates Using Constants - Ensures that any available defined constants are loaded in place of any database stored settings as an override. * Composer Dependency Updates & Travis CI Caching Fix * Travis CI Build Composer Update Change * NPM Updates & NVM Version Lock * Fixes NPM Package Lock File for Node v12 * Updates NPM Package Dependencies * Updates Changelog & README Files With Relevant Changes * Fixes Localizaion on Error Output * Changes GrumPHP Configuration to Provide a Full PHPCS Report * Fixes Local Dev Setup to Activate Plugin by Default * Adds Contribution Guide and Issue & PR Templates (#222) * Fixes Support GitHub Issue Template (#223) * Fixes space/typo with Wiki link (#224) * Fixes invalid wp-env plugin configuration (#225) * Improve Local Dev Setup by Reducing Setup Commands (#226) * Improve Local Dev Setup by Reducing Setup Commands * Adds Code Owners Configuration for Pull Requests * Fixes Development Dependencies and Setup Scripts (#227) * Dev release/3.8 (#229) * Adds dev Branch to Travis CI Builds * Release Preparation Enhancements & Release Changes Co-authored-by: Jonathan Daggerhart <jonathan@daggerhart.com>
5 years ago
private $environment_settings = array(
'client_id' => 'OIDC_CLIENT_ID',
'client_secret' => 'OIDC_CLIENT_SECRET',
'endpoint_login' => 'OIDC_ENDPOINT_LOGIN_URL',
'endpoint_userinfo' => 'OIDC_ENDPOINT_USERINFO_URL',
'endpoint_token' => 'OIDC_ENDPOINT_TOKEN_URL',
'endpoint_end_session' => 'OIDC_ENDPOINT_LOGOUT_URL',
);
/**
* The class constructor.
*
* @param string $option_name The option name/key.
* @param array<mixed> $default_settings The default plugin settings values.
* @param bool $granular_defaults The granular defaults.
*/
function __construct( $option_name, $default_settings = array(), $granular_defaults = true ) {
$this->option_name = $option_name;
$this->default_settings = $default_settings;
3.8.0 Release (#230) * Initial Coding Standards & Static Analysis Chanages. * Adds WordPress coding standards configuration. * Adds WordPress/PHP static analysis configuration. * Adds Git hooks to enforce checks and ensure quality on commits. * Adds initial local Docker development environment setup. * Current state of coding standards and analysis fixes. * Near Completion Update of PHP Code Sniffer Compliance Changes. * Fixes all PHP Code Sniffer WordPress Coding Standards Issues. * Updates Code Base to Pass Level 5 Baseline * Ensures PHP Code Sniffs continue to pass. * Fixes all code base issues to pass a level 5 PHP static analysis. * Updates PHPStan configurations to use a level 5 baseline. * Fixes Travis CI Configuration for Static Analysis * Fixes Plugin Pass i18n Checks * Adds i18n check to Travis CI builds. * Adds additional i18n run scripts to package.json. * Internationalization Checking & Fixes * Fixes missing i18n translation in main plugin file. * Adds update POT file. * Enforces i18n checks on commit with GrumPHP. * Adds i18n check step to Travis CI builds. * Gitattributes for export exclusions * Fixes missing loaded settings property assignment. * Adds Support for IDP Settings as Defined Constants - Reads from defined constants on plugin bootstrap. - Disabled plugin settings fields when defined constants are used. - Prevents savings plugin settings that are using defined constants. * Adds Node/NPM Environment Requirements * Fixes GrumPHP Bin Directory Configuration * Updates GrumPHP for Required Features - Bumps Composer package PHP version to 7.3. - Updates GrumPHP configuration to new format. * Plugin Settings Page Updates Using Constants - Ensures that any available defined constants are loaded in place of any database stored settings as an override. * Composer Dependency Updates & Travis CI Caching Fix * Travis CI Build Composer Update Change * NPM Updates & NVM Version Lock * Fixes NPM Package Lock File for Node v12 * Updates NPM Package Dependencies * Updates Changelog & README Files With Relevant Changes * Fixes Localizaion on Error Output * Changes GrumPHP Configuration to Provide a Full PHPCS Report * Fixes Local Dev Setup to Activate Plugin by Default * Adds Contribution Guide and Issue & PR Templates (#222) * Fixes Support GitHub Issue Template (#223) * Fixes space/typo with Wiki link (#224) * Fixes invalid wp-env plugin configuration (#225) * Improve Local Dev Setup by Reducing Setup Commands (#226) * Improve Local Dev Setup by Reducing Setup Commands * Adds Code Owners Configuration for Pull Requests * Fixes Development Dependencies and Setup Scripts (#227) * Dev release/3.8 (#229) * Adds dev Branch to Travis CI Builds * Release Preparation Enhancements & Release Changes Co-authored-by: Jonathan Daggerhart <jonathan@daggerhart.com>
5 years ago
$this->values = array();
if ( ! empty( $this->option_name ) ) {
$this->values = (array) get_option( $this->option_name, $this->default_settings );
}
// For each defined environment variable/constant be sure the settings key is set.
foreach ( $this->environment_settings as $key => $constant ) {
if ( defined( $constant ) ) {
$this->__set( $key, constant( $constant ) );
}
}
if ( $granular_defaults ) {
$this->values = array_replace_recursive( $this->default_settings, $this->values );
}
}
3.8.0 Release (#230) * Initial Coding Standards & Static Analysis Chanages. * Adds WordPress coding standards configuration. * Adds WordPress/PHP static analysis configuration. * Adds Git hooks to enforce checks and ensure quality on commits. * Adds initial local Docker development environment setup. * Current state of coding standards and analysis fixes. * Near Completion Update of PHP Code Sniffer Compliance Changes. * Fixes all PHP Code Sniffer WordPress Coding Standards Issues. * Updates Code Base to Pass Level 5 Baseline * Ensures PHP Code Sniffs continue to pass. * Fixes all code base issues to pass a level 5 PHP static analysis. * Updates PHPStan configurations to use a level 5 baseline. * Fixes Travis CI Configuration for Static Analysis * Fixes Plugin Pass i18n Checks * Adds i18n check to Travis CI builds. * Adds additional i18n run scripts to package.json. * Internationalization Checking & Fixes * Fixes missing i18n translation in main plugin file. * Adds update POT file. * Enforces i18n checks on commit with GrumPHP. * Adds i18n check step to Travis CI builds. * Gitattributes for export exclusions * Fixes missing loaded settings property assignment. * Adds Support for IDP Settings as Defined Constants - Reads from defined constants on plugin bootstrap. - Disabled plugin settings fields when defined constants are used. - Prevents savings plugin settings that are using defined constants. * Adds Node/NPM Environment Requirements * Fixes GrumPHP Bin Directory Configuration * Updates GrumPHP for Required Features - Bumps Composer package PHP version to 7.3. - Updates GrumPHP configuration to new format. * Plugin Settings Page Updates Using Constants - Ensures that any available defined constants are loaded in place of any database stored settings as an override. * Composer Dependency Updates & Travis CI Caching Fix * Travis CI Build Composer Update Change * NPM Updates & NVM Version Lock * Fixes NPM Package Lock File for Node v12 * Updates NPM Package Dependencies * Updates Changelog & README Files With Relevant Changes * Fixes Localizaion on Error Output * Changes GrumPHP Configuration to Provide a Full PHPCS Report * Fixes Local Dev Setup to Activate Plugin by Default * Adds Contribution Guide and Issue & PR Templates (#222) * Fixes Support GitHub Issue Template (#223) * Fixes space/typo with Wiki link (#224) * Fixes invalid wp-env plugin configuration (#225) * Improve Local Dev Setup by Reducing Setup Commands (#226) * Improve Local Dev Setup by Reducing Setup Commands * Adds Code Owners Configuration for Pull Requests * Fixes Development Dependencies and Setup Scripts (#227) * Dev release/3.8 (#229) * Adds dev Branch to Travis CI Builds * Release Preparation Enhancements & Release Changes Co-authored-by: Jonathan Daggerhart <jonathan@daggerhart.com>
5 years ago
/**
* Magic getter for settings.
*
* @param string $key The array key/option name.
*
* @return mixed
*/
function __get( $key ) {
if ( isset( $this->values[ $key ] ) ) {
return $this->values[ $key ];
}
}
3.8.0 Release (#230) * Initial Coding Standards & Static Analysis Chanages. * Adds WordPress coding standards configuration. * Adds WordPress/PHP static analysis configuration. * Adds Git hooks to enforce checks and ensure quality on commits. * Adds initial local Docker development environment setup. * Current state of coding standards and analysis fixes. * Near Completion Update of PHP Code Sniffer Compliance Changes. * Fixes all PHP Code Sniffer WordPress Coding Standards Issues. * Updates Code Base to Pass Level 5 Baseline * Ensures PHP Code Sniffs continue to pass. * Fixes all code base issues to pass a level 5 PHP static analysis. * Updates PHPStan configurations to use a level 5 baseline. * Fixes Travis CI Configuration for Static Analysis * Fixes Plugin Pass i18n Checks * Adds i18n check to Travis CI builds. * Adds additional i18n run scripts to package.json. * Internationalization Checking & Fixes * Fixes missing i18n translation in main plugin file. * Adds update POT file. * Enforces i18n checks on commit with GrumPHP. * Adds i18n check step to Travis CI builds. * Gitattributes for export exclusions * Fixes missing loaded settings property assignment. * Adds Support for IDP Settings as Defined Constants - Reads from defined constants on plugin bootstrap. - Disabled plugin settings fields when defined constants are used. - Prevents savings plugin settings that are using defined constants. * Adds Node/NPM Environment Requirements * Fixes GrumPHP Bin Directory Configuration * Updates GrumPHP for Required Features - Bumps Composer package PHP version to 7.3. - Updates GrumPHP configuration to new format. * Plugin Settings Page Updates Using Constants - Ensures that any available defined constants are loaded in place of any database stored settings as an override. * Composer Dependency Updates & Travis CI Caching Fix * Travis CI Build Composer Update Change * NPM Updates & NVM Version Lock * Fixes NPM Package Lock File for Node v12 * Updates NPM Package Dependencies * Updates Changelog & README Files With Relevant Changes * Fixes Localizaion on Error Output * Changes GrumPHP Configuration to Provide a Full PHPCS Report * Fixes Local Dev Setup to Activate Plugin by Default * Adds Contribution Guide and Issue & PR Templates (#222) * Fixes Support GitHub Issue Template (#223) * Fixes space/typo with Wiki link (#224) * Fixes invalid wp-env plugin configuration (#225) * Improve Local Dev Setup by Reducing Setup Commands (#226) * Improve Local Dev Setup by Reducing Setup Commands * Adds Code Owners Configuration for Pull Requests * Fixes Development Dependencies and Setup Scripts (#227) * Dev release/3.8 (#229) * Adds dev Branch to Travis CI Builds * Release Preparation Enhancements & Release Changes Co-authored-by: Jonathan Daggerhart <jonathan@daggerhart.com>
5 years ago
/**
* Magic setter for settings.
*
* @param string $key The array key/option name.
* @param mixed $value The option value.
*
* @return void
*/
function __set( $key, $value ) {
$this->values[ $key ] = $value;
}
3.8.0 Release (#230) * Initial Coding Standards & Static Analysis Chanages. * Adds WordPress coding standards configuration. * Adds WordPress/PHP static analysis configuration. * Adds Git hooks to enforce checks and ensure quality on commits. * Adds initial local Docker development environment setup. * Current state of coding standards and analysis fixes. * Near Completion Update of PHP Code Sniffer Compliance Changes. * Fixes all PHP Code Sniffer WordPress Coding Standards Issues. * Updates Code Base to Pass Level 5 Baseline * Ensures PHP Code Sniffs continue to pass. * Fixes all code base issues to pass a level 5 PHP static analysis. * Updates PHPStan configurations to use a level 5 baseline. * Fixes Travis CI Configuration for Static Analysis * Fixes Plugin Pass i18n Checks * Adds i18n check to Travis CI builds. * Adds additional i18n run scripts to package.json. * Internationalization Checking & Fixes * Fixes missing i18n translation in main plugin file. * Adds update POT file. * Enforces i18n checks on commit with GrumPHP. * Adds i18n check step to Travis CI builds. * Gitattributes for export exclusions * Fixes missing loaded settings property assignment. * Adds Support for IDP Settings as Defined Constants - Reads from defined constants on plugin bootstrap. - Disabled plugin settings fields when defined constants are used. - Prevents savings plugin settings that are using defined constants. * Adds Node/NPM Environment Requirements * Fixes GrumPHP Bin Directory Configuration * Updates GrumPHP for Required Features - Bumps Composer package PHP version to 7.3. - Updates GrumPHP configuration to new format. * Plugin Settings Page Updates Using Constants - Ensures that any available defined constants are loaded in place of any database stored settings as an override. * Composer Dependency Updates & Travis CI Caching Fix * Travis CI Build Composer Update Change * NPM Updates & NVM Version Lock * Fixes NPM Package Lock File for Node v12 * Updates NPM Package Dependencies * Updates Changelog & README Files With Relevant Changes * Fixes Localizaion on Error Output * Changes GrumPHP Configuration to Provide a Full PHPCS Report * Fixes Local Dev Setup to Activate Plugin by Default * Adds Contribution Guide and Issue & PR Templates (#222) * Fixes Support GitHub Issue Template (#223) * Fixes space/typo with Wiki link (#224) * Fixes invalid wp-env plugin configuration (#225) * Improve Local Dev Setup by Reducing Setup Commands (#226) * Improve Local Dev Setup by Reducing Setup Commands * Adds Code Owners Configuration for Pull Requests * Fixes Development Dependencies and Setup Scripts (#227) * Dev release/3.8 (#229) * Adds dev Branch to Travis CI Builds * Release Preparation Enhancements & Release Changes Co-authored-by: Jonathan Daggerhart <jonathan@daggerhart.com>
5 years ago
/**
* Magic method to check is an attribute isset.
*
* @param string $key The array key/option name.
*
* @return bool
*/
function __isset( $key ) {
return isset( $this->values[ $key ] );
}
3.8.0 Release (#230) * Initial Coding Standards & Static Analysis Chanages. * Adds WordPress coding standards configuration. * Adds WordPress/PHP static analysis configuration. * Adds Git hooks to enforce checks and ensure quality on commits. * Adds initial local Docker development environment setup. * Current state of coding standards and analysis fixes. * Near Completion Update of PHP Code Sniffer Compliance Changes. * Fixes all PHP Code Sniffer WordPress Coding Standards Issues. * Updates Code Base to Pass Level 5 Baseline * Ensures PHP Code Sniffs continue to pass. * Fixes all code base issues to pass a level 5 PHP static analysis. * Updates PHPStan configurations to use a level 5 baseline. * Fixes Travis CI Configuration for Static Analysis * Fixes Plugin Pass i18n Checks * Adds i18n check to Travis CI builds. * Adds additional i18n run scripts to package.json. * Internationalization Checking & Fixes * Fixes missing i18n translation in main plugin file. * Adds update POT file. * Enforces i18n checks on commit with GrumPHP. * Adds i18n check step to Travis CI builds. * Gitattributes for export exclusions * Fixes missing loaded settings property assignment. * Adds Support for IDP Settings as Defined Constants - Reads from defined constants on plugin bootstrap. - Disabled plugin settings fields when defined constants are used. - Prevents savings plugin settings that are using defined constants. * Adds Node/NPM Environment Requirements * Fixes GrumPHP Bin Directory Configuration * Updates GrumPHP for Required Features - Bumps Composer package PHP version to 7.3. - Updates GrumPHP configuration to new format. * Plugin Settings Page Updates Using Constants - Ensures that any available defined constants are loaded in place of any database stored settings as an override. * Composer Dependency Updates & Travis CI Caching Fix * Travis CI Build Composer Update Change * NPM Updates & NVM Version Lock * Fixes NPM Package Lock File for Node v12 * Updates NPM Package Dependencies * Updates Changelog & README Files With Relevant Changes * Fixes Localizaion on Error Output * Changes GrumPHP Configuration to Provide a Full PHPCS Report * Fixes Local Dev Setup to Activate Plugin by Default * Adds Contribution Guide and Issue & PR Templates (#222) * Fixes Support GitHub Issue Template (#223) * Fixes space/typo with Wiki link (#224) * Fixes invalid wp-env plugin configuration (#225) * Improve Local Dev Setup by Reducing Setup Commands (#226) * Improve Local Dev Setup by Reducing Setup Commands * Adds Code Owners Configuration for Pull Requests * Fixes Development Dependencies and Setup Scripts (#227) * Dev release/3.8 (#229) * Adds dev Branch to Travis CI Builds * Release Preparation Enhancements & Release Changes Co-authored-by: Jonathan Daggerhart <jonathan@daggerhart.com>
5 years ago
/**
* Magic method to clear an attribute.
*
* @param string $key The array key/option name.
*
* @return void
*/
function __unset( $key ) {
unset( $this->values[ $key ] );
}
3.8.0 Release (#230) * Initial Coding Standards & Static Analysis Chanages. * Adds WordPress coding standards configuration. * Adds WordPress/PHP static analysis configuration. * Adds Git hooks to enforce checks and ensure quality on commits. * Adds initial local Docker development environment setup. * Current state of coding standards and analysis fixes. * Near Completion Update of PHP Code Sniffer Compliance Changes. * Fixes all PHP Code Sniffer WordPress Coding Standards Issues. * Updates Code Base to Pass Level 5 Baseline * Ensures PHP Code Sniffs continue to pass. * Fixes all code base issues to pass a level 5 PHP static analysis. * Updates PHPStan configurations to use a level 5 baseline. * Fixes Travis CI Configuration for Static Analysis * Fixes Plugin Pass i18n Checks * Adds i18n check to Travis CI builds. * Adds additional i18n run scripts to package.json. * Internationalization Checking & Fixes * Fixes missing i18n translation in main plugin file. * Adds update POT file. * Enforces i18n checks on commit with GrumPHP. * Adds i18n check step to Travis CI builds. * Gitattributes for export exclusions * Fixes missing loaded settings property assignment. * Adds Support for IDP Settings as Defined Constants - Reads from defined constants on plugin bootstrap. - Disabled plugin settings fields when defined constants are used. - Prevents savings plugin settings that are using defined constants. * Adds Node/NPM Environment Requirements * Fixes GrumPHP Bin Directory Configuration * Updates GrumPHP for Required Features - Bumps Composer package PHP version to 7.3. - Updates GrumPHP configuration to new format. * Plugin Settings Page Updates Using Constants - Ensures that any available defined constants are loaded in place of any database stored settings as an override. * Composer Dependency Updates & Travis CI Caching Fix * Travis CI Build Composer Update Change * NPM Updates & NVM Version Lock * Fixes NPM Package Lock File for Node v12 * Updates NPM Package Dependencies * Updates Changelog & README Files With Relevant Changes * Fixes Localizaion on Error Output * Changes GrumPHP Configuration to Provide a Full PHPCS Report * Fixes Local Dev Setup to Activate Plugin by Default * Adds Contribution Guide and Issue & PR Templates (#222) * Fixes Support GitHub Issue Template (#223) * Fixes space/typo with Wiki link (#224) * Fixes invalid wp-env plugin configuration (#225) * Improve Local Dev Setup by Reducing Setup Commands (#226) * Improve Local Dev Setup by Reducing Setup Commands * Adds Code Owners Configuration for Pull Requests * Fixes Development Dependencies and Setup Scripts (#227) * Dev release/3.8 (#229) * Adds dev Branch to Travis CI Builds * Release Preparation Enhancements & Release Changes Co-authored-by: Jonathan Daggerhart <jonathan@daggerhart.com>
5 years ago
/**
* Get the plugin settings array.
*
* @return array
*/
function get_values() {
return $this->values;
}
3.8.0 Release (#230) * Initial Coding Standards & Static Analysis Chanages. * Adds WordPress coding standards configuration. * Adds WordPress/PHP static analysis configuration. * Adds Git hooks to enforce checks and ensure quality on commits. * Adds initial local Docker development environment setup. * Current state of coding standards and analysis fixes. * Near Completion Update of PHP Code Sniffer Compliance Changes. * Fixes all PHP Code Sniffer WordPress Coding Standards Issues. * Updates Code Base to Pass Level 5 Baseline * Ensures PHP Code Sniffs continue to pass. * Fixes all code base issues to pass a level 5 PHP static analysis. * Updates PHPStan configurations to use a level 5 baseline. * Fixes Travis CI Configuration for Static Analysis * Fixes Plugin Pass i18n Checks * Adds i18n check to Travis CI builds. * Adds additional i18n run scripts to package.json. * Internationalization Checking & Fixes * Fixes missing i18n translation in main plugin file. * Adds update POT file. * Enforces i18n checks on commit with GrumPHP. * Adds i18n check step to Travis CI builds. * Gitattributes for export exclusions * Fixes missing loaded settings property assignment. * Adds Support for IDP Settings as Defined Constants - Reads from defined constants on plugin bootstrap. - Disabled plugin settings fields when defined constants are used. - Prevents savings plugin settings that are using defined constants. * Adds Node/NPM Environment Requirements * Fixes GrumPHP Bin Directory Configuration * Updates GrumPHP for Required Features - Bumps Composer package PHP version to 7.3. - Updates GrumPHP configuration to new format. * Plugin Settings Page Updates Using Constants - Ensures that any available defined constants are loaded in place of any database stored settings as an override. * Composer Dependency Updates & Travis CI Caching Fix * Travis CI Build Composer Update Change * NPM Updates & NVM Version Lock * Fixes NPM Package Lock File for Node v12 * Updates NPM Package Dependencies * Updates Changelog & README Files With Relevant Changes * Fixes Localizaion on Error Output * Changes GrumPHP Configuration to Provide a Full PHPCS Report * Fixes Local Dev Setup to Activate Plugin by Default * Adds Contribution Guide and Issue & PR Templates (#222) * Fixes Support GitHub Issue Template (#223) * Fixes space/typo with Wiki link (#224) * Fixes invalid wp-env plugin configuration (#225) * Improve Local Dev Setup by Reducing Setup Commands (#226) * Improve Local Dev Setup by Reducing Setup Commands * Adds Code Owners Configuration for Pull Requests * Fixes Development Dependencies and Setup Scripts (#227) * Dev release/3.8 (#229) * Adds dev Branch to Travis CI Builds * Release Preparation Enhancements & Release Changes Co-authored-by: Jonathan Daggerhart <jonathan@daggerhart.com>
5 years ago
/**
* Get the plugin WordPress options name.
*
* @return string
*/
function get_option_name() {
return $this->option_name;
}
3.8.0 Release (#230) * Initial Coding Standards & Static Analysis Chanages. * Adds WordPress coding standards configuration. * Adds WordPress/PHP static analysis configuration. * Adds Git hooks to enforce checks and ensure quality on commits. * Adds initial local Docker development environment setup. * Current state of coding standards and analysis fixes. * Near Completion Update of PHP Code Sniffer Compliance Changes. * Fixes all PHP Code Sniffer WordPress Coding Standards Issues. * Updates Code Base to Pass Level 5 Baseline * Ensures PHP Code Sniffs continue to pass. * Fixes all code base issues to pass a level 5 PHP static analysis. * Updates PHPStan configurations to use a level 5 baseline. * Fixes Travis CI Configuration for Static Analysis * Fixes Plugin Pass i18n Checks * Adds i18n check to Travis CI builds. * Adds additional i18n run scripts to package.json. * Internationalization Checking & Fixes * Fixes missing i18n translation in main plugin file. * Adds update POT file. * Enforces i18n checks on commit with GrumPHP. * Adds i18n check step to Travis CI builds. * Gitattributes for export exclusions * Fixes missing loaded settings property assignment. * Adds Support for IDP Settings as Defined Constants - Reads from defined constants on plugin bootstrap. - Disabled plugin settings fields when defined constants are used. - Prevents savings plugin settings that are using defined constants. * Adds Node/NPM Environment Requirements * Fixes GrumPHP Bin Directory Configuration * Updates GrumPHP for Required Features - Bumps Composer package PHP version to 7.3. - Updates GrumPHP configuration to new format. * Plugin Settings Page Updates Using Constants - Ensures that any available defined constants are loaded in place of any database stored settings as an override. * Composer Dependency Updates & Travis CI Caching Fix * Travis CI Build Composer Update Change * NPM Updates & NVM Version Lock * Fixes NPM Package Lock File for Node v12 * Updates NPM Package Dependencies * Updates Changelog & README Files With Relevant Changes * Fixes Localizaion on Error Output * Changes GrumPHP Configuration to Provide a Full PHPCS Report * Fixes Local Dev Setup to Activate Plugin by Default * Adds Contribution Guide and Issue & PR Templates (#222) * Fixes Support GitHub Issue Template (#223) * Fixes space/typo with Wiki link (#224) * Fixes invalid wp-env plugin configuration (#225) * Improve Local Dev Setup by Reducing Setup Commands (#226) * Improve Local Dev Setup by Reducing Setup Commands * Adds Code Owners Configuration for Pull Requests * Fixes Development Dependencies and Setup Scripts (#227) * Dev release/3.8 (#229) * Adds dev Branch to Travis CI Builds * Release Preparation Enhancements & Release Changes Co-authored-by: Jonathan Daggerhart <jonathan@daggerhart.com>
5 years ago
/**
* Save the plugin options to the WordPress options table.
*
* @return void
*/
function save() {
// For each defined environment variable/constant be sure it isn't saved to the database.
foreach ( $this->environment_settings as $key => $constant ) {
if ( defined( $constant ) ) {
$this->__unset( $key );
}
}
update_option( $this->option_name, $this->values );
3.8.0 Release (#230) * Initial Coding Standards & Static Analysis Chanages. * Adds WordPress coding standards configuration. * Adds WordPress/PHP static analysis configuration. * Adds Git hooks to enforce checks and ensure quality on commits. * Adds initial local Docker development environment setup. * Current state of coding standards and analysis fixes. * Near Completion Update of PHP Code Sniffer Compliance Changes. * Fixes all PHP Code Sniffer WordPress Coding Standards Issues. * Updates Code Base to Pass Level 5 Baseline * Ensures PHP Code Sniffs continue to pass. * Fixes all code base issues to pass a level 5 PHP static analysis. * Updates PHPStan configurations to use a level 5 baseline. * Fixes Travis CI Configuration for Static Analysis * Fixes Plugin Pass i18n Checks * Adds i18n check to Travis CI builds. * Adds additional i18n run scripts to package.json. * Internationalization Checking & Fixes * Fixes missing i18n translation in main plugin file. * Adds update POT file. * Enforces i18n checks on commit with GrumPHP. * Adds i18n check step to Travis CI builds. * Gitattributes for export exclusions * Fixes missing loaded settings property assignment. * Adds Support for IDP Settings as Defined Constants - Reads from defined constants on plugin bootstrap. - Disabled plugin settings fields when defined constants are used. - Prevents savings plugin settings that are using defined constants. * Adds Node/NPM Environment Requirements * Fixes GrumPHP Bin Directory Configuration * Updates GrumPHP for Required Features - Bumps Composer package PHP version to 7.3. - Updates GrumPHP configuration to new format. * Plugin Settings Page Updates Using Constants - Ensures that any available defined constants are loaded in place of any database stored settings as an override. * Composer Dependency Updates & Travis CI Caching Fix * Travis CI Build Composer Update Change * NPM Updates & NVM Version Lock * Fixes NPM Package Lock File for Node v12 * Updates NPM Package Dependencies * Updates Changelog & README Files With Relevant Changes * Fixes Localizaion on Error Output * Changes GrumPHP Configuration to Provide a Full PHPCS Report * Fixes Local Dev Setup to Activate Plugin by Default * Adds Contribution Guide and Issue & PR Templates (#222) * Fixes Support GitHub Issue Template (#223) * Fixes space/typo with Wiki link (#224) * Fixes invalid wp-env plugin configuration (#225) * Improve Local Dev Setup by Reducing Setup Commands (#226) * Improve Local Dev Setup by Reducing Setup Commands * Adds Code Owners Configuration for Pull Requests * Fixes Development Dependencies and Setup Scripts (#227) * Dev release/3.8 (#229) * Adds dev Branch to Travis CI Builds * Release Preparation Enhancements & Release Changes Co-authored-by: Jonathan Daggerhart <jonathan@daggerhart.com>
5 years ago
}
}