Commit Graph

40 Commits

Author SHA1 Message Date
Boone Gorges 305cf8b95e 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.
Built from https://develop.svn.wordpress.org/trunk@31640


git-svn-id: http://core.svn.wordpress.org/trunk@31621 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-03-06 13:57:26 +00:00
Boone Gorges 11ec50e453 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.
Built from https://develop.svn.wordpress.org/trunk@31628


git-svn-id: http://core.svn.wordpress.org/trunk@31609 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-03-05 19:13:25 +00:00
Boone Gorges ec8aef8233 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.
Built from https://develop.svn.wordpress.org/trunk@31473


git-svn-id: http://core.svn.wordpress.org/trunk@31454 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-02-18 19:14:27 +00:00
John Blackbourn 4d12ccadd8 Add `$expiration` as a parameter to the `pre_set_transient_{$transient}` filter.
Props mgibbs189
Fixes #30576

Built from https://develop.svn.wordpress.org/trunk@31414


git-svn-id: http://core.svn.wordpress.org/trunk@31395 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-02-11 17:12:26 +00:00
Andrew Nacin 1b8f71041b Allow $autoload in add_option() to receive false.
props dllh.
fixes #31119.

Built from https://develop.svn.wordpress.org/trunk@31278


git-svn-id: http://core.svn.wordpress.org/trunk@31259 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-01-25 07:51:23 +00:00
Dion Hulse 1d59ca9004 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

Built from https://develop.svn.wordpress.org/trunk@30886


git-svn-id: http://core.svn.wordpress.org/trunk@30876 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-12-16 05:52:23 +00:00
Scott Taylor ba914c7df1 Improve various `@param` docs.
See #30224.

Built from https://develop.svn.wordpress.org/trunk@30673


git-svn-id: http://core.svn.wordpress.org/trunk@30663 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-11-30 22:56:25 +00:00
Drew Jaynes 439fe48010 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.

Built from https://develop.svn.wordpress.org/trunk@30652


git-svn-id: http://core.svn.wordpress.org/trunk@30642 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-11-30 11:53:22 +00:00
Drew Jaynes f8657d5890 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.

Built from https://develop.svn.wordpress.org/trunk@30105


git-svn-id: http://core.svn.wordpress.org/trunk@30105 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-10-30 01:05:24 +00:00
Andrew Ozz 8f2b4fbe9e Fix the `wp-settings-*` cookies used in getUserSetting()/setUserSetting(). They should be set without `COOKIE_DOMAIN` to work properly for sub-domains. Fixes #29095.
Built from https://develop.svn.wordpress.org/trunk@29478


git-svn-id: http://core.svn.wordpress.org/trunk@29256 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-08-13 02:47:16 +00:00
Andrew Ozz 9662554bfb Add blog_id to the `wp-settings-*` cookie (used for storing user state) to prevent it being overloaded on sub-domain sites. Fixes #29095.
Built from https://develop.svn.wordpress.org/trunk@29362


git-svn-id: http://core.svn.wordpress.org/trunk@29138 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-08-02 20:09:16 +00:00
Dominik Schilling 2e4be94288 Replace `is_https_url()` with `'https' === parse_url( $url, PHP_URL_SCHEME )`.
see #28427, #28487.
Built from https://develop.svn.wordpress.org/trunk@29311


git-svn-id: http://core.svn.wordpress.org/trunk@29092 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-07-27 17:46:17 +00:00
John Blackbourn 60ff3a61f9 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
Built from https://develop.svn.wordpress.org/trunk@28895


git-svn-id: http://core.svn.wordpress.org/trunk@28694 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-06-29 13:25:16 +00:00
Drew Jaynes 66bcd85529 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.

Built from https://develop.svn.wordpress.org/trunk@28735


git-svn-id: http://core.svn.wordpress.org/trunk@28549 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-06-11 16:33:15 +00:00
Sergey Biryukov c8a55d08e6 Add a note about return value in case of an expired transient to get_transient() and get_site_transient().
props ruud@joyo.
fixes #28462.
Built from https://develop.svn.wordpress.org/trunk@28676


git-svn-id: http://core.svn.wordpress.org/trunk@28494 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-06-05 15:34:14 +00:00
Dominik Schilling bc8cf4e966 Introduce `pre_update_option` filter.
Filter is available in update_option() and allows to filter any option before its value is (maybe) serialized and updated.

see #27504.
props westonruter.

Built from https://develop.svn.wordpress.org/trunk@27815


git-svn-id: http://core.svn.wordpress.org/trunk@27649 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-03-28 13:57:14 +00:00
Andrew Nacin d63fbed03d Transients: Allow a non-expiring transient to be updated with an expiry.
props shahpranaf, sandyr.
fixes #22807.

Built from https://develop.svn.wordpress.org/trunk@27719


git-svn-id: http://core.svn.wordpress.org/trunk@27557 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-03-25 18:23:14 +00:00
Drew Jaynes af8c5df4d0 Inline documentation for hooks in wp-includes/option.php.
Props siobhyb for the initial patch. Props DrewAPicture, kpdesign.
Fixes #25905.

Built from https://develop.svn.wordpress.org/trunk@27365


git-svn-id: http://core.svn.wordpress.org/trunk@27215 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-03-02 23:35:13 +00:00
Drew Jaynes cb8951b0b3 Remove all `@package` and `@subpackage` PHPDoc tags not at the file- or class-levels in core.
See #27200.

Built from https://develop.svn.wordpress.org/trunk@27262


git-svn-id: http://core.svn.wordpress.org/trunk@27119 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-02-25 17:14:14 +00:00
Scott Taylor 784bd41501 Prefix the `notoptions` cache key in the multisite `site-options` group with `$wpdb->siteid` to avoid collisions and race conditions when using a fancy multi-network setup. Adds unit test.
Fixes #25883.


Built from https://develop.svn.wordpress.org/trunk@26304


git-svn-id: http://core.svn.wordpress.org/trunk@26209 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-11-21 19:07:10 +00:00
Andrew Nacin d6b436afe8 In update_option(), call the update_option hook before the DB update.
Reverses a regression from [25664].

props calin.
fixes #25705 for trunk.

Built from https://develop.svn.wordpress.org/trunk@25925


git-svn-id: http://core.svn.wordpress.org/trunk@25884 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-10-26 02:57:09 +00:00
Andrew Nacin fe03c1170a When queries fail in option functions, bail before setting cache.
Standardize variables so things are less confusing.

fixes #25015.

Built from https://develop.svn.wordpress.org/trunk@25664


git-svn-id: http://core.svn.wordpress.org/trunk@25580 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-10-02 20:43:10 +00:00
Andrew Nacin 85d4685894 Always pass integer expirations to cache backends.
props SergeyBiryukov, andreasnrb.
fixes #25308.

Built from https://develop.svn.wordpress.org/trunk@25451


git-svn-id: http://core.svn.wordpress.org/trunk@25372 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-09-16 17:43:09 +00:00
Dion Hulse fc1fc39a89 Fix the action that `set_site_transient()` fires so as not to include the private option prefix. This brings set_site_transient() back in line with it's documented behaviour, and the behaviour of all other transient functions. Fixes #25213
Built from https://develop.svn.wordpress.org/trunk@25350


git-svn-id: http://core.svn.wordpress.org/trunk@25312 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-09-11 08:46:10 +00:00
Scott Taylor d7cc1f506a Introduce `wp_using_ext_object_cache()` - mimic `wp_suspend_cache_invalidation()` and discourage direct access to `$_wp_using_ext_object_cache`, cleaning up importing of globals in functions and provides function to modify that global. Loads the packaged object cache when an external cache hasn't been loaded or doesn't contain `wp_cache_init()`.
Fixes #21401.


Built from https://develop.svn.wordpress.org/trunk@25289


git-svn-id: http://core.svn.wordpress.org/trunk@25253 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-09-06 18:10:09 +00:00
Andrew Ozz c79ef61b12 User state settings:
- Allow empty cookie value to be saved.
- Use get_current_user_id() instead of wp_get_current_user().
- Use is_user_member_of_blog().
- Sanitize both name and value in wp_set_all_user_settings().
- Some var names and code formatting cleanup.
Fixes #24921.
Built from https://develop.svn.wordpress.org/trunk@25109


git-svn-id: http://core.svn.wordpress.org/trunk@25091 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-08-23 21:43:09 +00:00
Scott Taylor a9dc60c9a8 Improve inline docs for function params that can be serialized when non-scalar. Fixes #18488.
Built from https://develop.svn.wordpress.org/trunk@25076


git-svn-id: http://core.svn.wordpress.org/trunk@25061 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-08-21 21:11:09 +00:00
Jon Cave 55f60d7af4 Pass false returned for timed out transients through transient_$transient filter.
This brings the same behaviour as external object caches to the default database
backend.

Props johnbillion. Fixes #24685.

Built from https://develop.svn.wordpress.org/trunk@25075


git-svn-id: http://core.svn.wordpress.org/trunk@25060 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-08-21 19:14:09 +00:00
Jon Cave 727696d7be Introduce a notoptions cache for site options.
Props wonderboymusic. Fixes #19008.

Built from https://develop.svn.wordpress.org/trunk@25043


git-svn-id: http://core.svn.wordpress.org/trunk@25030 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-08-16 22:42:09 +00:00
Andrew Nacin 062928d842 Make update_option() consistent with add_option() for how serializable data is stored in the object cache.
props rmccue.
fixes #23381.



git-svn-id: http://core.svn.wordpress.org/trunk@24760 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-07-22 04:24:13 +00:00
Andrew Nacin 69581bd827 Pass value and expiration to result hooks in set_transient() and set_site_transient(). props johnbillion, fixes #24583.
git-svn-id: http://core.svn.wordpress.org/trunk@24433 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-06-16 04:06:12 +00:00
Andrew Nacin 699262666b Ensure we strictly compare 'alloptions' and 'notoptions' when protecting these special options.
Trim and check for emptiness of $option in delete_option(), as done for get, update, and add.

fixes #23289.



git-svn-id: http://core.svn.wordpress.org/trunk@23510 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-02-28 16:49:20 +00:00
Andrew Nacin 1847d7e85b Trim the option name in get_option() before calling the pre_option_$option filter, not after. props evansolomon. fixes #22358.
git-svn-id: http://core.svn.wordpress.org/trunk@22633 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-11-17 13:20:57 +00:00
Ryan Boren 1714e085e4 Don't create {$blog_id}_user-settings, {$blog_id}_user-settings-time, and {$blog_id}_dashboard_quick_press_last_post_id user options when a super admin visits a site they aren't a member of. Instead, rely solely on the wp-settings cookie.
fixes #22178


git-svn-id: http://core.svn.wordpress.org/trunk@22256 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-10-17 18:58:09 +00:00
Andrew Nacin 557d9313a7 Introduce constants to allow for easier expression of time periods in seconds. Adds MINUTE_IN_SECONDS, HOUR_IN_SECONDS, DAY_IN_SECONDS, WEEK_IN_SECONDS, YEAR_IN_SECONDS. props nbachiyski, SergeyBiryukov. fixes #20987.
git-svn-id: http://core.svn.wordpress.org/trunk@21996 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-09-25 05:26:19 +00:00
Andrew Nacin dc49f24a6c Remove ms-files.php rewriting from WordPress multisite. fixes #19235.
Keep existing networks compatible with a ms_files_rewriting network option.



git-svn-id: http://core.svn.wordpress.org/trunk@21823 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-09-11 22:22:20 +00:00
ryan 7c3c1267ec Call filters for default option values only as needed to reduce number of filter calls. Props Ott042. see #20448
git-svn-id: http://core.svn.wordpress.org/trunk@20784 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-05-14 17:00:13 +00:00
ryan db3da0b695 Add filters for the default to get_option() and get_site_option(). Provide default overrides in the customizer. Props Otto42. see #20448
git-svn-id: http://core.svn.wordpress.org/trunk@20783 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-05-14 16:45:32 +00:00
nacin 0730535015 Introduce $wpdb->delete(). props justindgivens, scribu. fixes #18948.
git-svn-id: http://svn.automattic.com/wordpress/trunk@20287 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-03-24 15:24:31 +00:00
ryan 24ab16bc4e Move option, setting, and transient functions from functions.php to option.php. see #19552
git-svn-id: http://svn.automattic.com/wordpress/trunk@19602 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2011-12-19 23:15:32 +00:00