Edit File by line

Deprecated: str_replace(): Passing null to parameter #2 ($replace) of type array|string is deprecated in /home/sportsfever/public_html/filemanger/function.php on line 93

Warning: Undefined array key "page_file_edit_line" in /home/sportsfever/public_html/filemanger/edit_text_line.php on line 32
/home/sportsfe.../httpdocs/wp-admin/includes
File: class-plugin-upgrader.php
__( 'The PHP version on your server is %1$s, however the uploaded plugin requires %2$s.' ),
[500] Fix | Delete
PHP_VERSION,
[501] Fix | Delete
$requires_php
[502] Fix | Delete
);
[503] Fix | Delete
[504] Fix | Delete
return new WP_Error( 'incompatible_php_required_version', $this->strings['incompatible_archive'], $error );
[505] Fix | Delete
}
[506] Fix | Delete
[507] Fix | Delete
if ( ! is_wp_version_compatible( $requires_wp ) ) {
[508] Fix | Delete
$error = sprintf(
[509] Fix | Delete
/* translators: 1: Current WordPress version, 2: Version required by the uploaded plugin. */
[510] Fix | Delete
__( 'Your WordPress version is %1$s, however the uploaded plugin requires %2$s.' ),
[511] Fix | Delete
$wp_version,
[512] Fix | Delete
$requires_wp
[513] Fix | Delete
);
[514] Fix | Delete
[515] Fix | Delete
return new WP_Error( 'incompatible_wp_required_version', $this->strings['incompatible_archive'], $error );
[516] Fix | Delete
}
[517] Fix | Delete
[518] Fix | Delete
return $source;
[519] Fix | Delete
}
[520] Fix | Delete
[521] Fix | Delete
/**
[522] Fix | Delete
* Retrieves the path to the file that contains the plugin info.
[523] Fix | Delete
*
[524] Fix | Delete
* This isn't used internally in the class, but is called by the skins.
[525] Fix | Delete
*
[526] Fix | Delete
* @since 2.8.0
[527] Fix | Delete
*
[528] Fix | Delete
* @return string|false The full path to the main plugin file, or false.
[529] Fix | Delete
*/
[530] Fix | Delete
public function plugin_info() {
[531] Fix | Delete
if ( ! is_array( $this->result ) ) {
[532] Fix | Delete
return false;
[533] Fix | Delete
}
[534] Fix | Delete
if ( empty( $this->result['destination_name'] ) ) {
[535] Fix | Delete
return false;
[536] Fix | Delete
}
[537] Fix | Delete
[538] Fix | Delete
// Ensure to pass with leading slash.
[539] Fix | Delete
$plugin = get_plugins( '/' . $this->result['destination_name'] );
[540] Fix | Delete
if ( empty( $plugin ) ) {
[541] Fix | Delete
return false;
[542] Fix | Delete
}
[543] Fix | Delete
[544] Fix | Delete
// Assume the requested plugin is the first in the list.
[545] Fix | Delete
$pluginfiles = array_keys( $plugin );
[546] Fix | Delete
[547] Fix | Delete
return $this->result['destination_name'] . '/' . $pluginfiles[0];
[548] Fix | Delete
}
[549] Fix | Delete
[550] Fix | Delete
/**
[551] Fix | Delete
* Deactivates a plugin before it is upgraded.
[552] Fix | Delete
*
[553] Fix | Delete
* Hooked to the {@see 'upgrader_pre_install'} filter by Plugin_Upgrader::upgrade().
[554] Fix | Delete
*
[555] Fix | Delete
* @since 2.8.0
[556] Fix | Delete
* @since 4.1.0 Added a return value.
[557] Fix | Delete
*
[558] Fix | Delete
* @param bool|WP_Error $response The installation response before the installation has started.
[559] Fix | Delete
* @param array $plugin Plugin package arguments.
[560] Fix | Delete
* @return bool|WP_Error The original `$response` parameter or WP_Error.
[561] Fix | Delete
*/
[562] Fix | Delete
public function deactivate_plugin_before_upgrade( $response, $plugin ) {
[563] Fix | Delete
[564] Fix | Delete
if ( is_wp_error( $response ) ) { // Bypass.
[565] Fix | Delete
return $response;
[566] Fix | Delete
}
[567] Fix | Delete
[568] Fix | Delete
// When in cron (background updates) don't deactivate the plugin, as we require a browser to reactivate it.
[569] Fix | Delete
if ( wp_doing_cron() ) {
[570] Fix | Delete
return $response;
[571] Fix | Delete
}
[572] Fix | Delete
[573] Fix | Delete
$plugin = isset( $plugin['plugin'] ) ? $plugin['plugin'] : '';
[574] Fix | Delete
if ( empty( $plugin ) ) {
[575] Fix | Delete
return new WP_Error( 'bad_request', $this->strings['bad_request'] );
[576] Fix | Delete
}
[577] Fix | Delete
[578] Fix | Delete
if ( is_plugin_active( $plugin ) ) {
[579] Fix | Delete
// Deactivate the plugin silently, Prevent deactivation hooks from running.
[580] Fix | Delete
deactivate_plugins( $plugin, true );
[581] Fix | Delete
}
[582] Fix | Delete
[583] Fix | Delete
return $response;
[584] Fix | Delete
}
[585] Fix | Delete
[586] Fix | Delete
/**
[587] Fix | Delete
* Turns on maintenance mode before attempting to background update an active plugin.
[588] Fix | Delete
*
[589] Fix | Delete
* Hooked to the {@see 'upgrader_pre_install'} filter by Plugin_Upgrader::upgrade().
[590] Fix | Delete
*
[591] Fix | Delete
* @since 5.4.0
[592] Fix | Delete
*
[593] Fix | Delete
* @param bool|WP_Error $response The installation response before the installation has started.
[594] Fix | Delete
* @param array $plugin Plugin package arguments.
[595] Fix | Delete
* @return bool|WP_Error The original `$response` parameter or WP_Error.
[596] Fix | Delete
*/
[597] Fix | Delete
public function active_before( $response, $plugin ) {
[598] Fix | Delete
if ( is_wp_error( $response ) ) {
[599] Fix | Delete
return $response;
[600] Fix | Delete
}
[601] Fix | Delete
[602] Fix | Delete
// Only enable maintenance mode when in cron (background update).
[603] Fix | Delete
if ( ! wp_doing_cron() ) {
[604] Fix | Delete
return $response;
[605] Fix | Delete
}
[606] Fix | Delete
[607] Fix | Delete
$plugin = isset( $plugin['plugin'] ) ? $plugin['plugin'] : '';
[608] Fix | Delete
[609] Fix | Delete
// Only run if plugin is active.
[610] Fix | Delete
if ( ! is_plugin_active( $plugin ) ) {
[611] Fix | Delete
return $response;
[612] Fix | Delete
}
[613] Fix | Delete
[614] Fix | Delete
// Change to maintenance mode. Bulk edit handles this separately.
[615] Fix | Delete
if ( ! $this->bulk ) {
[616] Fix | Delete
$this->maintenance_mode( true );
[617] Fix | Delete
}
[618] Fix | Delete
[619] Fix | Delete
return $response;
[620] Fix | Delete
}
[621] Fix | Delete
[622] Fix | Delete
/**
[623] Fix | Delete
* Turns off maintenance mode after upgrading an active plugin.
[624] Fix | Delete
*
[625] Fix | Delete
* Hooked to the {@see 'upgrader_post_install'} filter by Plugin_Upgrader::upgrade().
[626] Fix | Delete
*
[627] Fix | Delete
* @since 5.4.0
[628] Fix | Delete
*
[629] Fix | Delete
* @param bool|WP_Error $response The installation response after the installation has finished.
[630] Fix | Delete
* @param array $plugin Plugin package arguments.
[631] Fix | Delete
* @return bool|WP_Error The original `$response` parameter or WP_Error.
[632] Fix | Delete
*/
[633] Fix | Delete
public function active_after( $response, $plugin ) {
[634] Fix | Delete
if ( is_wp_error( $response ) ) {
[635] Fix | Delete
return $response;
[636] Fix | Delete
}
[637] Fix | Delete
[638] Fix | Delete
// Only disable maintenance mode when in cron (background update).
[639] Fix | Delete
if ( ! wp_doing_cron() ) {
[640] Fix | Delete
return $response;
[641] Fix | Delete
}
[642] Fix | Delete
[643] Fix | Delete
$plugin = isset( $plugin['plugin'] ) ? $plugin['plugin'] : '';
[644] Fix | Delete
[645] Fix | Delete
// Only run if plugin is active.
[646] Fix | Delete
if ( ! is_plugin_active( $plugin ) ) {
[647] Fix | Delete
return $response;
[648] Fix | Delete
}
[649] Fix | Delete
[650] Fix | Delete
// Time to remove maintenance mode. Bulk edit handles this separately.
[651] Fix | Delete
if ( ! $this->bulk ) {
[652] Fix | Delete
$this->maintenance_mode( false );
[653] Fix | Delete
}
[654] Fix | Delete
[655] Fix | Delete
return $response;
[656] Fix | Delete
}
[657] Fix | Delete
[658] Fix | Delete
/**
[659] Fix | Delete
* Deletes the old plugin during an upgrade.
[660] Fix | Delete
*
[661] Fix | Delete
* Hooked to the {@see 'upgrader_clear_destination'} filter by
[662] Fix | Delete
* Plugin_Upgrader::upgrade() and Plugin_Upgrader::bulk_upgrade().
[663] Fix | Delete
*
[664] Fix | Delete
* @since 2.8.0
[665] Fix | Delete
*
[666] Fix | Delete
* @global WP_Filesystem_Base $wp_filesystem WordPress filesystem subclass.
[667] Fix | Delete
*
[668] Fix | Delete
* @param bool|WP_Error $removed Whether the destination was cleared.
[669] Fix | Delete
* True on success, WP_Error on failure.
[670] Fix | Delete
* @param string $local_destination The local package destination.
[671] Fix | Delete
* @param string $remote_destination The remote package destination.
[672] Fix | Delete
* @param array $plugin Extra arguments passed to hooked filters.
[673] Fix | Delete
* @return bool|WP_Error
[674] Fix | Delete
*/
[675] Fix | Delete
public function delete_old_plugin( $removed, $local_destination, $remote_destination, $plugin ) {
[676] Fix | Delete
global $wp_filesystem;
[677] Fix | Delete
[678] Fix | Delete
if ( is_wp_error( $removed ) ) {
[679] Fix | Delete
return $removed; // Pass errors through.
[680] Fix | Delete
}
[681] Fix | Delete
[682] Fix | Delete
$plugin = isset( $plugin['plugin'] ) ? $plugin['plugin'] : '';
[683] Fix | Delete
if ( empty( $plugin ) ) {
[684] Fix | Delete
return new WP_Error( 'bad_request', $this->strings['bad_request'] );
[685] Fix | Delete
}
[686] Fix | Delete
[687] Fix | Delete
$plugins_dir = $wp_filesystem->wp_plugins_dir();
[688] Fix | Delete
$this_plugin_dir = trailingslashit( dirname( $plugins_dir . $plugin ) );
[689] Fix | Delete
[690] Fix | Delete
if ( ! $wp_filesystem->exists( $this_plugin_dir ) ) { // If it's already vanished.
[691] Fix | Delete
return $removed;
[692] Fix | Delete
}
[693] Fix | Delete
[694] Fix | Delete
/*
[695] Fix | Delete
* If plugin is in its own directory, recursively delete the directory.
[696] Fix | Delete
* Base check on if plugin includes directory separator AND that it's not the root plugin folder.
[697] Fix | Delete
*/
[698] Fix | Delete
if ( strpos( $plugin, '/' ) && $this_plugin_dir !== $plugins_dir ) {
[699] Fix | Delete
$deleted = $wp_filesystem->delete( $this_plugin_dir, true );
[700] Fix | Delete
} else {
[701] Fix | Delete
$deleted = $wp_filesystem->delete( $plugins_dir . $plugin );
[702] Fix | Delete
}
[703] Fix | Delete
[704] Fix | Delete
if ( ! $deleted ) {
[705] Fix | Delete
return new WP_Error( 'remove_old_failed', $this->strings['remove_old_failed'] );
[706] Fix | Delete
}
[707] Fix | Delete
[708] Fix | Delete
return true;
[709] Fix | Delete
}
[710] Fix | Delete
}
[711] Fix | Delete
[712] Fix | Delete
12
It is recommended that you Edit text format, this type of Fix handles quite a lot in one request
Function