/**
  * Sets the option standards if nothing yet exists.
  *
  * @return    void
  *
  * @access    public
  * @since     2.0
  */
 public function initialize_settings()
 {
     $default_header_image = get_option('uncode_default_header_image');
     /* loop through options */
     foreach ((array) $this->options as $option) {
         /* skip if option is already set */
         if (isset($option['id']) && get_option($option['id'], false)) {
             return false;
         }
         $defaults = array();
         /* loop through pages */
         foreach ((array) $this->get_pages($option) as $page) {
             /* loop through page settings */
             foreach ((array) $this->get_the_settings($page) as $setting) {
                 if (isset($setting['std'])) {
                     if (isset($default_header_image)) {
                         $defaults[$setting['id']] = ot_validate_setting($setting['std'], $setting['type'], $setting['id']);
                         if ($setting['id'] === '_uncode_post_header_background' || $setting['id'] === '_uncode_page_header_background' || $setting['id'] === '_uncode_portfolio_header_background' || $setting['id'] === '_uncode_404_header_background' || $setting['id'] === '_uncode_search_index_header_background' || $setting['id'] === '_uncode_post_index_header_background' || $setting['id'] === '_uncode_portfolio_index_header_background') {
                             $defaults[$setting['id']]['background-image'] = $default_header_image;
                         }
                     } else {
                         $defaults[$setting['id']] = ot_validate_setting($setting['std'], $setting['type'], $setting['id']);
                     }
                 }
             }
         }
         update_option($option['id'], $defaults);
         uncode_create_dynamic_css();
     }
     return false;
 }
/**
 * Enqueue scripts and styles.
 */
function uncode_equeue()
{
    global $LOGO, $adaptive_images, $ai_bpoints, $general_style, $menutype;
    $LOGO = new stdClass();
    $LOGO->logo_id = ot_get_option('_uncode_logo');
    $LOGO->logo_min = ot_get_option('_uncode_min_logo');
    $LOGO->logo_height = ot_get_option('_uncode_logo_height');
    $general_style = ot_get_option('_uncode_general_style');
    if ($general_style === '') {
        $general_style = 'light';
    }
    $menutype = ot_get_option('_uncode_headers');
    global $wp_filesystem;
    if (empty($wp_filesystem)) {
        require_once ABSPATH . '/wp-admin/includes/file.php';
        WP_Filesystem();
    }
    $access_type = get_filesystem_method();
    /** CSS */
    wp_enqueue_style('uncode-style', get_template_directory_uri() . '/library/css/style.css', array(), UNCODE_VERSION, 'all');
    wp_enqueue_style('uncode-icons', get_template_directory_uri() . '/library/css/uncode-icons.css', array(), UNCODE_VERSION, 'all');
    if ($access_type === 'direct') {
        wp_enqueue_style('custom-style', get_template_directory_uri() . '/library/css/style-custom.css', array(), UNCODE_VERSION, 'all');
    } else {
        $styles = uncode_create_dynamic_css();
        wp_add_inline_style('uncode-style', uncode_compress_css_inline($styles['custom']));
    }
    /** JS */
    $ai_active = ot_get_option('_uncode_adaptive');
    if ($ai_active === 'on' || $ai_active === '') {
        wp_enqueue_script('ai-uncode', get_template_directory_uri() . '/library/js/min/ai-uncode.min.js', array(), UNCODE_VERSION, false);
    }
    wp_enqueue_script('uncode-init', get_template_directory_uri() . '/library/js/min/init.min.js', array(), UNCODE_VERSION, false);
    wp_enqueue_script('uncode-mediaelement', includes_url() . "js/mediaelement/mediaelement-and-player.min.js", array('jquery'), UNCODE_VERSION, true);
    wp_enqueue_script('uncode-plugins', get_template_directory_uri() . '/library/js/min/plugins.min.js', array('jquery'), UNCODE_VERSION, true);
    wp_enqueue_script('uncode-app', get_template_directory_uri() . '/library/js/min/app.min.js', array('jquery'), UNCODE_VERSION, true);
    /** Add JS parameters to frontend */
    $site_parameters = array('site_url' => get_site_url(), 'theme_directory' => get_template_directory_uri(), 'admin_ajax' => admin_url('admin-ajax.php'));
    wp_localize_script('uncode-app', 'SiteParameters', $site_parameters);
    if (is_singular() && comments_open() && get_option('thread_comments')) {
        wp_enqueue_script('comment-reply');
    }
    /** Deregister CSS */
    wp_deregister_style('dot-irecommendthis');
    wp_deregister_style('mediaelement');
    wp_deregister_style('wp-mediaelement');
    $adaptive_images = ot_get_option('_uncode_adaptive');
    $ai_sizes = ot_get_option('_uncode_adaptive_sizes');
    if ($ai_sizes === '') {
        $ai_sizes = '516,720,1032,1440,2064,2880';
    }
    $ai_sizes = preg_replace('/\\s+/', '', $ai_sizes);
    $ai_bpoints = explode(',', $ai_sizes);
    /** Main CSS **/
    $output_css = '';
    $main_width = ot_get_option('_uncode_main_width');
    $main_align = ot_get_option('_uncode_main_align');
    if ($main_align == 'left') {
        $main_align_css = 'margin-right: auto;';
    } elseif ($main_align == 'right') {
        $main_align_css = 'margin-left: auto;';
    } else {
        $main_align_css = 'margin: auto;';
    }
    if (isset($main_width[0]) && $main_width[0] !== '' || !is_array($main_width) && $main_width !== '') {
        if (is_array($main_width)) {
            if ($main_width[1] === 'px') {
                $output_width = round($main_width[0] / 12) * 12;
                $output_unit = 'px';
            } else {
                $output_width = $main_width[0];
                $output_unit = '%';
                $output_css .= "\n@media (min-width: 960px) { .limit-width { max-width: " . $main_width[0] . "%; " . $main_align_css . "}}";
            }
        } else {
            if (strpos($main_width, 'px') !== false) {
                $output_width = preg_replace('/[^0-9,.]/', '', $main_width);
                $output_unit = 'px';
            } else {
                $output_width = preg_replace('/[^0-9,.]/', '', $main_width);
                $output_unit = '%';
            }
        }
        if ($main_width[1] === 'px') {
            $output_css .= "\n@media (min-width: 960px) { .limit-width { max-width: " . $output_width . $output_unit . "; " . $main_align_css . "}}";
        } else {
            $output_css .= "\n@media (min-width: 960px) { .limit-width { max-width: " . $output_width . $output_unit . "; " . $main_align_css . "}}";
        }
    }
    /** Menu CSS **/
    if (strpos($menutype, 'vmenu') !== false) {
        $vmenu_width = ot_get_option('_uncode_vmenu_width');
        $vmenu_position = ot_get_option('_uncode_vmenu_position');
        if ($vmenu_width == '') {
            $vmenu_width = '200';
        }
        $output_css .= "\n@media (min-width: 960px) { .main-header, .vmenu-container { width: " . $vmenu_width . "px; }}";
        if ($menutype === 'vmenu-offcanvas') {
            if ($vmenu_position === 'left') {
                $output_css .= "\n@media (min-width: 960px) { .vmenu-container { transform: translateX(-" . $vmenu_width . "px); -webkit-transform: translateX(-" . $vmenu_width . "px); -ms-transform: translateX(-" . $vmenu_width . "px);} .off-opened .vmenu-container { transform: translateX(0px); -webkit-transform: translateX(0px); -ms-transform: translateX(0px);}}";
                $output_css .= "\n@media (min-width: 960px) { .off-opened .row-offcanvas, .off-opened .main-container { transform: translateX(" . $vmenu_width . "px); -webkit-transform: translateX(" . $vmenu_width . "px); -ms-transform: translateX(" . $vmenu_width . "px);}}";
            } else {
                $output_css .= "\n@media (min-width: 960px) { .vmenu-container { transform: translateX(0px); -webkit-transform: translateX(0px); -ms-transform: translateX(0px);}} .off-opened .vmenu-container { transform: translateX(-" . $vmenu_width . "px); -webkit-transform: translateX(-" . $vmenu_width . "px); -ms-transform: translateX(-" . $vmenu_width . "px);}";
                $output_css .= "\n@media (min-width: 960px) { .off-opened .row-offcanvas, .off-opened .main-container { transform: translateX(-" . $vmenu_width . "px); -webkit-transform: translateX(-" . $vmenu_width . "px); -ms-transform: translateX(-" . $vmenu_width . "px);}}";
            }
        } else {
            if ($vmenu_position == 'right') {
                $output_css .= "\n@media (min-width: 960px) { .vmenu-container { left: 100%; transform: translateX(-" . $vmenu_width . "px); -webkit-transform: translateX(-" . $vmenu_width . "px); -ms-transform: translateX(-" . $vmenu_width . "px);} body:not(.rtl) .main-container { transform: translateX(-" . $vmenu_width . "px); -webkit-transform: translateX(-" . $vmenu_width . "px); -ms-transform: translateX(-" . $vmenu_width . "px);}}";
            }
        }
    }
    $menu_first_uppercase = ot_get_option('_uncode_menu_first_uppercase');
    $menu_other_uppercase = ot_get_option('_uncode_menu_other_uppercase');
    if ($menu_first_uppercase === 'on') {
        $output_css .= "\n.menu-primary ul.menu-smart > li > a, .menu-primary ul.menu-smart li.dropdown > a, .menu-primary ul.menu-smart li.mega-menu > a, .vmenu-container ul.menu-smart > li > a, .vmenu-container ul.menu-smart li.dropdown > a { text-transform: uppercase; }";
    }
    if ($menu_other_uppercase === 'on') {
        $output_css .= "\n.menu-primary ul.menu-smart ul a, .vmenu-container ul.menu-smart ul a { text-transform: uppercase; }";
    }
    if ($output_css !== '') {
        wp_add_inline_style('uncode-style', $output_css);
    }
    $custom_css = ot_get_option('_uncode_custom_css');
    if ($custom_css !== '') {
        if ($access_type === 'direct') {
            wp_add_inline_style('custom-style', uncode_compress_css_inline($custom_css));
        } else {
            wp_add_inline_style('uncode-style', uncode_compress_css_inline($custom_css));
        }
    }
}
function big_rand($len = 6)
{
    $rand = '';
    while (!isset($rand[$len - 1])) {
        $rand .= mt_rand();
    }
    return substr($rand, 0, $len);
}
function uncode_is_not_null($val)
{
    return !empty($val);
}
if (is_admin() && isset($_GET['first'])) {
    global $front_background_colors;
    $front_background_colors = array('transparent' => 'transparent', 'color-jevc' => '#000000', 'color-nhtu' => '#101213', 'color-wayh' => '#141618', 'color-rgdb' => '#1b1d1f', 'color-prif' => '#303133', 'color-xsdn' => '#ffffff', 'color-lxmt' => '#f7f7f7', 'color-gyho' => '#eaeaea', 'color-uydo' => '#dddddd', 'color-wvjs' => '#777', 'color-vyce' => '#0cb4ce', 'color-dfgh' => '#FF590A', 'color-iopl' => '#0CCE50', 'color-zsdf' => '#FFC42E', 'accent' => '#0cb4ce');
    uncode_create_dynamic_css();
}
function uncode_css_upload_error_notice()
{
    ?>
    <div class="error">
        <p><?php 
    esc_html_e('Failed to save the dynamics css files!', 'uncode');
    ?>
</p>
    </div>
    <?php 
}
function uncode_create_dynamic_css()
{
    $css_dir = get_template_directory() . '/library/css/';
function uncode_upgrader_process_complete($upgrader, $data)
{
    $result = $upgrader->result;
    if (isset($result['destination_name']) && $result['destination_name'] === 'uncode') {
        uncode_create_dynamic_css();
    }
}