Commit Graph

95 Commits

Author SHA1 Message Date
Dominik Schilling
076cbcdb71 Filesystem API: Prevent an endless self-calling loop in wp_tempnam().
Under certain conditions upgrades on Windows may fail because `wp_tempnam()` gets called in a loop.
This can happen when `wp_tempnam()` is called with `\.maintenance` for the `$filename` parameter. The function strips the extension, in this case `.maintenance`, which results in an empty filename. Because it's empty, `wp_tempnam()` calls itself with `dirname( '\.maintenance' )`. On *nix systems this would be `"/"` which allows `wp_tempnam()` to fall back on `time()`. But on Windows it's `"\"`.

This change adds the backslash to the list of characters which allow `wp_tempnam()` to fall back on `time()`.

See [32322], [31936].
Fixes #33999.

git-svn-id: https://develop.svn.wordpress.org/trunk@38151 602fd350-edb4-49c9-b593-d223f7449a82
2016-07-25 15:27:43 +00:00
Dominik Schilling
92231118dd Filesystem API: Change the default value for the $context parameter of get_filesystem_method() and request_filesystem_credentials() to an empty string.
`$context` is a full path to the directory that is tested for being writable. A path shouldn't be a boolean value.
This also updates `WP_Upgrader_Skin::request_filesystem_credentials()` and `Automatic_Upgrader_Skin::request_filesystem_credentials()` and adds missing docs.

Props DrewAPicture, ocean90.
Fixes #37412.


git-svn-id: https://develop.svn.wordpress.org/trunk@38138 602fd350-edb4-49c9-b593-d223f7449a82
2016-07-22 12:09:55 +00:00
Dominik Schilling
c68f1ec772 Bootstrap: Enhance core's memory limit handling.
* Don't lower memory limit if the current limit is greater than `WP_MAX_MEMORY_LIMIT`.
* Set `WP_MEMORY_LIMIT` and `WP_MAX_MEMORY_LIMIT` to current limit if the `memory_limit` setting can't be changed at runtime.
* Use `wp_convert_hr_to_bytes()` when parsing the value of the `memory_limit` setting because it can be a shorthand or an integer value.
* Introduce `wp_raise_memory_limit( $context )` to raise the PHP memory limit for memory intensive processes. This DRYs up some logic and includes the existing `admin_memory_limit` and `image_memory_limit` filters. The function can also be used for custom contexts, the `{$context}_memory_limit` filter allows to customize the limit.
* Introduce `wp_is_ini_value_changeable( $setting )` to determine whether a PHP ini value is changeable at runtime.
* Remove a `function_exists( 'memory_get_usage' )` check. Since PHP 5.2.1 support for memory limit is always enabled.

Related commits: [38011-38013]

Props jrf, A5hleyRich, swissspidy, ocean90.
Fixes #32075.

git-svn-id: https://develop.svn.wordpress.org/trunk@38015 602fd350-edb4-49c9-b593-d223f7449a82
2016-07-08 14:36:37 +00:00
Dion Hulse
dd472b7d2e Updates: Only use the filename component of URLs to form part of the temporary filename.
Previously we were passing the entire URL to `wp_tempnam()` (incorrectly) which caused the query string to be used as part of the temporary filename.
We now only use the file component of a url such as `https://example.com/filename.zip?arg1=1&arg2=2....&arg100=100` to prevent a long filename.

Fixes #34938


git-svn-id: https://develop.svn.wordpress.org/trunk@37598 602fd350-edb4-49c9-b593-d223f7449a82
2016-05-31 02:20:58 +00:00
Drew Jaynes
2111185ab9 Docs: Apply inline @see tags to hooks referenced in DocBlocks for wp-admin/* files.
Applying these specially-crafted `@see` tags allows the Code Reference parser to recognize and link these elements as actions and filters.

See #36921.


git-svn-id: https://develop.svn.wordpress.org/trunk@37537 602fd350-edb4-49c9-b593-d223f7449a82
2016-05-23 17:27:19 +00:00
Drew Jaynes
1cd420af5e Docs: Standardize hook docs in wp-admin/* to use third-person singular verbs per the inline documentation standards for PHP.
See #36913.


git-svn-id: https://develop.svn.wordpress.org/trunk@37488 602fd350-edb4-49c9-b593-d223f7449a82
2016-05-22 18:00:23 +00:00
Andrea Fercia
86b5802d75 Refine the FTP credentials form interaction.
Properly toggle SSH2 Authentication Keys fieldset visibility.
JavaScript and CSS clean-up.

Props Mte90.
Fixes #34376.

git-svn-id: https://develop.svn.wordpress.org/trunk@37467 602fd350-edb4-49c9-b593-d223f7449a82
2016-05-19 22:58:55 +00:00
Dominik Schilling (ocean90)
954eeba053 Filesystem API: Don't add '.' to the list of directories which need to be checked/created when extracting a file.
Prevents a PHP warning by `WP_Filesystem_Direct::mkdir()` when installing a language pack which doesn't have subdirectories.

Props tfrommen.
Fixes #36570.

git-svn-id: https://develop.svn.wordpress.org/trunk@37421 602fd350-edb4-49c9-b593-d223f7449a82
2016-05-12 12:39:49 +00:00
Sergey Biryukov
2f3c1769fa Theme Editor: After [37217], add other embed templates to file descriptions.
Props Frozzare.
Fixes #34561. See #34561.

git-svn-id: https://develop.svn.wordpress.org/trunk@37232 602fd350-edb4-49c9-b593-d223f7449a82
2016-04-18 01:04:15 +00:00
Sergey Biryukov
25f590a423 Theme Editor: Add embed.php to file descriptions.
Props ramiy.
Fixes #36551.

git-svn-id: https://develop.svn.wordpress.org/trunk@37217 602fd350-edb4-49c9-b593-d223f7449a82
2016-04-16 12:46:26 +00:00
Dominik Schilling (ocean90)
39ddaa65cc Docs: Correct grammar when referring to "a URL" vs "an URL" in several places.
Fixes #36218.

git-svn-id: https://develop.svn.wordpress.org/trunk@36970 602fd350-edb4-49c9-b593-d223f7449a82
2016-03-12 12:38:48 +00:00
Drew Jaynes
5572e1d4f4 Docs: Add private access notation to the DocBlock for the core _wp_handle_upload() function.
See #32246.


git-svn-id: https://develop.svn.wordpress.org/trunk@36473 602fd350-edb4-49c9-b593-d223f7449a82
2016-02-03 20:18:15 +00:00
Sergey Biryukov
ac704e838c Media: In _wp_handle_upload(), move ending brace to a new line.
Props georgestephanis.
Fixes #35565.

git-svn-id: https://develop.svn.wordpress.org/trunk@36373 602fd350-edb4-49c9-b593-d223f7449a82
2016-01-21 20:26:06 +00:00
SergeyBiryukov
2ce0bfa8f4 Theme Editor: Break $wp_file_descriptions array into sections and reorder for consistency and readability.
Props ramiy.
Fixes #35223.

git-svn-id: https://develop.svn.wordpress.org/trunk@36088 602fd350-edb4-49c9-b593-d223f7449a82
2015-12-25 21:11:02 +00:00
Sergey Biryukov
ffc86bf4e1 Theme Editor: Add taxonomy.php, home.php, front-page.php, date.php, and singular.php to file descriptions.
Props ramiy.
See #35223.

git-svn-id: https://develop.svn.wordpress.org/trunk@36087 602fd350-edb4-49c9-b593-d223f7449a82
2015-12-25 21:04:13 +00:00
Sergey Biryukov
ddf45b0142 Docs: Improve documentation for request_filesystem_credentials() and the corresponding filter.
Props swissspidy, danhgilmore, slushman.
Fixes #34858.

git-svn-id: https://develop.svn.wordpress.org/trunk@35888 602fd350-edb4-49c9-b593-d223f7449a82
2015-12-12 16:15:07 +00:00
Pascal Birchler
4e58589669 Docs: Fix some minor DocBlock alignment issues.
See #32246.

git-svn-id: https://develop.svn.wordpress.org/trunk@35885 602fd350-edb4-49c9-b593-d223f7449a82
2015-12-12 15:36:36 +00:00
John Blackbourn
c4cf5124ca Comments: The year is 2003. Permalinks are a new thing and everyone's using Blogger. It's a time when opening a modal window in JavaScript to view a section of a website is not a completely weird thing, although many users get annoyed by it. b2 has recently become WordPress, and with it comes a bunch of functionality that will become stale over the next decade, remnants of simpler times.
Twelve years later, after no fewer than three themes have intentionally implemented popup comments in their functionality, before being abandoned for at least the last six years, we've reached a time where we can put this era behind us. A time when we can remove comment popup functionality from WordPress.

If this breaks the internet, I'll eat my hat.

Fixes #28617


git-svn-id: https://develop.svn.wordpress.org/trunk@35848 602fd350-edb4-49c9-b593-d223f7449a82
2015-12-10 03:05:34 +00:00
Konstantin Kovshenin
318455ff24 Docs: Remove some more dittography.
See #34885, r35793.


git-svn-id: https://develop.svn.wordpress.org/trunk@35796 602fd350-edb4-49c9-b593-d223f7449a82
2015-12-06 21:49:43 +00:00
Mark Jaquith
baa1da6c57 Do not pass FALSE as second parameter in variable class_exists() checks
Because these are generally plugin-provided, we want plugins to be
able to use autoloaders.

fixes #20523

git-svn-id: https://develop.svn.wordpress.org/trunk@35749 602fd350-edb4-49c9-b593-d223f7449a82
2015-11-30 04:14:31 +00:00
Aaron Jorbin
ee18e04df0 Revert [34291] bringing back my-hacks
Keeping myhacks support is a small price to pay for not breaking people's sites.  Even if it is very very very few sites, breaking sites isn't something that should be encouraged. Even with 10 years of deprecation notices.

https://core.trac.wordpress.org/ticket/33741#comment:18 outlines all the ways that the hack_file and my-hacks options can be setup and thus all the ways that the removal of those options could break sites.

Fixes #33741.




git-svn-id: https://develop.svn.wordpress.org/trunk@35688 602fd350-edb4-49c9-b593-d223f7449a82
2015-11-18 20:48:24 +00:00
Dion Hulse
10c377b9b9 Decrease the chances that wp_tempnam() will conflict with an existing file by suffixing a random ID to the generated filename.
This also switches from using `touch()` to using `fopen( $file, 'x')` to ensure that we're the process creating the file.

Fixes #34562


git-svn-id: https://develop.svn.wordpress.org/trunk@35644 602fd350-edb4-49c9-b593-d223f7449a82
2015-11-16 05:32:32 +00:00
Dion Hulse
28ab6b9578 Media: Allow media_sideload_image() to work when the upload directory is a PHP Stream. Using copy() instead of rename() allows the function to work across different stream sources.
Props mattheu.
Fixes #29257


git-svn-id: https://develop.svn.wordpress.org/trunk@35579 602fd350-edb4-49c9-b593-d223f7449a82
2015-11-09 00:44:01 +00:00
Scott Taylor
6f6c0ebb52 Plugins/Updates: in request_filesystem_credentials(), alter the heading HTML tag based on the current screen for improved semantics.
Props afercia.
Fixes #34267.


git-svn-id: https://develop.svn.wordpress.org/trunk@35315 602fd350-edb4-49c9-b593-d223f7449a82
2015-10-21 03:50:19 +00:00
Drew Jaynes
ea8e9f89cd Docs: Standardize the file header summary for wp-admin/includes/file.php.
Also adds an `@since` version and corrects the `@subpackage` value.

See #33701.


git-svn-id: https://develop.svn.wordpress.org/trunk@35221 602fd350-edb4-49c9-b593-d223f7449a82
2015-10-16 16:55:24 +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
Scott Taylor
b59df508cf Theme Editor: ensure that files named index.php in theme subfolders are not labeled as "Main Index Template"
Props MikeHansenMe, wonderboymusic, bravokeyl, Shelob9.
Fixes #27201.


git-svn-id: https://develop.svn.wordpress.org/trunk@34658 602fd350-edb4-49c9-b593-d223f7449a82
2015-09-28 03:10:08 +00:00
John Blackbourn
1bb2876fe6 callback is not a valid type in PHP, PSR-5, or phpDocumentor. callable should be used instead.
Fixes #34032


git-svn-id: https://develop.svn.wordpress.org/trunk@34566 602fd350-edb4-49c9-b593-d223f7449a82
2015-09-25 23:57:46 +00:00
Scott Taylor
ed7d34cb13 Pass false as the 2nd argument to class_exists() to disable autoloading and to not cause problems for those who define __autoload().
Fixes #20523.


git-svn-id: https://develop.svn.wordpress.org/trunk@34348 602fd350-edb4-49c9-b593-d223f7449a82
2015-09-20 03:51:55 +00:00
Aaron Jorbin
308179c232 Remove support for my-hacks.php
For the last 10 years, my-hacks has been deprecated and has been throwing a deprecation notice. For the last six years, you haven't been able to enable my-hacks.php in the admin UI. That should be enough time to give developers notice. Plugins and themes seem like they might have staying power.

Fixes #33741
Props bobbingwide



git-svn-id: https://develop.svn.wordpress.org/trunk@34291 602fd350-edb4-49c9-b593-d223f7449a82
2015-09-18 17:05:28 +00:00
Dominik Schilling (ocean90)
7f562dd69f Theme Editor: Change file descriptions of header.php and footer.php.
`header.php` is now "Theme Header" and `footer.php` is "Theme Footer". This prevents a clash with other "Header" strings in the context of "Custom Header".

Props ramiy.
Fixes #32975.

git-svn-id: https://develop.svn.wordpress.org/trunk@34290 602fd350-edb4-49c9-b593-d223f7449a82
2015-09-18 16:02:24 +00:00
Drew Jaynes
7682e433fc Docs: Put "it's" in its place (again).
Props kitchin.
Fixes #33894.


git-svn-id: https://develop.svn.wordpress.org/trunk@34234 602fd350-edb4-49c9-b593-d223f7449a82
2015-09-16 12:45:51 +00:00
Sergey Biryukov
36ed764d60 Fix closing div in wp_print_request_filesystem_credentials_modal().
Props trepmal.
Fixes #33737.

git-svn-id: https://develop.svn.wordpress.org/trunk@33908 602fd350-edb4-49c9-b593-d223f7449a82
2015-09-05 15:16:15 +00:00
Scott Taylor
f162be6046 For doc block types, favor bool over the few remaining booleans
See #32444.


git-svn-id: https://develop.svn.wordpress.org/trunk@32964 602fd350-edb4-49c9-b593-d223f7449a82
2015-06-27 01:02:12 +00:00
Scott Taylor
23ce2efd12 Add @global annotations for wp-admin/*.
See #32444.


git-svn-id: https://develop.svn.wordpress.org/trunk@32642 602fd350-edb4-49c9-b593-d223f7449a82
2015-05-28 21:40:27 +00:00
Drew Jaynes
511ce10e53 Clarify accepted types for the $args and $context parameters in WP_Filesystem().
See #32246.


git-svn-id: https://develop.svn.wordpress.org/trunk@32338 602fd350-edb4-49c9-b593-d223f7449a82
2015-05-04 01:03:08 +00:00
Dion Hulse
342989657f When creating a temporary file treat the / directory properly, to prevent it ending up in an endless self-calling loop.
Props hnle, taka2. Fixes #32135. See #31811


git-svn-id: https://develop.svn.wordpress.org/trunk@32322 602fd350-edb4-49c9-b593-d223f7449a82
2015-04-29 03:16:06 +00:00
Dominik Schilling (ocean90)
2abf4c39ef Don't focus input fields outside of the request filesystem credentials form.
props valendesigns.
fixes #32055.

git-svn-id: https://develop.svn.wordpress.org/trunk@32266 602fd350-edb4-49c9-b593-d223f7449a82
2015-04-22 16:23:57 +00:00
Aaron Jorbin
852937d006 Update placeholder for FTP credentials
Two changes:
 * Remove superfluous __ function call
 * Update domain used

Fixes #31922
Props Tmeister



git-svn-id: https://develop.svn.wordpress.org/trunk@32077 602fd350-edb4-49c9-b593-d223f7449a82
2015-04-08 16:49:22 +00:00
Drew Jaynes
8d8ea0c529 Clarify the DocBlock description for wp_print_request_filesystem_credentials_modal().
See [31811]. See #31888.


git-svn-id: https://develop.svn.wordpress.org/trunk@32016 602fd350-edb4-49c9-b593-d223f7449a82
2015-04-04 21:12:10 +00:00
Aaron Jorbin
9932d7973d Refine UI for FTP modal and shiny updates
Numerous changes to make the FTP modal experience a good one.  These include:
 * Update HTML used by both the form here and the form on the standalone screen
 * Allow users to cancel FTP install
 * Focus locking in the modal
 * Focus on modal form on load
 * ARIA Attributes
 * Style Enhancements
 * Add low screen height (such as phone and some tablets) friendly experience for entering credentials

Props ericlewis, afercia 
Fixes #31608



git-svn-id: https://develop.svn.wordpress.org/trunk@31949 602fd350-edb4-49c9-b593-d223f7449a82
2015-04-01 02:47:55 +00:00
Dion Hulse
842d6a9b39 Add some logic into wp_tempnam to prevent it creating 'falsey' directory names that might get used elsewhere within WordPress.
Although this logic looks a little strange at this low level, it's the best location within the Upgrades code for it to happen.
Fixes #31811


git-svn-id: https://develop.svn.wordpress.org/trunk@31936 602fd350-edb4-49c9-b593-d223f7449a82
2015-03-31 02:10:06 +00:00
Drew Jaynes
bd2d4c8d14 Clean up DocBlock information and syntax for get_filesystem_method().
Props ericlewis, HarishChaudhari, valendesigns.
Fixes #31267.


git-svn-id: https://develop.svn.wordpress.org/trunk@31884 602fd350-edb4-49c9-b593-d223f7449a82
2015-03-25 16:31:15 +00:00
Aaron Jorbin
08ac58e160 Request FTP and SSH credentials when needed during shiny updates
This is a restoration of [31749] which was reverted in [31755].

It includes a number of enhancements from the original version.  Namely:
 * Not doing a credential check in src/wp-includes/script-loader.php
 * Add new function `wp_print_request_filesystem_credentials_modal`
 * update the version number in the list table when a plugin is updated

UI still needs further work, but this basic version should enable more testing

Props ericlewis, jorbin
See #31528



git-svn-id: https://develop.svn.wordpress.org/trunk@31811 602fd350-edb4-49c9-b593-d223f7449a82
2015-03-18 03:17:59 +00:00
Scott Taylor
1d3b42d226 Fix some erroneous @param annotations.
See #30799.


git-svn-id: https://develop.svn.wordpress.org/trunk@31219 602fd350-edb4-49c9-b593-d223f7449a82
2015-01-16 22:43:13 +00:00
Scott Taylor
5743898e1e @param cleanup:
* `get_metadata()` will return literally anything, needs to be `mixed`
* `wp()` and `WP_Query::__construct()` no longer just take a query string
* Clarify a few others

See #30799.


git-svn-id: https://develop.svn.wordpress.org/trunk@31212 602fd350-edb4-49c9-b593-d223f7449a82
2015-01-16 19:02:26 +00:00
Scott Taylor
6fd11624d1 The keyword elseif should be used instead of else if so that all control keywords look like single words.
This was a mess, is now standardized across the codebase, except for a few 3rd-party libs. 

See #30799.


git-svn-id: https://develop.svn.wordpress.org/trunk@31090 602fd350-edb4-49c9-b593-d223f7449a82
2015-01-08 07:04:40 +00:00
Scott Taylor
469164785f Pinking Shears.
See #30799.


git-svn-id: https://develop.svn.wordpress.org/trunk@31077 602fd350-edb4-49c9-b593-d223f7449a82
2015-01-08 05:02:05 +00:00
Dion Hulse
28e22a4ec4 Background Updates: Pass back whether Group Writable support is being leveraged for an update to the WordPress.org API.
See #30245


git-svn-id: https://develop.svn.wordpress.org/trunk@30860 602fd350-edb4-49c9-b593-d223f7449a82
2014-12-15 14:07:35 +00:00
Drew Jaynes (DrewAPicture)
7187da0b32 Convert various uses of (optional) in core parameter descriptions to use the style prescribed in the inline documentation standards for PHP.
The style for marking parameters optional in inline PHP docs is: `@param type $var Optional. Description. Accepts. Default.`, where Accepts can be omitted on a case-by-case basis.

Props coffee2code.
Fixes #30591.


git-svn-id: https://develop.svn.wordpress.org/trunk@30753 602fd350-edb4-49c9-b593-d223f7449a82
2014-12-06 21:23:52 +00:00