Commit Graph

65 Commits

Author SHA1 Message Date
John Blackbourn
855991c578 Correctly set the secure flag for the test cookie based on the login URL scheme, and the same for the user settings cookies based on the admin URL scheme.
Fixes #34159


git-svn-id: https://develop.svn.wordpress.org/trunk@34931 602fd350-edb4-49c9-b593-d223f7449a82
2015-10-08 03:04:41 +00:00
Jeremy Felt
599fb50e09 Revert [34778], continue using _site_option() for the current network.
The `_network_option()` parameter order will be changing to accept `$network_id` first. The `_site_option()` functions will remain in use throughout core as our way of retrieving a network option for the current network.

See #28290.


git-svn-id: https://develop.svn.wordpress.org/trunk@34912 602fd350-edb4-49c9-b593-d223f7449a82
2015-10-07 17:11:01 +00:00
Sergey Biryukov
b86e47d915 Transients: Clarify the expiration_of_site_transient_$transient filter description.
See #21330.

git-svn-id: https://develop.svn.wordpress.org/trunk@34878 602fd350-edb4-49c9-b593-d223f7449a82
2015-10-06 18:10:17 +00:00
Dominik Schilling (ocean90)
4099310ff5 Transients: Rename filters added in [34865].
* `expiration_pre_set_transient_$transient` => `expiration_of_transient_$transient`
* `expiration_pre_set_site_transient_$transient` => `expiration_of_site_transient_$transient`

Fix hook docs.

Props chriscct7.
Fixes #21330.

git-svn-id: https://develop.svn.wordpress.org/trunk@34877 602fd350-edb4-49c9-b593-d223f7449a82
2015-10-06 17:58:19 +00:00
Scott Taylor
b054b952bc Transients, add filters for $expiration:
* `'expiration_pre_set_site_transient_' . $transient`
* `'expiration_pre_set_transient_' . $transient`
 
Props chriscct7, wpsmith, nacin.
Fixes #21330.


git-svn-id: https://develop.svn.wordpress.org/trunk@34865 602fd350-edb4-49c9-b593-d223f7449a82
2015-10-06 14:10:00 +00:00
Boone Gorges
578134d4ff Use wp_installing() instead of WP_INSTALLING constant.
The `WP_INSTALLING` constant is a flag that WordPress sets in a number of
places, telling the system that options should be fetched directly from the
database instead of from the cache, that WP should not ping wordpress.org for
updates, that the normal "not installed" checks should be bypassed, and so on.

A constant is generally necessary for this purpose, because the flag is
typically set before the WP bootstrap, meaning that WP functions are not yet
available.  However, it is possible - notably, during `wpmu_create_blog()` -
for the "installing" flag to be set after WP has already loaded. In these
cases, `WP_INSTALLING` would be set for the remainder of the process, since
there's no way to change a constant once it's defined. This, in turn, polluted
later function calls that ought to have been outside the scope of site
creation, particularly the non-caching of option data. The problem was
particularly evident in the case of the automated tests, where `WP_INSTALLING`
was set the first time a site was created, and remained set for the rest of the
suite.

The new `wp_installing()` function allows developers to fetch the current
installation status (when called without any arguments) or to set the
installation status (when called with a boolean `true` or `false`). Use of
the `WP_INSTALLING` constant is still supported; `wp_installing()` will default
to `true` if the constant is defined during the bootstrap.

Props boonebgorges, jeremyfelt.
See #31130.

git-svn-id: https://develop.svn.wordpress.org/trunk@34828 602fd350-edb4-49c9-b593-d223f7449a82
2015-10-05 15:05:26 +00:00
Jeremy Felt
d9031e0d51 Docs: Add deprecation note for $use_cache in get_site_option().
Props johnbillion.
See #28290.


git-svn-id: https://develop.svn.wordpress.org/trunk@34779 602fd350-edb4-49c9-b593-d223f7449a82
2015-10-02 19:31:04 +00:00
Jeremy Felt
3c177b8c6f MS: Use *_network_option() functions throughout core.
Replaces all uses of `*_site_option()` with the corresponding "network" function.

This excludes one usage in `wp-admin/admin-footer.php` that needs more investigation.

Props spacedmonkey.
See #28290.


git-svn-id: https://develop.svn.wordpress.org/trunk@34778 602fd350-edb4-49c9-b593-d223f7449a82
2015-10-02 19:07:23 +00:00
Jeremy Felt
464f857316 MS: Introduce *_network_option functions.
Introduces `add_network_option()`, `update_network_option()`, `get_network_option()`, and `delete_network_option()`, which use the internals previously found in the `*_site_option()` functions and allow for a network ID to enable cross network storage and retrieval of network options.

* `*_site_option()` functions are now wrappers for `*_network_option()` and will interact with options for the current network in a multisite environment.
* All will continue to fallback to `*_option()` for non-multisite uses.
* Adds basic tests for cross network storage and retrieval.
* Existing tests for `*_site_option()` functions provide coverage for storage and retrieval of current network options.

Props spacedmonkey, DrewAPicture, jeremyfelt.
See #28290.


git-svn-id: https://develop.svn.wordpress.org/trunk@34777 602fd350-edb4-49c9-b593-d223f7449a82
2015-10-02 18:00:30 +00:00
Jeremy Felt
2322255d81 MS: Remove @todo for ms_protect_special_option() from delete_site_option().
This todo has been in place since the original merge of MU. At the time of merge, `wpmu_protect_special_option()` protected an empty array, and there has been no noticeable need since. As we introduce `_network_option()`, let's leave this behind. A new ticket can be opened if necessary.

See #28290.


git-svn-id: https://develop.svn.wordpress.org/trunk@34756 602fd350-edb4-49c9-b593-d223f7449a82
2015-10-01 22:45:18 +00:00
Sergey Biryukov
38b4099237 Update the length limit in set_transient() docs after [34030].
Props OriginalEXE.
Fixes #13310.

git-svn-id: https://develop.svn.wordpress.org/trunk@34045 602fd350-edb4-49c9-b593-d223f7449a82
2015-09-11 15:09:13 +00:00
Scott Taylor
99c34d57c1 User Settings: allow dashes in get|set_user_setting() in PHP and get|setUserSetting() in JS.
Add unit tests - there were none. Mock `set_user_setting()` since it won't run due to `headers_sent()` being `true`.

Fixes #22781.


git-svn-id: https://develop.svn.wordpress.org/trunk@33840 602fd350-edb4-49c9-b593-d223f7449a82
2015-09-01 03:56:44 +00:00
Drew Jaynes
002e2a0e4a Docs: Add a changelog entry to the set_site_transient_$transient hook doc for the $transient parameter, added in [33738].
Fixes #28402.


git-svn-id: https://develop.svn.wordpress.org/trunk@33794 602fd350-edb4-49c9-b593-d223f7449a82
2015-08-28 15:40:32 +00:00
Drew Jaynes
3734aa1682 Docs: Add a changelog entry to the pre_set_site_transient_$transient hook doc for the $transient parameter, added in [33738].
See #28402.


git-svn-id: https://develop.svn.wordpress.org/trunk@33793 602fd350-edb4-49c9-b593-d223f7449a82
2015-08-28 15:39:11 +00:00
Drew Jaynes
bddb0de4d8 Docs: Add a changelog entry to the site_transient_$transient hook doc for the $transient parameter, added in [33738].
See #28402.


git-svn-id: https://develop.svn.wordpress.org/trunk@33792 602fd350-edb4-49c9-b593-d223f7449a82
2015-08-28 15:38:01 +00:00
Drew Jaynes
9a566ea593 Docs: Add a changelog entry to the pre_site_transient_$transient hook doc for the $transient parameter, added in [33738].
See #28402.


git-svn-id: https://develop.svn.wordpress.org/trunk@33791 602fd350-edb4-49c9-b593-d223f7449a82
2015-08-28 15:36:49 +00:00
Drew Jaynes
c71531275b Docs: Add a changelog entry to the pre_update_site_option_$option hook doc for the $option parameter, added in [33738].
See #28402.


git-svn-id: https://develop.svn.wordpress.org/trunk@33790 602fd350-edb4-49c9-b593-d223f7449a82
2015-08-28 15:35:35 +00:00
Drew Jaynes
d06525c8a1 Docs: Add a changelog entry to the pre_delete_site_option_$option hook doc for the $option parameter, added in [33738].
See #28402.


git-svn-id: https://develop.svn.wordpress.org/trunk@33789 602fd350-edb4-49c9-b593-d223f7449a82
2015-08-28 15:34:26 +00:00
Drew Jaynes
3f8132e89e Docs: Add a changelog entry to the pre_add_site_option_$option hook doc for the $option parameter, added in [33738].
See #28402.


git-svn-id: https://develop.svn.wordpress.org/trunk@33788 602fd350-edb4-49c9-b593-d223f7449a82
2015-08-28 15:33:14 +00:00
Drew Jaynes
9eb92ae5ea Docs: Add a changelog entry to the site_option_$option hook doc for the $option parameter, added in [33738].
See #28402.


git-svn-id: https://develop.svn.wordpress.org/trunk@33787 602fd350-edb4-49c9-b593-d223f7449a82
2015-08-28 15:31:58 +00:00
Drew Jaynes
0d27e9b012 Docs: Add a changelog entry to the default_site_option_$option hook doc for the $option parameter, added in [33738].
See #28402.


git-svn-id: https://develop.svn.wordpress.org/trunk@33786 602fd350-edb4-49c9-b593-d223f7449a82
2015-08-28 15:30:44 +00:00
Drew Jaynes
21ed57e09d Docs: Add a changelog entry to the pre_site_option_$option hook doc for the $option parameter, added in [33738].
See #28402.


git-svn-id: https://develop.svn.wordpress.org/trunk@33785 602fd350-edb4-49c9-b593-d223f7449a82
2015-08-28 15:29:26 +00:00
Drew Jaynes
e2c8f3ec0d Docs: Add a changelog entry to the pre_set_transient_$transient hook doc for the $transient parameter, added in [33738].
See #28402.


git-svn-id: https://develop.svn.wordpress.org/trunk@33784 602fd350-edb4-49c9-b593-d223f7449a82
2015-08-28 15:28:06 +00:00
Drew Jaynes
86a49119a2 Docs: Add a changelog entry to the transient_$transient hook doc for the $transient parameter, introduced in [33738].
See #28402.


git-svn-id: https://develop.svn.wordpress.org/trunk@33783 602fd350-edb4-49c9-b593-d223f7449a82
2015-08-28 15:26:21 +00:00
Drew Jaynes
8336c88273 Docs: Add a changelog entry to the pre_transient_$transient hook doc for the $transient parameter, introduced in [33738].
See #28402.


git-svn-id: https://develop.svn.wordpress.org/trunk@33782 602fd350-edb4-49c9-b593-d223f7449a82
2015-08-28 15:24:49 +00:00
Drew Jaynes
958c835f9a Docs: Add a changelog entry to the update_option_{$option} hook doc for the $option parameter, introduced in [33738].
See #28402.


git-svn-id: https://develop.svn.wordpress.org/trunk@33781 602fd350-edb4-49c9-b593-d223f7449a82
2015-08-28 15:23:14 +00:00
Drew Jaynes
323ca7e1d3 Docs: Add a changelog entry to the pre_update_option_$option hook doc for the $option parameter, added in [33738].
See #28402.


git-svn-id: https://develop.svn.wordpress.org/trunk@33780 602fd350-edb4-49c9-b593-d223f7449a82
2015-08-28 15:21:18 +00:00
Drew Jaynes
41370b6e97 Docs: Add a changelog entry to the option_$option hook doc for the $option parameter, added in [33738].
See #28402.


git-svn-id: https://develop.svn.wordpress.org/trunk@33779 602fd350-edb4-49c9-b593-d223f7449a82
2015-08-28 15:19:54 +00:00
Drew Jaynes
9973d71384 Docs: Add a changelog entry to the default_option_$option hook doc for the $option parameter, added in [33738].
See #28402


git-svn-id: https://develop.svn.wordpress.org/trunk@33778 602fd350-edb4-49c9-b593-d223f7449a82
2015-08-28 15:17:33 +00:00
Drew Jaynes
ffb128a3c6 Docs: Add a changelog entry to the pre_option_$option hook doc for the $option parameter, added in [33738].
See #28402


git-svn-id: https://develop.svn.wordpress.org/trunk@33768 602fd350-edb4-49c9-b593-d223f7449a82
2015-08-27 16:59:17 +00:00
Scott Taylor
c76e3b3273 Pass option name to option and transient filters with dynamic names.
Props Viper007Bond, SergeyBiryukov, MikeHansenMe.
Fixes #28402.


git-svn-id: https://develop.svn.wordpress.org/trunk@33738 602fd350-edb4-49c9-b593-d223f7449a82
2015-08-25 21:41:53 +00:00
Dominik Schilling (ocean90)
daa477e3b8 Transients: If get_option( $transient_timeout ) returns false, don't bother trying to delete the transient in get_transient().
props jamesgol, ericmann.
fixes #30380.

git-svn-id: https://develop.svn.wordpress.org/trunk@33110 602fd350-edb4-49c9-b593-d223f7449a82
2015-07-07 16:44:08 +00:00
Scott Taylor
4d28f9a7de In get_site_option() and get_option(), ensure that $notoptions is an array before writing to it. Prevents a flood of Cannot use a scalar value as an array, because $notoptions is otherwise set to the result of wp_cache_get(), which returns mixed.
Props hauvong.
Fixes #31147.


git-svn-id: https://develop.svn.wordpress.org/trunk@32943 602fd350-edb4-49c9-b593-d223f7449a82
2015-06-25 19:00:51 +00:00
Scott Taylor
9a5af9d3d2 Fix doc blocks for option.php.
See #32444.


git-svn-id: https://develop.svn.wordpress.org/trunk@32613 602fd350-edb4-49c9-b593-d223f7449a82
2015-05-26 22:16:15 +00:00
Drew Jaynes
d9b911e477 Update the DocBlock description for update_option() to account for the ability to define the $autoload parameter, added in 4.2.
Props Clorith for the initial patch.
Fixes #32331.


git-svn-id: https://develop.svn.wordpress.org/trunk@32481 602fd350-edb4-49c9-b593-d223f7449a82
2015-05-10 16:58:00 +00:00
Boone Gorges
b9e222fd6a Allow $autoload setting to be changed for existing options using update_option().
[31628] made it possible to pass an `$autoload` param to `update_option()` that
applies when the option does not yet exist in the database. The current
changeset introduces parity for existing options: the `$autoload` setting
for existing options can be changed via the `$autoload` parameter. For internal
simplicity, `$autoload` is ignored for existing options when `$value` is not
also changed.

This changeset also moves `update_option()` tests into their own class.

Props dd32.
Fixes #26394.

git-svn-id: https://develop.svn.wordpress.org/trunk@31640 602fd350-edb4-49c9-b593-d223f7449a82
2015-03-06 13:56:44 +00:00
Boone Gorges
67324a9234 Introduce $autoload parameter to update_option().
When creating an option via `add_option()`, the `$autoload` param allows you to
tell WP whether the option should be loaded as part of the 'alloptions' cache
during every pageload. `update_option()`, when used with a non-existent option
calls `add_option()` internally. The new `$autoload` param in `update_option()`
is passed along to `add_option()` in cases where the option does not yet exist.

The associated unit tests are skipped on multisite due to an issue that causes
`WP_INSTALLING` to force cache misses. See #31130.

Props codix, nofearinc, MikeHansenMe.
Fixes #26394.

git-svn-id: https://develop.svn.wordpress.org/trunk@31628 602fd350-edb4-49c9-b593-d223f7449a82
2015-03-05 19:13:00 +00:00
Boone Gorges
94791cd8f2 Respect 'default_option_' filters during early sanity checks in add_option() and update_option().
`add_option()` and `update_option()` both call `get_option()` to compare the
value passed to the function with any existing value for the given option name.
When a `'default_option_'` filter is in place to change the default value of
an option, `add_option()` and `update_option()` ought to check against the
filtered value, rather than a hardcoded `false`, in order to determine whether
a prior value exists.

Props GregLone, tyxla.
Fixes #31047.

git-svn-id: https://develop.svn.wordpress.org/trunk@31473 602fd350-edb4-49c9-b593-d223f7449a82
2015-02-18 19:13:43 +00:00
John Blackbourn
b384c8cf25 Add $expiration as a parameter to the pre_set_transient_{$transient} filter.
Props mgibbs189
Fixes #30576


git-svn-id: https://develop.svn.wordpress.org/trunk@31414 602fd350-edb4-49c9-b593-d223f7449a82
2015-02-11 17:11:18 +00:00
Andrew Nacin
4857c6996c Allow $autoload in add_option() to receive false.
props dllh.
fixes #31119.


git-svn-id: https://develop.svn.wordpress.org/trunk@31278 602fd350-edb4-49c9-b593-d223f7449a82
2015-01-25 07:50:31 +00:00
Dion Hulse
1e721a144b Add braces around a Docblock in an if statement, although not required by PHP, this is required by our coding standards for readability.
Introduced in 3.9 with r27365
See #25905


git-svn-id: https://develop.svn.wordpress.org/trunk@30886 602fd350-edb4-49c9-b593-d223f7449a82
2014-12-16 05:51:49 +00:00
Scott Taylor
ee388b9852 Improve various @param docs.
See #30224.


git-svn-id: https://develop.svn.wordpress.org/trunk@30673 602fd350-edb4-49c9-b593-d223f7449a82
2014-11-30 22:55:08 +00:00
Drew Jaynes (DrewAPicture)
27a0f38b9e Docs Formatting: Backtick-escape inline code for all dynamic hook docs in wp-includes/option.php.
Affects DocBlocks for the following hooks:
* `pre_option_ . $option`
* `default_option_ . $option`
* `option_ . $option`
* `pre_update_option_ . $option`
* `update_option_{$option}`
* `add_option_{$option}`
* `delete_option_$option`
* `delete_transient_ . $transient`
* `pre_transient_ . $transient`
* `transient_ . $transient`
* `pre_set_transient_ . $transient`
* `set_transient_ . $transient`
* `pre_site_option_ . $option`
* `default_site_option_ . $option`
* `site_option_ . $option`
* `pre_add_site_option_ . $option`
* `add_site_option_{$option}`
* `pre_delete_site_option_ . $option`
* `delete_site_option_{$option}`
* `pre_update_site_option_ . $option`
* `update_site_option_{$option}`
* `delete_site_transient_ . $transient`
* `pre_site_transient_ . $transient`
* `site_transient_ . $transient`
* `pre_set_site_transient_ . $transient`
* `set_site_transient_ . $transient`

See #30552.


git-svn-id: https://develop.svn.wordpress.org/trunk@30652 602fd350-edb4-49c9-b593-d223f7449a82
2014-11-30 11:52:33 +00:00
Drew Jaynes (DrewAPicture)
3cc10d77a0 Remove redundant and erroneous @uses tag from most core inline documentation.
Per our inline documentation standards, no further use of the `@uses` tag is recommended as used and used-by relationships can be derived through other means. This removes most uses of the tag in core documentation, with remaining tags to be converted to `@global` or `@see` as they apply.

Fixes #30191.


git-svn-id: https://develop.svn.wordpress.org/trunk@30105 602fd350-edb4-49c9-b593-d223f7449a82
2014-10-30 01:04:55 +00:00
Andrew Ozz
b343d48221 Fix the wp-settings-* cookies used in getUserSetting()/setUserSetting(). They should be set without COOKIE_DOMAIN to work properly for sub-domains. Fixes #29095.
git-svn-id: https://develop.svn.wordpress.org/trunk@29478 602fd350-edb4-49c9-b593-d223f7449a82
2014-08-13 02:46:18 +00:00
Andrew Ozz
6bac38232c Add blog_id to the wp-settings-* cookie (used for storing user state) to prevent it being overloaded on sub-domain sites. Fixes #29095.
git-svn-id: https://develop.svn.wordpress.org/trunk@29362 602fd350-edb4-49c9-b593-d223f7449a82
2014-08-02 20:08:52 +00:00
Dominik Schilling (ocean90)
ea34a0bdf7 Replace is_https_url() with 'https' === parse_url( $url, PHP_URL_SCHEME ).
see #28427, #28487.

git-svn-id: https://develop.svn.wordpress.org/trunk@29311 602fd350-edb4-49c9-b593-d223f7449a82
2014-07-27 17:45:34 +00:00
John Blackbourn
15e019d99e Conditionally set the the secure flag on the test cookie, post password cookie, settings cookies, and comment author cookies depending on whether the front end and/or admin area are served over https. Fixes #28427
git-svn-id: https://develop.svn.wordpress.org/trunk@28895 602fd350-edb4-49c9-b593-d223f7449a82
2014-06-29 13:24:55 +00:00
Drew Jaynes (DrewAPicture)
e535d7fe6e Improve inline documention for set_transient() and set_site_transient() to specify the 45- and 40-character limits for their respective transient name values.
Props edwin-at-studiojoyo.com for the original patch.
See #15058, #13310. Fixes #28467.


git-svn-id: https://develop.svn.wordpress.org/trunk@28735 602fd350-edb4-49c9-b593-d223f7449a82
2014-06-11 16:32:06 +00:00
Sergey Biryukov
ff3f4e888f Add a note about return value in case of an expired transient to get_transient() and get_site_transient().
props ruud@joyo.
fixes #28462.

git-svn-id: https://develop.svn.wordpress.org/trunk@28676 602fd350-edb4-49c9-b593-d223f7449a82
2014-06-05 15:33:30 +00:00