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-debug-data.php
*/
[1500] Fix | Delete
public static function get_mysql_var( $mysql_var ) {
[1501] Fix | Delete
global $wpdb;
[1502] Fix | Delete
[1503] Fix | Delete
$result = $wpdb->get_row(
[1504] Fix | Delete
$wpdb->prepare( 'SHOW VARIABLES LIKE %s', $mysql_var ),
[1505] Fix | Delete
ARRAY_A
[1506] Fix | Delete
);
[1507] Fix | Delete
[1508] Fix | Delete
if ( ! empty( $result ) && array_key_exists( 'Value', $result ) ) {
[1509] Fix | Delete
return $result['Value'];
[1510] Fix | Delete
}
[1511] Fix | Delete
[1512] Fix | Delete
return null;
[1513] Fix | Delete
}
[1514] Fix | Delete
[1515] Fix | Delete
/**
[1516] Fix | Delete
* Formats the information gathered for debugging, in a manner suitable for copying to a forum or support ticket.
[1517] Fix | Delete
*
[1518] Fix | Delete
* @since 5.2.0
[1519] Fix | Delete
*
[1520] Fix | Delete
* @param array $info_array Information gathered from the `WP_Debug_Data::debug_data()` function.
[1521] Fix | Delete
* @param string $data_type The data type to return, either 'info' or 'debug'.
[1522] Fix | Delete
* @return string The formatted data.
[1523] Fix | Delete
*/
[1524] Fix | Delete
public static function format( $info_array, $data_type ) {
[1525] Fix | Delete
$return = "`\n";
[1526] Fix | Delete
[1527] Fix | Delete
foreach ( $info_array as $section => $details ) {
[1528] Fix | Delete
// Skip this section if there are no fields, or the section has been declared as private.
[1529] Fix | Delete
if ( empty( $details['fields'] ) || ( isset( $details['private'] ) && $details['private'] ) ) {
[1530] Fix | Delete
continue;
[1531] Fix | Delete
}
[1532] Fix | Delete
[1533] Fix | Delete
$section_label = 'debug' === $data_type ? $section : $details['label'];
[1534] Fix | Delete
[1535] Fix | Delete
$return .= sprintf(
[1536] Fix | Delete
"### %s%s ###\n\n",
[1537] Fix | Delete
$section_label,
[1538] Fix | Delete
( isset( $details['show_count'] ) && $details['show_count'] ? sprintf( ' (%d)', count( $details['fields'] ) ) : '' )
[1539] Fix | Delete
);
[1540] Fix | Delete
[1541] Fix | Delete
foreach ( $details['fields'] as $field_name => $field ) {
[1542] Fix | Delete
if ( isset( $field['private'] ) && true === $field['private'] ) {
[1543] Fix | Delete
continue;
[1544] Fix | Delete
}
[1545] Fix | Delete
[1546] Fix | Delete
if ( 'debug' === $data_type && isset( $field['debug'] ) ) {
[1547] Fix | Delete
$debug_data = $field['debug'];
[1548] Fix | Delete
} else {
[1549] Fix | Delete
$debug_data = $field['value'];
[1550] Fix | Delete
}
[1551] Fix | Delete
[1552] Fix | Delete
// Can be array, one level deep only.
[1553] Fix | Delete
if ( is_array( $debug_data ) ) {
[1554] Fix | Delete
$value = '';
[1555] Fix | Delete
[1556] Fix | Delete
foreach ( $debug_data as $sub_field_name => $sub_field_value ) {
[1557] Fix | Delete
$value .= sprintf( "\n\t%s: %s", $sub_field_name, $sub_field_value );
[1558] Fix | Delete
}
[1559] Fix | Delete
} elseif ( is_bool( $debug_data ) ) {
[1560] Fix | Delete
$value = $debug_data ? 'true' : 'false';
[1561] Fix | Delete
} elseif ( empty( $debug_data ) && '0' !== $debug_data ) {
[1562] Fix | Delete
$value = 'undefined';
[1563] Fix | Delete
} else {
[1564] Fix | Delete
$value = $debug_data;
[1565] Fix | Delete
}
[1566] Fix | Delete
[1567] Fix | Delete
if ( 'debug' === $data_type ) {
[1568] Fix | Delete
$label = $field_name;
[1569] Fix | Delete
} else {
[1570] Fix | Delete
$label = $field['label'];
[1571] Fix | Delete
}
[1572] Fix | Delete
[1573] Fix | Delete
$return .= sprintf( "%s: %s\n", $label, $value );
[1574] Fix | Delete
}
[1575] Fix | Delete
[1576] Fix | Delete
$return .= "\n";
[1577] Fix | Delete
}
[1578] Fix | Delete
[1579] Fix | Delete
$return .= '`';
[1580] Fix | Delete
[1581] Fix | Delete
return $return;
[1582] Fix | Delete
}
[1583] Fix | Delete
[1584] Fix | Delete
/**
[1585] Fix | Delete
* Fetches the total size of all the database tables for the active database user.
[1586] Fix | Delete
*
[1587] Fix | Delete
* @since 5.2.0
[1588] Fix | Delete
*
[1589] Fix | Delete
* @global wpdb $wpdb WordPress database abstraction object.
[1590] Fix | Delete
*
[1591] Fix | Delete
* @return int The size of the database, in bytes.
[1592] Fix | Delete
*/
[1593] Fix | Delete
public static function get_database_size() {
[1594] Fix | Delete
global $wpdb;
[1595] Fix | Delete
$size = 0;
[1596] Fix | Delete
$rows = $wpdb->get_results( 'SHOW TABLE STATUS', ARRAY_A );
[1597] Fix | Delete
[1598] Fix | Delete
if ( $wpdb->num_rows > 0 ) {
[1599] Fix | Delete
foreach ( $rows as $row ) {
[1600] Fix | Delete
$size += $row['Data_length'] + $row['Index_length'];
[1601] Fix | Delete
}
[1602] Fix | Delete
}
[1603] Fix | Delete
[1604] Fix | Delete
return (int) $size;
[1605] Fix | Delete
}
[1606] Fix | Delete
[1607] Fix | Delete
/**
[1608] Fix | Delete
* Fetches the sizes of the WordPress directories: `wordpress` (ABSPATH), `plugins`, `themes`, and `uploads`.
[1609] Fix | Delete
* Intended to supplement the array returned by `WP_Debug_Data::debug_data()`.
[1610] Fix | Delete
*
[1611] Fix | Delete
* @since 5.2.0
[1612] Fix | Delete
*
[1613] Fix | Delete
* @return array The sizes of the directories, also the database size and total installation size.
[1614] Fix | Delete
*/
[1615] Fix | Delete
public static function get_sizes() {
[1616] Fix | Delete
$size_db = self::get_database_size();
[1617] Fix | Delete
$upload_dir = wp_get_upload_dir();
[1618] Fix | Delete
[1619] Fix | Delete
/*
[1620] Fix | Delete
* We will be using the PHP max execution time to prevent the size calculations
[1621] Fix | Delete
* from causing a timeout. The default value is 30 seconds, and some
[1622] Fix | Delete
* hosts do not allow you to read configuration values.
[1623] Fix | Delete
*/
[1624] Fix | Delete
if ( function_exists( 'ini_get' ) ) {
[1625] Fix | Delete
$max_execution_time = ini_get( 'max_execution_time' );
[1626] Fix | Delete
}
[1627] Fix | Delete
[1628] Fix | Delete
/*
[1629] Fix | Delete
* The max_execution_time defaults to 0 when PHP runs from cli.
[1630] Fix | Delete
* We still want to limit it below.
[1631] Fix | Delete
*/
[1632] Fix | Delete
if ( empty( $max_execution_time ) ) {
[1633] Fix | Delete
$max_execution_time = 30; // 30 seconds.
[1634] Fix | Delete
}
[1635] Fix | Delete
[1636] Fix | Delete
if ( $max_execution_time > 20 ) {
[1637] Fix | Delete
/*
[1638] Fix | Delete
* If the max_execution_time is set to lower than 20 seconds, reduce it a bit to prevent
[1639] Fix | Delete
* edge-case timeouts that may happen after the size loop has finished running.
[1640] Fix | Delete
*/
[1641] Fix | Delete
$max_execution_time -= 2;
[1642] Fix | Delete
}
[1643] Fix | Delete
[1644] Fix | Delete
/*
[1645] Fix | Delete
* Go through the various installation directories and calculate their sizes.
[1646] Fix | Delete
* No trailing slashes.
[1647] Fix | Delete
*/
[1648] Fix | Delete
$paths = array(
[1649] Fix | Delete
'wordpress_size' => untrailingslashit( ABSPATH ),
[1650] Fix | Delete
'themes_size' => get_theme_root(),
[1651] Fix | Delete
'plugins_size' => WP_PLUGIN_DIR,
[1652] Fix | Delete
'uploads_size' => $upload_dir['basedir'],
[1653] Fix | Delete
'fonts_size' => wp_get_font_dir()['basedir'],
[1654] Fix | Delete
);
[1655] Fix | Delete
[1656] Fix | Delete
$exclude = $paths;
[1657] Fix | Delete
unset( $exclude['wordpress_size'] );
[1658] Fix | Delete
$exclude = array_values( $exclude );
[1659] Fix | Delete
[1660] Fix | Delete
$size_total = 0;
[1661] Fix | Delete
$all_sizes = array();
[1662] Fix | Delete
[1663] Fix | Delete
// Loop over all the directories we want to gather the sizes for.
[1664] Fix | Delete
foreach ( $paths as $name => $path ) {
[1665] Fix | Delete
$dir_size = null; // Default to timeout.
[1666] Fix | Delete
$results = array(
[1667] Fix | Delete
'path' => $path,
[1668] Fix | Delete
'raw' => 0,
[1669] Fix | Delete
);
[1670] Fix | Delete
[1671] Fix | Delete
// If the directory does not exist, skip checking it, as it will skew the other results.
[1672] Fix | Delete
if ( ! is_dir( $path ) ) {
[1673] Fix | Delete
$all_sizes[ $name ] = array(
[1674] Fix | Delete
'path' => $path,
[1675] Fix | Delete
'raw' => 0,
[1676] Fix | Delete
'size' => __( 'The directory does not exist.' ),
[1677] Fix | Delete
'debug' => 'directory not found',
[1678] Fix | Delete
);
[1679] Fix | Delete
[1680] Fix | Delete
continue;
[1681] Fix | Delete
}
[1682] Fix | Delete
[1683] Fix | Delete
if ( microtime( true ) - WP_START_TIMESTAMP < $max_execution_time ) {
[1684] Fix | Delete
if ( 'wordpress_size' === $name ) {
[1685] Fix | Delete
$dir_size = recurse_dirsize( $path, $exclude, $max_execution_time );
[1686] Fix | Delete
} else {
[1687] Fix | Delete
$dir_size = recurse_dirsize( $path, null, $max_execution_time );
[1688] Fix | Delete
}
[1689] Fix | Delete
}
[1690] Fix | Delete
[1691] Fix | Delete
if ( false === $dir_size ) {
[1692] Fix | Delete
// Error reading.
[1693] Fix | Delete
$results['size'] = __( 'The size cannot be calculated. The directory is not accessible. Usually caused by invalid permissions.' );
[1694] Fix | Delete
$results['debug'] = 'not accessible';
[1695] Fix | Delete
[1696] Fix | Delete
// Stop total size calculation.
[1697] Fix | Delete
$size_total = null;
[1698] Fix | Delete
} elseif ( null === $dir_size ) {
[1699] Fix | Delete
// Timeout.
[1700] Fix | Delete
$results['size'] = __( 'The directory size calculation has timed out. Usually caused by a very large number of sub-directories and files.' );
[1701] Fix | Delete
$results['debug'] = 'timeout while calculating size';
[1702] Fix | Delete
[1703] Fix | Delete
// Stop total size calculation.
[1704] Fix | Delete
$size_total = null;
[1705] Fix | Delete
} else {
[1706] Fix | Delete
if ( null !== $size_total ) {
[1707] Fix | Delete
$size_total += $dir_size;
[1708] Fix | Delete
}
[1709] Fix | Delete
[1710] Fix | Delete
$results['raw'] = $dir_size;
[1711] Fix | Delete
$results['size'] = size_format( $dir_size, 2 );
[1712] Fix | Delete
$results['debug'] = $results['size'] . " ({$dir_size} bytes)";
[1713] Fix | Delete
}
[1714] Fix | Delete
[1715] Fix | Delete
$all_sizes[ $name ] = $results;
[1716] Fix | Delete
}
[1717] Fix | Delete
[1718] Fix | Delete
if ( $size_db > 0 ) {
[1719] Fix | Delete
$database_size = size_format( $size_db, 2 );
[1720] Fix | Delete
[1721] Fix | Delete
$all_sizes['database_size'] = array(
[1722] Fix | Delete
'raw' => $size_db,
[1723] Fix | Delete
'size' => $database_size,
[1724] Fix | Delete
'debug' => $database_size . " ({$size_db} bytes)",
[1725] Fix | Delete
);
[1726] Fix | Delete
} else {
[1727] Fix | Delete
$all_sizes['database_size'] = array(
[1728] Fix | Delete
'size' => __( 'Not available' ),
[1729] Fix | Delete
'debug' => 'not available',
[1730] Fix | Delete
);
[1731] Fix | Delete
}
[1732] Fix | Delete
[1733] Fix | Delete
if ( null !== $size_total && $size_db > 0 ) {
[1734] Fix | Delete
$total_size = $size_total + $size_db;
[1735] Fix | Delete
$total_size_mb = size_format( $total_size, 2 );
[1736] Fix | Delete
[1737] Fix | Delete
$all_sizes['total_size'] = array(
[1738] Fix | Delete
'raw' => $total_size,
[1739] Fix | Delete
'size' => $total_size_mb,
[1740] Fix | Delete
'debug' => $total_size_mb . " ({$total_size} bytes)",
[1741] Fix | Delete
);
[1742] Fix | Delete
} else {
[1743] Fix | Delete
$all_sizes['total_size'] = array(
[1744] Fix | Delete
'size' => __( 'Total size is not available. Some errors were encountered when determining the size of your installation.' ),
[1745] Fix | Delete
'debug' => 'not available',
[1746] Fix | Delete
);
[1747] Fix | Delete
}
[1748] Fix | Delete
[1749] Fix | Delete
return $all_sizes;
[1750] Fix | Delete
}
[1751] Fix | Delete
}
[1752] Fix | Delete
[1753] Fix | Delete
It is recommended that you Edit text format, this type of Fix handles quite a lot in one request
Function