403Webshell
Server IP : 172.67.201.108  /  Your IP : 216.73.216.25
Web Server : Apache/2.4.68 (Amazon Linux) OpenSSL/3.5.5
System : Linux ip-172-31-69-123.ec2.internal 6.1.176-223.369.amzn2023.x86_64 #1 SMP PREEMPT_DYNAMIC Fri Jul 24 13:34:27 UTC 2026 x86_64
User : ec2-user ( 1000)
PHP Version : 8.4.23
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : ON  |  Pkexec : ON
Directory :  /home/lifamfest/wp-content/plugins/simple-history/templates/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /home/lifamfest/wp-content/plugins/simple-history/templates/template-settings-tab-debug.php
<?php
/**
 * Undocumented class
 *
 * @package SimpleHistory
 **/

defined( 'ABSPATH' ) || die();

global $wpdb;

$table_name = $wpdb->prefix . SimpleHistory::DBTABLE;
$table_name_contexts = $wpdb->prefix . SimpleHistory::DBTABLE_CONTEXTS;

$period_days = (int) 14;
$period_start_date = DateTime::createFromFormat( 'U', strtotime( "-$period_days days" ) );
$period_end_date = DateTime::createFromFormat( 'U', time() );

/**
 * Size of database in both number or rows and table size
 */

echo '<h3>Database size</h3>';

// Get table sizes in mb.
$sql_table_size = sprintf( '
	SELECT table_name AS "table_name",
	round(((data_length + index_length) / 1024 / 1024), 2) "size_in_mb"
	FROM information_schema.TABLES
	WHERE table_schema = "%1$s"
	AND table_name IN ("%2$s", "%3$s");
	',
	DB_NAME, // 1
	$table_name, // 2
	$table_name_contexts
);

$table_size_result = $wpdb->get_results( $sql_table_size );

// Get num of rows for each table
$total_num_rows_table = (int) $wpdb->get_var( "select count(*) FROM {$table_name}" );
$total_num_rows_table_contexts = (int) $wpdb->get_var( "select count(*) FROM {$table_name_contexts}" );

$table_size_result[0]->num_rows = $total_num_rows_table;
$table_size_result[1]->num_rows = $total_num_rows_table_contexts;

echo "<table class='widefat'>";
printf(
	'<thead>
		<tr>
			<th>%1$s</th>
			<th>%2$s</th>
			<th>%3$s</th>
		</tr>
	</thead>
	',
	_x("Table name", "debug dropin", "simple-history"),
	_x("Size", "debug dropin", "simple-history"),
	_x("Rows", "debug dropin", "simple-history")
);

$loopnum = 0;
foreach ( $table_size_result as $one_table ) {

	$size = sprintf(
		_x('%s MB', "debug dropin", "simple-history"),
		$one_table->size_in_mb
	);

	$rows = sprintf(
		_x('%s rows', "debug dropin", "simple-history"),
		number_format_i18n( $one_table->num_rows, 0 )
	);

	printf( '<tr class="%4$s">
			<td>%1$s</td>
			<td>%2$s</td>
			<td>%3$s</td>
		</tr>',
		$one_table->table_name,
		$size,
		$rows,
		$loopnum % 2 ? " alt " : ""
	);

	$loopnum++;
}

echo "</table>";

$logQuery = new SimpleHistoryLogQuery();
$rows = $logQuery->query( array(
	"posts_per_page" => 1,
) );

// This is the number of rows with occasions taken into consideration
$total_accassions_rows_count = $rows["total_row_count"];

echo "<p>";
printf(
	_x('Total %s rows, when grouped by occasion id.', "debug dropin", "simple-history" ),
	$total_accassions_rows_count
);
echo "</p>";


// echo "<h4>Clear history interval</h4>";
// echo "<p>" . $this->sh->get_clear_history_interval() . "</p>";


/**
 * Output a list of all active loggers, including name, slug, comment, message, capability and number of rows
 * Retrieve them in order by the number of rows they have in the db
 * Loggers with 0 rows in the db will not be included in the array, so we need to find those
 * and add them manually last
 */

$arr_logger_slugs = array();

foreach ( $this->sh->getInstantiatedLoggers() as $oneLogger ) {
    $arr_logger_slugs[] = $oneLogger["instance"]->slug;
}

$sql_logger_counts = sprintf( '
    SELECT logger, count(id) as count
    FROM %1$s
    WHERE logger IN ("%2$s")
    GROUP BY logger
    ORDER BY count DESC
', $table_name, join( $arr_logger_slugs, '","' ) );

$logger_rows_count = $wpdb->get_results( $sql_logger_counts, OBJECT_K );

// Find loggers with no rows in db and append to array
$missing_logger_slugs = array_diff( $arr_logger_slugs, array_keys( $logger_rows_count ) );

foreach ( $missing_logger_slugs as $one_missing_logger_slug ) {

    $logger_rows_count[$one_missing_logger_slug] = (object) array(
        "logger" => $one_missing_logger_slug,
        "count" => 0
    );

}

echo "<h3>";
_ex("Loggers", "debug dropin", "simple-history");
echo "</h3>";

echo "<p>";
printf(
    _x('Listing %1$d loggers, ordered by rows count in database.', "debug dropin", "simple-history"),
    sizeof( $arr_logger_slugs ) // 1
 );
echo "</p>";

echo "<table class='widefat fixed' cellpadding=2>";
printf(
	'
	<thead>
		<tr>
			<th>%1$s</th>
			<th>%2$s</th>
			<th>%3$s</th>
			<th>%4$s</th>
			<th>%5$s</th>
			<th>%6$s</th>
		</tr>
	</thead>
	',
	_x("Logger name", "debug dropin", "simple-history"),
	_x("Slug", "debug dropin", "simple-history"),
	_x("Description", "debug dropin", "simple-history"),
	_x("Messages", "debug dropin", "simple-history"),
	_x("Capability", "debug dropin", "simple-history"),
	_x("Rows count", "debug dropin", "simple-history")
);

$loopnum = 0;

foreach ( $logger_rows_count as $one_logger_slug => $one_logger_val ) {

	$logger = $this->sh->getInstantiatedLoggerBySlug( $one_logger_slug );

	if ( ! $logger ) {
		continue;
	}

	if ( isset( $logger_rows_count[ $one_logger_slug ] ) ) {
		$one_logger_count = $logger_rows_count[ $one_logger_slug ];
	} else {
		// logger was not is sql result, so fake result
		$one_logger_count = new stdclass;
		$one_logger_count->count = 0;
	}

	$logger_info = $logger->getInfo();
	$logger_messages = isset( $logger_info["messages"] ) ? (array) $logger_info["messages"] : array();

	$html_logger_messages = "";

	foreach ( $logger_messages as $message_key => $message ) {
		$html_logger_messages .= sprintf( '<li>%1$s</li>', esc_html( $message ) );
	}

    if ( $html_logger_messages ) {

		$str_num_message_strings = sprintf(
			_x('%1$s message strings', "debug dropin", "simple-history"),
			sizeof( $logger_messages )
		);

		$html_logger_messages = sprintf( '
                <p>%1$s</p>
                <ul class="hide-if-js">
                    %2$s
                </ul>
            ',
			$str_num_message_strings, // 1
            $html_logger_messages // 2
        );

	} else {
        $html_logger_messages = "<p>No message strings</p>";
    }

	printf(
		'
		<tr class="%6$s">
			<td>
				<p><strong>%3$s</strong>
			</td>
            <td>
                <p><code>%2$s</code></p>
            </td>
			<td>
                <p>%4$s</p>
            </td>
			<td>
                %7$s
            </td>
			<td>
                <p>%5$s</p>
            </td>
			<td>
                <p>%1$s</p>
            </td>
		</tr>
		',
		number_format_i18n( $one_logger_count->count ),
		esc_html( $one_logger_slug ), // 2
		esc_html( $logger_info["name"] ),
		esc_html( $logger_info["description"] ), // 4
		esc_html( $logger->getCapability() ), // 5
		$loopnum % 2 ? " alt " : "", // 6
		$html_logger_messages // 7
	);

	$loopnum++;

}

echo "</table>";

// List installed plugins
echo '<h2>Plugins</h2>';
echo '<p>As returned from <code>get_plugins()</code></p>';

$plugins = get_plugins();

echo "<table class='widefat'>";
printf(
    '<thead>
        <tr>
            <th>%1$s</th>
            <th>%2$s</th>
            <th>%3$s</th>
        </tr>
    </thead>
    ',
    _x("Plugin name", "debug dropin", "simple-history"),
    _x("Plugin file path", "debug dropin", "simple-history"),
    _x("Active", "debug dropin", "simple-history")
);

foreach ($plugins as $pluginFilePath => $onePlugin) {
    $isPluginActive = is_plugin_active($pluginFilePath);
    printf(
        '
        <tr>
            <td><strong>%1$s</strong></td>
            <td>%2$s</td>
            <td>%3$s</td>
        </tr>
        ',
        esc_html($onePlugin["Name"]),
        esc_html($pluginFilePath),
        $isPluginActive ? "Yes" : "No" // 3
    );
}

echo "</table>";

Youez - 2016 - github.com/yon3zu
LinuXploit