HEX
Server: Apache
System: Linux c124.dattaweb.com 3.10.0-1160.119.1.el7.x86_64 #1 SMP Tue Jun 4 14:43:51 UTC 2024 x86_64
User: c1190199 (57165)
PHP: 7.4.33
Disabled: mail, system, shell, exec, system_exec, shell_exec, mysql_pconnect, passthru, popen, proc_open, proc_close, proc_nice, proc_terminate, proc_get_status, escapeshellarg, escapeshellcmd, eval, dl, imap_mail, libvirt_connect, gnupg_init, unsetenv, apache_setenv, pcntl_exec, 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_get_handler, pcntl_signal_dispatch, pcntl_get_last_error, pcntl_strerror, pcntl_sigprocmask, pcntl_sigwaitinfo, pcntl_sigtimedwait, pcntl_getpriority, pcntl_setpriority, pcntl_async_signals, opcache_get_status, opcache_reset, opcache_get_configuration
Upload Files
File: /home/c1190199/public_html/_alex/wp-content/themes/portada/class/Theme.ThemeOption.class.php
<?php

/******************************************************************************/
/******************************************************************************/

class Portada_ThemeOption
{
	/**************************************************************************/
	
	static function createOption($refresh=false)
	{
		$GlobalData=new Portada_ThemeGlobalData();
		return($GlobalData->setGlobalData(PORTADA_THEME_OPTION_GLOBAL_ARRAY_KEY,array('Portada_ThemeOption','createOptionObject'),$refresh));				
	}
	
	/**************************************************************************/
	
	static function createOptionObject()
	{	
		return((array)get_option(PORTADA_THEME_OPTION_PREFIX));
	}
	
	/**************************************************************************/
	
	static function refreshOption()
	{
		return(self::createOption(true));
	}
	
	/**************************************************************************/
	
	static function getOption($name)
	{
		global $portada_globalData;

		self::createOption();

		if(!array_key_exists($name,$portada_globalData[PORTADA_THEME_OPTION_GLOBAL_ARRAY_KEY])) return(null);
		return($portada_globalData[PORTADA_THEME_OPTION_GLOBAL_ARRAY_KEY][$name]);		
	}
	
	/**************************************************************************/
	
	static function getGlobalOption($post,$name,$postfix=null)
	{
		self::createOption();

		if(!is_null($postfix)) $postfix='_'.$postfix;
		
		$value=0;
		if(is_object($post)) 
		{
			$option=self::getPostMeta($post);
			
			if(array_key_exists($name,(array)$option)) $value=$option[$name];
			if($value==-1) $value=self::getOption($name.$postfix);
		}
		else $value=self::getOption($name.$postfix);
		
		return($value);
	}
	
	/**************************************************************************/
	
	static function getOptionObject()
	{
		global $portada_globalData;
		return($portada_globalData[PORTADA_THEME_OPTION_GLOBAL_ARRAY_KEY]);
	}
	
	/**************************************************************************/
	
	static function updateOption($option)
	{
		$nOption=array();
		foreach($option as $index=>$value) $nOption[$index]=$value;
		
		$oOption=self::refreshOption();

		update_option(PORTADA_THEME_OPTION_PREFIX,array_merge($oOption,$nOption));
		
		self::refreshOption();
	}
	
	/**************************************************************************/
	
	static function resetOption()
	{
		update_option(PORTADA_THEME_OPTION_PREFIX,array());
		self::refreshOption();		
	}
	
	/**************************************************************************/
	
	static function getPostMeta($post)
	{
		$id=is_object($post) ? $post->ID : (int)$post;
		
		$meta=get_post_meta($id,PORTADA_THEME_OPTION_PREFIX,false);
		
		if(isset($meta[0])) $meta=$meta[0];
		
		$postType=get_post_type($id);
		
		if(in_array($postType,array('portada_widget_area'))) return($meta);
		
		$Theme=new Portada_Theme();
		$Post=new Portada_ThemePost();
		$Page=new Portada_ThemePage();
		
		$Theme->setPostMetaDefault($meta,'all');

		switch($postType)
		{
			case 'post':
				$Post->setPostMetaDefault($meta);
			break;
			case 'page':
				$Page->setPostMetaDefault($meta);
			break;
		}
		
		return($meta);
	}
	
	/**************************************************************************/
	
	static function getOptionPostfix()
	{
		$WooCommerce=new Portada_ThemeWooCommerce();
		return($WooCommerce->isWooCommercePost() ? 'woocommerce' : null);
	}
	
	/**************************************************************************/
}

/******************************************************************************/
/******************************************************************************/