colorcontrol = "Color Control";
$this->shortcolorcontrol = "cc";
// customize
add_action( 'customize_preview_init', array($this,'magazine_customize_preview_js') );
//get parametrs from databese
$value_of_std[0]=get_theme_mod($this->shortcolorcontrol."_menu_elem_back_color",'#890000');
/*$value_of_std[1]=get_theme_mod($this->shortcolorcontrol."_content_back_color",'#FFFFFF');*/
$value_of_std[2]=get_theme_mod($this->shortcolorcontrol."_sideb_background_color",'#FAFAFA');
$value_of_std[3]=get_theme_mod($this->shortcolorcontrol."_footer_back_color",'#CFCFCF');
$value_of_std[4]=get_theme_mod($this->shortcolorcontrol."_home_top_posts_color",'#F5F5F5');
$value_of_std[5]=get_theme_mod($this->shortcolorcontrol."_top_posts_color",'#F5F5F5');
$value_of_std[6]=get_theme_mod($this->shortcolorcontrol."_text_headers_color",'#890000');
$value_of_std[7]=get_theme_mod($this->shortcolorcontrol."_primary_text_color",'#000000');
$value_of_std[8]=get_theme_mod($this->shortcolorcontrol."_footer_text_color",'#2C2C2C');
$value_of_std[9]=get_theme_mod($this->shortcolorcontrol."_primary_links_color",'#000000');
$value_of_std[10]=get_theme_mod($this->shortcolorcontrol."_primary_links_hover_color",'#000000');
$value_of_std[11]=get_theme_mod($this->shortcolorcontrol."_menu_links_color",'#FFFFFF');
$value_of_std[12]=get_theme_mod($this->shortcolorcontrol."_menu_links_hover_color",'#FFFFFF');
$value_of_std[13]=get_theme_mod($this->shortcolorcontrol."_menu_color",'#000000');
$value_of_std[14]=get_theme_mod($this->shortcolorcontrol."_selected_menu_color",'#000000');
$value_of_std[15]=get_theme_mod($this->shortcolorcontrol."_color_scheme",'#E0E0E0');
$value_of_std[16]=get_theme_mod($this->shortcolorcontrol."_cat_tab_backgr_color",'#000000');
$value_of_std[17]=get_theme_mod($this->shortcolorcontrol."_logo_text_color",'#890000');
$value_of_std[18]=get_theme_mod($this->shortcolorcontrol."_footer_sideb_background_color",'#e4e4e4');
$value_of_std[19]=get_theme_mod($this->shortcolorcontrol."_primary_text_headers_color",'#000000');
// all options information color control
$this->options_colorcontrol = array(
"menu_elem_back_color" => array(
"name" => "Menu Element Background Color",
"desc" => "",
"var_name" =>'menu_elem_back_color',
"id" => $this->shortcolorcontrol . "_menu_elem_back_color",
"type" => "picker",
"std" => $value_of_std[0]
),
/* "content_back_color" => array(
"name" => "Body Background Color",
"desc" => "",
"var_name" =>'content_back_color',
"id" => $this->shortcolorcontrol . "_content_back_color",
"type" => "picker",
"std" => $value_of_std[1]
),*/
"sideb_background_color" => array(
"name" => "Sidebar Background Color",
"desc" => "",
"var_name" =>'sideb_background_color',
"id" => $this->shortcolorcontrol . "_sideb_background_color",
"type" => "picker",
"std" => $value_of_std[2]
),
"footer_sideb_background_color" => array(
"name" => "Footer Sidebar Background Color",
"desc" => "",
"var_name" =>'footer_sideb_background_color',
"id" => $this->shortcolorcontrol . "_footer_sideb_background_color",
"type" => "picker",
"std" => $value_of_std[18]
),
"footer_back_color" => array(
"name" => "Footer Background Color",
"desc" => "",
"var_name" =>'footer_back_color',
"id" => $this->shortcolorcontrol . "_footer_back_color",
"type" => "picker",
"std" => $value_of_std[3]
),
"home_top_posts_color" => array(
"name" => "Category Tabs Background Color",
"desc" => "",
"var_name" =>'home_top_posts_color',
"id" => $this->shortcolorcontrol . "_home_top_posts_color",
"type" => "picker",
"std" => $value_of_std[4]
),
"cat_tab_backgr_color" => array(
"name" => "Selected Category Tab Background Color ",
"desc" => "",
"var_name" =>'cat_tab_backgr_color',
"id" => $this->shortcolorcontrol . "_cat_tab_backgr_color",
"type" => "picker",
"std" => $value_of_std[16]
),
"top_posts_color" => array(
"name" => "Top Posts Background Color",
"desc" => "",
"var_name" =>'top_posts_color',
"id" => $this->shortcolorcontrol . "_top_posts_color",
"type" => "picker",
"std" => $value_of_std[5]
),
"primary_text_headers_color" => array(
"name" => "Primary Header Text Color",
"desc" => "",
"var_name" =>'primary_text_headers_color',
"id" => $this->shortcolorcontrol . "_primary_text_headers_color",
"type" => "picker",
"std" => $value_of_std[19]
),
"text_headers_color" => array(
"name" => "Header Text Color",
"desc" => "",
"var_name" =>'text_headers_color',
"id" => $this->shortcolorcontrol . "_text_headers_color",
"type" => "picker",
"std" => $value_of_std[6]
),
"primary_text_color" => array(
"name" => "Primary Text Color",
"desc" => "",
"var_name" =>'primary_text_color',
"id" => $this->shortcolorcontrol . "_primary_text_color",
"type" => "picker",
"std" => $value_of_std[7]
),
"footer_text_color" => array(
"name" => "Footer Text Color",
"desc" => "",
"var_name" =>'footer_text_color',
"id" => $this->shortcolorcontrol . "_footer_text_color",
"type" => "picker",
"std" => $value_of_std[8]
),
"primary_links_color" => array(
"name" => "Primary Links",
"desc" => "",
"var_name" =>'primary_links_color',
"id" => $this->shortcolorcontrol . "_primary_links_color",
"type" => "picker",
"std" => $value_of_std[9]
),
"primary_links_hover_color" => array(
"name" => "Primary Links Hover",
"desc" => "",
"var_name" =>'primary_links_hover_color',
"id" => $this->shortcolorcontrol . "_primary_links_hover_color",
"type" => "picker",
"std" => $value_of_std[10]
),
"menu_links_color" => array(
"name" => "Menu Links",
"desc" => "",
"var_name" =>'menu_links_color',
"id" => $this->shortcolorcontrol . "_menu_links_color",
"type" => "picker",
"std" => $value_of_std[11]
),
"menu_links_hover_color" => array(
"name" => "Menu Links Hover",
"desc" => "",
"var_name" =>'menu_links_hover_color',
"id" => $this->shortcolorcontrol . "_menu_links_hover_color",
"type" => "picker",
"std" => $value_of_std[12]
),
"menu_color" => array(
"name" => "Hover Menu Item",
"desc" => "",
"var_name" =>'menu_color',
"id" => $this->shortcolorcontrol . "_menu_color",
"type" => "picker",
"std" => $value_of_std[13]
),
"selected_menu_color" => array(
"name" => "Selected Menu Item",
"desc" => "",
"var_name" =>'selected_menu_color',
"id" => $this->shortcolorcontrol . "_selected_menu_color",
"type" => "picker",
"std" => $value_of_std[14]
),
"color_scheme" => array(
"name" => " ",
"var_name" =>'color_scheme',
"id" => $this->shortcolorcontrol . "_color_scheme",
"std" => $value_of_std[15]
),
"logo_text_color" => array(
"name" => "Logo Text Color ",
"desc" => "",
"var_name" =>'logo_text_color',
"id" => $this->shortcolorcontrol . "_logo_text_color",
"type" => "picker",
"std" => $value_of_std[17]
),
);
/*$this->generete_customize_js();
exit;*/
}
/***********************************/
/* SAVE AND RESET PARAMETRS */
/***********************************/
public function web_dorado_theme_update_and_get_options_color_control(){
if ( isset($_GET['page']) && $_GET['page'] == "web_dorado_theme" && isset($_GET['controller']) && $_GET['controller'] == "color_control_page") {
if (isset($_REQUEST['action']) && $_REQUEST['action'] == 'save' ) {
foreach ($this->options_colorcontrol as $value) {
if (isset($value['var_name']) && isset($_REQUEST[$value['var_name']])) {
set_theme_mod($value['id'], $_REQUEST[$value['var_name']]);
}
}
header("Location: themes.php?page=web_dorado_theme&controller=color_control_page&saved=true");
die;
} else if (isset($_REQUEST['action']) && $_REQUEST['action'] == 'reset' ) {
foreach ($this->options_colorcontrol as $value) {
if (isset($value['var_name']))
remove_theme_mod($value['id']);
}
header("Location: themes.php?page=web_dorado_theme&controller=color_control_page&reset=true");
die;
}
}
}
/***********************************/
/* COLOR CONTROL SCRIPTS AND STYLES*/
/***********************************/
public function web_dorado_color_control_page_admin_scripts(){
wp_enqueue_script('wp-color-picker');
wp_enqueue_style( 'wp-color-picker' );
wp_enqueue_style('color_control_main_style',get_template_directory_uri('template_directory').'/admin/css/color_control.css');
}
/***********************************/
/* BACK END ADMIN HTML */
/***********************************/
public function dorado_theme_admin_color_control(){
if (isset($_REQUEST['saved']) && $_REQUEST['saved'] )
echo '
' . $this->colorcontrol . ' settings saved.
';
if (isset($_REQUEST['reset']) && $_REQUEST['reset'] )
echo '' . $this->colorcontrol . ' settings reset.
';
global $best_magazine_admin_helepr_functions;
$pickers=$this->get_option_type('picker');
$count_picker=count( $pickers );
$array_of_colors=array(
array(
"menu_elem_back_color" => "#890000",
"sideb_background_color" => "#FAFAFA",
"footer_sideb_background_color" => "#e4e4e4",
"footer_back_color" => "#CFCFCF",
"home_top_posts_color" => "#F5F5F5",
"top_posts_color" => "#F5F5F5",
"text_headers_color" => "#890000",
"primary_text_headers_color" => "#000000",
"primary_text_color" => "#000000",
"footer_text_color" => "#2C2C2C",
"primary_links_color" => "#000000",
"primary_links_hover_color" => "#000000",
"menu_links_color" => "#FFFFFF",
"menu_links_hover_color" => "#FFFFFF",
"menu_color" => "#000000",
"cat_tab_backgr_color" => "#000000",
"selected_menu_color" => "#000000",
"logo_text_color" => "#890000",
),
array(
"menu_elem_back_color" => "#006088",
"sideb_background_color" => "#FAFAFA",
"footer_sideb_background_color" => "#333333",
"footer_back_color" => "#414141",
"home_top_posts_color" => "#F5F5F5",
"top_posts_color" => "#E5E5E5",
"text_headers_color" => "#006088",
"primary_text_headers_color" => "#000000",
"primary_text_color" => "#1f1f1f",
"footer_text_color" => "#999999",
"primary_links_color" => "#000000",
"primary_links_hover_color" => "#000000",
"menu_links_color" => "#FFFFFF",
"menu_links_hover_color" => "#FFFFFF",
"menu_color" => "#003E58",
"cat_tab_backgr_color" => "#000000",
"selected_menu_color" => "#003E58",
"logo_text_color" => "#006088",
),
array(
"menu_elem_back_color" => "#000000",
"sideb_background_color" => "#FAFAFA",
"footer_sideb_background_color" => "#E4E4E4",
"footer_back_color" => "#D0D0D0",
"home_top_posts_color" => "#F5F5F5",
"top_posts_color" => "#FFFFFF",
"text_headers_color" => "#003E58",
"primary_text_headers_color" => "#000000",
"primary_text_color" => "#1f1f1f",
"footer_text_color" => "#A0A0A0",
"primary_links_color" => "#000000",
"primary_links_hover_color" => "#000000",
"menu_links_color" => "#ffffff",
"menu_links_hover_color" => "#ffffff",
"menu_color" => "#003E58",
"cat_tab_backgr_color" => "#003E58",
"selected_menu_color" => "#003E58",
"logo_text_color" => "#003E58",
),
array(
"menu_elem_back_color" => "#004716",
"sideb_background_color" => "#FAFAFA",
"footer_sideb_background_color" => "#E4E4E4",
"footer_back_color" => "#CFCFCF",
"home_top_posts_color" => "#F5F5F5",
"top_posts_color" => "#FEFEFE",
"text_headers_color" => "#004716",
"primary_text_headers_color" => "#000000",
"primary_text_color" => "#1f1f1f",
"footer_text_color" => "#A0A0A0",
"primary_links_color" => "#000000",
"primary_links_hover_color" => "#000000",
"menu_links_color" => "#ffffff",
"menu_links_hover_color" => "#ffffff",
"menu_color" => "#000000",
"cat_tab_backgr_color" => "#004716",
"selected_menu_color" => "#000000",
"logo_text_color" => "#004716",
),
array(
"menu_elem_back_color" => "#B26D01",
"sideb_background_color" => "#FAFAFA",
"footer_sideb_background_color" => "#787878",
"footer_back_color" => "#787878",
"home_top_posts_color" => "#F2F2F2",
"top_posts_color" => "#F5F5F5",
"text_headers_color" => "#B26D01",
"primary_text_headers_color" => "#000000",
"primary_text_color" => "#1f1f1f",
"footer_text_color" => "#646464",
"primary_links_color" => "#000000",
"primary_links_hover_color" => "#000000",
"menu_links_color" => "#ffffff",
"menu_links_hover_color" => "#ffffff",
"menu_color" => "#000000",
"cat_tab_backgr_color" => "#000000",
"selected_menu_color" => "#000000",
"logo_text_color" => "#B26D01",
)
);
$this->default_themes_jquery($array_of_colors)
?>
The color customization parameters are disabled in free version. Please buy the commercial version in order to enable this functionality.
array(
";
foreach($this->options_colorcontrol as $key=>$special_color){
if($special_color['type']=='picker'){
echo " \"".$special_color['var_name']."\" => \"".$special_color['std']."\",
";
}
}
echo "),
array(
";
foreach($this->options_colorcontrol as $key=>$special_color){
if($special_color['type']=='picker'){
echo " \"".$special_color['var_name']."\" => \"".$special_color['std']."\",
";
}
}
echo ")); esi copy past ara array_of_colors tex@ kashxati";
die();
}
// print qjeru and initial colors standart themes
else
{
echo '";
}
}
/***********************************/
/*HTML FOR DEFAUL COLORED SCHEME */
/***********************************/
private function default_theme_select($array_of_colors=NULL){
$count_of_selects=count($array_of_colors);
echo '';
}
/***********************************/
/* REQUERD FUNCTION FOR COLORS */
/***********************************/
private function get_option_type($type=''){
$cur_type_elements=array();
$k=0;
foreach( $this->options_colorcontrol as $option ){
if(isset($type) && isset($option['type']) && $option['type'] == $type ){
$cur_type_elements[$k]=$option;
$k++;
}
}
return $cur_type_elements;
}
/***********************************/
/* REQUERD FUNCTION FOR COLORS */
/***********************************/
private function negativeColor($color)
{
//get red, green and blue
$r = substr($color, 0, 2);
$g = substr($color, 2, 2);
$b = substr($color, 4, 2);
//revert them, they are decimal now
$r = 0xff-hexdec($r);
$g = 0xff-hexdec($g);
$b = 0xff-hexdec($b);
//now convert them to hex and return.
return dechex($r).dechex($g).dechex($b);
}
/***********************************/
/* REQUERD FUNCTION FOR COLORS */
/***********************************/
private function ligthest_brigths($color,$pracent=15){
$new_color=$color;
if(!(strlen($new_color==6) || strlen($new_color)==7))
{
return $color;
}
$color_vandakanishov=strpos($new_color,'#');
if($color_vandakanishov == false) {
$new_color= str_replace('#','',$new_color);
}
$color_part_1=substr($new_color, 0, 2);
$color_part_2=substr($new_color, 2, 2);
$color_part_3=substr($new_color, 4, 2);
$color_part_1=dechex( (int) (hexdec( $color_part_1 ) + (( 255-( hexdec( $color_part_1 ) ) ) * $pracent / 100 )));
$color_part_2=dechex( (int) (hexdec( $color_part_2) + (( 255-( hexdec( $color_part_2 ) ) ) * $pracent / 100 )));
$color_part_3=dechex( (int) (hexdec( $color_part_3 ) + (( 255-( hexdec( $color_part_3 ) ) ) * $pracent / 100 )));
$new_color=$color_part_1.$color_part_2.$color_part_3;
if($color_vandakanishov == false){
return $new_color;
}
else{
return '#'.$new_color;
}
}
/***********************************/
/* REQUERD FUNCTION FOR COLORS */
/***********************************/
private function hex_to_rgba($color, $opacity = false) {
$default = 'rgb(0,0,0)';
//Return default if no color provided
if(empty($color))
return $default;
//Sanitize color if "#" is provided
if ($color[0] == '#' ) {
$color = substr( $color, 1 );
}
//Check if color has 6 or 3 characters and get values
if (strlen($color) == 6) {
$hex = array( $color[0] . $color[1], $color[2] . $color[3], $color[4] . $color[5] );
} elseif ( strlen( $color ) == 3 ) {
$hex = array( $color[0] . $color[0], $color[1] . $color[1], $color[2] . $color[2] );
} else {
return $default;
}
//Convert hexadec to rgb
$rgb = array_map('hexdec', $hex);
//Check if opacity is set(rgba or rgb)
if($opacity){
if(abs($opacity) > 1)
$opacity = 1.0;
$output = 'rgba('.implode(",",$rgb).','.$opacity.')';
} else {
$output = 'rgb('.implode(",",$rgb).')';
}
//Return rgb(a) color string
return $output;
}
/***********************************/
/* FRONT END COLOR CANROL */
/***********************************/
public function update_color_control(){
global $best_magazine_color_control_page;
foreach ($best_magazine_color_control_page->options_colorcontrol as $value) {
$$value['var_name'] = $value['std'];
}
?>
template;
$content=wp_remote_retrieve_body(wp_remote_get(get_template_directory_uri().'/admin/customize.css.html')); // get css in file
$content=preg_replace('/^\s+|\n|\r|\s+$/m', '', $content); // remove break lines in css
$content =str_replace(array(''),'',$content); // remove style tag
$all_content = explode('}', $content); /// explode for geting selector and params in selector
$all_content = array_slice($all_content,0, count($all_content)-1); // remove last null element
$all_params = array();// end results array
foreach($all_content as $all)
{
$ccc = array();
$fff = array();
$qqq=explode('{',$all);
$bbb[$qqq[0]]=$qqq[1];
foreach($bbb as $key=>$b)
{
$lll = array();
$b=str_replace(array(' ','','?>','echo',),'', $b);
$ewew = explode(';',$b);
$ewew = array_slice($ewew,0, count($ewew)-1);
foreach($ewew as $ew)
{
$nnn = explode(':',$ew);
$lll[$nnn[0]] = $nnn[1];
}
$ccc['selector'] = explode(',',$key);
$lll=str_replace(' ','', $lll);
$lll=str_replace(array('','?>','echo'),'', $lll);
$ccc['dinamicle_vaiable'] = $lll;
}
array_push($all_params, $ccc);
}
$count_of_all_params=count($all_params);
$option_color_control=array();
foreach($this->options_colorcontrol as $keycolor=>$colorvalue){
for($i=0;$i<$count_of_all_params;$i++){
$keyy_of_special_value=0;
//var_dump($all_params[$i]['dinamicle_vaiable']);
foreach($all_params[$i]['dinamicle_vaiable'] as $csskey => $cssvalue){
$keyy_of_special_value++;
if(!(strpos($cssvalue,'$'.$keycolor) === false)){
// simple color
if(!preg_match('[\w\(]',$cssvalue,$matches)){
if(!isset($option_color_control[$keycolor][$csskey]))
$option_color_control[$keycolor][$csskey]=array();
foreach($all_params[$i]['selector'] as $selectorkey => $selectorvalue){
if(!in_array($selectorvalue,$option_color_control[$keycolor][$csskey]))
array_push($option_color_control[$keycolor][$csskey],$selectorvalue);
}
}
//colors with functions this dont translated
else{
if(!isset($option_color_control[$keycolor]['spec'.$keyy_of_special_value.$csskey.'key_endd'.$cssvalue]))
$option_color_control[$keycolor]['spec'.$keyy_of_special_value.$csskey.'key_endd'.$cssvalue]=array();
foreach($all_params[$i]['selector'] as $selectorkey => $selectorvalue){
if(!in_array($selectorvalue,$option_color_control[$keycolor]['spec'.$keyy_of_special_value.$csskey.'key_endd'.$cssvalue]))
array_push($option_color_control[$keycolor]['spec'.$keyy_of_special_value.$csskey.'key_endd'.$cssvalue],$selectorvalue);
}
}
}
}
}
}
foreach($option_color_control as $keycolor => $colorparametrs){
?>
wp.customize( 'theme_mods_[options_colorcontrol[$keycolor]['id'] ?>]', function( value ) {
value.bind( function( to ) {
style = jQuery('#custom--css');
style.remove();
style = jQuery('\
').appendTo( 'head' );
} );
if(!(jQuery('#custom--css').length > 0)){
jQuery('\
').appendTo( 'head' );
}
}
);