|
Server IP : 168.119.101.163 / Your IP : 216.73.217.54 Web Server : Apache/2 System : Linux web02.webzuiver.nl 4.18.0-553.126.2.lve.el8.x86_64 #1 SMP Thu May 28 14:12:30 UTC 2026 x86_64 User : equine ( 1027) PHP Version : 8.1.23 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : OFF | Perl : OFF | Python : OFF Directory (0755) : /home/equine/public_html/wp-content/plugins/elementor/modules/variables/classes/ |
| [ Home ] | [ C0mmand ] | [ Upload File ] |
|---|
<?php
namespace Elementor\Modules\Variables\Classes;
use Elementor\Modules\Variables\Services\Variables_Service;
if ( ! defined( 'ABSPATH' ) ) {
exit; // Exit if accessed directly.
}
class CSS_Renderer {
private Variables_Service $service;
public function __construct( Variables_Service $service ) {
$this->service = $service;
}
private function global_variables(): array {
return $this->service->get_variables_list();
}
public function raw_css(): string {
$list_of_variables = $this->global_variables();
if ( empty( $list_of_variables ) ) {
return '';
}
$css_entries = $this->css_entries_for( $list_of_variables );
if ( empty( $css_entries ) ) {
return '';
}
return $this->wrap_with_root( $css_entries );
}
private function css_entries_for( array $list_of_variables ): array {
$entries = [];
foreach ( $list_of_variables as $variable_id => $variable ) {
$entry = $this->build_css_variable_entry( $variable_id, $variable );
if ( empty( $entry ) ) {
continue;
}
$entries[] = $entry;
}
return $entries;
}
private function build_css_variable_entry( string $id, array $variable ): ?string {
$variable_name = sanitize_text_field( $id );
if ( ! array_key_exists( 'deleted_at', $variable ) ) {
$variable_name = sanitize_text_field( $variable['label'] ?? '' );
}
$value = sanitize_text_field( $variable['value'] ?? '' );
if ( empty( $value ) || empty( $variable_name ) ) {
return null;
}
$entry = "--{$variable_name}:{$value};";
$additional = apply_filters( 'elementor/variables/css_entry_additional', '', $variable, $id );
return $entry . $additional;
}
private function wrap_with_root( array $css_entries ): string {
return ':root { ' . implode( ' ', $css_entries ) . ' }';
}
}