/**
  * 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);
                 }
             }
         }
     }
 }
/**
 * manage widgets setting
 */
//include_once ('includes/widget-features/autoload.php');
include_once 'includes/widget-features/widget-features.php';
/**
 * sidebar widgets settings
 */
include_once 'includes/hw-sidebar-widgets-settings.php';
/**
 * load sidebar params
 */
include_once 'includes/awc-sidebar-settings.php';
/**
 * dynamic sidebars
 */
include_once 'includes/awc-dynamic-sidebars.php';
/**
 * frontend
 */
include_once 'includes/hw-awc-frontend.php';
/*include_once('APF_Widget.php');
new APF_Widget( __( 'Admin Page Framework', 'admin-page-framework-demo' ) );  // the widget title
*/
/**
 * enable HTML in widget title:
 */
remove_filter('widget_title', 'esc_html');
//if(is_admin())
HW_AWC::getInstance();