403Webshell
Server IP : 127.0.1.1  /  Your IP : 127.0.0.1
Web Server : Apache/2.4.52 (Ubuntu)
System : Linux sealall 5.15.0-179-generic #189-Ubuntu SMP Tue May 5 18:20:56 UTC 2026 x86_64
User : devops ( 1000)
PHP Version : 8.3.31
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : ON  |  Pkexec : ON
Directory :  /var/www/domains/sealall.ca/wp-content/plugins/ewww-image-optimizer/classes/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /var/www/domains/sealall.ca/wp-content/plugins/ewww-image-optimizer/classes/trait-page-settings.php
<?php
/**
 * Implements methods for working with page settings/rules.
 *
 * @package EIO
 * @link https://ewww.io
 */

namespace EWWW;

if ( ! defined( 'ABSPATH' ) ) {
	exit;
}

/**
 * Common utility functions for child classes.
 */
trait Page_Settings {

	/**
	 * Get the page settings by URI from the ewwwio_pages table.
	 *
	 * @param string $post_identifier The URI of the page for which to retrieve settings.
	 * @return array Page settings or empty array if not found.
	 */
	protected function get_page_settings( $post_identifier ) {
		$this->debug_message( '<b>' . __METHOD__ . '()</b>' );
		global $wpdb;
		if ( ! empty( $post_identifier ) ) {
			$page_settings = $wpdb->get_row( $wpdb->prepare( "SELECT id,data FROM $wpdb->ewwwio_pages WHERE page = %s", $post_identifier ), \ARRAY_A );
			if ( ! empty( $page_settings ) && isset( $page_settings['data'] ) ) {
				$page_settings['data'] = \maybe_unserialize( $page_settings['data'] );
				return $page_settings;
			}
		}
		return array();
	}

	/**
	 * Update page settings in the ewwwio_pages table.
	 *
	 * @param array $page_settings The page settings to update, including 'id' and 'data'.
	 */
	protected function update_page_settings( $page_settings ) {
		$this->debug_message( '<b>' . __METHOD__ . '()</b>' );
		global $wpdb;
		if ( ! empty( $page_settings['id'] ) && isset( $page_settings['data'] ) ) {
			$this->debug_message( "updating page settings for page ID {$page_settings['id']}" );
			$wpdb->update(
				$wpdb->ewwwio_pages,
				array( 'data' => \maybe_serialize( $page_settings['data'] ) ),
				array( 'id' => (int) $page_settings['id'] ),
				array( '%s' ),
				array( '%d' )
			);
		} elseif ( ! empty( $page_settings['data'] ) && isset( $page_settings['page'] ) ) {
			$this->debug_message( "inserting new page settings for page {$page_settings['page']}" );
			$wpdb->insert(
				$wpdb->ewwwio_pages,
				array(
					'page' => $page_settings['page'],
					'data' => \maybe_serialize( $page_settings['data'] ),
				),
				array(
					'%s',
					'%s',
				)
			);
		} else {
			$this->debug_message( 'invalid page settings data:' );
			$this->debug_message( print_r( $page_settings, true ) );
		}
		if ( $wpdb->last_error ) {
			$this->debug_message( 'Error updating page settings: ' . $wpdb->last_error );
		}
	}

	/**
	 * Remove the page settings by URI from the ewwwio_pages table.
	 *
	 * @param string $post_identifier The URI of the page for which to remove settings.
	 */
	protected function remove_per_page_settings( $post_identifier ) {
		$this->debug_message( '<b>' . __METHOD__ . '()</b>' );
		global $wpdb;
		if ( ! empty( $post_identifier ) ) {
			$wpdb->delete(
				$wpdb->ewwwio_pages,
				array( 'page' => $post_identifier ),
				array( '%s' )
			);
		}
	}

	/**
	 * Remove all page settings from the ewwwio_pages and postmeta tables.
	 */
	protected function remove_all_page_settings() {
		$this->debug_message( '<b>' . __METHOD__ . '()</b>' );
		global $wpdb;
		$wpdb->query( "TRUNCATE $wpdb->ewwwio_pages" );
		$wpdb->delete(
			$wpdb->postmeta,
			array( 'meta_key' => 'eio_page_settings' ),
			array( '%s' )
		);
	}
}

Youez - 2016 - github.com/yon3zu
LinuXploit