/** * valid sidebar name */ public function _hw_awc_init() { HW_AWC::getInstance(); //initial HW_AWC object global $wp_registered_sidebars; //auto fix invalid sidebar name foreach ($wp_registered_sidebars as $name => $param) { $new_sidebar = $name; //save sidebar id /** * valid sidebar */ $wp_registered_sidebars[$name]['name'] .= '(ID:' . $param['id'] . ')'; if (!HW_AWC_Sidebar_Settings::check_valid_sidebar_name($name)) { $wp_registered_sidebars[$name]['old_id'] = $wp_registered_sidebars[$name]['id']; //save old sidebar id $wp_registered_sidebars[$name]['description'] = "Thông báo: Bạn không thể sử dùng Sidebar này do bị lỗi ID quy định bởi hoangweb. Tên sidebar không chứa ký tự đặc biệt và hơn một -, được thay bằng ký tự _"; } if (HW_AWC_Sidebar_Settings::get_sidebar_setting('autofix_sidebar_name', $name) && !HW_AWC_Sidebar_Settings::check_valid_sidebar_name($name)) { $new_sidebar = HW_AWC_Sidebar_Settings::valid_sidebar_name($name); //register new sidebar directly instead of using function register_sidebar $wp_registered_sidebars[$new_sidebar] = $param; //new sidebar name $wp_registered_sidebars[$new_sidebar]['id'] = $new_sidebar; //assign new sidebar id $wp_registered_sidebars[$new_sidebar]['old_id'] = $param['id']; //or $name $wp_registered_sidebars[$new_sidebar]['name'] .= '(đã sửa)'; $wp_registered_sidebars[$new_sidebar]['description'] .= PHP_EOL . "\n'id sidebar này tạo bởi hàm register_sidebar không hợp lệ, do vậy sidebar này có tên ID mới là: ({$new_sidebar})'"; //unset($wp_registered_sidebars[$name]); //don't remove invalid sidebar because wp theme will still use it } /** * apply skin for all widgets in the sidebar */ if (HW_AWC_Sidebar_Settings::get_sidebar_setting('enable_override_sidebar', $name)) { //because still save settings for old sidebar name $skin_data = HW_AWC_Sidebar_Settings::get_sidebar_setting('skin_default', $name); if (isset($skin_data['hash_skin'])) { $hash_skin = $skin_data['hash_skin']; } if (isset($skin_data['hwskin_config'])) { $skin_config = $skin_data['hwskin_config']; } if (isset($skin_config) && $skin_config && isset($hash_skin) && class_exists('HW_SKIN')) { $skin = HW_SKIN::resume_skin($skin_config); //resume HW_SKIN with given config if ($skin) { $file = $skin->get_skin_file($hash_skin); } if (isset($file) && file_exists($file)) { $theme = array(); //valid $css_str = ''; //get colors from parent $color_title = HW_AWC_Sidebar_Settings::get_sidebar_setting('bgcolor_title', $name); $color_box = HW_AWC_Sidebar_Settings::get_sidebar_setting('bgcolor_box', $name); $img_title = HW_AWC_Sidebar_Settings::get_sidebar_setting('bgimg_title', $name); $img_box = HW_AWC_Sidebar_Settings::get_sidebar_setting('bgimg_box', $name); $hwawc = HW_AWC::getInstance(); include_once $file; $wp_registered_sidebars[$new_sidebar]['skin'] = $skin; //reference skin object //override sidebar param if (isset($theme['params']) && is_array($theme['params'])) { $wp_registered_sidebars[$new_sidebar] = array_merge($wp_registered_sidebars[$new_sidebar], $theme['params']); } //enqueue css & js -> depricated /*if(!isset($theme['styles'])) $theme['styles'] = array(); if(!isset($theme['scripts'])) $theme['scripts'] = array(); if(count($theme['styles']) || count($theme['scripts'])) { $skin->enqueue_files_from_skin($theme['styles'], $theme['scripts']); }*/ //add inline content to footer if (isset($theme['css_title_selector'])) { if ($color_title) { $css_str .= $theme['css_title_selector'] . '{background-color:' . $color_title . ' !important;}'; } if ($img_title) { $css_str .= $theme['css_title_selector'] . '{background-image:url(' . $img_title . ') !important;}'; } } if (isset($theme['css_content_selector'])) { if ($color_box) { $css_str .= $theme['css_content_selector'] . '{background-color:' . $color_box . ' !important;}'; } if ($img_box) { $css_str .= $theme['css_content_selector'] . '{background-image:url(' . $img_box . ') !important;}'; } } $hwawc->add_inlineCSS($css_str, $hash_skin); } } } } }
function _hw_awc_sidebar_setting_init() { $sidebar = HW_AWC_Sidebar_Settings::get_active_sidebar(); $sidebar = HW_AWC_Sidebar_Settings::get_sidebars($sidebar); if (isset($sidebar['name'])) { if (!HW_AWC_Sidebar_Settings::check_valid_sidebar_name($sidebar['id'])) { $sidebar_id = HW_AWC_Sidebar_Settings::valid_sidebar_name($sidebar['id']); } else { $sidebar_id = $sidebar['id']; } if ($sidebar_id == $sidebar['id']) { $sidebar_id = 'ID: ' . $sidebar_id; } else { $sidebar_id = 'ID: <span>(' . $sidebar['id'] . ')</span> -> Đổi thành: (' . $sidebar_id . ')'; } //$sidebar_name = '('.$sidebar['name'].'); $sidebar_name = ' - ' . $sidebar_id; } else { $sidebar_name = ''; } if (class_exists('APF_hw_skin_Selector_hwskin')) { new APF_hw_skin_Selector_hwskin('HW_AWC_Sidebar_Settings'); } new HW_AWC_Sidebar_Settings(null, __('Cài đặt cho sidebar ' . $sidebar_name, 'hwawc'), HW_Sidebar_Settings::SETTING_PAGE_SLUG, 'normal', 'default'); }