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-wp-upgrader.php
}
[1000] Fix | Delete
// Create maintenance file to signal that we are upgrading.
[1001] Fix | Delete
$maintenance_string = '<?php $upgrading = ' . time() . '; ?>';
[1002] Fix | Delete
$wp_filesystem->delete( $file );
[1003] Fix | Delete
$wp_filesystem->put_contents( $file, $maintenance_string, FS_CHMOD_FILE );
[1004] Fix | Delete
} elseif ( ! $enable && $wp_filesystem->exists( $file ) ) {
[1005] Fix | Delete
if ( ! wp_doing_cron() ) {
[1006] Fix | Delete
$this->skin->feedback( 'maintenance_end' );
[1007] Fix | Delete
}
[1008] Fix | Delete
$wp_filesystem->delete( $file );
[1009] Fix | Delete
}
[1010] Fix | Delete
}
[1011] Fix | Delete
[1012] Fix | Delete
/**
[1013] Fix | Delete
* Creates a lock using WordPress options.
[1014] Fix | Delete
*
[1015] Fix | Delete
* @since 4.5.0
[1016] Fix | Delete
*
[1017] Fix | Delete
* @global wpdb $wpdb The WordPress database abstraction object.
[1018] Fix | Delete
*
[1019] Fix | Delete
* @param string $lock_name The name of this unique lock.
[1020] Fix | Delete
* @param int $release_timeout Optional. The duration in seconds to respect an existing lock.
[1021] Fix | Delete
* Default: 1 hour.
[1022] Fix | Delete
* @return bool False if a lock couldn't be created or if the lock is still valid. True otherwise.
[1023] Fix | Delete
*/
[1024] Fix | Delete
public static function create_lock( $lock_name, $release_timeout = null ) {
[1025] Fix | Delete
global $wpdb;
[1026] Fix | Delete
if ( ! $release_timeout ) {
[1027] Fix | Delete
$release_timeout = HOUR_IN_SECONDS;
[1028] Fix | Delete
}
[1029] Fix | Delete
$lock_option = $lock_name . '.lock';
[1030] Fix | Delete
[1031] Fix | Delete
// Try to lock.
[1032] Fix | Delete
$lock_result = $wpdb->query( $wpdb->prepare( "INSERT IGNORE INTO `$wpdb->options` ( `option_name`, `option_value`, `autoload` ) VALUES (%s, %s, 'off') /* LOCK */", $lock_option, time() ) );
[1033] Fix | Delete
[1034] Fix | Delete
if ( ! $lock_result ) {
[1035] Fix | Delete
$lock_result = get_option( $lock_option );
[1036] Fix | Delete
[1037] Fix | Delete
// If a lock couldn't be created, and there isn't a lock, bail.
[1038] Fix | Delete
if ( ! $lock_result ) {
[1039] Fix | Delete
return false;
[1040] Fix | Delete
}
[1041] Fix | Delete
[1042] Fix | Delete
// Check to see if the lock is still valid. If it is, bail.
[1043] Fix | Delete
if ( $lock_result > ( time() - $release_timeout ) ) {
[1044] Fix | Delete
return false;
[1045] Fix | Delete
}
[1046] Fix | Delete
[1047] Fix | Delete
// There must exist an expired lock, clear it and re-gain it.
[1048] Fix | Delete
WP_Upgrader::release_lock( $lock_name );
[1049] Fix | Delete
[1050] Fix | Delete
return WP_Upgrader::create_lock( $lock_name, $release_timeout );
[1051] Fix | Delete
}
[1052] Fix | Delete
[1053] Fix | Delete
// Update the lock, as by this point we've definitely got a lock, just need to fire the actions.
[1054] Fix | Delete
update_option( $lock_option, time() );
[1055] Fix | Delete
[1056] Fix | Delete
return true;
[1057] Fix | Delete
}
[1058] Fix | Delete
[1059] Fix | Delete
/**
[1060] Fix | Delete
* Releases an upgrader lock.
[1061] Fix | Delete
*
[1062] Fix | Delete
* @since 4.5.0
[1063] Fix | Delete
*
[1064] Fix | Delete
* @see WP_Upgrader::create_lock()
[1065] Fix | Delete
*
[1066] Fix | Delete
* @param string $lock_name The name of this unique lock.
[1067] Fix | Delete
* @return bool True if the lock was successfully released. False on failure.
[1068] Fix | Delete
*/
[1069] Fix | Delete
public static function release_lock( $lock_name ) {
[1070] Fix | Delete
return delete_option( $lock_name . '.lock' );
[1071] Fix | Delete
}
[1072] Fix | Delete
[1073] Fix | Delete
/**
[1074] Fix | Delete
* Moves the plugin or theme being updated into a temporary backup directory.
[1075] Fix | Delete
*
[1076] Fix | Delete
* @since 6.3.0
[1077] Fix | Delete
*
[1078] Fix | Delete
* @global WP_Filesystem_Base $wp_filesystem WordPress filesystem subclass.
[1079] Fix | Delete
*
[1080] Fix | Delete
* @param string[] $args {
[1081] Fix | Delete
* Array of data for the temporary backup.
[1082] Fix | Delete
*
[1083] Fix | Delete
* @type string $slug Plugin or theme slug.
[1084] Fix | Delete
* @type string $src Path to the root directory for plugins or themes.
[1085] Fix | Delete
* @type string $dir Destination subdirectory name. Accepts 'plugins' or 'themes'.
[1086] Fix | Delete
* }
[1087] Fix | Delete
*
[1088] Fix | Delete
* @return bool|WP_Error True on success, false on early exit, otherwise WP_Error.
[1089] Fix | Delete
*/
[1090] Fix | Delete
public function move_to_temp_backup_dir( $args ) {
[1091] Fix | Delete
global $wp_filesystem;
[1092] Fix | Delete
[1093] Fix | Delete
if ( empty( $args['slug'] ) || empty( $args['src'] ) || empty( $args['dir'] ) ) {
[1094] Fix | Delete
return false;
[1095] Fix | Delete
}
[1096] Fix | Delete
[1097] Fix | Delete
/*
[1098] Fix | Delete
* Skip any plugin that has "." as its slug.
[1099] Fix | Delete
* A slug of "." will result in a `$src` value ending in a period.
[1100] Fix | Delete
*
[1101] Fix | Delete
* On Windows, this will cause the 'plugins' folder to be moved,
[1102] Fix | Delete
* and will cause a failure when attempting to call `mkdir()`.
[1103] Fix | Delete
*/
[1104] Fix | Delete
if ( '.' === $args['slug'] ) {
[1105] Fix | Delete
return false;
[1106] Fix | Delete
}
[1107] Fix | Delete
[1108] Fix | Delete
if ( ! $wp_filesystem->wp_content_dir() ) {
[1109] Fix | Delete
return new WP_Error( 'fs_no_content_dir', $this->strings['fs_no_content_dir'] );
[1110] Fix | Delete
}
[1111] Fix | Delete
[1112] Fix | Delete
$dest_dir = $wp_filesystem->wp_content_dir() . 'upgrade-temp-backup/';
[1113] Fix | Delete
$sub_dir = $dest_dir . $args['dir'] . '/';
[1114] Fix | Delete
[1115] Fix | Delete
// Create the temporary backup directory if it does not exist.
[1116] Fix | Delete
if ( ! $wp_filesystem->is_dir( $sub_dir ) ) {
[1117] Fix | Delete
if ( ! $wp_filesystem->is_dir( $dest_dir ) ) {
[1118] Fix | Delete
$wp_filesystem->mkdir( $dest_dir, FS_CHMOD_DIR );
[1119] Fix | Delete
}
[1120] Fix | Delete
[1121] Fix | Delete
if ( ! $wp_filesystem->mkdir( $sub_dir, FS_CHMOD_DIR ) ) {
[1122] Fix | Delete
// Could not create the backup directory.
[1123] Fix | Delete
return new WP_Error( 'fs_temp_backup_mkdir', $this->strings['temp_backup_mkdir_failed'] );
[1124] Fix | Delete
}
[1125] Fix | Delete
}
[1126] Fix | Delete
[1127] Fix | Delete
$src_dir = $wp_filesystem->find_folder( $args['src'] );
[1128] Fix | Delete
$src = trailingslashit( $src_dir ) . $args['slug'];
[1129] Fix | Delete
$dest = $dest_dir . trailingslashit( $args['dir'] ) . $args['slug'];
[1130] Fix | Delete
[1131] Fix | Delete
// Delete the temporary backup directory if it already exists.
[1132] Fix | Delete
if ( $wp_filesystem->is_dir( $dest ) ) {
[1133] Fix | Delete
$wp_filesystem->delete( $dest, true );
[1134] Fix | Delete
}
[1135] Fix | Delete
[1136] Fix | Delete
// Move to the temporary backup directory.
[1137] Fix | Delete
$result = move_dir( $src, $dest, true );
[1138] Fix | Delete
if ( is_wp_error( $result ) ) {
[1139] Fix | Delete
return new WP_Error( 'fs_temp_backup_move', $this->strings['temp_backup_move_failed'] );
[1140] Fix | Delete
}
[1141] Fix | Delete
[1142] Fix | Delete
return true;
[1143] Fix | Delete
}
[1144] Fix | Delete
[1145] Fix | Delete
/**
[1146] Fix | Delete
* Restores the plugin or theme from temporary backup.
[1147] Fix | Delete
*
[1148] Fix | Delete
* @since 6.3.0
[1149] Fix | Delete
* @since 6.6.0 Added the `$temp_backups` parameter.
[1150] Fix | Delete
*
[1151] Fix | Delete
* @global WP_Filesystem_Base $wp_filesystem WordPress filesystem subclass.
[1152] Fix | Delete
*
[1153] Fix | Delete
* @param array[] $temp_backups {
[1154] Fix | Delete
* Optional. An array of temporary backups.
[1155] Fix | Delete
*
[1156] Fix | Delete
* @type array ...$0 {
[1157] Fix | Delete
* Information about the backup.
[1158] Fix | Delete
*
[1159] Fix | Delete
* @type string $dir The temporary backup location in the upgrade-temp-backup directory.
[1160] Fix | Delete
* @type string $slug The item's slug.
[1161] Fix | Delete
* @type string $src The directory where the original is stored. For example, `WP_PLUGIN_DIR`.
[1162] Fix | Delete
* }
[1163] Fix | Delete
* }
[1164] Fix | Delete
* @return bool|WP_Error True on success, false on early exit, otherwise WP_Error.
[1165] Fix | Delete
*/
[1166] Fix | Delete
public function restore_temp_backup( array $temp_backups = array() ) {
[1167] Fix | Delete
global $wp_filesystem;
[1168] Fix | Delete
[1169] Fix | Delete
$errors = new WP_Error();
[1170] Fix | Delete
[1171] Fix | Delete
if ( empty( $temp_backups ) ) {
[1172] Fix | Delete
$temp_backups = $this->temp_restores;
[1173] Fix | Delete
}
[1174] Fix | Delete
[1175] Fix | Delete
foreach ( $temp_backups as $args ) {
[1176] Fix | Delete
if ( empty( $args['slug'] ) || empty( $args['src'] ) || empty( $args['dir'] ) ) {
[1177] Fix | Delete
return false;
[1178] Fix | Delete
}
[1179] Fix | Delete
[1180] Fix | Delete
if ( ! $wp_filesystem->wp_content_dir() ) {
[1181] Fix | Delete
$errors->add( 'fs_no_content_dir', $this->strings['fs_no_content_dir'] );
[1182] Fix | Delete
return $errors;
[1183] Fix | Delete
}
[1184] Fix | Delete
[1185] Fix | Delete
$src = $wp_filesystem->wp_content_dir() . 'upgrade-temp-backup/' . $args['dir'] . '/' . $args['slug'];
[1186] Fix | Delete
$dest_dir = $wp_filesystem->find_folder( $args['src'] );
[1187] Fix | Delete
$dest = trailingslashit( $dest_dir ) . $args['slug'];
[1188] Fix | Delete
[1189] Fix | Delete
if ( $wp_filesystem->is_dir( $src ) ) {
[1190] Fix | Delete
// Cleanup.
[1191] Fix | Delete
if ( $wp_filesystem->is_dir( $dest ) && ! $wp_filesystem->delete( $dest, true ) ) {
[1192] Fix | Delete
$errors->add(
[1193] Fix | Delete
'fs_temp_backup_delete',
[1194] Fix | Delete
sprintf( $this->strings['temp_backup_restore_failed'], $args['slug'] )
[1195] Fix | Delete
);
[1196] Fix | Delete
continue;
[1197] Fix | Delete
}
[1198] Fix | Delete
[1199] Fix | Delete
// Move it.
[1200] Fix | Delete
$result = move_dir( $src, $dest, true );
[1201] Fix | Delete
if ( is_wp_error( $result ) ) {
[1202] Fix | Delete
$errors->add(
[1203] Fix | Delete
'fs_temp_backup_delete',
[1204] Fix | Delete
sprintf( $this->strings['temp_backup_restore_failed'], $args['slug'] )
[1205] Fix | Delete
);
[1206] Fix | Delete
continue;
[1207] Fix | Delete
}
[1208] Fix | Delete
}
[1209] Fix | Delete
}
[1210] Fix | Delete
[1211] Fix | Delete
return $errors->has_errors() ? $errors : true;
[1212] Fix | Delete
}
[1213] Fix | Delete
[1214] Fix | Delete
/**
[1215] Fix | Delete
* Deletes a temporary backup.
[1216] Fix | Delete
*
[1217] Fix | Delete
* @since 6.3.0
[1218] Fix | Delete
* @since 6.6.0 Added the `$temp_backups` parameter.
[1219] Fix | Delete
*
[1220] Fix | Delete
* @global WP_Filesystem_Base $wp_filesystem WordPress filesystem subclass.
[1221] Fix | Delete
*
[1222] Fix | Delete
* @param array[] $temp_backups {
[1223] Fix | Delete
* Optional. An array of temporary backups.
[1224] Fix | Delete
*
[1225] Fix | Delete
* @type array ...$0 {
[1226] Fix | Delete
* Information about the backup.
[1227] Fix | Delete
*
[1228] Fix | Delete
* @type string $dir The temporary backup location in the upgrade-temp-backup directory.
[1229] Fix | Delete
* @type string $slug The item's slug.
[1230] Fix | Delete
* @type string $src The directory where the original is stored. For example, `WP_PLUGIN_DIR`.
[1231] Fix | Delete
* }
[1232] Fix | Delete
* }
[1233] Fix | Delete
* @return bool|WP_Error True on success, false on early exit, otherwise WP_Error.
[1234] Fix | Delete
*/
[1235] Fix | Delete
public function delete_temp_backup( array $temp_backups = array() ) {
[1236] Fix | Delete
global $wp_filesystem;
[1237] Fix | Delete
[1238] Fix | Delete
$errors = new WP_Error();
[1239] Fix | Delete
[1240] Fix | Delete
if ( empty( $temp_backups ) ) {
[1241] Fix | Delete
$temp_backups = $this->temp_backups;
[1242] Fix | Delete
}
[1243] Fix | Delete
[1244] Fix | Delete
foreach ( $temp_backups as $args ) {
[1245] Fix | Delete
if ( empty( $args['slug'] ) || empty( $args['dir'] ) ) {
[1246] Fix | Delete
return false;
[1247] Fix | Delete
}
[1248] Fix | Delete
[1249] Fix | Delete
if ( ! $wp_filesystem->wp_content_dir() ) {
[1250] Fix | Delete
$errors->add( 'fs_no_content_dir', $this->strings['fs_no_content_dir'] );
[1251] Fix | Delete
return $errors;
[1252] Fix | Delete
}
[1253] Fix | Delete
[1254] Fix | Delete
$temp_backup_dir = $wp_filesystem->wp_content_dir() . "upgrade-temp-backup/{$args['dir']}/{$args['slug']}";
[1255] Fix | Delete
[1256] Fix | Delete
if ( ! $wp_filesystem->delete( $temp_backup_dir, true ) ) {
[1257] Fix | Delete
$errors->add(
[1258] Fix | Delete
'temp_backup_delete_failed',
[1259] Fix | Delete
sprintf( $this->strings['temp_backup_delete_failed'], $args['slug'] )
[1260] Fix | Delete
);
[1261] Fix | Delete
continue;
[1262] Fix | Delete
}
[1263] Fix | Delete
}
[1264] Fix | Delete
[1265] Fix | Delete
return $errors->has_errors() ? $errors : true;
[1266] Fix | Delete
}
[1267] Fix | Delete
}
[1268] Fix | Delete
[1269] Fix | Delete
/** Plugin_Upgrader class */
[1270] Fix | Delete
require_once ABSPATH . 'wp-admin/includes/class-plugin-upgrader.php';
[1271] Fix | Delete
[1272] Fix | Delete
/** Theme_Upgrader class */
[1273] Fix | Delete
require_once ABSPATH . 'wp-admin/includes/class-theme-upgrader.php';
[1274] Fix | Delete
[1275] Fix | Delete
/** Language_Pack_Upgrader class */
[1276] Fix | Delete
require_once ABSPATH . 'wp-admin/includes/class-language-pack-upgrader.php';
[1277] Fix | Delete
[1278] Fix | Delete
/** Core_Upgrader class */
[1279] Fix | Delete
require_once ABSPATH . 'wp-admin/includes/class-core-upgrader.php';
[1280] Fix | Delete
[1281] Fix | Delete
/** File_Upload_Upgrader class */
[1282] Fix | Delete
require_once ABSPATH . 'wp-admin/includes/class-file-upload-upgrader.php';
[1283] Fix | Delete
[1284] Fix | Delete
/** WP_Automatic_Updater class */
[1285] Fix | Delete
require_once ABSPATH . 'wp-admin/includes/class-wp-automatic-updater.php';
[1286] Fix | Delete
[1287] Fix | Delete
It is recommended that you Edit text format, this type of Fix handles quite a lot in one request
Function