| Server IP : 47.82.179.145 / Your IP : 216.73.217.129 Web Server : nginx/1.26.3 System : Linux iZt4n9czhka2zvqfajdlr2Z 6.8.0-63-generic #66-Ubuntu SMP PREEMPT_DYNAMIC Fri Jun 13 20:25:30 UTC 2025 x86_64 User : www ( 1001) PHP Version : 8.3.30 Disable Function : passthru,exec,system,putenv,chroot,chgrp,chown,shell_exec,popen,proc_open,pcntl_exec,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,imap_open,apache_setenv MySQL : OFF | cURL : ON | WGET : OFF | Perl : OFF | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : /www/wwwroot/scuipturepactory.com/wp-content/themes/colibri-wp/inc/src/Core/ |
Upload File : |
<?php
namespace ColibriWP\Theme\Core;
use ColibriWP\Theme\Theme;
use function get_theme_mod;
abstract class PartialComponent implements PartialComponentInterface {
public function mod( $name ) {
return ComponentBase::mabyDeserializeModValue( get_theme_mod( $name, $this->settingDefault( $name ) ) );
}
public function settingDefault( $name ) {
$options = (array) $this->getOptions();
$default = null;
if ( isset( $options['settings'] ) && isset( $options['settings'][ $name ] ) ) {
if ( array_key_exists( 'default', $options['settings'][ $name ] ) ) {
$default = $options['settings'][ $name ]['default'];
}
}
return $default;
}
private function addControlsFilter() {
$options = (array) static::getOptions();
if ( isset( $options['settings'] ) ) {
$options = array_keys( $options['settings'] );
} else {
$options = array();
}
foreach ( $options as $option ) {
Hooks::colibri_add_filter(
"control_{$option}_rendered",
function ( $value ) {
return true;
}
);
}
}
public function whenCustomizerPreview() {
}
public function render() {
$that = $this;
Theme::getInstance()->getCustomizer()->inPreview(
function () use ( $that ) {
$that->addControlsFilter();
$that->whenCustomizerPreview();
}
);
$this->renderContent();
}
protected function addFrontendJSData( $key, $value, $in_preview = false ) {
if ( $in_preview ) {
$self = $this;
Theme::getInstance()->getCustomizer()->inPreview( function () use ( $self, $key, $value ) {
$self->addJSData( $key, $value );
} );
} else {
$this->addJSData( $key, $value );
}
}
private function addJSData( $key, $value ) {
Hooks::add_filter(
'frontend_js_data',
function ( $current_data ) use ( $key, $value ) {
$current_data[ $key ] = $value;
return $current_data;
}
);
}
public abstract function getOptions();
public abstract function renderContent();
}