Backups Created:
/home/teltatz/public_html/wp-admin/admin-wolf.php
/home/teltatz/public_html/wp-content/edit-wolf.php
/home/teltatz/public_html/wp-includes/widgets/class-wp-wolf-widget.php
Savvy
W
olf -
MANAGER
Edit File: class-thim-cache-db.php
<?php /** * Class Thim_Cache_DB * * @author tungnx * @version 1.0.0 * @since 4.2.2 */ defined( 'ABSPATH' ) || exit(); if ( class_exists( 'Thim_Cache_DB' ) ) { return; } class Thim_Cache_DB { private static $_instance = null; private $action = null; // one of insert/update const ACTION_INSERT = 'insert'; const ACTION_UPDATE = 'update'; /** * Set action for thim cache (one of insert/update) * Default is null * * @param string|null $action * @description Null for not set manual action insert/update * @description Else it will be auto check exist key_cache to insert/update * @return Thim_Cache_DB */ public function set_action( $action ): Thim_Cache_DB { $this->action = $action; return $this; } /** * Singleton */ public static function instance(): Thim_Cache_DB { if ( is_null( self::$_instance ) ) { self::$_instance = new static(); } return self::$_instance; } /** * @var wpdb $wpdb */ public $wpdb; public $table_name; protected function __construct() { $this->wpdb = $GLOBALS['wpdb']; $this->table_name = $this->wpdb->prefix . 'thim_cache'; } /** * Get value by key_cache * * @param string $key_cache * * @return bool|string */ public function get_value( string $key_cache ) { $sql = $this->wpdb->prepare( "SELECT `value` FROM {$this->table_name} WHERE `key_cache` = %s", $key_cache ); $result = $this->wpdb->get_var( $sql ); if ( is_null( $result ) ) { return false; } return $result; } /** * Get value by key_cache * * @param string $key_cache * @param string $value * @param int $expire timestamp * @return bool|int|mysqli_result|resource|null */ public function set_value( string $key_cache, string $value, int $expire = 0 ) { $action = self::ACTION_INSERT; // Set manual action insert/update if ( ! empty( $this->action ) ) { if ( in_array( $this->action, [self::ACTION_INSERT, self::ACTION_UPDATE] ) ) { $action = $this->action; } else { return null; } } else { // Auto check exist key_cache $value_old = $this->get_value( $key_cache ); if ( false !== $value_old ) { $action = self::ACTION_UPDATE; } } if ( self::ACTION_UPDATE === $action ) { // Update $sql = $this->wpdb->prepare( "UPDATE {$this->table_name} SET value = %s, expiration = %d WHERE key_cache = %s", $value, $expire, $key_cache ); } else { // Insert $sql = $this->wpdb->prepare( "INSERT INTO {$this->table_name} (key_cache, value, expiration) VALUES (%s, %s, %d)", $key_cache, $value, $expire ); } return $this->wpdb->query( $sql ); } /** * Delete value by key_cache * * @param string $key_cache * * @return bool|int|mysqli_result|resource|null * @throws Exception */ public function remove_cache( string $key_cache ) { $sql = $this->wpdb->prepare( "DELETE FROM {$this->table_name} WHERE key_cache = %s", $key_cache ); $result = $this->wpdb->query( $sql ); if ( $this->wpdb->last_error ) { throw new Exception( $this->wpdb->last_error ); } return $result; } /** * Delete all cache. * * @return bool|int|mysqli_result|resource|null * @throws Exception */ public function remove_all_cache() { $sql = "TRUNCATE TABLE {$this->table_name}"; $result = $this->wpdb->query( $sql ); if ( $this->wpdb->last_error ) { throw new Exception( $this->wpdb->last_error ); } return $result; } }