Пример #1
0
 /**
  * Field Constructor.
  *
  * Required - must call the parent constructor, then assign field and value to vars, and obviously call the render field function
  *
  * @since ReduxFramework 1.0.0
  */
 function __construct($field = array(), $value = '', $parent)
 {
     global $wp_filesystem;
     $this->parent = $parent;
     $this->field = $field;
     $this->value = $value;
     // Init wp_filesystem
     Redux_Functions::initWpFilesystem();
     // Set upload dir path for google fonts
     $this->font_dir = ReduxFramework::$_upload_dir . 'google-fonts/';
     // Check for redux_google_font dir
     if (!is_dir($this->font_dir)) {
         // Create it, if not found
         $wp_filesystem->mkdir($this->font_dir, FS_CHMOD_DIR);
     }
     // Set google font file variables
     $this->google_html = $this->font_dir . 'googlefonts.html';
     $this->google_json = $this->font_dir . 'googlefonts.json';
     // Move installed googlefonts.html to upload location, if not exists
     if (!file_exists($this->google_html)) {
         $wp_filesystem->copy(ReduxFramework::$_dir . 'inc/fields/typography/googlefonts.html', $this->font_dir . 'googlefonts.html', false);
     }
     // Move installed googlefonts.json to upload location, if not exists
     if (!file_exists($this->google_json)) {
         $wp_filesystem->copy(ReduxFramework::$_dir . 'inc/fields/typography/googlefonts.json', $this->font_dir . 'googlefonts.json', false);
     }
     // Get the google array
     $this->getGoogleArray();
 }
 public static function compile_sass($parent)
 {
     if (!empty(self::$path)) {
         require "scssphp/scss.inc.php";
         $scss = new scssc();
         $scss->setImportPaths(self::$path);
         if (!$parent->args['dev_mode']) {
             $scss->setFormatter("scss_formatter_compressed");
         }
         $new_css = '';
         foreach (self::$import as $import) {
             $new_css .= $scss->compile($import);
         }
         if ($new_css != '') {
             if ($parent->args['sass']['page_output']) {
                 echo '<style type="text/css" id="redux-' . $parent->args['opt_name'] . '">' . $new_css . '</style>';
             } else {
                 Redux_Functions::initWpFilesystem();
                 global $wp_filesystem;
                 $css_file = Redux_Helpers::cleanFilePath($parent->args['sass']['output_url'] . $parent->args['opt_name'] . '-redux.css');
                 $ret_val = $wp_filesystem->put_contents($css_file, $new_css, FS_CHMOD_FILE);
             }
         }
     }
 }
Пример #3
0
 public static function init()
 {
     global $wp_filesystem;
     // Windows-proof constants: replace backward by forward slashes. Thanks to: @peterbouwmeester
     self::$_dir = trailingslashit(Redux_Helpers::cleanFilePath(dirname(__FILE__)));
     $wp_content_dir = trailingslashit(Redux_Helpers::cleanFilePath(WP_CONTENT_DIR));
     $wp_content_dir = trailingslashit(str_replace('//', '/', $wp_content_dir));
     $relative_url = str_replace($wp_content_dir, '', self::$_dir);
     self::$wp_content_url = trailingslashit(Redux_Helpers::cleanFilePath(is_ssl() ? str_replace('http://', 'https://', WP_CONTENT_URL) : WP_CONTENT_URL));
     self::$_url = self::$wp_content_url . $relative_url;
     // See if Redux is a plugin or not
     if (strpos(Redux_Helpers::cleanFilePath(__FILE__), Redux_Helpers::cleanFilePath(get_stylesheet_directory())) !== false) {
         self::$_is_plugin = false;
     }
     // Create our private upload directory
     Redux_Functions::initWpFilesystem();
     self::$_upload_dir = trailingslashit($wp_filesystem->wp_content_dir()) . '/redux/';
     self::$_upload_url = trailingslashit(content_url()) . '/redux/';
     if (function_exists('sys_get_temp_dir')) {
         $tmp = sys_get_temp_dir();
         if (empty($tmp)) {
             $tmpDir = self::$_upload_url . 'tmp';
             if (file_exists($tmpDir)) {
                 Redux_Helpers::rmdir($tmpDir);
             }
             putenv('TMPDIR=' . self::$_upload_dir . 'tmp');
         }
     }
     // Ensure it exists
     if (!is_dir(self::$_upload_dir)) {
         // Create the directory
         $wp_filesystem->mkdir(self::$_upload_dir);
     }
 }
Пример #4
0
        public function setSections()
        {
            /**
             * Used within different fields. Simply examples. Search for ACTUAL DECLARATION for field examples
             * */
            // Background Patterns Reader
            $sample_patterns_path = ReduxFramework::$_dir . '../sample/patterns/';
            $sample_patterns_url = ReduxFramework::$_url . '../sample/patterns/';
            $sample_patterns = array();
            if (is_dir($sample_patterns_path)) {
                if ($sample_patterns_dir = opendir($sample_patterns_path)) {
                    $sample_patterns = array();
                    while (($sample_patterns_file = readdir($sample_patterns_dir)) !== false) {
                        if (stristr($sample_patterns_file, '.png') !== false || stristr($sample_patterns_file, '.jpg') !== false) {
                            $name = explode('.', $sample_patterns_file);
                            $name = str_replace('.' . end($name), '', $sample_patterns_file);
                            $sample_patterns[] = array('alt' => $name, 'img' => $sample_patterns_url . $sample_patterns_file);
                        }
                    }
                }
            }
            ob_start();
            $ct = wp_get_theme();
            $this->theme = $ct;
            $item_name = $this->theme->get('Name');
            $tags = $this->theme->Tags;
            $screenshot = $this->theme->get_screenshot();
            $class = $screenshot ? 'has-screenshot' : '';
            $customize_title = sprintf(__('Customize &#8220;%s&#8221;', 'redux-framework-demo'), $this->theme->display('Name'));
            ?>
<!--Code used to display Theme Information Tab-->
                <div id="current-theme" class="<?php 
            echo esc_attr($class);
            ?>
">
                    <?php 
            if ($screenshot) {
                ?>
                        <?php 
                if (current_user_can('edit_theme_options')) {
                    ?>
                            <a href="<?php 
                    echo wp_customize_url();
                    ?>
" class="load-customize hide-if-no-customize"
                               title="<?php 
                    echo esc_attr($customize_title);
                    ?>
">
                                <img src="<?php 
                    echo esc_url($screenshot);
                    ?>
"
                                     alt="<?php 
                    esc_attr_e('Current theme preview');
                    ?>
"/>
                            </a>
                        <?php 
                }
                ?>
                        <img class="hide-if-customize" src="<?php 
                echo esc_url($screenshot);
                ?>
"
                             alt="<?php 
                esc_attr_e('Current theme preview');
                ?>
"/>
                    <?php 
            }
            ?>

                    <h4><?php 
            echo $this->theme->display('Name');
            ?>
</h4>

                    <div>
                        <ul class="theme-info">
                            <li><?php 
            printf(__('By %s', 'redux-framework-demo'), $this->theme->display('Author'));
            ?>
</li>
                            <li><?php 
            printf(__('Version %s', 'redux-framework-demo'), $this->theme->display('Version'));
            ?>
</li>
                            <li><?php 
            echo '<strong>' . __('Tags', 'redux-framework-demo') . ':</strong> ';
            printf($this->theme->display('Tags'));
            ?>
</li>
                        </ul>
                        <p class="theme-description"><?php 
            echo $this->theme->display('Description');
            ?>
</p>
                        <?php 
            if ($this->theme->parent()) {
                printf(' <p class="howto">' . __('This <a href="%1$s">child theme</a> requires its parent theme, %2$s.') . '</p>', __('http://codex.wordpress.org/Child_Themes', 'redux-framework-demo'), $this->theme->parent()->display('Name'));
            }
            ?>

                    </div>
                </div>

                <?php 
            $item_info = ob_get_contents();
            ob_end_clean();
            $sampleHTML = '';
            if (file_exists(dirname(__FILE__) . '/info-html.html')) {
                Redux_Functions::initWpFilesystem();
                global $wp_filesystem;
                $sampleHTML = $wp_filesystem->get_contents(dirname(__FILE__) . '/info-html.html');
            }
            /* General Settings */
            $this->sections[] = array('title' => __('General Settings', 'kraftives'), 'fields' => array(array('id' => 'main_logo_info', 'icon' => true, 'type' => 'info', 'raw' => __('<h3>Main Logo Settings.</h3>
							Main logo settings which will be displayed on the main navigation', 'kraftives') . '<br /><br />
							<img class="img_max" src="' . ReduxFramework::$_url . 'assets/img/main_nav_logo.jpg">'), array('desc' => __('Upload an image that will represent your website\'s logo.<br>
											This logo will be displayed with the main navigation.', 'kraftives'), 'id' => 'upload_main_logo', 'type' => 'media', 'title' => __('Upload Main Logo', 'kraftives'), 'default' => array('url' => get_template_directory_uri() . '/assets/images/fallback_images/logo.png'), 'url' => true), array('desc' => __('You can adjust the logo position in header by setting the top-margin.', 'kraftives'), 'id' => 'margin_top_main_logo', 'min' => '1', 'step' => '1', 'max' => '200', 'type' => 'slider', 'title' => __('Margin Top Value for Main Logo', 'kraftives'), 'default' => '17'), array('desc' => __('Upload a 16 x 16 image that will represent your website\'s favicon.', 'kraftives'), 'id' => 'upload_custom_favicon', 'type' => 'media', 'title' => __('Upload Custom Favicon', 'kraftives'), 'default' => array('url' => get_template_directory_uri() . '/favicon.ico'), 'url' => true), array('desc' => __('Paste your Google Analytics (or other) tracking code here. This will be added into the header template before head tag ends.', 'kraftives'), 'id' => 'google_analytics', 'type' => 'textarea', 'title' => __('Google Analytics Code', 'kraftives'), 'default' => ''), array('desc' => __('Enter your custom javascript code here, this will be added in footer template of your theme before body tag ends.', 'kraftives'), 'id' => 'custom_js_code', 'type' => 'ace_editor', 'mode' => 'javascript', 'title' => __('Custom Javascript Code', 'kraftives'), 'default' => "jQuery(document).ready(function(){ \"use strict\";\n\n});")), 'icon' => 'el-icon-cogs');
            /* Pre Loader Settings starts */
            $this->sections[] = array('icon' => 'el-icon-hourglass', 'title' => __('Preloader Settings', 'kraftives'), 'subsection' => true, 'fields' => array(array('desc' => 'Enable or disable preloader', 'id' => 'display_preloader', 'type' => 'switch', 'title' => 'Display Preloader', 'default' => 1), array('id' => 'only_pre_loader_on', 'type' => 'radio', 'title' => __('Display Preloader on', 'kraftives'), 'desc' => __('Select front page or all pages to display preloader on.', 'kraftives'), 'options' => array('on_front_page' => 'Front Page', 'on_full_site' => 'Full Site'), 'default' => 'on_front_page', 'required' => array(0 => 'display_preloader', 1 => '=', 2 => 1)), array('desc' => __('Select color for preloader background', 'kraftives'), 'id' => 'background_color_preloader', 'type' => 'color', 'title' => __('Preloader Background color', 'kraftives'), 'default' => '#ffffff', 'required' => array(0 => 'display_preloader', 1 => '=', 2 => 1)), array('desc' => __('Select color for preloader bar', 'kraftives'), 'id' => 'bar_color_preloader', 'type' => 'color', 'title' => __('Preloader bar color', 'kraftives'), 'default' => '#444444', 'required' => array(0 => 'display_preloader', 1 => '=', 2 => 1)), array('desc' => __('This will control the bar height of the loader', 'kraftives'), 'id' => 'barheight_preloader', 'min' => '1', 'step' => '1', 'max' => '20', 'type' => 'slider', 'title' => __('Preloader bar Height', 'kraftives'), 'default' => '3', 'required' => array(0 => 'display_preloader', 1 => '=', 2 => 1)), array('desc' => __('Enable or disable percentage for preloader', 'kraftives'), 'id' => 'display_percentage_preloader', 'type' => 'switch', 'title' => __('Display Percentage', 'kraftives'), 'default' => 1, 'required' => array(0 => 'display_preloader', 1 => '=', 2 => 1)), array('desc' => __('Select the font size for counter', 'kraftives'), 'id' => 'fontsize_preloader', 'type' => 'select', 'options' => folio_font_size(), 'title' => __('Preloader Font Size', 'kraftives'), 'default' => '60', 'required' => array(0 => 'display_preloader', 1 => '=', 2 => 1))));
            /* Styling Settigns */
            $this->sections[] = array('title' => __('Styling Settings', 'kraftives'), 'fields' => array(array('desc' => __('Enable this option if you want to select custom <strong>background color</strong> for body, this will apply on full theme.', 'kraftives'), 'id' => 'is_background_color', 'on' => 'Enable', 'off' => 'Disable', 'type' => 'switch', 'title' => __('Custom Background Color', 'kraftives'), 'default' => 0), array('desc' => __('Pick a background color for the theme.', 'kraftives'), 'id' => 'background_color', 'type' => 'color', 'title' => __('Select Background Color', 'kraftives'), 'default' => '', 'required' => array(0 => 'is_background_color', 1 => '=', 2 => 1)), array('desc' => __('Enable this option if you want to select custom <strong>background pattern</strong> for body, this will apply on full theme.', 'kraftives'), 'id' => 'is_background_pattern', 'on' => 'Enable', 'off' => 'Disable', 'type' => 'switch', 'title' => __('Custom Background Pattern', 'kraftives'), 'default' => 0), array('desc' => __('Select a background pattern to display on the body.', 'kraftives'), 'id' => 'background_pattern', 'type' => 'image_select', 'options' => array(0 => array('alt' => '', 'img' => ReduxFramework::$_url . 'assets/img/bg/bg0.png'), 1 => array('alt' => '', 'img' => ReduxFramework::$_url . 'assets/img/bg/bg1.png'), 4 => array('alt' => '', 'img' => ReduxFramework::$_url . 'assets/img/bg/bg2.png'), 5 => array('alt' => '', 'img' => ReduxFramework::$_url . 'assets/img/bg/bg3.png'), 6 => array('alt' => '', 'img' => ReduxFramework::$_url . 'assets/img/bg/bg4.png'), 7 => array('alt' => '', 'img' => ReduxFramework::$_url . 'assets/img/bg/bg5.png'), 8 => array('alt' => '', 'img' => ReduxFramework::$_url . 'assets/img/bg/bg6.jpg'), 9 => array('alt' => '', 'img' => ReduxFramework::$_url . 'assets/img/bg/bg7.jpg'), 10 => array('alt' => '', 'img' => ReduxFramework::$_url . 'assets/img/bg/bg8.png'), 2 => array('alt' => '', 'img' => ReduxFramework::$_url . 'assets/img/bg/bg10.png'), 3 => array('alt' => '', 'img' => ReduxFramework::$_url . 'assets/img/bg/bg11.png'), 11 => array('alt' => '', 'img' => ReduxFramework::$_url . 'assets/img/bg/bg9.png')), 'title' => __('Select Background pattern', 'kraftives'), 'default' => 1, 'required' => array(0 => 'is_background_pattern', 1 => '=', 2 => 1), 'tiles' => true), array('desc' => __('Quickly add some CSS to your theme by adding it to this block.', 'kraftives'), 'id' => 'custom_css', 'type' => 'ace_editor', 'mode' => 'css', 'title' => __('Custom CSS', 'kraftives'), 'default' => "#header{\nmargin: 0 auto;\n}")), 'icon' => 'el-icon-brush');
            /* Skins Settigns */
            $this->sections[] = array('title' => __('Skin Settings', 'kraftives'), 'fields' => array(array('desc' => __('Select theme mode between <strong>Standard</strong> or <strong>Dark</strong> or <strong>Grayscale</strong> mode.', 'kraftives'), 'id' => 'theme_mode', 'type' => 'select', 'options' => array('standard_mode' => 'Standard Theme Mode', 'dark_mode' => 'Dark Theme Mode', 'grayscale_mode' => 'Grayscale Theme Mode'), 'title' => 'Select Theme Mode', 'default' => 'standard_mode'), array('desc' => __('Choose the Color shceme type between Predefined Colors and Custom Skin.', 'kraftives'), 'id' => 'color_scheme_type', 'type' => 'select', 'options' => array('predefined_colors' => 'Predefined Color Theme', 'custom_skin' => 'Custom Color Theme'), 'title' => __('Select Color Scheme type', 'kraftives'), 'default' => 'predefined_colors', 'required' => array(0 => 'theme_mode', 1 => '=', 2 => array('standard_mode', 'dark_mode'))), array('desc' => __('Select the major color for your theme.', 'kraftives'), 'id' => 'custom_color_theme', 'type' => 'color', 'title' => __('Custom Color Theme', 'kraftives'), 'default' => '#FF3131', 'required' => array(0 => 'color_scheme_type', 1 => '=', 2 => 'custom_skin')), array('desc' => __('Select a color palette from predefined color themes, provided by Kraftives.', 'kraftives'), 'id' => 'predefined_color_theme', 'type' => 'image_select', 'options' => array('red.css' => array('alt' => '', 'img' => ReduxFramework::$_url . 'assets/img/cp_red.png'), 'orange.css' => array('alt' => '', 'img' => ReduxFramework::$_url . 'assets/img/cp_orange.png'), 'seagreen.css' => array('alt' => '', 'img' => ReduxFramework::$_url . 'assets/img/cp_seagreen.png'), 'yellow.css' => array('alt' => '', 'img' => ReduxFramework::$_url . 'assets/img/cp_yellow.png'), 'blue.css' => array('alt' => '', 'img' => ReduxFramework::$_url . 'assets/img/cp_blue.png'), 'green.css' => array('alt' => '', 'img' => ReduxFramework::$_url . 'assets/img/cp_green.png')), 'title' => __('Predefined Color Theme', 'kraftives'), 'default' => 'red.css', 'required' => array(0 => 'color_scheme_type', 1 => '=', 2 => 'predefined_colors'))), 'icon' => 'el-icon-tint');
            /* Typography Settigns */
            $this->sections[] = array('title' => __('Typography', 'kraftives'), 'fields' => array(array('id' => 'primary_font', 'type' => 'typography', 'title' => __('Primary Font', 'kraftives'), 'google' => true, 'font-backup' => false, 'font-style' => false, 'font-weight' => false, 'subsets' => false, 'font-size' => false, 'line-height' => false, 'word-spacing' => false, 'color' => false, 'preview' => true, 'all_styles' => false, 'font-family' => true, 'text-align' => false, 'desc' => __('Select primary font, which is used as the main font of the theme and mostly used on paragraphs, lists, descriptions, posts content etc.', 'kraftives'), 'default' => array('font-family' => 'Open Sans', 'google' => true)), array('id' => 'secondary_font', 'type' => 'typography', 'title' => __('Secondary Font', 'kraftives'), 'google' => true, 'font-backup' => false, 'font-style' => false, 'font-weight' => false, 'subsets' => false, 'font-size' => false, 'line-height' => false, 'word-spacing' => false, 'color' => false, 'preview' => true, 'all_styles' => false, 'font-family' => true, 'text-align' => false, 'desc' => __('Select secondary font which is mostly used in section headings and content headings.', 'kraftives'), 'default' => array('font-family' => 'Roboto Slab', 'google' => true))), 'icon' => 'el-icon-font');
            /* General Headings Typography submenu */
            $this->sections[] = array('icon' => 'el-icon-fontsize', 'title' => __('General Headings', 'kraftives'), 'subsection' => true, 'fields' => array(array('id' => 'general_heading_desc', 'icon' => true, 'type' => 'info', 'raw' => __('<h3>General Headings Typography.</h3>
										 This is the typography settings of Headings which will be used inside the content area (From H1 to H6)', 'kraftives')), array('id' => 'h_1', 'type' => 'typography', 'title' => __('Heading One (H1)', 'kraftives'), 'desc' => __('This is used to set typography of H1 tag. Default: Color:#222222,Font Size: 38px,Line Height: 44px, Font Style: Normal, Font Weight: 800', 'kraftives'), 'text-align' => false, 'font-family' => false, 'font-weight' => true, 'default' => array('color' => '#222222', 'font-size' => '38px', 'line-height' => '44px', 'font-weight' => '400')), array('id' => 'h_2', 'type' => 'typography', 'title' => __('Heading Two (H2)', 'kraftives'), 'desc' => __('This is used to set typography of H2 tag. Default: Color:#222222, Font Size: 32px, Line Height: 38px, Font Style: Normal, Font Weight: 400', 'kraftives'), 'text-align' => false, 'font-family' => false, 'font-weight' => true, 'default' => array('color' => '#222222', 'font-size' => '32px', 'line-height' => '38px', 'font-weight' => '400')), array('id' => 'h_3', 'type' => 'typography', 'title' => __('Heading Three (H3)', 'kraftives'), 'desc' => __('This is used to set typography of H3 tag. Default: Color:#222222, Font Size: 28px, Line Height: 34px, Font Style: Normal, Font Weight: 400', 'kraftives'), 'text-align' => false, 'font-family' => false, 'font-weight' => true, 'default' => array('color' => '#222222', 'font-size' => '28px', 'line-height' => '34px', 'font-weight' => '400')), array('id' => 'h_4', 'type' => 'typography', 'title' => __('Heading Four (H4)', 'kraftives'), 'desc' => __('This is used to set typography of H4 tag. Default: Color:#222222, Font Size: 24px, Line Height: 30px, Font Style: Normal,Font Weight: 400', 'kraftives'), 'text-align' => false, 'font-family' => false, 'font-weight' => true, 'default' => array('color' => '#222222', 'font-size' => '24px', 'line-height' => '30px', 'font-weight' => '400')), array('id' => 'h_5', 'type' => 'typography', 'title' => __('Heading Five (H5)', 'kraftives'), 'desc' => __('This is used to set typography of H5 tag. Default: Color:#222222, Font Size: 20px, Line Height: 26px, Font Style: Normal, Font Weight: 400', 'kraftives'), 'text-align' => false, 'font-family' => false, 'font-weight' => true, 'default' => array('color' => '#222222', 'font-size' => '20px', 'line-height' => '26px', 'font-weight' => '400')), array('id' => 'h_6', 'type' => 'typography', 'title' => __('Heading Six (H6)', 'kraftives'), 'desc' => __('This is used to set typography of H6 tag. Default: Color:#222222, Font Size: 16px, Line Height: 22px, Font Style: Normal, Font Weight: 400', 'kraftives'), 'text-align' => false, 'font-family' => false, 'font-weight' => true, 'default' => array('color' => '#222222', 'font-size' => '16px', 'line-height' => '22px', 'font-weight' => '400')), array('id' => 'paragraph_content', 'type' => 'typography', 'title' => __('Paragraph/Content', 'kraftives'), 'desc' => __('This is used to set typography of p, and li tag inside the content area. Default: Color:#777777, Font Size: 14px, Line Height: 22px, Font Style: Normal, Font Weight: normal', 'kraftives'), 'text-align' => false, 'font-family' => false, 'font-weight' => true, 'default' => array('color' => '#777777', 'font-size' => '14px', 'line-height' => '22px', 'font-weight' => '400'))));
            /* Quotes Typography submenu */
            $this->sections[] = array('icon' => 'el-icon-quotes', 'title' => __('Block Quote', 'kraftives'), 'subsection' => true, 'fields' => array(array('id' => 'block_quote_desc', 'icon' => true, 'type' => 'info', 'raw' => __('<h3>Block Quote.</h3>
											This is the typography setting for Folio Block Quotes', 'kraftives')), array('id' => 'quote_font', 'type' => 'typography', 'title' => __('Quotes Font', 'kraftives'), 'google' => true, 'font-backup' => false, 'font-style' => false, 'font-weight' => false, 'subsets' => false, 'font-size' => false, 'line-height' => false, 'word-spacing' => false, 'color' => false, 'preview' => true, 'all_styles' => false, 'font-family' => true, 'text-align' => false, 'desc' => __('Select Quotes font. Default: Open Sans.', 'kraftives'), 'default' => array('font-family' => 'Open Sans', 'google' => true)), array('id' => 'quote_1', 'type' => 'typography', 'title' => __('BlockQuote One', 'kraftives'), 'desc' => __('This is used to set typography of Block Quote Type one. Default: Color:#000000
				,Font Size: 16px, Line Height: 28px, Font Style: Normal, Font Weight: 400', 'kraftives'), 'text-align' => false, 'font-family' => false, 'font-weight' => true, 'default' => array('color' => '#000000', 'font-size' => '16px', 'line-height' => '28px', 'font-weight' => '400')), array('id' => 'quote_2', 'type' => 'typography', 'title' => __('BlockQuote Two', 'kraftives'), 'subtitle' => __('This is used to set typography of Block Quote Type two. Default: Color:#000000
				,Font Size: 22px, Line Height: 28px, Font Style: Italic, Font Weight: 400', 'kraftives'), 'text-align' => false, 'font-family' => false, 'font-weight' => true, 'default' => array('color' => '#000000', 'font-size' => '22px', 'line-height' => '28px', 'font-weight' => '400italic')), array('id' => 'quote_3', 'type' => 'typography', 'title' => __('BlockQuote Three', 'kraftives'), 'desc' => __('This is used to set typography of Block Quote Type three. Default: Color:#000000, Font Size: 22px, Line Height: 28px, Font Style: Italic, Font Weight: 600', 'kraftives'), 'text-align' => false, 'font-family' => false, 'font-weight' => true, 'default' => array('color' => '#000000', 'font-size' => '22px', 'line-height' => '28px', 'font-weight' => '600italic')), array('id' => 'quote_4', 'type' => 'typography', 'title' => __('BlockQuote Four', 'kraftives'), 'desc' => __('This is used to set typography of Block Quote Type Four. Default: Color:#000000, Font Size: 22px, Line Height: 28px, Font Style: Italic, Font Weight: 400', 'kraftives'), 'text-align' => false, 'font-family' => false, 'font-weight' => true, 'default' => array('color' => '#000000', 'font-size' => '22px', 'line-height' => '28px', 'font-weight' => '400italic')), array('id' => 'quote_5', 'type' => 'typography', 'title' => __('BlockQuote Five', 'kraftives'), 'desc' => __('This is used to set typography of Block Quote Type Five. Default: Color:#000000, Font Size: 22px, Line Height: 28px, Font Style: Italic, Font Weight: 600', 'kraftives'), 'text-align' => false, 'font-family' => false, 'font-weight' => true, 'default' => array('color' => '#000000', 'font-size' => '22px', 'line-height' => '28px', 'font-weight' => '600italic'))));
            /* Menus Typography submenu */
            $this->sections[] = array('icon' => 'el-icon-credit-card', 'title' => __('Menus Typography', 'kraftives'), 'subsection' => true, 'fields' => array(array('id' => 'main_menu_desc', 'icon' => true, 'type' => 'info', 'raw' => __('<h3>Main Menu Typography.</h3>
											This is the typography setting of main menu', 'kraftives') . '<br><br><img class="img_max" src="' . ReduxFramework::$_url . 'assets/img/main_nav_logo.jpg">'), array('id' => 'main_menu_typo', 'type' => 'typography', 'title' => __('Main Menu', 'kraftives'), 'desc' => __('This is used to set typography of main menu. Default: Color:#ffffff
				Font Size: 14px, Line Height: 14px, Font Style: Normal, Font Weight: 400', 'kraftives'), 'text-align' => false, 'font-family' => false, 'font-weight' => true, 'default' => array('color' => '#ffffff', 'font-size' => '14px', 'line-height' => '14px', 'font-weight' => '400')), array('desc' => __('Pick a background color for the main navigation. (Default #000000)', 'kraftives'), 'id' => 'main_nav_background', 'type' => 'color', 'title' => __('Main menu Background Color', 'kraftives'), 'default' => '#000000'), array('desc' => __('Background visibility value from 0.1 to 1.0', 'kraftives'), 'id' => 'main_nav_bk_opacity', 'type' => 'slider', 'title' => __('Main Menu Background Opacity', 'kraftives'), 'default' => 0.9, 'min' => 0, 'step' => 0.1, 'max' => 1, 'resolution' => 0.1, 'display_value' => 'text'), array('id' => 'header_menu_desc', 'icon' => true, 'type' => 'info', 'raw' => __('<h3>Header Menu Typography.</h3> 
											This is the typography setting of header menu which is used in slider module
											', 'kraftives') . '<br><br><img class="img_max" src="' . ReduxFramework::$_url . 'assets/img/header_nav_logo.jpg">'), array('id' => 'header_menu_typo', 'type' => 'typography', 'title' => __('Header Menu', 'kraftives'), 'desc' => __('This is used to set typography of header menu. Default: Color:#ffffff
				,Font Size: 13px, Line Height: 14px, Font Style: Normal, Font Weight: 400', 'kraftives'), 'text-align' => false, 'font-family' => false, 'font-weight' => true, 'default' => array('color' => '#ffffff', 'font-size' => '13px', 'line-height' => '14px', 'font-weight' => '400')), array('id' => 'slidebar_menu_desc', 'icon' => true, 'type' => 'info', 'raw' => __('<h3>Slidebar Menu Typography.</h3>
											This is the typography setting of slidebar menu', 'kraftives') . '<br><br><img class="img_max" src="' . ReduxFramework::$_url . 'assets/img/slidebar_nav_logo.jpg">'), array('id' => 'slidebar_menu_typo', 'type' => 'typography', 'title' => __('Slidebar Menu', 'kraftives'), 'desc' => __('This is used to set typography of slidebar menu. Default: Color:#ffffff
				Font Size: 14px, Line Height: 14px, Font Style: Normal, Font Weight: 400', 'kraftives'), 'text-align' => false, 'font-family' => false, 'font-weight' => true, 'default' => array('color' => '#ffffff', 'font-size' => '14px', 'line-height' => '14px', 'font-weight' => '400')), array('desc' => __('Pick a background color for the main navigation. (Default #000000)', 'kraftives'), 'id' => 'slidebar_nav_background', 'type' => 'color', 'title' => __('Slidebar menu Background Color', 'kraftives'), 'default' => '#000000'), array('desc' => __('Background visibility value from 0.1 to 1.0', 'kraftives'), 'id' => 'slidebar_nav_bk_opacity', 'type' => 'slider', 'title' => __('Slidebar Menu Background Opacity', 'kraftives'), 'default' => 0.9, 'min' => 0, 'step' => 0.1, 'max' => 1, 'resolution' => 0.1, 'display_value' => 'text')));
            /* Blog Settigns */
            $this->sections[] = array('title' => 'Blog Settings', 'fields' => array(array('id' => 'blog_listing_desc', 'icon' => true, 'type' => 'info', 'raw' => __('<h3>Blog Listing Page Headings.</h3>
								<strong>Note:</strong>All Settings for blog listing page will be applied on Archives and Search pages as well', 'kraftives')), array('desc' => __('Main Bold heading of blog listing page.<br>
					<strong>Note:</strong> For archive page the main heading will be the Archive title', 'kraftives'), 'id' => 'main_heading', 'type' => 'text', 'title' => __('Main Heading', 'kraftives'), 'default' => 'Latest Blog'), array('desc' => __('This will be the sub heading and will be same for blog listing and archive listing pages', 'kraftives'), 'id' => 'sub_heading', 'type' => 'text', 'title' => __('Sub Heading', 'kraftives'), 'default' => __('Discussion that will <span class="highlight">never</span> ends at all', 'kraftives')), array('desc' => __('This will be the 3rd heading used as description same in blog listing and archive listing pages', 'kraftives'), 'id' => 'heading_desc', 'type' => 'textarea', 'title' => __('Heading Description', 'kraftives'), 'default' => 'Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nibh tinci dunt ut laoreet dolore magna aliquam erat volutpat.'), array('desc' => __('Switch OFF for full width layout of blog and archive page. ', 'kraftives'), 'id' => 'switch_sidebars', 'type' => 'switch', 'title' => __('Show / Hide Sidebars', 'kraftives'), 'default' => 1), array('desc' => __('Select page layout settings with sidebars.<br />
									<strong>Note:</strong> This option will apply on blog listing, archive listing and search pages', 'kraftives'), 'id' => 'layout_option', 'type' => 'image_select', 'options' => array('sidebar_left' => array('alt' => '', 'img' => ReduxFramework::$_url . 'assets/img/sidebar_left.png'), 'sidebar_right' => array('alt' => '', 'img' => ReduxFramework::$_url . 'assets/img/sidebar_right.png'), 'sidebar_both' => array('alt' => '', 'img' => ReduxFramework::$_url . 'assets/img/sidebar_both.png'), 'sidebar_2left' => array('alt' => '', 'img' => ReduxFramework::$_url . 'assets/img/sidebar_2left.png'), 'sidebar_2right' => array('alt' => '', 'img' => ReduxFramework::$_url . 'assets/img/sidebar_2right.png')), 'title' => __('Layout Settings', 'kraftives'), 'default' => 'sidebar_right', 'required' => array(0 => 'switch_sidebars', 1 => '=', 2 => 1)), array('desc' => __('Select Pagination alignment <br />
								<strong>Note:</strong> This option will apply on blog listing, archive listing and search pages', 'kraftives'), 'id' => 'page_nav_ali', 'type' => 'select', 'options' => array('left' => __('Left', 'kraftives'), 'right' => __('Right', 'kraftives'), 'center' => __('Center', 'kraftives')), 'title' => __('Pagination Alignment', 'kraftives'), 'default' => 'right'), array('desc' => __('Show / Hide comments count<br />
								<strong>Note:</strong> This option will apply on blog listing, archive listing and search pages', 'kraftives'), 'id' => 'comment_count', 'on' => __('Show', 'kraftives'), 'off' => __('Hide', 'kraftives'), 'type' => 'switch', 'title' => __('Show / Hide Comments Count', 'kraftives'), 'default' => 1), array('desc' => __('Show / Hide Author of posts<br />
								<strong>Note:</strong> This option will apply on blog listing, archive listing and search pages', 'kraftives'), 'id' => 'hide_author', 'on' => __('Show', 'kraftives'), 'off' => __('Hide', 'kraftives'), 'type' => 'switch', 'title' => __('Show / Hide Author', 'kraftives'), 'default' => 1), array('desc' => __('Show / Hide category of posts<br />
								<strong>Note:</strong> This option will apply on blog listing, archive listing and search pages', 'kraftives'), 'id' => 'hide_categories', 'on' => __('Show', 'kraftives'), 'off' => __('Hide', 'kraftives'), 'type' => 'switch', 'title' => __('Show / Hide Categories list', 'kraftives'), 'default' => 1), array('desc' => __('Show / Hide Tags of posts<br />
								<strong>Note:</strong> This option will apply on blog listing, archive listing and search pages', 'kraftives'), 'id' => 'hide_tags', 'on' => __('Show', 'kraftives'), 'off' => __('Hide', 'kraftives'), 'type' => 'switch', 'title' => __('Show / Hide Tags', 'kraftives'), 'default' => 1), array('desc' => __('Excerpt length is calculated by words Ex: 37<br />
								<strong>Note:</strong> This option will apply on blog listing, archive listing and search pages', 'kraftives'), 'id' => 'excerpt_length', 'type' => 'text', 'title' => __('Excerpt Length', 'kraftives'), 'default' => '37'), array('desc' => __('This will display the map in footer of <br />
								This option will apply on blog listing, archive listing and search pages
								<br />
								<strong>Note:</strong>To display map, make sure that you have enabled map from theme options.', 'kraftives'), 'id' => 'blog_listing_map', 'on' => __('Show', 'kraftives'), 'off' => __('Hide', 'kraftives'), 'type' => 'switch', 'title' => __('Display Map', 'kraftives'), 'default' => 1), array('desc' => __('This will display curve style of Map on footer.<br />
								This option will apply on blog listing, archive listing and search pages.', 'kraftives'), 'id' => 'is_curve_on_blog', 'type' => 'switch', 'on' => __('Active', 'kraftives'), 'off' => __('Deactive', 'kraftives'), 'title' => __('Curve Style', 'kraftives'), 'default' => 1)), 'icon' => 'el-icon-list-alt');
            /* Blog Menu settings submenu */
            $this->sections[] = array('icon' => 'el-icon-credit-card', 'title' => __('Blog Main Menu', 'kraftives'), 'subsection' => true, 'fields' => array(array('id' => 'blog_nav_desc', 'icon' => true, 'type' => 'info', 'raw' => __('<h3>Menu Settings for Blog Listing, Archive & Search Pages .</h3>
									 Set main menu settings for blog listing archive & search pages<br>
									 <em><strong>Note:</strong> These settings will only apply on blog listing, archive listing, search listings and 404 pages. <br />
									 For other pages, posts, portfolio etc you have to manage these settings individually.</em>', 'kraftives') . '<br><br>
									 <img class="img_max" src="' . ReduxFramework::$_url . 'assets/img/main_nav_logo.jpg"><br>'), array('desc' => __('Select menu to display on blog listing and archive page. Default: Primary Menu<br />
										<strong>Note:</strong> These settings will only apply on blog listing, archive listing, search listings and 404 pages.', 'kraftives'), 'id' => 'blog_menu', 'type' => 'select', 'options' => folio_get_menu_list(), 'title' => __('Select Menu', 'kraftives'), 'default' => 'folio_primarymenu'), array('desc' => __('On / Off Sticky Naviagtion', 'kraftives'), 'id' => 'sticky_menu', 'type' => 'switch', 'title' => __('On / Off Sticky Naviagtion', 'kraftives'), 'default' => 1), array('desc' => __('Turn On / Off menu on blog and archive page. If sticky menu is enable then disable this feature to show menu on sticking at the top.', 'kraftives'), 'id' => 'show_always', 'type' => 'switch', 'title' => __('Always Show Menu', 'kraftives'), 'default' => 0)));
            /* Blog single settings submenu */
            $this->sections[] = array('icon' => 'el-icon-calendar', 'title' => __('Blog Single Page', 'kraftives'), 'subsection' => true, 'fields' => array(array('desc' => __('Display Previous/Next Post Navigation on blog single post', 'kraftives'), 'id' => 'prev_next_nav', 'type' => 'switch', 'title' => __('Prev/Next Post Navigation', 'kraftives'), 'default' => 1), array('desc' => __('Set position of Navigation menu on single blog post.', 'kraftives'), 'id' => 'prev_next_nav_position', 'type' => 'radio', 'options' => array('before_comment' => __('Before Comments', 'kraftives'), 'after_comment' => __('After Comments', 'kraftives')), 'title' => __('Position of Previous/Next Post Naviagtion', 'kraftives'), 'default' => 'after_comment', 'required' => array(0 => 'prev_next_nav', 1 => '=', 2 => 1)), array('desc' => __('Display Social sharing bar on blog single post', 'kraftives'), 'id' => 'social_sharing_bar', 'type' => 'switch', 'title' => __('Social Sharing bar', 'kraftives'), 'default' => 1), array('desc' => __('Set share bar title for blog single post.', 'kraftives'), 'id' => 'share_bar_title', 'title' => __('Share Bar Title', 'kraftives'), 'type' => 'text', 'default' => __('Share the Story @', 'kraftives'), 'required' => array(0 => 'social_sharing_bar', 1 => '=', 2 => 1)), array('desc' => __('Set position of social sharing bar on single blog post.', 'kraftives'), 'id' => 'social_sharing_bar_pos', 'type' => 'radio', 'options' => array('after_title' => __('After title', 'kraftives'), 'before_comment' => __('Before Comments', 'kraftives')), 'title' => __('Position of Social Sharing bar', 'kraftives'), 'default' => 'before_comment', 'required' => array(0 => 'social_sharing_bar', 1 => '=', 2 => 1)), array('desc' => __('Enable and Disable social media sharing icon by drag and drop feature to display on blog single post', 'kraftives'), 'id' => 'enable_social_sharing', 'type' => 'sorter', 'title' => __('Social Media Sharing', 'kraftives'), 'required' => array(0 => 'social_sharing_bar', 1 => '=', 2 => 1), 'options' => array('disabled' => array('facebook' => __('Facebook', 'kraftives'), 'pinterest' => __('Pinterest', 'kraftives')), 'enabled' => array('twitter' => __('Twitter', 'kraftives'), 'linkedin' => __('Linked In', 'kraftives'), 'google' => __('Google Plus', 'kraftives'))))));
            /* Social Networks Settigns */
            $this->sections[] = array('title' => __('Social Networks', 'kraftives'), 'fields' => array(array('desc' => __('Enter Facebook Link.', 'kraftives'), 'id' => 'facebook', 'type' => 'text', 'title' => __('Facebook', 'kraftives'), 'default' => ''), array('desc' => __('Enter Linkedin Link.', 'kraftives'), 'id' => 'linkedin', 'type' => 'text', 'title' => __('LinkedIn', 'kraftives'), 'default' => ''), array('desc' => __('Enter Google Plus Link.', 'kraftives'), 'id' => 'google-plus', 'type' => 'text', 'title' => __('Google Plus', 'kraftives'), 'default' => ''), array('desc' => __('Enter Twitter Link.', 'kraftives'), 'id' => 'twitter', 'type' => 'text', 'title' => __('Twitter', 'kraftives'), 'default' => ''), array('desc' => __('Enter Youtube Link.', 'kraftives'), 'id' => 'youtube-play', 'type' => 'text', 'title' => __('Youtube', 'kraftives'), 'default' => ''), array('desc' => __('Enter Vimeo Link.', 'kraftives'), 'id' => 'vimeo-square', 'type' => 'text', 'title' => __('Vimeo', 'kraftives'), 'default' => ''), array('desc' => __('Enter pinterest Link.', 'kraftives'), 'id' => 'pinterest', 'type' => 'text', 'title' => __('Pinterest', 'kraftives'), 'default' => ''), array('desc' => __('Enter Behance Link.', 'kraftives'), 'id' => 'behance', 'type' => 'text', 'title' => __('Behance', 'kraftives'), 'default' => ''), array('desc' => __('Enter Skype Link.', 'kraftives'), 'id' => 'skype', 'type' => 'text', 'title' => __('Skype', 'kraftives'), 'default' => ''), array('desc' => __('Enter Instagram Link.', 'kraftives'), 'id' => 'instagram', 'type' => 'text', 'title' => __('Instagram', 'kraftives'), 'default' => ''), array('desc' => __('Enter Delicious Link.', 'kraftives'), 'id' => 'delicious', 'type' => 'text', 'title' => __('Delicious', 'kraftives'), 'default' => ''), array('desc' => __('Enter Soundcloud Link.', 'kraftives'), 'id' => 'soundcloud', 'type' => 'text', 'title' => __('Soundcloud', 'kraftives'), 'default' => ''), array('desc' => __('Enter Flickr Link.', 'kraftives'), 'id' => 'flickr', 'type' => 'text', 'title' => __('Flickr', 'kraftives'), 'default' => ''), array('desc' => __('Enter Rss Feeds Link.', 'kraftives'), 'id' => 'rss', 'type' => 'text', 'title' => __('Rss Feeds', 'kraftives'), 'default' => '')), 'icon' => 'el-icon-comment-alt');
            /* Portfolio Listing Settings */
            $this->sections[] = array('title' => __('Portfolio Listing', 'kraftives'), 'fields' => array(array('desc' => __('Main Bold heading of portfolio listing page.<br>
							<strong>Note:</strong> For portfolio archive page the main heading will be the portfolio Archive title', 'kraftives'), 'id' => 'portfolio_main_heading', 'type' => 'text', 'title' => __('Main Heading', 'kraftives'), 'default' => 'Creative so far'), array('desc' => __('This will be the sub heading and will be same for portfolio listing and portfolio archive listing pages', 'kraftives'), 'id' => 'portfolio_sub_heading', 'type' => 'text', 'title' => __('Sub Heading', 'kraftives'), 'default' => __('Grab some Pop corns and enjoy', 'kraftives')), array('desc' => __('This will be the 3rd heading used as description same in portfolio listing and portfolio archive listing pages', 'kraftives'), 'id' => 'portfolio_heading_desc', 'type' => 'textarea', 'title' => __('Heading Description', 'kraftives'), 'default' => 'Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nibh tinci dunt ut laoreet dolore magna aliquam erat volutpat.'), array("type" => "text", "title" => __("Custom Slug for Portfolio", "kraftives"), "id" => "portfolio_slug", "description" => __("You can replace the default portfolio slug , set here custom portfolio slug then access portfolio listing page. Default: portfolio", "kraftives")), array('desc' => __('Set how many portfolio items would you like to include in the grid. Use -1 to include all your items.', 'kraftives'), 'id' => 'portfolio_items_show', 'type' => 'slider', 'title' => __('Number of Items to Display', 'kraftives'), 'default' => -1, 'min' => -1, 'step' => 1, 'max' => 500, 'resolution' => 1, 'display_value' => 'text'), array('desc' => __('Select portfolio categories to display in filterable navigation. If no category selected, all portfolio projects will display', 'kraftives'), 'id' => 'portfolio_categories', 'type' => 'select', 'multi' => true, 'title' => __('Navigation Categories to Filter', 'kraftives'), 'default' => '', 'options' => folio_get_all_cat_list()), array("type" => "select", "title" => __("Portfolio Navigation Alignment", "kraftives"), "id" => "portfolio_align", "default" => "align_center", "options" => array('align_left' => __("Left", "kraftives"), 'align_right' => __("Right", "kraftives"), 'align_center' => __("Center", "kraftives")), "description" => __("Set alignment of filterable Portfolio navigation on portfolio listing page.", "kraftives")), array("type" => "text", "title" => __("Keyword for All Projects Filter", "kraftives"), "id" => "allword", "default" => "All", "description" => __("You can replace the default 'All' keyword for the initial filter with another one. If you want to hide it", "kraftives")), array("type" => "select", "title" => __("Grid Layout Style", "kraftives"), "id" => "portfolio_style", "default" => "three_columns", "options" => array('three_columns' => __("Three Columns", "kraftives"), 'four_columns' => __("Four Columns", "kraftives")), "description" => __("Set the portfolio grid view option two view option are available : Three Columns and Four Columns Page View.", "kraftives")), array('desc' => __('This will display the map in footer of <br />
								This option will apply on portfolio listing page
								<br />
								<strong>Note:</strong>To display map, make sure that you have enabled map from theme options.', 'kraftives'), 'id' => 'portfolio_listing_map', 'on' => __('Show', 'kraftives'), 'off' => __('Hide', 'kraftives'), 'type' => 'switch', 'title' => __('Display Map', 'kraftives'), 'default' => 1), array('desc' => __('This will display curve style of Map on footer.<br />
								This option will apply on portfolio listing page.', 'kraftives'), 'id' => 'is_curve_on_portfolio', 'type' => 'switch', 'on' => __('Active', 'kraftives'), 'off' => __('Deactive', 'kraftives'), 'title' => __('Curve Style', 'kraftives'), 'default' => 1)), 'icon' => 'el-icon-th');
            /* Footer Settigns */
            $this->sections[] = array('title' => __('Footer', 'kraftives'), 'fields' => array(array('desc' => __('Organize how you want to show social icons in 404 page', 'kraftives'), 'id' => 'arrang_social_icon', 'type' => 'sorter', 'title' => __('Arrange Social Icons', 'kraftives'), 'options' => array('disabled' => array('flickr' => __('Flickr', 'kraftives'), 'youtube-play' => __('Youtbe', 'kraftives'), 'vimeo-square' => __('Vimeo', 'kraftives'), 'rss' => __('RSS Feeds', 'kraftives'), 'skype' => __('Skype', 'kraftives'), 'pinterest' => __('Pinterest', 'kraftives'), 'behance' => __('Behance', 'kraftives'), 'instagram' => __('Instagram', 'kraftives'), 'delicious' => __('Delicious', 'kraftives'), 'soundcloud' => __('Soundcloud', 'kraftives')), 'enabled' => array('facebook' => __('Facebook', 'kraftives'), 'twitter' => __('Twitter', 'kraftives'), 'linkedin' => __('Linked In', 'kraftives'), 'google-plus' => __('Google Plus', 'kraftives')))), array('desc' => __('Show hide footer text. ', 'kraftives'), 'id' => 'switch_footer_text', 'type' => 'switch', 'title' => __('Footer Text', 'kraftives'), 'default' => 1), array('desc' => __('Footer copyright text here.', 'kraftives'), 'id' => 'footer_text', 'type' => 'editor', 'title' => __('Footer Text', 'kraftives'), 'default' => 'Copyright &copy; 2014 Design with <span><i class="fa fa-heart"></i></span> love by <a href="http://kraftives.com">Kraftives.com</a>', 'required' => array(0 => 'switch_footer_text', 1 => '=', 2 => 1)), array('desc' => __('Pick a background color for the footer (default: #222222).', 'kraftives'), 'id' => 'footer_background', 'type' => 'color', 'title' => __('Footer Background Color', 'kraftives'), 'default' => ''), array('desc' => __('Pick a font color of text present in footer (default: #555555).', 'kraftives'), 'id' => 'footer_font_color', 'type' => 'color', 'title' => __('Footer text font color', 'kraftives'), 'default' => '#555555'), array('desc' => __('Set Footer top padding.Default: 0px', 'kraftives'), 'id' => 'footer_top_padding', 'type' => 'select', 'options' => folio_font_size(), 'title' => __('Footer Top Padding ', 'kraftives'), 'default' => '0'), array('desc' => __('Set Footer bottom padding. Default: 0px', 'kraftives'), 'id' => 'footer_bottom_padding', 'type' => 'select', 'options' => folio_font_size(), 'title' => __('Footer Bottom Padding ', 'kraftives'), 'default' => '0')), 'icon' => 'el-icon-website');
            /* Footer Google Map Settigns */
            $this->sections[] = array('icon' => 'el-icon-map-marker', 'title' => __('Footer Map Settings', 'kraftives'), 'subsection' => true, 'fields' => array(array('id' => 'map_desc', 'icon' => true, 'type' => 'info', 'raw' => __('<h3>Google Map.</h3>
										Global Settings for google map displayed in footer', 'kraftives')), array('desc' => __('Show / hide google map globaly.<br />
										<strong>Note:</strong> You can enable and disable map to show and hide from each individual pages, posts & portfolio', 'kraftives'), 'id' => 'gmap_show_hide', 'type' => 'switch', 'on' => __('Show', 'kraftives'), 'off' => __('Hide', 'kraftives'), 'title' => __('Show / Hide Google Map', 'kraftives'), 'default' => 0), array('desc' => __('Show / hide toggle button from footer map.', 'kraftives'), 'id' => 'show_hide_toogle_button', 'type' => 'switch', 'on' => __('Show', 'kraftives'), 'off' => __('Hide', 'kraftives'), 'title' => __('Show / Hide Toggle Button', 'kraftives'), 'default' => 1, 'required' => array(0 => 'gmap_show_hide', 1 => '=', 2 => 1)), array('desc' => __('Google map toggle button text', 'kraftives'), 'id' => 'gmap_toggle_btn_txt', 'type' => 'text', 'default' => 'Map Location', 'title' => __('Google Map Toggle Button Text', 'kraftives'), 'required' => array(0 => 'show_hide_toogle_button', 1 => '=', 2 => 1)), array('desc' => __('Select map toggle state between open or close when loaded.', 'kraftives'), 'id' => 'map_toggle_state', 'type' => 'switch', 'on' => __('Open', 'kraftives'), 'off' => __('Close', 'kraftives'), 'title' => __('Map Toggle state.', 'kraftives'), 'default' => 1, 'required' => array(0 => 'show_hide_toogle_button', 1 => '=', 2 => 1)), array('desc' => __('Select map style type between default, dark and greyscale', 'kraftives'), 'id' => 'gmap_type', 'type' => 'select', 'title' => __('Map Type', 'kraftives'), 'default' => 'greyscale', 'options' => array('default' => __('Default', 'kraftives'), 'dark' => __('Dark', 'kraftives'), 'greyscale' => __('Greyscale', 'kraftives')), 'required' => array(0 => 'gmap_show_hide', 1 => '=', 2 => 1)), array('desc' => __('Active Curve Style.<br />
										<strong>Note:</strong> You can enable curve style for map', 'kraftives'), 'id' => 'is_curve', 'type' => 'switch', 'on' => __('Active', 'kraftives'), 'off' => __('Deactive', 'kraftives'), 'title' => __('Curve Style', 'kraftives'), 'default' => 1, 'required' => array(0 => 'gmap_show_hide', 1 => '=', 2 => 1)), array('desc' => __('Map zoom level. Default: 14.', 'kraftives'), 'id' => 'gmap_zoom_level', 'min' => '8', 'step' => '1', 'max' => '20', 'type' => 'slider', 'title' => __('Zoom Level', 'kraftives'), 'default' => '14', 'required' => array(0 => 'gmap_show_hide', 1 => '=', 2 => 1)), array('desc' => __('Select map location by address or latitude & langitude. Default: address', 'kraftives'), 'id' => 'find_location_by', 'type' => 'select', 'title' => __('Select Location By Type', 'kraftives'), 'default' => 'address', 'options' => array('address' => 'Address', 'lat_lang' => 'Latitude & Longitude'), 'required' => array(0 => 'gmap_show_hide', 1 => '=', 2 => 1)), array('desc' => __('Enter address to find loaction on map.', 'kraftives'), 'id' => 'gmap_address', 'type' => 'text', 'title' => __('Address', 'kraftives'), 'default' => '38th AVENUE STREET, Calgary, AB Canada', 'required' => array(0 => 'find_location_by', 1 => '=', 2 => 'address')), array('desc' => __('Enter Latitude to find loaction on map.', 'kraftives'), 'id' => 'gmap_latitude', 'type' => 'text', 'title' => __('Latitude', 'kraftives'), 'default' => '37.422117', 'required' => array(0 => 'find_location_by', 1 => '=', 2 => 'lat_lang')), array('desc' => __('Enter Longitude to find loaction on map.', 'kraftives'), 'id' => 'gmap_longitude', 'type' => 'text', 'title' => __('Longitude', 'kraftives'), 'default' => '-122.084053', 'required' => array(0 => 'find_location_by', 1 => '=', 2 => 'lat_lang')), array('desc' => __('Enter map marker title.', 'kraftives'), 'id' => 'gmap_marker_title', 'type' => 'text', 'title' => __('Map Marker Title', 'kraftives'), 'default' => 'Kraftives', 'required' => array(0 => 'gmap_show_hide', 1 => '=', 2 => 1)), array('desc' => __('Upload custom map marker.', 'kraftives'), 'id' => 'gmap_marker_img', 'type' => 'media', 'title' => __('Map Marker Image', 'kraftives'), 'url' => true, 'required' => array(0 => 'gmap_show_hide', 1 => '=', 2 => 1)), array('desc' => __('Set marker height. Default: 105px', 'kraftives'), 'id' => 'gmap_marker_height', 'type' => 'select', 'options' => folio_font_size(), 'title' => __('Map Marker Height', 'kraftives'), 'default' => '105', 'required' => array(0 => 'gmap_show_hide', 1 => '=', 2 => 1)), array('desc' => __('Set marker width. Default: 308px', 'kraftives'), 'id' => 'gmap_marker_width', 'type' => 'select', 'options' => folio_font_size(), 'title' => __('Map Marker Width', 'kraftives'), 'default' => '308', 'required' => array(0 => 'gmap_show_hide', 1 => '=', 2 => 1)), array('desc' => __('Enter map height.', 'kraftives'), 'id' => 'gmap_map_height', 'type' => 'text', 'title' => __('Map Height', 'kraftives'), 'default' => 500, 'required' => array(0 => 'gmap_show_hide', 1 => '=', 2 => 1))));
            /* 404 Page Settigns */
            $this->sections[] = array('title' => __('Page 404', 'kraftives'), 'fields' => array(array('desc' => __('This will be the 404 word replacment.', 'kraftives'), 'id' => 'word_404', 'type' => 'text', 'title' => __('404', 'kraftives'), 'default' => '404'), array('desc' => __('This will be the main heading of 404 page.', 'kraftives'), 'id' => 'main_heading_404', 'type' => 'text', 'title' => __('404 Page Main Heading', 'kraftives'), 'default' => 'Error 404'), array('desc' => __('This will be the sub heading 404 page.', 'kraftives'), 'id' => 'sub_heading_404', 'type' => 'text', 'title' => __('404 Page Sub Heading', 'kraftives'), 'default' => 'The Desired Page Not Found.'), array('desc' => __('This will be the Description of 404 page.', 'kraftives'), 'id' => 'heading_desc_404', 'type' => 'textarea', 'title' => __('404 Page Heading Description', 'kraftives'), 'default' => __('Sorry, but the requested resource was not found on this site. Please try again or contact the administrator for assistance.', 'kraftives'))), 'icon' => 'el-icon-remove-circle');
            $this->sections[] = array('type' => 'divide');
            /* Documention Settigns */
            if (file_exists(dirname(__FILE__) . '/../README.md')) {
                $this->sections[] = array('icon' => 'el-icon-list-alt', 'title' => __('Documentation', 'kraftives'), 'fields' => array(array('id' => 'documantion', 'type' => 'raw', 'markdown' => true, 'content' => file_get_contents(dirname(__FILE__) . '/../README.md'))));
            }
            $theme_info = '<div class="redux-framework-section-desc">';
            $theme_info .= '<p class="redux-framework-theme-data description theme-uri">' . __('<strong>Theme URL:</strong> ', 'redux-framework-demo') . '<a href="' . $this->theme->get('ThemeURI') . '" target="_blank">' . $this->theme->get('ThemeURI') . '</a></p>';
            $theme_info .= '<p class="redux-framework-theme-data description theme-author">' . __('<strong>Author:</strong> ', 'redux-framework-demo') . $this->theme->get('Author') . '</p>';
            $theme_info .= '<p class="redux-framework-theme-data description theme-version">' . __('<strong>Version:</strong> ', 'redux-framework-demo') . $this->theme->get('Version') . '</p>';
            $theme_info .= '<p class="redux-framework-theme-data description theme-description">' . $this->theme->get('Description') . '</p>';
            $tabs = $this->theme->get('Tags');
            if (!empty($tabs)) {
                $theme_info .= '<p class="redux-framework-theme-data description theme-tags">' . __('<strong>Tags:</strong> ', 'redux-framework-demo') . implode(', ', $tabs) . '</p>';
            }
            $theme_info .= '</div>';
            $this->sections[] = array('icon' => 'el-icon-info-sign', 'title' => __('Theme Information', 'redux-framework-demo'), 'desc' => __('<p class="description">This is the Description. Again HTML is allowed</p>', 'redux-framework-demo'), 'fields' => array(array('id' => 'opt-raw-info', 'type' => 'raw', 'content' => $item_info)));
            if (file_exists(trailingslashit(dirname(__FILE__)) . 'README.html')) {
                $tabs['docs'] = array('icon' => 'el-icon-book', 'title' => __('Documentation', 'redux-framework-demo'), 'content' => nl2br(file_get_contents(trailingslashit(dirname(__FILE__)) . 'README.html')));
            }
        }
Пример #5
0
        public function setSections()
        {
            /**
             * Used within different fields. Simply examples. Search for ACTUAL DECLARATION for field examples
             * */
            // Background Patterns Reader
            $sample_patterns_path = ReduxFramework::$_dir . '../sample/patterns/';
            $sample_patterns_url = ReduxFramework::$_url . '../sample/patterns/';
            $sample_patterns = array();
            if (is_dir($sample_patterns_path)) {
                if ($sample_patterns_dir = opendir($sample_patterns_path)) {
                    $sample_patterns = array();
                    while (($sample_patterns_file = readdir($sample_patterns_dir)) !== false) {
                        if (stristr($sample_patterns_file, '.png') !== false || stristr($sample_patterns_file, '.jpg') !== false) {
                            $name = explode('.', $sample_patterns_file);
                            $name = str_replace('.' . end($name), '', $sample_patterns_file);
                            $sample_patterns[] = array('alt' => $name, 'img' => $sample_patterns_url . $sample_patterns_file);
                        }
                    }
                }
            }
            ob_start();
            $ct = wp_get_theme();
            $this->theme = $ct;
            $item_name = $this->theme->get('Name');
            $tags = $this->theme->Tags;
            $screenshot = $this->theme->get_screenshot();
            $class = $screenshot ? 'has-screenshot' : '';
            $customize_title = sprintf(__('Customize &#8220;%s&#8221;', 'redux-framework-demo'), $this->theme->display('Name'));
            ?>
            <div id="current-theme" class="<?php 
            echo esc_attr($class);
            ?>
">
            <?php 
            if ($screenshot) {
                ?>
                <?php 
                if (current_user_can('edit_theme_options')) {
                    ?>
                        <a href="<?php 
                    echo wp_customize_url();
                    ?>
" class="load-customize hide-if-no-customize" title="<?php 
                    echo esc_attr($customize_title);
                    ?>
">
                            <img src="<?php 
                    echo esc_url($screenshot);
                    ?>
" alt="<?php 
                    esc_attr_e('Current theme preview');
                    ?>
" />
                        </a>
                <?php 
                }
                ?>
                    <img class="hide-if-customize" src="<?php 
                echo esc_url($screenshot);
                ?>
" alt="<?php 
                esc_attr_e('Current theme preview');
                ?>
" />
                <?php 
            }
            ?>

                <h4><?php 
            echo $this->theme->display('Name');
            ?>
</h4>

                <div>
                    <ul class="theme-info">
                        <li><?php 
            printf(__('By %s', 'redux-framework-demo'), $this->theme->display('Author'));
            ?>
</li>
                        <li><?php 
            printf(__('Version %s', 'redux-framework-demo'), $this->theme->display('Version'));
            ?>
</li>
                        <li><?php 
            echo '<strong>' . __('Tags', 'redux-framework-demo') . ':</strong> ';
            printf($this->theme->display('Tags'));
            ?>
</li>
                    </ul>
                    <p class="theme-description"><?php 
            echo $this->theme->display('Description');
            ?>
</p>
            <?php 
            if ($this->theme->parent()) {
                printf(' <p class="howto">' . __('This <a href="%1$s">child theme</a> requires its parent theme, %2$s.') . '</p>', __('http://codex.wordpress.org/Child_Themes', 'redux-framework-demo'), $this->theme->parent()->display('Name'));
            }
            ?>

                </div>
            </div>

            <?php 
            $item_info = ob_get_contents();
            ob_end_clean();
            $sampleHTML = '';
            if (file_exists(dirname(__FILE__) . '/info-html.html')) {
                Redux_Functions::initWpFilesystem();
                global $wp_filesystem;
                $sampleHTML = $wp_filesystem->get_contents(dirname(__FILE__) . '/info-html.html');
            }
            // ACTUAL DECLARATION OF SECTIONS
            /*-----------------------------------------------------------------------------------*/
            /*  - General
                /*-----------------------------------------------------------------------------------*/
            $this->sections[] = array('title' => __('General', 'redux-framework-demo'), 'desc' => __('Welcome to the Alice Options Panel! Control and configure the general setup of your theme.', 'redux-framework-demo'), 'icon' => 'font-icon-house', 'customizer' => false, 'fields' => array(array('id' => 'custom_admin_logo', 'type' => 'media', 'title' => __('Custom Admin Login Logo', 'redux-framework-demo'), 'subtitle' => __('Upload 260 x 98px image here to replace the admin login logo', 'redux-framework-demo'), 'desc' => ''), array('id' => 'favicon', 'type' => 'media', 'title' => __('Favicon Upload', 'redux-framework-demo'), 'subtitle' => __('Upload a 16px x 16px Png/Gif image that will represent your website\'s favicon.', 'redux-framework-demo'), 'desc' => ''), array('id' => 'custom_ios_bookmark_title', 'type' => 'text', 'title' => __('Custom iOS Bookmark Title', 'redux-framework-demo'), 'subtitle' => __('Enter a custom title for your site for when it is added as an iOS bookmark.', 'redux-framework-demo'), 'default' => ''), array('id' => 'custom_ios_57', 'type' => 'media', 'title' => __('Custom iOS 57x57', 'redux-framework-demo'), 'subtitle' => __('Upload a 57px x 57px Png image that will be your website bookmark on non-retina iOS devices.', 'redux-framework-demo'), 'desc' => ''), array('id' => 'custom_ios_72', 'type' => 'media', 'title' => __('Custom iOS 72x72', 'redux-framework-demo'), 'subtitle' => __('Upload a 72px x 72px Png image that will be your website bookmark on non-retina iOS devices.', 'redux-framework-demo'), 'desc' => ''), array('id' => 'custom_ios_114', 'type' => 'media', 'title' => __('Custom iOS 114x114', 'redux-framework-demo'), 'subtitle' => __('Upload a 114px x 114px Png image that will be your website bookmark on retina iOS devices.', 'redux-framework-demo'), 'desc' => ''), array('id' => 'custom_ios_144', 'type' => 'media', 'title' => __('Custom iOS 144x144', 'redux-framework-demo'), 'subtitle' => __('Upload a 144px x 144px Png image that will be your website bookmark on retina iOS devices.', 'redux-framework-demo'), 'desc' => '')));
            // Preloader
            $this->sections[] = array('title' => __('Preloader', 'redux-framework-demo'), 'subsection' => true, 'icon' => 'font-icon-arrow-right-simple-thin-round', 'customizer' => false, 'fields' => array(array('id' => 'preloader_settings', 'type' => 'switch', 'title' => __('Preloader Page/Post', 'redux-framework-demo'), 'subtitle' => __('Enable/Disable preloader page/post for your site.', 'redux-framework-demo'), 'desc' => '', 'default' => 0), array('id' => 'global_preloader_visibility', 'type' => 'button_set', 'required' => array('preloader_settings', '=', '1'), 'title' => __('Global Preloader Setting', 'redux-framework-demo'), 'subtitle' => __('Enable or Disable the Preloader.<br/><br/><em>If you want can modify in each page/post the setting about the preloader.</em>', 'redux-framework-demo'), 'desc' => '', 'options' => array('show' => 'Show', 'hide' => 'Hide'), 'default' => 'show'), array('id' => 'preloader_design_mode', 'type' => 'button_set', 'required' => array('preloader_settings', '=', '1'), 'title' => __('Preloader Design', 'redux-framework-demo'), 'subtitle' => __('Select your design for your preloader.', 'redux-framework-demo'), 'desc' => '', 'options' => array('1' => 'Default', '2' => 'Image'), 'default' => '1'), array('id' => 'preloader_media_image', 'type' => 'media', 'required' => array('preloader_design_mode', '=', '2'), 'title' => __('Preloader Custom Image', 'redux-framework-demo'), 'subtitle' => __('Upload a PNG or GIF image that will be used in all applicable areas on your site as the loading image.', 'redux-framework-demo'), 'desc' => '')));
            // Common
            $this->sections[] = array('title' => __('Common Options', 'redux-framework-demo'), 'subsection' => true, 'icon' => 'font-icon-arrow-right-simple-thin-round', 'customizer' => false, 'fields' => array(array('id' => 'enable_mobile_scroll_animation_effects', 'type' => 'switch', 'title' => __('Scroll Animation Effects on Mobile/Tablet devices', 'redux-framework-demo'), 'subtitle' => __('Enable/Disable scroll animation effects on mobile/tablet devices for items.', 'redux-framework-demo'), 'desc' => '', 'default' => 0), array('id' => 'enable_back_to_top', 'type' => 'switch', 'title' => __('Back to Top', 'redux-framework-demo'), 'subtitle' => __('Enable/Disable Back to Top Feature.', 'redux-framework-demo'), 'desc' => '', 'default' => 1), array('id' => 'disable_right_click', 'type' => 'switch', 'title' => __('Disable Right Click', 'redux-framework-demo'), 'subtitle' => __('Enable/Disable Right Click Feature.', 'redux-framework-demo'), 'desc' => '', 'default' => 0)));
            // Tracking Code
            $this->sections[] = array('title' => __('Tracking Code', 'redux-framework-demo'), 'subsection' => true, 'icon' => 'font-icon-arrow-right-simple-thin-round', 'customizer' => false, 'fields' => array(array('id' => 'tracking_code', 'type' => 'text', 'title' => __('Tracking Code', 'redux-framework-demo'), 'subtitle' => __('Paste your Google Analytics Property ID ( UA-XXXX-Y ).<br/><br/>This code will be added before the closing &lt;head&gt; tag.', 'redux-framework-demo'), 'desc' => __('NOTE: This use a default analytics js code. If you want a specific requirements not use this but include the script manually.', 'redux-framework-demo'))));
            // Custom CSS/JS Options
            $this->sections[] = array('title' => __('Custom CSS/JS', 'redux-framework-demo'), 'subsection' => true, 'icon' => 'font-icon-arrow-right-simple-thin-round', 'customizer' => false, 'fields' => array(array('id' => 'enable_custom_css', 'type' => 'switch', 'title' => __('Custom CSS', 'redux-framework-demo'), 'subtitle' => __('Do you want enable custom css?', 'redux-framework-demo'), 'desc' => '', 'default' => 0), array('id' => 'custom_css', 'type' => 'ace_editor', 'required' => array('enable_custom_css', '=', '1'), 'title' => __('Custom CSS Code', 'redux-framework-demo'), 'subtitle' => __('If you have any custom CSS you would like added to the site, please enter it here.<br/><br/>This code will be added before the closing &lt;head&gt; tag.', 'redux-framework-demo'), 'mode' => 'css', 'theme' => 'monokai', 'desc' => ''), array('id' => 'enable_custom_js', 'type' => 'switch', 'title' => __('Custom JS', 'redux-framework-demo'), 'subtitle' => __('Do you want enable custom js?', 'redux-framework-demo'), 'desc' => '', 'default' => 0), array('id' => 'custom_js', 'type' => 'ace_editor', 'mode' => 'javascript', 'theme' => 'chrome', 'required' => array('enable_custom_js', '=', '1'), 'title' => __('Custom JS Code', 'redux-framework-demo'), 'subtitle' => __('If you have any custom js you would like added to the site, please enter it here.<br/><br/>This code will be added before the closing &lt;body&gt; tag.', 'redux-framework-demo'), 'desc' => __('NOTE: Write or Copy &amp; Paste only the javascript/jquery code without the &lt;script&gt; tag.', 'redux-framework-demo'))));
            // Performance
            $this->sections[] = array('title' => __('Performance', 'redux-framework-demo'), 'subsection' => true, 'icon' => 'font-icon-arrow-right-simple-thin-round', 'customizer' => false, 'fields' => array(array('id' => 'performance_minified_settings', 'type' => 'switch', 'title' => __('Load Minified File', 'redux-framework-demo'), 'subtitle' => __('Load style.css and the main.js minfied version, the other files are already minified by default.', 'redux-framework-demo'), 'desc' => '', 'default' => 0)));
            /*-----------------------------------------------------------------------------------*/
            /*  - Typography
                /*-----------------------------------------------------------------------------------*/
            $this->sections[] = array('title' => __('Typography', 'redux-framework-demo'), 'desc' => __('Welcome to the Alice Options Panel! Control and configure the typography of your theme.', 'redux-framework-demo'), 'icon' => 'font-icon-pencil', 'customizer' => false, 'fields' => array(array('id' => 'enable_custom_fonts', 'type' => 'switch', 'title' => __('Custom Fonts', 'redux-framework-demo'), 'subtitle' => __('Do you want enable custom fonts?', 'redux-framework-demo'), 'desc' => '', 'default' => 0), array('id' => 'logo_text_typo', 'type' => 'typography', 'required' => array('enable_custom_fonts', '=', '1'), 'title' => __('Logo Text', 'redux-framework-demo'), 'compiler' => false, 'google' => true, 'font-backup' => false, 'font-style' => false, 'font-weight' => false, 'font-size' => false, 'subsets' => true, 'line-height' => false, 'text-align' => false, 'word-spacing' => false, 'letter-spacing' => false, 'color' => false, 'preview' => true, 'all_styles' => true, 'units' => 'rem', 'subtitle' => __('You can change the font of these elements: logo text type only.<br><br>( see the documentation for details )', 'redux-framework-demo'), 'default' => array('font-family' => 'Montserrat', 'google' => true)), array('id' => 'general_body_common_text_typo', 'type' => 'typography', 'required' => array('enable_custom_fonts', '=', '1'), 'title' => __('Body and Others', 'redux-framework-demo'), 'compiler' => false, 'google' => true, 'font-backup' => false, 'font-style' => false, 'font-weight' => false, 'font-size' => false, 'subsets' => true, 'line-height' => false, 'text-align' => false, 'word-spacing' => false, 'letter-spacing' => false, 'color' => false, 'preview' => true, 'all_styles' => true, 'units' => 'rem', 'subtitle' => __('You can change the font of these elements: body and others elements.<br><br>( see the documentation for details )', 'redux-framework-demo'), 'default' => array('font-family' => 'Source Sans Pro', 'google' => true)), array('id' => 'general_heading_common_text_typo', 'type' => 'typography', 'required' => array('enable_custom_fonts', '=', '1'), 'title' => __('Headings and Others', 'redux-framework-demo'), 'compiler' => false, 'google' => true, 'font-backup' => false, 'font-style' => false, 'font-weight' => false, 'font-size' => false, 'subsets' => true, 'line-height' => false, 'text-align' => false, 'word-spacing' => false, 'letter-spacing' => false, 'color' => false, 'preview' => true, 'all_styles' => true, 'units' => 'rem', 'subtitle' => __('You can change the font of these elements: headings and others elements.<br><br>( see the documentation for details )', 'redux-framework-demo'), 'default' => array('font-family' => 'Montserrat', 'google' => true)), array('id' => 'general_special_common_text_typo', 'type' => 'typography', 'required' => array('enable_custom_fonts', '=', '1'), 'title' => __('Special and Others', 'redux-framework-demo'), 'compiler' => false, 'google' => true, 'font-backup' => false, 'font-style' => false, 'font-weight' => false, 'font-size' => false, 'subsets' => true, 'line-height' => false, 'text-align' => false, 'word-spacing' => false, 'letter-spacing' => false, 'color' => false, 'preview' => true, 'all_styles' => true, 'units' => 'rem', 'subtitle' => __('You can change the font of these elements: Normal Title Header and others elements.<br><br>( see the documentation for details )', 'redux-framework-demo'), 'default' => array('font-family' => 'Crimson Text', 'google' => true))));
            /*-----------------------------------------------------------------------------------*/
            /*  - Colors
                /*-----------------------------------------------------------------------------------*/
            $this->sections[] = array('title' => __('Colors', 'redux-framework-demo'), 'desc' => __('Welcome to the Alice Options Panel! Control and configure the colors setup of your theme.', 'redux-framework-demo'), 'icon' => 'font-icon-brush', 'customizer' => true, 'fields' => array(array('id' => 'enable_custom_colors', 'type' => 'switch', 'title' => __('Custom Colors', 'redux-framework-demo'), 'subtitle' => __('Do you want enable custom colors?', 'redux-framework-demo'), 'desc' => '', 'default' => 0), array('id' => 'light_type_custom_color', 'type' => 'color', 'required' => array('enable_custom_colors', '=', '1'), 'title' => __('Light Type Logo/Navigation Colors', 'redux-framework-demo'), 'subtitle' => __('You can change the colors based on Light Logo/Navigation Type.<br><br>This modify the colors for header and some elements of Title Header.<br><br>( see the documentation for details )', 'redux-framework-demo'), 'default' => '#FFFFFF', 'transparent' => false), array('id' => 'dark_type_custom_color', 'type' => 'color', 'required' => array('enable_custom_colors', '=', '1'), 'title' => __('Dark Type Logo/Navigation Colors', 'redux-framework-demo'), 'subtitle' => __('You can change the colors based on Dark Logo/Navigation Type.<br><br>This modify the colors for header and some elements of Title Header.<br><br>( see the documentation for details )', 'redux-framework-demo'), 'default' => '#28282E', 'transparent' => false), array('id' => 'general_body_custom_color', 'type' => 'color', 'required' => array('enable_custom_colors', '=', '1'), 'title' => __('Body and Others Colors', 'redux-framework-demo'), 'subtitle' => __('You can change the colors of these elements: body and others elements connected with this color.<br><br>( see the documentation for details )', 'redux-framework-demo'), 'default' => '#5D556F', 'transparent' => false), array('id' => 'general_main_custom_color', 'type' => 'color', 'required' => array('enable_custom_colors', '=', '1'), 'title' => __('Main and Others Colors', 'redux-framework-demo'), 'subtitle' => __('You can change the colors of these elements: link and others elements connected with this color.<br><br>( see the documentation for details )', 'redux-framework-demo'), 'default' => '#EF4135', 'transparent' => false)));
            /*-----------------------------------------------------------------------------------*/
            /*  - Header
                /*-----------------------------------------------------------------------------------*/
            $this->sections[] = array('title' => __('Header', 'redux-framework-demo'), 'icon' => 'font-icon-list-2');
            // Logo
            $this->sections[] = array('title' => __('Logo', 'redux-framework-demo'), 'subsection' => true, 'icon' => 'font-icon-arrow-right-simple-thin-round', 'customizer' => false, 'fields' => array(array('id' => 'global_logo_navi_type_color', 'type' => 'button_set', 'title' => __('Global Logo/Navigation Type', 'redux-framework-demo'), 'subtitle' => __('The setting refers to which type of logo/navigation will appear.<br/><br/><em>If you want can modify in each page/post the setting about the color type.</em>', 'redux-framework-demo'), 'desc' => '', 'options' => array('light' => 'Light', 'dark' => 'Dark'), 'default' => 'light'), array('id' => 'logo_top_value', 'type' => 'text', 'title' => __('Logo Top Value', 'redux-framework-demo'), 'subtitle' => __('Set your custom value for top logo position.<br/><br/><em>Default is 3</em>', 'redux-framework-demo'), 'desc' => __('Insert only a number. (no px)', 'redux-framework-demo'), 'default' => ''), array('id' => 'logo_max_height_value', 'type' => 'text', 'title' => __('Logo Max-Height Value', 'redux-framework-demo'), 'subtitle' => __('Set a max height for the logo here, and this will resize it on the front end if your logo image is bigger.<br/><br/><em>Default is 50</em>', 'redux-framework-demo'), 'desc' => __('Insert only a number. (no px)', 'redux-framework-demo'), 'default' => '50'), array('id' => 'use_logo_image', 'type' => 'switch', 'title' => __('Use Image for Logo?', 'redux-framework-demo'), 'subtitle' => __('Upload a logo for your theme.<br/> Otherwise you will see the Plain Text Logo.', 'redux-framework-demo'), 'desc' => '', 'default' => 0), array('id' => 'logo', 'type' => 'media', 'required' => array('use_logo_image', '=', '1'), 'title' => __('Logo PNG Upload', 'redux-framework-demo'), 'subtitle' => __('Upload your logo.', 'redux-framework-demo'), 'desc' => ''), array('id' => 'retina_logo', 'type' => 'media', 'required' => array('use_logo_image', '=', '1'), 'title' => __('Retina PNG Logo Upload', 'redux-framework-demo'), 'subtitle' => __('Upload your Retina Logo for Retina Devices. Double Size of Logo PNG.', 'redux-framework-demo'), 'desc' => ''), array('id' => 'dark_logo', 'type' => 'media', 'required' => array('use_logo_image', '=', '1'), 'title' => __('Dark Logo PNG Upload', 'redux-framework-demo'), 'subtitle' => __('<em>Optional</em>. Upload your Dark Logo version.', 'redux-framework-demo'), 'desc' => ''), array('id' => 'dark_retina_logo', 'type' => 'media', 'required' => array('use_logo_image', '=', '1'), 'title' => __('Dark Retina PNG Logo Upload', 'redux-framework-demo'), 'subtitle' => __('<em>Optional</em>. Upload your Dark Retina Logo version for Retina Devices. Double Size of Dark Logo PNG.', 'redux-framework-demo'), 'desc' => '')));
            // Top Side
            $this->sections[] = array('title' => __('Top Side', 'redux-framework-demo'), 'subsection' => true, 'icon' => 'font-icon-arrow-right-simple-thin-round', 'customizer' => false, 'fields' => array(array('id' => 'global_optional_header_menu', 'type' => 'button_set', 'title' => __('Search/Share Menu', 'redux-framework-demo'), 'subtitle' => __('The setting refers to enable search and share functionality on header area.', 'redux-framework-demo'), 'desc' => '', 'options' => array('show' => 'Show', 'hide' => 'Hide'), 'default' => 'hide'), array('id' => 'global_optional_header_menu_scroll', 'type' => 'button_set', 'required' => array('global_optional_header_menu', '=', 'show'), 'title' => __('Scroll Effects', 'redux-framework-demo'), 'subtitle' => __('Activate the scroll feature for search/share menu.', 'redux-framework-demo'), 'desc' => '', 'options' => array('always' => 'Always Visible', 'scroll' => 'Only Scroll Up'), 'default' => 'always'), array('id' => 'global_menu_search_button', 'type' => 'button_set', 'required' => array('global_optional_header_menu', '=', 'show'), 'title' => __('Search', 'redux-framework-demo'), 'subtitle' => __('Enable or Disable Search Feature.', 'redux-framework-demo'), 'desc' => '', 'options' => array('enable' => 'Enable', 'disable' => 'Disable'), 'default' => 'disable'), array('id' => 'global_menu_share_button', 'type' => 'button_set', 'required' => array('global_optional_header_menu', '=', 'show'), 'title' => __('Share', 'redux-framework-demo'), 'subtitle' => __('Enable or Disable Share Page Feature.', 'redux-framework-demo'), 'desc' => '', 'options' => array('enable' => 'Enable', 'disable' => 'Disable'), 'default' => 'disable'), array('id' => 'header_twitter_share', 'type' => 'checkbox', 'required' => array('global_menu_share_button', '=', 'enable'), 'title' => __('Twitter', 'redux-framework-demo'), 'subtitle' => 'Tweet it.', 'desc' => '', 'default' => '1'), array('id' => 'header_facebook_share', 'type' => 'checkbox', 'required' => array('global_menu_share_button', '=', 'enable'), 'title' => __('Facebook', 'redux-framework-demo'), 'subtitle' => 'Share it.', 'desc' => '', 'default' => '1'), array('id' => 'header_google_share', 'type' => 'checkbox', 'required' => array('global_menu_share_button', '=', 'enable'), 'title' => __('Google Plus', 'redux-framework-demo'), 'subtitle' => 'Google it.', 'desc' => '', 'default' => '1'), array('id' => 'header_pinterest_share', 'type' => 'checkbox', 'required' => array('global_menu_share_button', '=', 'enable'), 'title' => __('Pinterest', 'redux-framework-demo'), 'subtitle' => 'Pin it.', 'desc' => '', 'default' => '1'), array('id' => 'header_linkedin_share', 'type' => 'checkbox', 'required' => array('global_menu_share_button', '=', 'enable'), 'title' => __('Linked In', 'redux-framework-demo'), 'subtitle' => 'Linked it.', 'desc' => '', 'default' => '1')));
            // Left Side
            $this->sections[] = array('title' => __('Left Side', 'redux-framework-demo'), 'subsection' => true, 'icon' => 'font-icon-arrow-right-simple-thin-round', 'customizer' => false, 'fields' => array(array('id' => 'left_side_slogan_visibility', 'type' => 'button_set', 'title' => __('Left Side Panel', 'redux-framework-demo'), 'subtitle' => __('The setting refers to enable the slogan box in the menu area.', 'redux-framework-demo'), 'options' => array('show' => 'Show', 'hide' => 'Hide'), 'default' => 'show'), array('id' => 'left_side_header_menu', 'type' => 'button_set', 'required' => array('left_side_slogan_visibility', '=', 'show'), 'title' => __('Left Side Mode', 'redux-framework-demo'), 'subtitle' => __('Choose if the slogan area have the solid background or a custom image background.', 'redux-framework-demo'), 'options' => array('solid_color' => 'Solid Color', 'bg_image' => 'Background Image'), 'default' => 'solid_color'), array('id' => 'left_side_background_color', 'type' => 'color', 'required' => array('left_side_header_menu', '=', 'solid_color'), 'title' => __('Solid Background Color', 'redux-framework-demo'), 'subtitle' => __('<em>Optional</em>. Select your custom hex color.', 'redux-framework-demo'), 'default' => '', 'transparent' => false), array('id' => 'left_side_overaly_mask_color', 'type' => 'color_rgba', 'required' => array('left_side_header_menu', '=', 'bg_image'), 'title' => __('Mask Overlay Color', 'redux-framework-demo'), 'subtitle' => __('<em>Required</em>. Select your custom hex color with opacity.', 'redux-framework-demo'), 'default' => array('color' => '#000000', 'alpha' => '0.55'), 'validate' => 'colorrgba', 'transparent' => false), array('id' => 'left_side_background_image', 'type' => 'media', 'title' => __('Background Image', 'redux-framework-demo'), 'subtitle' => __('<em>Required</em>. Upload your background image.', 'redux-framework-demo'), 'desc' => '', 'required' => array('left_side_header_menu', '=', 'bg_image')), array('id' => 'left_side_background_image_position', 'type' => 'select', 'title' => __('Background Image: Position', 'redux-framework-demo'), 'subtitle' => __('Select your background image position.', 'redux-framework-demo'), 'options' => array('left_top' => __('Left Top', 'redux-framework-demo'), 'left_center' => __('Left Center', 'redux-framework-demo'), 'left_bottom' => __('Left Bottom', 'redux-framework-demo'), 'center_top' => __('Center Top', 'redux-framework-demo'), 'center_center' => __('Center Center', 'redux-framework-demo'), 'center_bottom' => __('Center Bottom', 'redux-framework-demo'), 'right_top' => __('Right Top', 'redux-framework-demo'), 'right_center' => __('Right Center', 'redux-framework-demo'), 'right_bottom' => __('Right Bottom', 'redux-framework-demo')), 'default' => 'center_center', 'required' => array('left_side_header_menu', '=', 'bg_image')), array('id' => 'left_side_background_image_repeat', 'type' => 'select', 'title' => __('Background Image: Repeat', 'redux-framework-demo'), 'subtitle' => __('Select your background image repeat.', 'redux-framework-demo'), 'options' => array('no_repeat' => __('No Repeat', 'redux-framework-demo'), 'repeat' => __('Repeat', 'redux-framework-demo'), 'repeat_x' => __('Repeat Horizontally', 'redux-framework-demo'), 'repeat_y' => __('Repeat Vertically', 'redux-framework-demo'), 'stretch' => __('Stretch to fit', 'redux-framework-demo')), 'default' => 'stretch', 'required' => array('left_side_header_menu', '=', 'bg_image')), array('id' => 'left_side_header_slogan_logo', 'type' => 'media', 'required' => array('left_side_slogan_visibility', '=', 'show'), 'title' => __('Slogan Logo', 'redux-framework-demo'), 'subtitle' => __('<em>Optional</em>. Upload your slogan logo.', 'redux-framework-demo'), 'desc' => ''), array('id' => 'left_side_header_slogan_text', 'type' => 'textarea', 'required' => array('left_side_slogan_visibility', '=', 'show'), 'title' => __('Slogan Text', 'redux-framework-demo'), 'subtitle' => __('<em>Optional</em>. Enter your slogan text.<br/><em>Only br and strong HTML tags is allowed.</em>', 'redux-framework-demo'), 'desc' => '', 'validate' => 'html'), array('id' => 'left_side_header_slogan_text_color', 'type' => 'color', 'required' => array('left_side_slogan_visibility', '=', 'show'), 'title' => __('Slogan Text Color', 'redux-framework-demo'), 'subtitle' => __('Optional. Choose a text color for your slogan text.', 'redux-framework-demo'), 'output' => false, 'validate' => false, 'transparent' => false, 'default' => '')));
            // Right Side
            $this->sections[] = array('title' => __('Right Side', 'redux-framework-demo'), 'subsection' => true, 'icon' => 'font-icon-arrow-right-simple-thin-round', 'customizer' => false, 'fields' => array(array('id' => 'header_social_link', 'type' => 'switch', 'title' => __('Social Profiles', 'redux-framework-demo'), 'subtitle' => __('Activate this to enable social profiles on your header.<br/><br/>You can set your social profile in <strong>Social Options Tabs</strong>.', 'redux-framework-demo'), 'desc' => '', 'default' => 0)));
            /*-----------------------------------------------------------------------------------*/
            /*  - Title Header
                /*-----------------------------------------------------------------------------------*/
            // Title Header
            $this->sections[] = array('title' => __('Title Header', 'redux-framework-demo'), 'desc' => __('Control and configure the globals variable about the title header for pages, posts and custom post types ( portfolio and team ). If you want can modify in each page the all settings based on your needs.', 'redux-framework-demo'), 'icon' => 'font-icon-book', 'customizer' => false, 'fields' => array(array('id' => 'global_title_header_visibility', 'type' => 'button_set', 'title' => __('Title Header', 'redux-framework-demo'), 'subtitle' => __('Enable or Disable the Title Header Area.', 'redux-framework-demo'), 'desc' => '', 'options' => array('show' => 'Show', 'hide' => 'Hide'), 'default' => 'show'), array('id' => 'global_title_header_hide_visibility', 'type' => 'button_set', 'required' => array('global_title_header_visibility', '=', 'hide'), 'title' => __('Title Header', 'redux-framework-demo'), 'subtitle' => __('Select if the page header is transparent or has a simple background color when this is hide.', 'redux-framework-demo'), 'desc' => '', 'options' => array('transparent' => 'Transparent', 'colorful' => 'Colorful'), 'default' => 'colorful'), array('id' => 'global_title_header_hide_color', 'type' => 'color', 'required' => array('global_title_header_hide_visibility', '=', 'colorful'), 'title' => __('Title Header Hide Background Color', 'redux-framework-demo'), 'subtitle' => __('<em>Optional</em>. Choose a background color for your title header when this is hide.', 'redux-framework-demo'), 'default' => '', 'transparent' => false), array('id' => 'global_title_header_normal_bg_color', 'type' => 'color', 'required' => array('global_title_header_visibility', '=', 'show'), 'title' => __('Title Header Background Color', 'redux-framework-demo'), 'subtitle' => __('<em>Optional</em>. Choose a background color for your title header section.', 'redux-framework-demo'), 'default' => '', 'transparent' => false), array('id' => 'global_title_header_layout_container', 'type' => 'button_set', 'required' => array('global_title_header_visibility', '=', 'show'), 'title' => __('Title Header Layout', 'redux-framework-demo'), 'subtitle' => __('Select your layout for the title header page.', 'redux-framework-demo'), 'desc' => '', 'options' => array('normal' => 'Normal', 'fullscreen' => 'Full Screen'), 'default' => 'normal'), array('id' => 'global_title_header_height', 'type' => 'text', 'required' => array('global_title_header_layout_container', '=', 'normal'), 'title' => __('Title Header Height', 'redux-framework-demo'), 'subtitle' => __('Select your custom height for your title header page.<br/>Default is 600px.', 'redux-framework-demo'), 'desc' => '', 'default' => ''), array('id' => 'global_scroll_to_section', 'type' => 'button_set', 'required' => array('global_title_header_layout_container', '=', 'fullscreen'), 'title' => __('Scroll Button To Next Section', 'redux-framework-demo'), 'subtitle' => __('Enable or Disable Scroll Button Feature.', 'redux-framework-demo'), 'desc' => '', 'options' => array('enable' => 'Enable', 'disable' => 'Disable'), 'default' => 'disable'), array('id' => 'global_title_header_text_visibility', 'type' => 'button_set', 'required' => array('global_title_header_visibility', '=', 'show'), 'title' => __('Title Header Text', 'redux-framework-demo'), 'subtitle' => __('Enable or Disable the Title Header Text.', 'redux-framework-demo'), 'desc' => '', 'options' => array('show' => 'Show', 'hide' => 'Hide'), 'default' => 'show'), array('id' => 'global_title_header_text_color', 'type' => 'color', 'required' => array('global_title_header_text_visibility', '=', 'show'), 'title' => __('Title Header Text Color', 'redux-framework-demo'), 'subtitle' => __('<em>Optional</em>. Choose a text color for your heading and subheading.', 'redux-framework-demo'), 'default' => '', 'transparent' => false)));
            /*-----------------------------------------------------------------------------------*/
            /*  - Footer
                /*-----------------------------------------------------------------------------------*/
            $this->sections[] = array('title' => __('Footer', 'redux-framework-demo'), 'desc' => __('Control and configure of your footer area.', 'redux-framework-demo'), 'icon' => 'font-icon-cone', 'customizer' => false, 'fields' => array(array('id' => 'global_footer_widget_visibility', 'type' => 'button_set', 'title' => __('Global Footer Widgets Area', 'redux-framework-demo'), 'subtitle' => __('Enable or Disable the Footer Widgets Area.<br/><br/><em>If you want can modify in each page/post the setting about the visibility about the footer widgets area.</em>', 'redux-framework-demo'), 'desc' => '', 'options' => array('show' => 'Show', 'hide' => 'Hide'), 'default' => 'hide'), array('id' => 'footer_widget_area_color_type', 'type' => 'button_set', 'title' => __('Footer Widgets Color Type', 'redux-framework-demo'), 'subtitle' => __('The setting refers to which color type for footer widgets area will appear.', 'redux-framework-demo'), 'desc' => '', 'options' => array('light-type' => 'Light', 'dark-type' => 'Dark'), 'default' => 'dark-type'), array('id' => 'footer_widget_columns', 'type' => 'button_set', 'title' => __('Footer Widget Columns', 'redux-framework-demo'), 'subtitle' => __('Select the columns for footer widget area.', 'redux-framework-demo'), 'desc' => '', 'options' => array('2' => '2 Columns', '3' => '3 Columns', '4' => '4 Columns'), 'default' => '3'), array('id' => 'footer_credits_text', 'type' => 'editor', 'title' => __('Credits Section Area', 'redux-framework-demo'), 'subtitle' => __('Optional. Please enter your custom credits/copyright section text.', 'redux-framework-demo'), 'desc' => '', 'args' => array('teeny' => false, 'wpautop' => true, 'media_buttons' => false))));
            /*-----------------------------------------------------------------------------------*/
            /*  - Portfolio
                /*-----------------------------------------------------------------------------------*/
            $this->sections[] = array('title' => __('Portfolio', 'redux-framework-demo'), 'desc' => __('Control and configure the general setup of your portfolio.', 'redux-framework-demo'), 'icon' => 'font-icon-grid', 'customizer' => false, 'fields' => array(array('id' => 'portfolio_rewrite_slug', 'type' => 'text', 'title' => __('Custom Slug', 'redux-framework-demo'), 'subtitle' => __('If you want your portfolio post type to have a custom slug in the url, please enter it here.<br/><br/>
                                        <b>You will still have to refresh your permalinks after saving this!</b><br/><br/>
                                        This is done by going to <b>Settings -> Permalinks</b> and clicking save.', 'redux-framework-demo'), 'desc' => ''), array('id' => 'navigation_portfolio_mode', 'type' => 'button_set', 'title' => __('Navigation Portfolio Posts Mode', 'redux-framework-demo'), 'subtitle' => __('Select your navigation portfolio posts mode.<br/><br/>
                                            <strong>Normal:</strong><br/>You can navigate all single posts without limitation.<br/><br/>
                                            <strong>Categories:</strong><br/>You can navigate all single posts based on categories attributes.<br/><br/>It is recommended to use this navigation only if you have multiple portfolio pages based on different categories.', 'redux-framework-demo'), 'desc' => '', 'options' => array('normal' => 'Normal', 'categories' => 'Categories'), 'default' => 'normal'), array('id' => 'back_to_portfolio', 'type' => 'switch', 'title' => __('Back to Main Portfolio Page on Navigation?', 'redux-framework-demo'), 'subtitle' => __('Enable/Disable Back to Portfolio Button.', 'redux-framework-demo'), 'desc' => '', 'default' => 0), array('id' => 'back_to_portfolio_mode', 'type' => 'button_set', 'required' => array('back_to_portfolio', '=', '1'), 'title' => __('Back To Portfolio Mode', 'redux-framework-demo'), 'subtitle' => __('Select your back to portfolio button mode.<br/><br/>
                                            <strong>Simple:</strong><br/>You have a global link for all single portfolio post.<br/><br/>
                                            <strong>Custom:</strong><br/>You can have a different URL for each single portfolio post.<br/><br/>You need set the URL inside the single portfolio post for each post in the respective metabox.<br/><br/>It is recommended to use this if you have multiple portfolio pages based on different categories.', 'redux-framework-demo'), 'desc' => '', 'options' => array('general' => 'General', 'custom' => 'Custom'), 'default' => 'general'), array('id' => 'back_to_portfolio_url_general', 'type' => 'select', 'data' => 'pages', 'required' => array('back_to_portfolio_mode', '=', 'general'), 'title' => __('Portfolio Main Page', 'redux-framework-demo'), 'subtitle' => __('Required. Select the page that is your main portfolio index page. This is used to link to the page from the portfolio post detail page..', 'redux-framework-demo'), 'desc' => '', 'default' => ''), array('id' => 'enable_comment_portfolio', 'type' => 'switch', 'title' => __('Enable Comments Template on Single Portfolio Post?', 'redux-framework-demo'), 'subtitle' => __('Enable/Disable Comments Template.', 'redux-framework-demo'), 'desc' => '', 'default' => 0)));
            /*-----------------------------------------------------------------------------------*/
            /*  - Team
                /*-----------------------------------------------------------------------------------*/
            $this->sections[] = array('title' => __('Team', 'redux-framework-demo'), 'desc' => __('Control and configure the general setup of your team.', 'redux-framework-demo'), 'icon' => 'font-icon-group', 'customizer' => false, 'fields' => array(array('id' => 'team_rewrite_slug', 'type' => 'text', 'title' => __('Custom Slug', 'redux-framework-demo'), 'subtitle' => __('If you want your team post type to have a custom slug in the url, please enter it here.<br/><br/>
                                        <b>You will still have to refresh your permalinks after saving this!</b><br/><br/>
                                        This is done by going to <b>Settings -> Permalinks</b> and clicking save.', 'redux-framework-demo'), 'desc' => ''), array('id' => 'navigation_team_mode', 'type' => 'button_set', 'title' => __('Navigation Team Posts Mode', 'redux-framework-demo'), 'subtitle' => __('Select your navigation team posts mode.<br/><br/>
                                            <strong>Normal:</strong><br/>You can navigate all single posts without limitation.<br/><br/>
                                            <strong>Disciplines:</strong><br/>You can navigate all single posts based on disciplines attributes.<br/><br/>It is recommended to use this navigation only if you have multiple team pages based on different disciplines.', 'redux-framework-demo'), 'desc' => '', 'options' => array('normal' => 'Normal', 'disciplines' => 'Disciplines'), 'default' => 'normal'), array('id' => 'back_to_team', 'type' => 'switch', 'title' => __('Back to Main Team Page on Navigation?', 'redux-framework-demo'), 'subtitle' => __('Enable/Disable Back to Team Button.', 'redux-framework-demo'), 'desc' => '', 'default' => 0), array('id' => 'back_to_team_mode', 'type' => 'button_set', 'required' => array('back_to_team', '=', '1'), 'title' => __('Back To Team Mode', 'redux-framework-demo'), 'subtitle' => __('Select your back to team button mode.<br/><br/>
                                            <strong>Simple:</strong><br/>You have a global link for all single team post.<br/><br/>
                                            <strong>Custom:</strong><br/>You can have a different URL for each single team post.<br/><br/>You need set the URL inside the single team post for each post in the respective metabox.<br/><br/>It is recommended to use this if you have multiple team pages based on different disciplines.', 'redux-framework-demo'), 'desc' => '', 'options' => array('general' => 'General', 'custom' => 'Custom'), 'default' => 'general'), array('id' => 'back_to_team_url_general', 'type' => 'select', 'data' => 'pages', 'required' => array('back_to_team_mode', '=', 'general'), 'title' => __('Team Main Page', 'redux-framework-demo'), 'subtitle' => __('Required. Select the page that is your main team index page. This is used to link to the page from the team post detail page..', 'redux-framework-demo'), 'desc' => '', 'default' => '')));
            /*-----------------------------------------------------------------------------------*/
            /*  - Blog
                /*-----------------------------------------------------------------------------------*/
            $this->sections[] = array('title' => __('Blog', 'redux-framework-demo'), 'desc' => __('Control and configure the general setup of your blog.', 'redux-framework-demo'), 'icon' => 'font-icon-align-left', 'customizer' => false, 'fields' => array(array('id' => 'blog_layout_mode', 'type' => 'image_select', 'title' => __('Blog Layout Mode', 'redux-framework-demo'), 'subtitle' => __('Select the layout for the blog page.', 'redux-framework-demo'), 'desc' => '', 'options' => array('wide' => array('title' => 'Wide', 'img' => ReduxFramework::$_url . '/assets/img/blog_wide.png'), 'grid' => array('title' => 'Grid', 'img' => ReduxFramework::$_url . '/assets/img/blog_grid.png')), 'default' => 'wide'), array('id' => 'blog_grid_columns', 'type' => 'button_set', 'required' => array('blog_layout_mode', '=', 'grid'), 'title' => __('Blog Grid Columns', 'redux-framework-demo'), 'subtitle' => __('Select your columns for the blog grid layout only.', 'redux-framework-demo'), 'desc' => '', 'options' => array('1' => '1 Column', '2' => '2 Columns', '3' => '3 Columns', '4' => '4 Columns'), 'default' => '3'), array('id' => 'wide_post_thumb_size', 'type' => 'text', 'required' => array('blog_layout_mode', '=', 'wide'), 'title' => __('Post Thumbnail Size: Wide Blog Layout', 'redux-framework-demo'), 'subtitle' => __('Optional. Set your custom size of post thumbnail.<br/><em>Default is 1000x500</em>', 'redux-framework-demo'), 'desc' => __('Insert only number value like this example: 200x100 (Width x Height).', 'redux-framework-demo'), 'default' => '1000x500'), array('id' => 'grid_one_post_thumb_size', 'type' => 'text', 'required' => array(array('blog_layout_mode', '=', 'grid'), array('blog_grid_columns', '=', '1')), 'title' => __('Post Thumbnail Size: Grid Blog 1 Col', 'redux-framework-demo'), 'subtitle' => __('Optional. Set your custom size of post thumbnail.<br/><em>Default is 1000x600</em>', 'redux-framework-demo'), 'desc' => __('Insert only number value like this example: 200x100 (Width x Height).', 'redux-framework-demo'), 'default' => '1000x600'), array('id' => 'grid_two_post_thumb_size', 'type' => 'text', 'required' => array(array('blog_layout_mode', '=', 'grid'), array('blog_grid_columns', '=', '2')), 'title' => __('Post Thumbnail Size: Grid Blog 2 Cols', 'redux-framework-demo'), 'subtitle' => __('Optional. Set your custom size of post thumbnail.<br/><em>Default is 800x800</em>', 'redux-framework-demo'), 'desc' => __('Insert only number value like this example: 200x100 (Width x Height).', 'redux-framework-demo'), 'default' => '800x800'), array('id' => 'grid_three_post_thumb_size', 'type' => 'text', 'required' => array(array('blog_layout_mode', '=', 'grid'), array('blog_grid_columns', '=', '3')), 'title' => __('Post Thumbnail Size: Grid Blog 3 Cols', 'redux-framework-demo'), 'subtitle' => __('Optional. Set your custom size of post thumbnail.<br/><em>Default is 800x800</em>', 'redux-framework-demo'), 'desc' => __('Insert only number value like this example: 200x100 (Width x Height).', 'redux-framework-demo'), 'default' => '800x800'), array('id' => 'grid_four_post_thumb_size', 'type' => 'text', 'required' => array(array('blog_layout_mode', '=', 'grid'), array('blog_grid_columns', '=', '4')), 'title' => __('Post Thumbnail Size: Grid Blog 4 Cols', 'redux-framework-demo'), 'subtitle' => __('Optional. Set your custom size of post thumbnail.<br/><em>Default is 800x800</em>', 'redux-framework-demo'), 'desc' => __('Insert only number value like this example: 200x100 (Width x Height).', 'redux-framework-demo'), 'default' => '800x800'), array('id' => 'blog_pagination_select', 'type' => 'button_set', 'title' => __('Blog Pagination', 'redux-framework-demo'), 'subtitle' => __('Choose your favourite pagination for your blog page.', 'redux-framework-demo'), 'desc' => '', 'options' => array('simple_blog_pagination' => 'Normal', 'infinite_scroll_blog_pagination' => 'Infinite Scroll'), 'default' => 'simple_blog_pagination'), array('id' => 'back_to_posts', 'type' => 'switch', 'title' => __('Back to Main Blog Page on Navigation?', 'redux-framework-demo'), 'subtitle' => __('Enable/Disable Back to Posts Button.', 'redux-framework-demo'), 'desc' => '', 'default' => 0), array('id' => 'back_to_posts_url', 'type' => 'select', 'data' => 'pages', 'required' => array('back_to_posts', '=', '1'), 'title' => __('Blog Main Page', 'redux-framework-demo'), 'subtitle' => __('Required. Select the page that is your main blog index page. This is used to link to the page from the blog post detail page.', 'redux-framework-demo'), 'desc' => '', 'default' => '')));
            /*-----------------------------------------------------------------------------------*/
            /*  - Misc
                /*-----------------------------------------------------------------------------------*/
            $this->sections[] = array('title' => __('Misc', 'redux-framework-demo'), 'desc' => __('Control and configure the misc options available.', 'redux-framework-demo'), 'icon' => 'font-icon-droplets');
            // Error Page
            $this->sections[] = array('title' => __('Error Page', 'redux-framework-demo'), 'subsection' => true, 'icon' => 'font-icon-arrow-right-simple-thin-round', 'customizer' => false, 'fields' => array(array('id' => 'error_preloader_visibility', 'type' => 'button_set', 'title' => __('Error Preloader Setting', 'redux-framework-demo'), 'subtitle' => __('Enable or Disable the Preloader for Error Page.<br/><br/>Work only if you have activated the Preloader Feature in General Tabs -> Preloader.', 'redux-framework-demo'), 'desc' => '', 'options' => array('show' => 'Show', 'hide' => 'Hide'), 'default' => 'hide'), array('id' => 'error_logo_navi_type_color', 'type' => 'button_set', 'title' => __('Error Logo/Navigation Type', 'redux-framework-demo'), 'subtitle' => __('The setting refers to which type of logo/navigation will appear only for Error Page.', 'redux-framework-demo'), 'desc' => '', 'options' => array('light' => 'Light', 'dark' => 'Dark'), 'default' => 'light'), array('id' => 'error_customize_settings', 'type' => 'switch', 'title' => __('Error Customize Settings', 'redux-framework-demo'), 'subtitle' => __('Enable/Disable the customize settings for Error Page.', 'redux-framework-demo'), 'desc' => '', 'default' => 0), array('id' => 'error_custom_title', 'type' => 'text', 'title' => __('Error Title', 'redux-framework-demo'), 'subtitle' => __('Optional. Enter your custom error title text.', 'redux-framework-demo'), 'desc' => '', 'default' => '', 'required' => array('error_customize_settings', '=', '1')), array('id' => 'error_custom_subheading', 'type' => 'text', 'title' => __('Error SubHeading', 'redux-framework-demo'), 'subtitle' => __('Optional. Enter your custom error subheading text.', 'redux-framework-demo'), 'desc' => '', 'default' => '', 'required' => array('error_customize_settings', '=', '1')), array('id' => 'error_custom_back_button', 'type' => 'text', 'title' => __('Error Back Button', 'redux-framework-demo'), 'subtitle' => __('Optional. Enter your custom error button text.', 'redux-framework-demo'), 'desc' => '', 'default' => '', 'required' => array('error_customize_settings', '=', '1')), array('id' => 'error_left_side_bg', 'type' => 'color', 'title' => __('Left Side: Background Color', 'redux-framework-demo'), 'subtitle' => __('Optional. Choose a background color for your left side container.', 'redux-framework-demo'), 'output' => false, 'validate' => false, 'transparent' => false, 'default' => '', 'required' => array('error_customize_settings', '=', '1')), array('id' => 'error_left_side_title_color', 'type' => 'color', 'title' => __('Left Side: Title Color', 'redux-framework-demo'), 'subtitle' => __('Optional. Choose a text color for your title.', 'redux-framework-demo'), 'output' => false, 'validate' => false, 'transparent' => false, 'default' => '', 'required' => array('error_customize_settings', '=', '1')), array('id' => 'error_left_side_subheading_color', 'type' => 'color', 'title' => __('Left Side: Subheading Color', 'redux-framework-demo'), 'subtitle' => __('Optional. Choose a text color for your subheading.', 'redux-framework-demo'), 'output' => false, 'validate' => false, 'transparent' => false, 'default' => '', 'required' => array('error_customize_settings', '=', '1')), array('id' => 'error_right_side_bg', 'type' => 'color', 'title' => __('Right Side: Background Color', 'redux-framework-demo'), 'subtitle' => __('Optional. Choose a background color for your right side container.', 'redux-framework-demo'), 'output' => false, 'validate' => false, 'transparent' => false, 'default' => '', 'required' => array('error_customize_settings', '=', '1')), array('id' => 'error_right_side_button', 'type' => 'color', 'title' => __('Right Side: Button Color', 'redux-framework-demo'), 'subtitle' => __('Optional. Choose a text color for your button back.', 'redux-framework-demo'), 'output' => false, 'validate' => false, 'transparent' => false, 'default' => '', 'required' => array('error_customize_settings', '=', '1'))));
            // Archives Page
            $this->sections[] = array('title' => __('Archives Page', 'redux-framework-demo'), 'subsection' => true, 'icon' => 'font-icon-arrow-right-simple-thin-round', 'customizer' => false, 'fields' => array(array('id' => 'archive_preloader_visibility', 'type' => 'button_set', 'title' => __('Archive Preloader Setting', 'redux-framework-demo'), 'subtitle' => __('Enable or Disable the Preloader for Archive Pages.<br/><br/>Work only if you have activated the Preloader Feature in General Tabs -> Preloader.', 'redux-framework-demo'), 'desc' => '', 'options' => array('show' => 'Show', 'hide' => 'Hide'), 'default' => 'hide'), array('id' => 'archive_logo_navi_type_color', 'type' => 'button_set', 'title' => __('Archive Logo/Navigation Type', 'redux-framework-demo'), 'subtitle' => __('The setting refers to which type of logo/navigation will appear only for Archive Pages.', 'redux-framework-demo'), 'desc' => '', 'options' => array('light' => 'Light', 'dark' => 'Dark'), 'default' => 'light'), array('id' => 'archive_footer_widget_visibility', 'type' => 'button_set', 'title' => __('Archive Footer Widgets Area', 'redux-framework-demo'), 'subtitle' => __('Enable or Disable the Footer Widgets for Archive Pages.', 'redux-framework-demo'), 'desc' => '', 'options' => array('show' => 'Show', 'hide' => 'Hide'), 'default' => 'hide'), array('id' => 'archive_layout_mode', 'type' => 'image_select', 'title' => __('Archive Layout Mode', 'redux-framework-demo'), 'subtitle' => __('Select the layout for the archive pages.', 'redux-framework-demo'), 'desc' => '', 'options' => array('wide' => array('title' => 'Wide', 'img' => ReduxFramework::$_url . '/assets/img/blog_wide.png'), 'grid' => array('title' => 'Grid', 'img' => ReduxFramework::$_url . '/assets/img/blog_grid.png')), 'default' => 'wide'), array('id' => 'archive_grid_columns', 'type' => 'button_set', 'title' => __('Archive Grid Columns', 'redux-framework-demo'), 'subtitle' => __('Select your columns for the archive grid layout only.', 'redux-framework-demo'), 'desc' => '', 'options' => array('1' => '1 Column', '2' => '2 Columns', '3' => '3 Columns', '4' => '4 Columns'), 'default' => '3', 'required' => array('archive_layout_mode', '=', 'grid')), array('id' => 'archive_title_header_visibility', 'type' => 'button_set', 'title' => __('Archive Title Header', 'redux-framework-demo'), 'subtitle' => __('Enable or Disable the Archive Title Header Area.', 'redux-framework-demo'), 'desc' => '', 'options' => array('show' => 'Show', 'hide' => 'Hide'), 'default' => 'show'), array('id' => 'archive_title_header_layout_container', 'type' => 'button_set', 'title' => __('Archive Header Layout', 'redux-framework-demo'), 'subtitle' => __('Select your layout for the archive title header pages.', 'redux-framework-demo'), 'desc' => '', 'options' => array('normal' => 'Normal', 'fullscreen' => 'Full Screen'), 'default' => 'normal', 'required' => array('archive_title_header_visibility', '=', 'show')), array('id' => 'archive_title_header_height', 'type' => 'text', 'title' => __('Archive Title Header Height', 'redux-framework-demo'), 'subtitle' => __('Select your custom height for your archive title header pages.<br/>Default is 600px.', 'redux-framework-demo'), 'desc' => '', 'default' => '', 'required' => array('archive_title_header_layout_container', '=', 'normal')), array('id' => 'archive_scroll_to_section', 'type' => 'button_set', 'title' => __('Scroll Button To Next Section', 'redux-framework-demo'), 'subtitle' => __('Enable or Disable Scroll Button Feature.', 'redux-framework-demo'), 'desc' => '', 'options' => array('enable' => 'Enable', 'disable' => 'Disable'), 'default' => 'disable', 'required' => array('archive_title_header_layout_container', '=', 'fullscreen')), array('id' => 'archive_title_header_module', 'type' => 'select', 'title' => __('Archive Title Header Module', 'redux-framework-demo'), 'subtitle' => __('Select your favorite Archive Title Header Module.', 'redux-framework-demo'), 'options' => array('normal' => __('Normal', 'redux-framework-demo'), 'image' => __('Image', 'redux-framework-demo'), 'image_parallax' => __('Image Parallax', 'redux-framework-demo')), 'default' => 'normal', 'required' => array('archive_title_header_visibility', '=', 'show')), array('id' => 'archive_title_header_normal_bg_color', 'type' => 'color', 'title' => __('Archive Title Header Background Color', 'redux-framework-demo'), 'subtitle' => __('Optional. Choose a background color for your archive title header section.', 'redux-framework-demo'), 'output' => false, 'validate' => false, 'transparent' => false, 'default' => '', 'required' => array('archive_title_header_module', '=', 'normal')), array('id' => 'archive_title_header_image', 'type' => 'media', 'title' => __('Archive Title Header Background Image', 'redux-framework-demo'), 'subtitle' => __('Upload your image.', 'redux-framework-demo'), 'default' => '', 'required' => array('archive_title_header_module', '=', 'image')), array('id' => 'archive_title_header_image_position', 'type' => 'select', 'title' => __('Archive Title Header Image Position', 'redux-framework-demo'), 'subtitle' => __('Select your background image position.', 'redux-framework-demo'), 'options' => array('left_top' => __('Left Top', 'redux-framework-demo'), 'left_center' => __('Left Center', 'redux-framework-demo'), 'left_bottom' => __('Left Bottom', 'redux-framework-demo'), 'center_top' => __('Center Top', 'redux-framework-demo'), 'center_center' => __('Center Center', 'redux-framework-demo'), 'center_bottom' => __('Center Bottom', 'redux-framework-demo'), 'right_top' => __('Right Top', 'redux-framework-demo'), 'right_center' => __('Right Center', 'redux-framework-demo'), 'right_bottom' => __('Right Bottom', 'redux-framework-demo')), 'default' => 'center_center', 'required' => array('archive_title_header_module', '=', 'image')), array('id' => 'archive_title_header_image_repeat', 'type' => 'select', 'title' => __('Archive Title Header Image Repeat', 'redux-framework-demo'), 'subtitle' => __('Select your background image repeat.', 'redux-framework-demo'), 'options' => array('no_repeat' => __('No Repeat', 'redux-framework-demo'), 'repeat' => __('Repeat', 'redux-framework-demo'), 'repeat_x' => __('Repeat Horizontally', 'redux-framework-demo'), 'repeat_y' => __('Repeat Vertically', 'redux-framework-demo'), 'stretch' => __('Stretch to fit', 'redux-framework-demo')), 'default' => 'stretch', 'required' => array('archive_title_header_module', '=', 'image')), array('id' => 'archive_title_header_image_parallax', 'type' => 'media', 'title' => __('Archive Title Header Background Image Parallax', 'redux-framework-demo'), 'subtitle' => __('Upload your image.', 'redux-framework-demo'), 'default' => '', 'required' => array('archive_title_header_module', '=', 'image_parallax')), array('id' => 'archive_title_header_mask_mode', 'type' => 'select', 'title' => __('Archive Title Header Mask', 'redux-framework-demo'), 'subtitle' => __('Select your favorite Archive Title Header Mask Mode.', 'redux-framework-demo'), 'options' => array('none' => __('None', 'redux-framework-demo'), 'mask_color' => __('Mask Color', 'redux-framework-demo'), 'mask_pattern' => __('Mask Pattern', 'redux-framework-demo'), 'mask_pattern_color' => __('Mask Color and Pattern', 'redux-framework-demo')), 'default' => 'none', 'required' => array('archive_title_header_module', '!=', 'normal')), array('id' => 'archive_title_header_mask_pattern', 'type' => 'media', 'title' => __('Pattern Mask', 'redux-framework-demo'), 'subtitle' => __('Optional. Upload your pattern image.', 'redux-framework-demo'), 'default' => '', 'required' => array(array('archive_title_header_mask_mode', '!=', 'none'), array('archive_title_header_mask_mode', '!=', 'mask_color'))), array('id' => 'archive_title_header_mask_pattern_opacity', 'type' => 'slider', 'title' => __('Pattern Mask Opacity', 'redux-framework-demo'), 'subtitle' => __('Optional. Choose opacity value for your pattern image.', 'redux-framework-demo'), 'default' => 1, 'min' => 0, 'step' => 0.01, 'max' => 1, 'resolution' => 0.01, 'display_value' => 'text', 'required' => array(array('archive_title_header_mask_mode', '!=', 'none'), array('archive_title_header_mask_mode', '!=', 'mask_color'))), array('id' => 'archive_title_header_mask_background', 'type' => 'color_rgba', 'title' => __('Color Mask', 'redux-framework-demo'), 'subtitle' => __('Optional. Select your custom hex color with opacity.', 'redux-framework-demo'), 'default' => array('color' => '#000000', 'alpha' => '0.55'), 'validate' => 'colorrgba', 'transparent' => false, 'required' => array(array('archive_title_header_mask_mode', '!=', 'none'), array('archive_title_header_mask_mode', '!=', 'mask_pattern'))), array('id' => 'archive_title_header_text_color', 'type' => 'color', 'title' => __('Archive Title Header Text Color', 'redux-framework-demo'), 'subtitle' => __('Optional. Choose a text color for your heading and subheading.', 'redux-framework-demo'), 'output' => false, 'validate' => false, 'transparent' => false, 'default' => '', 'required' => array('archive_title_header_visibility', '!=', 'hide'))));
            // Search Page
            $this->sections[] = array('title' => __('Search Page', 'redux-framework-demo'), 'subsection' => true, 'icon' => 'font-icon-arrow-right-simple-thin-round', 'customizer' => false, 'fields' => array(array('id' => 'search_preloader_visibility', 'type' => 'button_set', 'title' => __('Search Preloader Setting', 'redux-framework-demo'), 'subtitle' => __('Enable or Disable the Preloader for Search Page Results.<br/><br/>Work only if you have activated the Preloader Feature in General Tabs -> Preloader.', 'redux-framework-demo'), 'desc' => '', 'options' => array('show' => 'Show', 'hide' => 'Hide'), 'default' => 'hide'), array('id' => 'search_logo_navi_type_color', 'type' => 'button_set', 'title' => __('Search Logo/Navigation Type', 'redux-framework-demo'), 'subtitle' => __('The setting refers to which type of logo/navigation will appear only for Serch Page Results.', 'redux-framework-demo'), 'desc' => '', 'options' => array('light' => 'Light', 'dark' => 'Dark'), 'default' => 'light'), array('id' => 'search_footer_widget_visibility', 'type' => 'button_set', 'title' => __('Search Footer Widgets Area', 'redux-framework-demo'), 'subtitle' => __('Enable or Disable the Footer Widgets for Search Page Results.', 'redux-framework-demo'), 'desc' => '', 'options' => array('show' => 'Show', 'hide' => 'Hide'), 'default' => 'hide'), array('id' => 'search_layout_mode', 'type' => 'image_select', 'title' => __('Search Layout Mode', 'redux-framework-demo'), 'subtitle' => __('Select the layout for the search page.', 'redux-framework-demo'), 'desc' => '', 'options' => array('wide' => array('title' => 'Wide', 'img' => ReduxFramework::$_url . '/assets/img/blog_wide.png'), 'grid' => array('title' => 'Grid', 'img' => ReduxFramework::$_url . '/assets/img/blog_grid.png')), 'default' => 'wide'), array('id' => 'search_grid_columns', 'type' => 'button_set', 'title' => __('Search Grid Columns', 'redux-framework-demo'), 'subtitle' => __('Select your columns for the search grid layout only.', 'redux-framework-demo'), 'desc' => '', 'options' => array('1' => '1 Column', '2' => '2 Columns', '3' => '3 Columns', '4' => '4 Columns'), 'default' => '3', 'required' => array('search_layout_mode', '=', 'grid')), array('id' => 'search_title_header_visibility', 'type' => 'button_set', 'title' => __('Search Title Header', 'redux-framework-demo'), 'subtitle' => __('Enable or Disable the Search Title Header Area.', 'redux-framework-demo'), 'desc' => '', 'options' => array('show' => 'Show', 'hide' => 'Hide'), 'default' => 'show'), array('id' => 'search_title_header_layout_container', 'type' => 'button_set', 'title' => __('Search Header Layout', 'redux-framework-demo'), 'subtitle' => __('Select your layout for the search title header page.', 'redux-framework-demo'), 'desc' => '', 'options' => array('normal' => 'Normal', 'fullscreen' => 'Full Screen'), 'default' => 'normal', 'required' => array('search_title_header_visibility', '=', 'show')), array('id' => 'search_title_header_height', 'type' => 'text', 'title' => __('Search Title Header Height', 'redux-framework-demo'), 'subtitle' => __('Select your custom height for your search title header page.<br/>Default is 600px.', 'redux-framework-demo'), 'desc' => '', 'default' => '', 'required' => array('search_title_header_layout_container', '=', 'normal')), array('id' => 'search_scroll_to_section', 'type' => 'button_set', 'title' => __('Scroll Button To Next Section', 'redux-framework-demo'), 'subtitle' => __('Enable or Disable Scroll Button Feature.', 'redux-framework-demo'), 'desc' => '', 'options' => array('enable' => 'Enable', 'disable' => 'Disable'), 'default' => 'disable', 'required' => array('search_title_header_layout_container', '=', 'fullscreen')), array('id' => 'search_title_header_module', 'type' => 'select', 'title' => __('Search Title Header Module', 'redux-framework-demo'), 'subtitle' => __('Select your favorite Search Title Header Module.', 'redux-framework-demo'), 'options' => array('normal' => __('Normal', 'redux-framework-demo'), 'image' => __('Image', 'redux-framework-demo'), 'image_parallax' => __('Image Parallax', 'redux-framework-demo')), 'default' => 'normal', 'required' => array('search_title_header_visibility', '=', 'show')), array('id' => 'search_title_header_normal_bg_color', 'type' => 'color', 'title' => __('Search Title Header Background Color', 'redux-framework-demo'), 'subtitle' => __('Optional. Choose a background color for your search title header section.', 'redux-framework-demo'), 'output' => false, 'validate' => false, 'transparent' => false, 'default' => '', 'required' => array('search_title_header_module', '=', 'normal')), array('id' => 'search_title_header_image', 'type' => 'media', 'title' => __('Search Title Header Background Image', 'redux-framework-demo'), 'subtitle' => __('Upload your image.', 'redux-framework-demo'), 'default' => '', 'required' => array('search_title_header_module', '=', 'image')), array('id' => 'search_title_header_image_position', 'type' => 'select', 'title' => __('Search Title Header Image Position', 'redux-framework-demo'), 'subtitle' => __('Select your background image position.', 'redux-framework-demo'), 'options' => array('left_top' => __('Left Top', 'redux-framework-demo'), 'left_center' => __('Left Center', 'redux-framework-demo'), 'left_bottom' => __('Left Bottom', 'redux-framework-demo'), 'center_top' => __('Center Top', 'redux-framework-demo'), 'center_center' => __('Center Center', 'redux-framework-demo'), 'center_bottom' => __('Center Bottom', 'redux-framework-demo'), 'right_top' => __('Right Top', 'redux-framework-demo'), 'right_center' => __('Right Center', 'redux-framework-demo'), 'right_bottom' => __('Right Bottom', 'redux-framework-demo')), 'default' => 'center_center', 'required' => array('search_title_header_module', '=', 'image')), array('id' => 'search_title_header_image_repeat', 'type' => 'select', 'title' => __('Search Title Header Image Repeat', 'redux-framework-demo'), 'subtitle' => __('Select your background image repeat.', 'redux-framework-demo'), 'options' => array('no_repeat' => __('No Repeat', 'redux-framework-demo'), 'repeat' => __('Repeat', 'redux-framework-demo'), 'repeat_x' => __('Repeat Horizontally', 'redux-framework-demo'), 'repeat_y' => __('Repeat Vertically', 'redux-framework-demo'), 'stretch' => __('Stretch to fit', 'redux-framework-demo')), 'default' => 'stretch', 'required' => array('search_title_header_module', '=', 'image')), array('id' => 'search_title_header_image_parallax', 'type' => 'media', 'title' => __('Search Title Header Background Image Parallax', 'redux-framework-demo'), 'subtitle' => __('Upload your image.', 'redux-framework-demo'), 'default' => '', 'required' => array('search_title_header_module', '=', 'image_parallax')), array('id' => 'search_title_header_mask_mode', 'type' => 'select', 'title' => __('Search Title Header Mask', 'redux-framework-demo'), 'subtitle' => __('Select your favorite Search Title Header Mask Mode.', 'redux-framework-demo'), 'options' => array('none' => __('None', 'redux-framework-demo'), 'mask_color' => __('Mask Color', 'redux-framework-demo'), 'mask_pattern' => __('Mask Pattern', 'redux-framework-demo'), 'mask_pattern_color' => __('Mask Color and Pattern', 'redux-framework-demo')), 'default' => 'none', 'required' => array('search_title_header_module', '!=', 'normal')), array('id' => 'search_title_header_mask_pattern', 'type' => 'media', 'title' => __('Pattern Mask', 'redux-framework-demo'), 'subtitle' => __('Optional. Upload your pattern image.', 'redux-framework-demo'), 'default' => '', 'required' => array(array('search_title_header_mask_mode', '!=', 'none'), array('search_title_header_mask_mode', '!=', 'mask_color'))), array('id' => 'search_title_header_mask_pattern_opacity', 'type' => 'slider', 'title' => __('Pattern Mask Opacity', 'redux-framework-demo'), 'subtitle' => __('Optional. Choose opacity value for your pattern image.', 'redux-framework-demo'), 'default' => 1, 'min' => 0, 'step' => 0.01, 'max' => 1, 'resolution' => 0.01, 'display_value' => 'text', 'required' => array(array('search_title_header_mask_mode', '!=', 'none'), array('search_title_header_mask_mode', '!=', 'mask_color'))), array('id' => 'search_title_header_mask_background', 'type' => 'color_rgba', 'title' => __('Color Mask', 'redux-framework-demo'), 'subtitle' => __('Optional. Select your custom hex color with opacity.', 'redux-framework-demo'), 'default' => array('color' => '#000000', 'alpha' => '0.55'), 'validate' => 'colorrgba', 'transparent' => false, 'required' => array(array('search_title_header_mask_mode', '!=', 'none'), array('search_title_header_mask_mode', '!=', 'mask_pattern'))), array('id' => 'search_title_header_text_color', 'type' => 'color', 'title' => __('Search Title Header Text Color', 'redux-framework-demo'), 'subtitle' => __('Optional. Choose a text color for your heading and subheading.', 'redux-framework-demo'), 'output' => false, 'validate' => false, 'transparent' => false, 'default' => '', 'required' => array('search_title_header_visibility', '!=', 'hide'))));
            /*-----------------------------------------------------------------------------------*/
            /*  - Social
                /*-----------------------------------------------------------------------------------*/
            $this->sections[] = array('title' => __('Social', 'redux-framework-demo'), 'desc' => __('Control and configure the general setup of your social profile.', 'redux-framework-demo'), 'icon' => 'font-icon-social-twitter', 'fields' => array(array('id' => '500px-url', 'type' => 'text', 'title' => __('500PX URL', 'redux-framework-demo'), 'subtitle' => __('Please enter in your 500PX URL.', 'redux-framework-demo'), 'desc' => ''), array('id' => 'behance-url', 'type' => 'text', 'title' => __('Behance URL', 'redux-framework-demo'), 'subtitle' => __('Please enter in your Behance URL.', 'redux-framework-demo'), 'desc' => ''), array('id' => 'bebo-url', 'type' => 'text', 'title' => __('Bebo URL', 'redux-framework-demo'), 'subtitle' => __('Please enter in your Bebo URL.', 'redux-framework-demo'), 'desc' => ''), array('id' => 'blogger-url', 'type' => 'text', 'title' => __('Blogger URL', 'redux-framework-demo'), 'subtitle' => __('Please enter in your Blogger URL.', 'redux-framework-demo'), 'desc' => ''), array('id' => 'deviant-art-url', 'type' => 'text', 'title' => __('Deviant Art URL', 'redux-framework-demo'), 'subtitle' => __('Please enter in your Deviant Art URL.', 'redux-framework-demo'), 'desc' => ''), array('id' => 'digg-url', 'type' => 'text', 'title' => __('Digg URL', 'redux-framework-demo'), 'subtitle' => __('Please enter in your Digg URL.', 'redux-framework-demo'), 'desc' => ''), array('id' => 'dribbble-url', 'type' => 'text', 'title' => __('Dribbble URL', 'redux-framework-demo'), 'subtitle' => __('Please enter in your Dribbble URL.', 'redux-framework-demo'), 'desc' => ''), array('id' => 'email-url', 'type' => 'text', 'title' => __('Email URL', 'redux-framework-demo'), 'subtitle' => __('Please enter in your Email URL.<br><br>Example: mailto:someone@example.com', 'redux-framework-demo'), 'desc' => ''), array('id' => 'envato-url', 'type' => 'text', 'title' => __('Envato URL', 'redux-framework-demo'), 'subtitle' => __('Please enter in your Envato URL.', 'redux-framework-demo'), 'desc' => ''), array('id' => 'evernote-url', 'type' => 'text', 'title' => __('Evernote URL', 'redux-framework-demo'), 'subtitle' => __('Please enter in your Envernote URL.', 'redux-framework-demo'), 'desc' => ''), array('id' => 'facebook-url', 'type' => 'text', 'title' => __('Facebook URL', 'redux-framework-demo'), 'subtitle' => __('Please enter in your Facebook URL.', 'redux-framework-demo'), 'desc' => ''), array('id' => 'flickr-url', 'type' => 'text', 'title' => __('Flickr URL', 'redux-framework-demo'), 'subtitle' => __('Please enter in your Flickr URL.', 'redux-framework-demo'), 'desc' => ''), array('id' => 'forrst-url', 'type' => 'text', 'title' => __('Forrst URL', 'redux-framework-demo'), 'subtitle' => __('Please enter in your Forrst URL.', 'redux-framework-demo'), 'desc' => ''), array('id' => 'github-url', 'type' => 'text', 'title' => __('Github URL', 'redux-framework-demo'), 'subtitle' => __('Please enter in your Github URL.', 'redux-framework-demo'), 'desc' => ''), array('id' => 'google-plus-url', 'type' => 'text', 'title' => __('Google Plus URL', 'redux-framework-demo'), 'subtitle' => __('Please enter in your Google Plus URL.', 'redux-framework-demo'), 'desc' => ''), array('id' => 'grooveshark-url', 'type' => 'text', 'title' => __('Grooveshark URL', 'redux-framework-demo'), 'subtitle' => __('Please enter in your Grooveshark URL.', 'redux-framework-demo'), 'desc' => ''), array('id' => 'instagram-url', 'type' => 'text', 'title' => __('Instagram URL', 'redux-framework-demo'), 'subtitle' => __('Please enter in your Instagram URL.', 'redux-framework-demo'), 'desc' => ''), array('id' => 'last-fm-url', 'type' => 'text', 'title' => __('Last FM URL', 'redux-framework-demo'), 'subtitle' => __('Please enter in your Last FM URL.', 'redux-framework-demo'), 'desc' => ''), array('id' => 'linkedin-url', 'type' => 'text', 'title' => __('Linked In URL', 'redux-framework-demo'), 'subtitle' => __('Please enter in your Linked In URL.', 'redux-framework-demo'), 'desc' => ''), array('id' => 'paypal-url', 'type' => 'text', 'title' => __('Paypal URL', 'redux-framework-demo'), 'subtitle' => __('Please enter in your Paypal URL.<br><br>Example: mailto:someone@example.com', 'redux-framework-demo'), 'desc' => ''), array('id' => 'pinterest-url', 'type' => 'text', 'title' => __('Pinterest URL', 'redux-framework-demo'), 'subtitle' => __('Please enter in your Pinterest URL.', 'redux-framework-demo'), 'desc' => ''), array('id' => 'quora-url', 'type' => 'text', 'title' => __('Quora URL', 'redux-framework-demo'), 'subtitle' => __('Please enter in your Quora URL.', 'redux-framework-demo'), 'desc' => ''), array('id' => 'skype-url', 'type' => 'text', 'title' => __('Skype URL', 'redux-framework-demo'), 'subtitle' => __('Please enter in your Skype URL.<br><br>Example: skype:username?call', 'redux-framework-demo'), 'desc' => ''), array('id' => 'soundcloud-url', 'type' => 'text', 'title' => __('Soundcloud URL', 'redux-framework-demo'), 'subtitle' => __('Please enter in your Soundcloud URL.', 'redux-framework-demo'), 'desc' => ''), array('id' => 'stumbleupon-url', 'type' => 'text', 'title' => __('Stumble Upon URL', 'redux-framework-demo'), 'subtitle' => __('Please enter in your Stumble Upon URL.', 'redux-framework-demo'), 'desc' => ''), array('id' => 'tumblr-url', 'type' => 'text', 'title' => __('Tumblr URL', 'redux-framework-demo'), 'subtitle' => __('Please enter in your Tumblr URL.', 'redux-framework-demo'), 'desc' => ''), array('id' => 'twitter-url', 'type' => 'text', 'title' => __('Twitter URL', 'redux-framework-demo'), 'subtitle' => __('Please enter in your Twitter URL.', 'redux-framework-demo'), 'desc' => ''), array('id' => 'viddler-url', 'type' => 'text', 'title' => __('Viddler URL', 'redux-framework-demo'), 'subtitle' => __('Please enter in your Viddler URL.', 'redux-framework-demo'), 'desc' => ''), array('id' => 'vimeo-url', 'type' => 'text', 'title' => __('Vimeo URL', 'redux-framework-demo'), 'subtitle' => __('Please enter in your Vimeo URL.', 'redux-framework-demo'), 'desc' => ''), array('id' => 'virb-url', 'type' => 'text', 'title' => __('Virb URL', 'redux-framework-demo'), 'subtitle' => __('Please enter in your Virb URL.', 'redux-framework-demo'), 'desc' => ''), array('id' => 'wordpress-url', 'type' => 'text', 'title' => __('Wordpress URL', 'redux-framework-demo'), 'subtitle' => __('Please enter in your Wordpress URL.', 'redux-framework-demo'), 'desc' => ''), array('id' => 'xing-url', 'type' => 'text', 'title' => __('Xing URL', 'redux-framework-demo'), 'subtitle' => __('Please enter in your Xing URL.', 'redux-framework-demo'), 'desc' => ''), array('id' => 'yahoo-url', 'type' => 'text', 'title' => __('Yahoo URL', 'redux-framework-demo'), 'subtitle' => __('Please enter in your Yahoo URL.', 'redux-framework-demo'), 'desc' => ''), array('id' => 'yelp-url', 'type' => 'text', 'title' => __('Yelp URL', 'redux-framework-demo'), 'subtitle' => __('Please enter in your Yelp URL.', 'redux-framework-demo'), 'desc' => ''), array('id' => 'youtube-url', 'type' => 'text', 'title' => __('You Tube URL', 'redux-framework-demo'), 'subtitle' => __('Please enter in your You Tube URL.', 'redux-framework-demo'), 'desc' => ''), array('id' => 'zerply-url', 'type' => 'text', 'title' => __('Zerply URL', 'redux-framework-demo'), 'subtitle' => __('Please enter in your Zerply URL.', 'redux-framework-demo'), 'desc' => '')));
            /*-----------------------------------------------------------------------------------*/
            /*  - Automatic Updates
                /*-----------------------------------------------------------------------------------*/
            $this->sections[] = array('title' => __('Theme Updates', 'redux-framework-demo'), 'desc' => __('Here you can enabled the Automatic Update for Alice Theme.', 'redux-framework-demo'), 'icon' => 'font-icon-cycle', 'fields' => array(array('id' => 'enable-auto-updates', 'type' => 'switch', 'title' => __('Enable Auto Updates', 'redux-framework-demo'), 'subtitle' => __('Enable/Disable the automatic updates for your theme.', 'redux-framework-demo'), 'desc' => '', 'default' => 0), array('id' => 'envato-license-key', 'type' => 'text', 'required' => array('enable-auto-updates', '=', '1'), 'title' => __('Item Purchase Code', 'redux-framework-demo'), 'subtitle' => __('Enter your Envato license key here if you wish to receive auto updates for your theme.', 'redux-framework-demo'), 'default' => 'Insert here the License Key...')));
            $theme_info = '<div class="redux-framework-section-desc">';
            $theme_info .= '<p class="redux-framework-theme-data description theme-uri">' . __('<strong>Theme URL:</strong> ', 'redux-framework-demo') . '<a href="' . $this->theme->get('ThemeURI') . '" target="_blank">' . $this->theme->get('ThemeURI') . '</a></p>';
            $theme_info .= '<p class="redux-framework-theme-data description theme-author">' . __('<strong>Author:</strong> ', 'redux-framework-demo') . $this->theme->get('Author') . '</p>';
            $theme_info .= '<p class="redux-framework-theme-data description theme-version">' . __('<strong>Version:</strong> ', 'redux-framework-demo') . $this->theme->get('Version') . '</p>';
            $theme_info .= '<p class="redux-framework-theme-data description theme-description">' . $this->theme->get('Description') . '</p>';
            $tabs = $this->theme->get('Tags');
            if (!empty($tabs)) {
                $theme_info .= '<p class="redux-framework-theme-data description theme-tags">' . __('<strong>Tags:</strong> ', 'redux-framework-demo') . implode(', ', $tabs) . '</p>';
            }
            $theme_info .= '</div>';
            if (file_exists(dirname(__FILE__) . '/../README.md')) {
                $this->sections['theme_docs'] = array('icon' => 'el-icon-list-alt', 'title' => __('Documentation', 'redux-framework-demo'), 'fields' => array(array('id' => '17', 'type' => 'raw', 'markdown' => true, 'content' => file_get_contents(dirname(__FILE__) . '/../README.md'))));
            }
            $this->sections[] = array('title' => __('Import / Export', 'redux-framework-demo'), 'desc' => __('Import and Export your Redux Framework settings from file, text or URL.', 'redux-framework-demo'), 'icon' => 'font-icon-switch', 'fields' => array(array('id' => 'opt-import-export', 'type' => 'import_export', 'title' => 'Import Export', 'subtitle' => 'Save and restore your Redux options', 'full_width' => false)));
            /*
            $this->sections[] = array(
                'icon'      => 'el-icon-info-sign',
                'title'     => __('Theme Information', 'redux-framework-demo'),
                'desc'      => __('<p class="description">This is the Description. Again HTML is allowed</p>', 'redux-framework-demo'),
                'fields'    => array(
                    array(
                        'id'        => 'opt-raw-info',
                        'type'      => 'raw',
                        'content'   => $item_info,
                    )
                ),
            );
            
            if (file_exists(trailingslashit(dirname(__FILE__)) . 'README.html')) {
                $tabs['docs'] = array(
                    'icon'      => 'el-icon-book',
                    'title'     => __('Documentation', 'redux-framework-demo'),
                    'content'   => nl2br(file_get_contents(trailingslashit(dirname(__FILE__)) . 'README.html'))
                );
            }
            */
        }
        public function setSections()
        {
            /**
             * Used within different fields.
             * Simply examples. Search for ACTUAL DECLARATION for field examples
             */
            // Background Patterns Reader
            $sample_patterns_path = ReduxFramework::$_dir . '../sample/patterns/';
            $sample_patterns_url = ReduxFramework::$_url . '../sample/patterns/';
            $sample_patterns = array();
            if (is_dir($sample_patterns_path)) {
                if ($sample_patterns_dir = opendir($sample_patterns_path)) {
                    $sample_patterns = array();
                    while (($sample_patterns_file = readdir($sample_patterns_dir)) !== false) {
                        if (stristr($sample_patterns_file, '.png') !== false || stristr($sample_patterns_file, '.jpg') !== false) {
                            $name = explode('.', $sample_patterns_file);
                            $name = str_replace('.' . end($name), '', $sample_patterns_file);
                            $sample_patterns[] = array('alt' => $name, 'img' => $sample_patterns_url . $sample_patterns_file);
                        }
                    }
                }
            }
            ob_start();
            $ct = wp_get_theme();
            $this->theme = $ct;
            $item_name = $this->theme->get('Name');
            $tags = $this->theme->Tags;
            $screenshot = $this->theme->get_screenshot();
            $class = $screenshot ? 'has-screenshot' : '';
            $customize_title = sprintf(__('Customize &#8220;%s&#8221;', 'redux-framework-demo'), $this->theme->display('Name'));
            ?>
<div id="current-theme" class="<?php 
            echo esc_attr($class);
            ?>
">
                    <?php 
            if ($screenshot) {
                ?>
                        <?php 
                if (current_user_can('edit_theme_options')) {
                    ?>
                            <a href="<?php 
                    echo wp_customize_url();
                    ?>
"
		class="load-customize hide-if-no-customize"
		title="<?php 
                    echo esc_attr($customize_title);
                    ?>
"> <img
		src="<?php 
                    echo esc_url($screenshot);
                    ?>
"
		alt="<?php 
                    esc_attr_e('Current theme preview', 'redux-framework-demo');
                    ?>
" />
	</a>
                        <?php 
                }
                ?>
                        <img class="hide-if-customize"
		src="<?php 
                echo esc_url($screenshot);
                ?>
"
		alt="<?php 
                esc_attr_e('Current theme preview', 'redux-framework-demo');
                ?>
" />
                    <?php 
            }
            ?>

                    <h4><?php 
            echo $this->theme->display('Name');
            ?>
</h4>

	<div>
		<ul class="theme-info">
			<li><?php 
            printf(__('By %s', 'redux-framework-demo'), $this->theme->display('Author'));
            ?>
</li>
			<li><?php 
            printf(__('Version %s', 'redux-framework-demo'), $this->theme->display('Version'));
            ?>
</li>
			<li><?php 
            echo '<strong>' . __('Tags', 'redux-framework-demo') . ':</strong> ';
            printf($this->theme->display('Tags'));
            ?>
</li>
		</ul>
		<p class="theme-description"><?php 
            echo $this->theme->display('Description');
            ?>
</p>
                        <?php 
            if ($this->theme->parent()) {
                printf(' <p class="howto">' . __('This <a href="%1$s">child theme</a> requires its parent theme, %2$s.', 'redux-framework-demo') . '</p>', __('http://codex.wordpress.org/Child_Themes', 'redux-framework-demo'), $this->theme->parent()->display('Name'));
            }
            ?>

                    </div>
</div>

<?php 
            $item_info = ob_get_contents();
            ob_end_clean();
            $sampleHTML = '';
            if (file_exists(dirname(__FILE__) . '/info-html.html')) {
                Redux_Functions::initWpFilesystem();
                global $wp_filesystem;
                $sampleHTML = $wp_filesystem->get_contents(dirname(__FILE__) . '/info-html.html');
            }
            // ACTUAL DECLARATION OF SECTIONS
            $this->sections[] = array('title' => __('Settings', 'redux-framework-demo'), 'desc' => __('Redux Framework was created with the developer in mind. It allows for any theme developer to have an advanced theme panel with most of the features a developer would need. For more information check out the Github repo at: <a href="https://github.com/ReduxFramework/Redux-Framework">https://github.com/ReduxFramework/Redux-Framework</a>', 'redux-framework-demo'), 'icon' => 'el-icon-home', 'fields' => array(array('id' => 'logo', 'type' => 'media', 'title' => __('Logo', 'redux-framework-demo'), 'compiler' => 'true', 'mode' => false, 'desc' => __('Upload Logo.', 'redux-framework-demo'), 'subtitle' => __('Upload any media using the WordPress native uploader', 'redux-framework-demo'), 'hint' => array('content' => 'This is for<b>logo</b> Dark for highlighting in white background.')), array('id' => 'favicon', 'type' => 'media', 'title' => __('Favicon', 'redux-framework-demo'), 'compiler' => 'true', 'mode' => false, 'desc' => __('Upload Favicon Image.', 'redux-framework-demo'), 'subtitle' => __('Upload any media using the WordPress native uploader', 'redux-framework-demo'), 'hint' => array('content' => 'This is a <b>hint</b> tool-tip for the favicon upload field.')), array('id' => 'loader', 'type' => 'switch', 'title' => __('Loader Hide', 'redux-framework-demo'), 'subtitle' => __('Loader Hide Enable', 'redux-framework-demo'), 'desc' => __('Enable to hide loader', 'redux-framework-demo'), 'default' => 0, 'off' => 'Disabled', 'on' => 'Enabled'), array('id' => 'copyright', 'type' => 'editor', 'wpautop' => true, 'compiler' => 'true', 'title' => __('Copyright text of the WebSite', 'bautySpa'), 'subtitle' => __('Write a Copyright text of your WebSite', 'bautySpa'), 'default' => 'Powered by bautySpa.', 'args' => array('teeny' => true, 'textarea_rows' => 10)), array('id' => 'style_switcher', 'type' => 'select', 'title' => __('Select Css File', 'bautySpa'), 'subtitle' => __('Select Your Website Css File.', 'bautySpa'), 'options' => array('style1' => __('Light 1', 'bautySpa'), 'style2' => __('Light 2', 'bautySpa'), 'style3' => __('Light 3', 'bautySpa'), 'style4' => __('Light 4', 'bautySpa'), 'style5' => __('Light 5', 'bautySpa'), 'style1D' => __('Dark 1', 'bautySpa'), 'style2D' => __('Dark 2', 'bautySpa'), 'style3D' => __('Dark 3', 'bautySpa'), 'style4D' => __('Dark 4', 'bautySpa'), 'style5D' => __('Dark 5', 'bautySpa')), 'default' => 'style1'), array('id' => 'theme_switcher', 'type' => 'select', 'title' => __('Select Theme', 'bautySpa'), 'subtitle' => __('Select Your Desire Theme.', 'bautySpa'), 'options' => array('default' => __('Normal Version', 'bautySpa'), 'para' => __('Paralax Version', 'bautySpa')), 'default' => 'default'), array('id' => 'blog-page-details-head', 'type' => 'textarea', 'title' => __('Blog Detail Page Heading', 'redux-framework-demo'), 'subtitle' => __('Specify the Blog Detail Page Heading.', 'redux-framework-demo'), 'default' => 'BLOG DETAILS'), array('id' => 'blog-details-head-para', 'type' => 'media', 'title' => __('Blog Detail Page Paralax', 'redux-framework-demo'), 'compiler' => 'true', 'mode' => false, 'desc' => __('Blog Detail Page Paralax Image.', 'redux-framework-demo'), 'subtitle' => __('Upload any media using the WordPress native uploader', 'redux-framework-demo'), 'hint' => array('content' => 'This is a <b>hint</b> tool-tip for the Blog Detail Page Paralax Image.'))));
            $this->sections[] = array('type' => 'divide');
            $theme_info = '<div class="redux-framework-section-desc">';
            $theme_info .= '<p class="redux-framework-theme-data description theme-uri">' . __('<strong>Theme URL:</strong> ', 'redux-framework-demo') . '<a href="' . $this->theme->get('ThemeURI') . '" target="_blank">' . $this->theme->get('ThemeURI') . '</a></p>';
            $theme_info .= '<p class="redux-framework-theme-data description theme-author">' . __('<strong>Author:</strong> ', 'redux-framework-demo') . $this->theme->get('Author') . '</p>';
            $theme_info .= '<p class="redux-framework-theme-data description theme-version">' . __('<strong>Version:</strong> ', 'redux-framework-demo') . $this->theme->get('Version') . '</p>';
            $theme_info .= '<p class="redux-framework-theme-data description theme-description">' . $this->theme->get('Description') . '</p>';
            $tabs = $this->theme->get('Tags');
            if (!empty($tabs)) {
                $theme_info .= '<p class="redux-framework-theme-data description theme-tags">' . __('<strong>Tags:</strong> ', 'redux-framework-demo') . implode(', ', $tabs) . '</p>';
            }
            $theme_info .= '</div>';
            $this->sections[] = array('title' => __('Import / Export', 'redux-framework-demo'), 'desc' => __('Import and Export your Redux Framework settings from file, text or URL.', 'redux-framework-demo'), 'icon' => 'el-icon-refresh', 'fields' => array(array('id' => 'opt-import-export', 'type' => 'import_export', 'title' => 'Import Export', 'subtitle' => 'Save and restore your Redux options', 'full_width' => false)));
            $this->sections[] = array('type' => 'divide');
            $this->sections[] = array('icon' => 'el-icon-info-sign', 'title' => __('Theme Information', 'redux-framework-demo'), 'desc' => __('<p class="description">This is the Description. Again HTML is allowed</p>', 'redux-framework-demo'), 'fields' => array(array('id' => 'opt-raw-info', 'type' => 'raw', 'content' => $item_info)));
        }
Пример #7
0
        public function setSections()
        {
            /**
                          Used within different fields. Simply examples. Search for ACTUAL DECLARATION for field examples
                         * */
            // Background Patterns Reader
            //if (is_dir($sample_patterns_path) || is_dir($sample_patterns_path) ) :
            // endif;
            ob_start();
            $ct = wp_get_theme();
            $this->theme = $ct;
            $item_name = $this->theme->get('Name');
            $tags = $this->theme->Tags;
            $screenshot = $this->theme->get_screenshot();
            $class = $screenshot ? 'has-screenshot' : '';
            $customize_title = sprintf(__('Customize &#8220;%s&#8221;', 'be-themes'), $this->theme->display('Name'));
            ?>
            <div id="current-theme" class="<?php 
            echo esc_attr($class);
            ?>
">
            <?php 
            if ($screenshot) {
                ?>
                <?php 
                if (current_user_can('edit_theme_options')) {
                    ?>
                        <a href="<?php 
                    echo wp_customize_url();
                    ?>
" class="load-customize hide-if-no-customize" title="<?php 
                    echo esc_attr($customize_title);
                    ?>
">
                            <img src="<?php 
                    echo esc_url($screenshot);
                    ?>
" alt="<?php 
                    esc_attr_e('Current theme preview');
                    ?>
" />
                        </a>
                <?php 
                }
                ?>
                    <img class="hide-if-customize" src="<?php 
                echo esc_url($screenshot);
                ?>
" alt="<?php 
                esc_attr_e('Current theme preview');
                ?>
" />
                <?php 
            }
            ?>

                <h4><?php 
            echo $this->theme->display('Name');
            ?>
</h4>

                <div>
                    <ul class="theme-info">
                        <li><?php 
            printf(__('By %s', 'be-themes'), $this->theme->display('Author'));
            ?>
</li>
                        <li><?php 
            printf(__('Version %s', 'be-themes'), $this->theme->display('Version'));
            ?>
</li>
                        <li><?php 
            echo '<strong>' . __('Tags', 'be-themes') . ':</strong> ';
            printf($this->theme->display('Tags'));
            ?>
</li>
                    </ul>
                    <p class="theme-description"><?php 
            echo $this->theme->display('Description');
            ?>
</p>
            <?php 
            if ($this->theme->parent()) {
                printf(' <p class="howto">' . __('This <a href="%1$s">child theme</a> requires its parent theme, %2$s.') . '</p>', __('http://codex.wordpress.org/Child_Themes', 'be-themes'), $this->theme->parent()->display('Name'));
            }
            ?>

                </div>
            </div>

            <?php 
            $item_info = ob_get_contents();
            ob_end_clean();
            $sampleHTML = '';
            if (file_exists(dirname(__FILE__) . '/info-html.html')) {
                Redux_Functions::initWpFilesystem();
                global $wp_filesystem;
                $sampleHTML = $wp_filesystem->get_contents(dirname(__FILE__) . '/info-html.html');
            }
            $title_font = "Lato";
            $body_font = "Open Sans:regular";
            // General Settings
            $this->sections[] = array('title' => __('Purchase Code', 'be-themes'), 'desc' => '', 'icon' => 'el-icon-adjust-alt', 'fields' => array(array('id' => 'theme_purchase_code', 'type' => 'text', 'title' => __('Enter Code', 'be-themes'), 'subtitle' => __('You can find the code here', 'be-themes'), 'desc' => __('', 'be-themes'), 'default' => '')));
            if (file_exists(trailingslashit(dirname(__FILE__)) . 'README.html')) {
                $tabs['docs'] = array('icon' => 'el-icon-book', 'title' => __('Documentation', 'be-themes'), 'content' => nl2br(file_get_contents(trailingslashit(dirname(__FILE__)) . 'README.html')));
            }
        }
Пример #8
0
        public function setSections()
        {
            //Stylesheets
            $styles = array('bootstrap.min.css' => 'Bootstrap', 'cerulean.min.css' => 'Cerulean', 'cosmo.min.css' => 'Cosmo', 'cyborg.min.css' => 'Cyborg', 'darkly.min.css' => 'Darkly', 'flatly.min.css' => 'Flatly', 'journal.min.css' => 'Journal', 'lumen.min.css' => 'Lumen', 'paper.min.css' => 'Paper', 'readable.min.css' => 'Readable', 'sandstone.min.css' => 'Sandstone', 'simplex.min.css' => 'Simplex', 'slate.min.css' => 'Slate', 'spacelab.min.css' => 'Spacelab', 'superhero.min.css' => 'Superhero', 'united.min.css' => 'United', 'yeti.min.css' => 'Yeti');
            // Bootstrap Button Colors
            $btn_color = array("default" => "Default", "primary" => "Primary", "info" => "Info", "success" => "Success", "warning" => "Warning", "danger" => "Danger", "link" => "Link");
            // Bootstrap Button Size
            $btn_size = array("xs" => "Extra Small", "sm" => "Small", "default" => "Medium", "lg" => "Large");
            /**
             * Used within different fields. Simply examples. Search for ACTUAL DECLARATION for field examples
             * */
            // Background Patterns Reader
            $sample_patterns_path = ReduxFramework::$_dir . '../sample/patterns/';
            $sample_patterns_url = ReduxFramework::$_url . '../sample/patterns/';
            $sample_patterns = array();
            if (is_dir($sample_patterns_path)) {
                if ($sample_patterns_dir = opendir($sample_patterns_path)) {
                    $sample_patterns = array();
                    while (($sample_patterns_file = readdir($sample_patterns_dir)) !== false) {
                        if (stristr($sample_patterns_file, '.png') !== false || stristr($sample_patterns_file, '.jpg') !== false) {
                            $name = explode('.', $sample_patterns_file);
                            $name = str_replace('.' . end($name), '', $sample_patterns_file);
                            $sample_patterns[] = array('alt' => $name, 'img' => $sample_patterns_url . $sample_patterns_file);
                        }
                    }
                }
            }
            ob_start();
            $ct = wp_get_theme();
            $this->theme = $ct;
            $item_name = $this->theme->get('Name');
            $tags = $this->theme->Tags;
            $screenshot = $this->theme->get_screenshot();
            $class = $screenshot ? 'has-screenshot' : '';
            $customize_title = sprintf(__('Customize &#8220;%s&#8221;', 'bootstrapwp'), $this->theme->display('Name'));
            ?>
                <div id="current-theme" class="<?php 
            echo esc_attr($class);
            ?>
">
                    <?php 
            if ($screenshot) {
                ?>
                        <?php 
                if (current_user_can('edit_theme_options')) {
                    ?>
                            <a href="<?php 
                    echo wp_customize_url();
                    ?>
" class="load-customize hide-if-no-customize"
                               title="<?php 
                    echo esc_attr($customize_title);
                    ?>
">
                                <img src="<?php 
                    echo esc_url($screenshot);
                    ?>
"
                                     alt="<?php 
                    esc_attr_e('Current theme preview', 'bootstrapwp');
                    ?>
"/>
                            </a>
                        <?php 
                }
                ?>
                        <img class="hide-if-customize" src="<?php 
                echo esc_url($screenshot);
                ?>
"
                             alt="<?php 
                esc_attr_e('Current theme preview', 'bootstrapwp');
                ?>
"/>
                    <?php 
            }
            ?>

                    <h4><?php 
            echo $this->theme->display('Name');
            ?>
</h4>

                    <div>
                        <ul class="theme-info">
                            <li><?php 
            printf(__('By %s', 'bootstrapwp'), $this->theme->display('Author'));
            ?>
</li>
                            <li><?php 
            printf(__('Version %s', 'bootstrapwp'), $this->theme->display('Version'));
            ?>
</li>
                            <li><?php 
            echo '<strong>' . __('Tags', 'bootstrapwp') . ':</strong> ';
            printf($this->theme->display('Tags'));
            ?>
</li>
                        </ul>
                        <p class="theme-description"><?php 
            echo $this->theme->display('Description');
            ?>
</p>
                        <?php 
            if ($this->theme->parent()) {
                printf(' <p class="howto">' . __('This <a href="%1$s">child theme</a> requires its parent theme, %2$s.', 'bootstrapwp') . '</p>', __('http://codex.wordpress.org/Child_Themes', 'bootstrapwp'), $this->theme->parent()->display('Name'));
            }
            ?>

                    </div>
                </div>

                <?php 
            $item_info = ob_get_contents();
            ob_end_clean();
            $sampleHTML = '';
            if (file_exists(dirname(__FILE__) . '/info-html.html')) {
                Redux_Functions::initWpFilesystem();
                global $wp_filesystem;
                $sampleHTML = $wp_filesystem->get_contents(dirname(__FILE__) . '/info-html.html');
            }
            // ACTUAL DECLARATION OF SECTIONS
            //General
            $this->sections[] = array('icon' => 'el-icon-cog', 'title' => __('General', 'bootstrapwp'), 'fields' => array(array('type' => 'select', 'id' => 'css_style', 'title' => __('Theme Stylesheet', 'bootstrapwp'), 'subtitle' => __('Select your themes alternative color scheme.', 'bootstrapwp'), 'default' => 'bootstrap.min.css', 'options' => $styles), array('title' => __('Favicon', 'bootstrapwp'), 'subtitle' => __('Use this field to upload your custom favicon.', 'bootstrapwp'), 'id' => 'custom_favicon', 'default' => '', 'type' => 'media', 'url' => true)));
            // Header
            $this->sections[] = array('icon' => 'el-icon-website', 'title' => __('Header', 'bootstrapwp'), 'fields' => array(array('title' => __('Fixed Navbar', 'bootstrapwp'), 'subtitle' => __('Select to enable/disable a fixed navbar.', 'bootstrapwp'), 'id' => 'disable_fixed_navbar', 'default' => false, 'on' => __('Enable', 'bootstrapwp'), 'off' => __('Disable', 'bootstrapwp'), 'type' => 'switch'), array('title' => __('Inverse Navbar', 'bootstrapwp'), 'subtitle' => __('Select to enable/disable an inverse navbar color.', 'bootstrapwp'), 'id' => "disable_inverse_navbar", 'default' => false, 'on' => __('Enable', 'bootstrapwp'), 'off' => __('Disable', 'bootstrapwp'), 'type' => 'switch'), array('title' => __('Logo', 'bootstrapwp'), 'subtitle' => __('Use this field to upload your custom logo icon for use in the theme header. This is the icon that will be visible in mobile and animated rotation on hover at top left. (Recommended 40px x 40px)', 'bootstrapwp'), 'id' => 'custom_logo', 'default' => '', 'type' => 'media', 'url' => true), array('title' => __('Wordmark', 'bootstrapwp'), 'subtitle' => __('Use this field to upload your custom logo for use in the theme header. Will not be visible on tablets and mobile. (Recommended 200px x 50px)', 'bootstrapwp'), 'id' => 'custom_wordmark', 'default' => '', 'type' => 'media', 'url' => true)));
            //Blog
            $this->sections[] = array('icon' => 'el-icon-wordpress', 'title' => __('Blog', 'bootstrapwp'), 'fields' => array(array('title' => __('Display Meta Data', 'bootstrapwp'), 'subtitle' => __('Select to enable/disable the date and author.', 'bootstrapwp'), 'id' => 'disable_meta', 'default' => true, 'on' => __('Enable', 'bootstrapwp'), 'off' => __('Disable', 'bootstrapwp'), 'type' => 'switch'), array('title' => __('Read More Button Text', 'bootstrapwp'), 'subtitle' => __('This is the text that will replace Read More.', 'bootstrapwp'), 'id' => 'read_more_text', 'default' => 'Read More', 'type' => 'text'), array('title' => __('Make the Read More button Full Width - Block', 'bootstrapwp'), 'subtitle' => __('Enable/Disable full width button.', 'bootstrapwp'), 'id' => 'read_more_block', 'default' => true, 'on' => __('Enable', 'bootstrapwp'), 'off' => __('Disable', 'bootstrapwp'), 'type' => 'switch'), array('title' => __('Read More Button Size', 'bootstrapwp'), 'subtitle' => __('Select the Bootstrap button size you want.', 'bootstrapwp'), 'id' => 'read_more_size', 'default' => 'default', 'type' => 'select', 'options' => $btn_size), array('title' => __('Read More Button Color', 'bootstrapwp'), 'subtitle' => __('Select the Bootstrap button color you want.', 'bootstrapwp'), 'id' => 'read_more_color', 'default' => 'default', 'type' => 'select', 'options' => $btn_color), array('title' => __('Display Tags', 'bootstrapwp'), 'subtitle' => __('Select to enable/disable the post tags.', 'bootstrapwp'), 'id' => 'enable_disable_tags', 'default' => true, 'on' => __('Enable', 'bootstrapwp'), 'off' => __('Disable', 'bootstrapwp'), 'type' => 'switch')));
            //CSS
            $this->sections[] = array('icon' => 'el-icon-css', 'title' => __('CSS', 'bootstrapwp'), 'fields' => array(array('title' => __('Custom CSS', 'bootstrapwp'), 'subtitle' => __('Insert any custom CSS.', 'bootstrapwp'), 'id' => 'custom_css', 'type' => 'ace_editor', 'mode' => 'css', 'theme' => 'monokai')));
            if (file_exists(trailingslashit(dirname(__FILE__)) . 'README.html')) {
                $tabs['docs'] = array('icon' => 'el-icon-book', 'title' => __('Documentation', 'bootstrapwp'), 'content' => nl2br(file_get_contents(trailingslashit(dirname(__FILE__)) . 'README.html')));
            }
        }
 public function setSections()
 {
     /**
      * Used within different fields. Simply examples. Search for ACTUAL DECLARATION for field examples
      **/
     $sampleHTML = '';
     if (file_exists(dirname(__FILE__) . '/info-html.html')) {
         Redux_Functions::initWpFilesystem();
         global $wp_filesystem;
         $sampleHTML = $wp_filesystem->get_contents(dirname(__FILE__) . '/info-html.html');
     }
     // ACTUAL DECLARATION OF SECTIONS
     $this->sections = array_merge($this->sections, WPMOLY_Settings::get_default_settings());
 }
Пример #10
0
        public function setSections()
        {
            /**
                          Used within different fields. Simply examples. Search for ACTUAL DECLARATION for field examples
                         * */
            // Background Patterns Reader
            $sample_patterns_path = ReduxFramework::$_dir . '../sample/patterns/';
            $sample_patterns_url = ReduxFramework::$_url . '../sample/patterns/';
            $sample_patterns = array();
            if (is_dir($sample_patterns_path)) {
                if ($sample_patterns_dir = opendir($sample_patterns_path)) {
                    $sample_patterns = array();
                    while (($sample_patterns_file = readdir($sample_patterns_dir)) !== false) {
                        if (stristr($sample_patterns_file, '.png') !== false || stristr($sample_patterns_file, '.jpg') !== false) {
                            $name = explode('.', $sample_patterns_file);
                            $name = str_replace('.' . end($name), '', $sample_patterns_file);
                            $sample_patterns[] = array('alt' => $name, 'img' => $sample_patterns_url . $sample_patterns_file);
                        }
                    }
                }
            }
            ob_start();
            $ct = wp_get_theme();
            $this->theme = $ct;
            $item_name = $this->theme->get('Name');
            $tags = $this->theme->Tags;
            $screenshot = $this->theme->get_screenshot();
            $class = $screenshot ? 'has-screenshot' : '';
            $customize_title = sprintf(__('Customize &#8220;%s&#8221;', 'kreativa'), $this->theme->display('Name'));
            ?>
            <div id="current-theme" class="<?php 
            echo esc_attr($class);
            ?>
">
            <?php 
            if ($screenshot) {
                ?>
                <?php 
                if (current_user_can('edit_theme_options')) {
                    ?>
                        <a href="<?php 
                    echo wp_customize_url();
                    ?>
" class="load-customize hide-if-no-customize" title="<?php 
                    echo esc_attr($customize_title);
                    ?>
">
                            <img src="<?php 
                    echo esc_url($screenshot);
                    ?>
" alt="<?php 
                    esc_attr_e('Current theme preview');
                    ?>
" />
                        </a>
                <?php 
                }
                ?>
                    <img class="hide-if-customize" src="<?php 
                echo esc_url($screenshot);
                ?>
" alt="<?php 
                esc_attr_e('Current theme preview');
                ?>
" />
                <?php 
            }
            ?>

                <h4><?php 
            echo $this->theme->display('Name');
            ?>
</h4>

                <div>
                    <ul class="theme-info">
                        <li><?php 
            printf(__('By %s', 'kreativa'), $this->theme->display('Author'));
            ?>
</li>
                        <li><?php 
            printf(__('Version %s', 'kreativa'), $this->theme->display('Version'));
            ?>
</li>
                        <li><?php 
            echo '<strong>' . __('Tags', 'kreativa') . ':</strong> ';
            printf($this->theme->display('Tags'));
            ?>
</li>
                    </ul>
                    <p class="theme-description"><?php 
            echo $this->theme->display('Description');
            ?>
</p>
            <?php 
            if ($this->theme->parent()) {
                printf(' <p class="howto">' . __('This <a href="%1$s">child theme</a> requires its parent theme, %2$s.') . '</p>', __('http://codex.wordpress.org/Child_Themes', 'kreativa'), $this->theme->parent()->display('Name'));
            }
            ?>

                </div>
            </div>

            <?php 
            $item_info = ob_get_contents();
            ob_end_clean();
            $sampleHTML = '';
            if (file_exists(dirname(__FILE__) . '/info-html.html')) {
                Redux_Functions::initWpFilesystem();
                global $wp_filesystem;
                $sampleHTML = $wp_filesystem->get_contents(dirname(__FILE__) . '/info-html.html');
            }
            // ACTUAL DECLARATION OF SECTIONS
            $this->sections[] = array('title' => __('General Options', 'kreativa'), 'icon' => 'el-icon-home', 'fields' => array(array('id' => 'theme-layout', 'type' => 'radio', 'title' => __('Option for Theme Layout', 'kreativa'), 'options' => array('1' => __('Wide', 'kreativa'), '2' => __('Boxed', 'kreativa')), 'default' => 1), array('id' => 'custom_color_primary', 'type' => 'color', 'title' => __('Your Custom Color(primary)', 'kreativa'), 'subtitle' => __('Select an primary custom color scheme.', 'kreativa')), array('id' => 'logo', 'type' => 'media', 'title' => __('Logo Normal', 'kreativa'), 'compiler' => 'true', 'mode' => false, 'subtitle' => __('Upload header logo for your website', 'kreativa')), array('id' => 'retinalogo', 'type' => 'media', 'title' => __('Retina Normal', 'kreativa'), 'compiler' => 'true', 'mode' => false, 'subtitle' => __('Upload header logo for your website', 'kreativa')), array('id' => 'blog_title', 'type' => 'switch', 'title' => __('Logo Text', 'kreativa'), 'subtitle' => __('Display Site Title from WP General Settings', 'kreativa'), 'default' => '1'), array('id' => 'favicon', 'type' => 'media', 'title' => __('Favicon', 'kreativa'), 'compiler' => 'true', 'mode' => false, 'subtitle' => __('Upload favicon for your website', 'kreativa')), array('id' => 'article_author', 'type' => 'switch', 'title' => __('Article Author', 'kreativa'), 'subtitle' => __('Display article author on blog post', 'kreativa'), 'default' => '1')));
            $this->sections[] = array('title' => __('Header Options', 'kreativa'), 'icon' => 'el-icon-home', 'fields' => array(array('id' => 'subtitle_text', 'type' => 'textarea', 'title' => __('Page Title Text', 'kreativa'), 'subtitle' => __('Description here will be displayed in each page along with title.', 'kreativa'), 'default' => 'Lets see more photos below about Kreativa'), array('id' => 'breadcrumb_image', 'type' => 'media', 'title' => __('Breadcrumb Image', 'kreativa'), 'default' => get_template_directory_uri() . '/assets/images/heading-bg.jpg', 'compiler' => 'true', 'mode' => false, 'subtitle' => __('Upload Breadcrumb Image', 'kreativa'))));
            $this->sections[] = array('icon' => 'el-icon-th', 'title' => __('Footer Options', 'kreativa'), 'fields' => array(array('id' => 'footer_text', 'type' => 'editor', 'title' => __('Footer Text', 'kreativa'), 'subtitle' => __('The text written here will be display in footer', 'kreativa'), 'default' => 'Copyright 2014, '), array('id' => 'footer-social', 'type' => 'switch', 'title' => __('Social Icons', 'kreativa'), 'subtitle' => __('Display social icons on footer', 'kreativa'), 'default' => '1'), array('id' => 'footer-style2', 'type' => 'switch', 'title' => __('Footer Style 2', 'kreativa'), 'subtitle' => __('Try our alternative footer style?', 'kreativa'), 'default' => '1'), array('id' => 'footer-layout', 'type' => 'image_select', 'title' => __('Option for Footer Layout', 'kreativa'), 'options' => array('1' => array('alt' => '1 Column', 'img' => ReduxFramework::$_url . 'assets/img/ft-1cl.png'), '2' => array('alt' => '2 Column', 'img' => ReduxFramework::$_url . 'assets/img/ft-2cl.png'), '3' => array('alt' => '2 Column Left', 'img' => ReduxFramework::$_url . 'assets/img/ft-2cl2.png'), '4' => array('alt' => '2 Column Right', 'img' => ReduxFramework::$_url . 'assets/img/ft-2cl3.png'), '5' => array('alt' => '2 Column Middle', 'img' => ReduxFramework::$_url . 'assets/img/ft-2cl4.png'), '6' => array('alt' => '3 Column       ', 'img' => ReduxFramework::$_url . 'assets/img/ft-3cl.png'), '7' => array('alt' => '3 Column Left', 'img' => ReduxFramework::$_url . 'assets/img/ft-3cl2.png'), '8' => array('alt' => '3 Column Right', 'img' => ReduxFramework::$_url . 'assets/img/ft-3cl3.png'), '9' => array('alt' => '3 Column middle', 'img' => ReduxFramework::$_url . 'assets/img/ft-3cl4.png'), '10' => array('alt' => '4 Column      ', 'img' => ReduxFramework::$_url . 'assets/img/ft-4cl.png')), 'default' => '2'), array('id' => 'footer-on', 'type' => 'switch', 'title' => __('Display Footer', 'kreativa'), 'subtitle' => __('You can hide/show footer.', 'kreativa'), 'default' => '1'), array('id' => 'secondfooter-on', 'type' => 'switch', 'title' => __('Display Secondary Footer', 'kreativa'), 'subtitle' => __('You can hide/show secondary footer.', 'kreativa'), 'default' => '1')));
            $this->sections[] = array('title' => __('Page Options', 'kreativa'), 'icon' => 'el-icon-home', 'fields' => array(array('id' => 'portfolio-layout', 'type' => 'select', 'multi' => false, 'title' => __('Portfolio Page Style', 'kreativa'), 'subtitle' => __('Choose the style of portfolio page', 'kreativa'), 'options' => array('3' => '3 Columns Layout', '4' => '4 Columns Layout'), 'default' => array('3')), array('id' => 'portfolio_related', 'type' => 'switch', 'title' => __('Display Realted Projects', 'kreativa'), 'subtitle' => __('You can hide/show related projects.', 'kreativa'), 'default' => '1'), array('id' => 'related_title', 'type' => 'text', 'title' => __('Title for Related Projects', 'kreativa'), 'subtitle' => __('Text will be displayed as a title of related projects.', 'kreativa'), 'default' => __('SIMILAR PROJECTS', 'kreativa')), array('id' => 'related_subtitle', 'type' => 'text', 'title' => __('Subtitle for Related Projects', 'kreativa'), 'subtitle' => __('Text will be displayed as a subtitle of related projects.', 'kreativa'), 'default' => __('THIS IS A SUBTITLE, IN THIS CASE IT SHOWS OUR SERVICE TITLE', 'kreativa')), array('id' => '404_text', 'type' => 'text', 'title' => __('404 Error Description', 'kreativa'), 'subtitle' => __('Text will be displayed in Not Found page with 404 error.', 'kreativa'), 'default' => __('404 error.', 'kreativa'))));
            $this->sections[] = array('icon' => 'el-icon-bullhorn', 'title' => __('Social Icons', 'kreativa'), 'desc' => __('<p class="description">You need to provide social details to display the social icons on footer.</p>', 'kreativa'), 'fields' => array(array('id' => 'social_facebook', 'type' => 'text', 'title' => __('Facebook URL', 'kreativa'), 'validate' => 'url'), array('id' => 'social_twitter', 'type' => 'text', 'title' => __('Twitter URL', 'kreativa'), 'validate' => 'url'), array('id' => 'google', 'type' => 'text', 'title' => __('Google Plus URL', 'kreativa'), 'validate' => 'url'), array('id' => 'github', 'type' => 'text', 'title' => __('Github URL', 'kreativa'), 'validate' => 'url'), array('id' => 'behance', 'type' => 'text', 'title' => __('Behance URL', 'kreativa'), 'validate' => 'url'), array('id' => 'pinterest', 'type' => 'text', 'title' => __('Pinterest URL', 'kreativa'), 'validate' => 'url')));
            $this->sections[] = array('icon' => 'el-icon-signal', 'title' => __('SEO options', 'kreativa'), 'desc' => __('<p class="description">We consider your online presense.</p>', 'kreativa'), 'fields' => array(array('id' => 'meta_javascript', 'type' => 'textarea', 'title' => __('Tracking Code', 'kreativa'), 'subtitle' => __('Paste your <b>Google Analytics</b> (or other) tracking code here. This will be added into the footer template of your theme.', 'kreativa')), array('id' => 'meta_head', 'type' => 'textarea', 'title' => __('Meta Heading', 'kreativa'), 'validate' => 'no_html'), array('id' => 'meta_author', 'type' => 'text', 'title' => __('Meta Author', 'kreativa')), array('id' => 'meta_desc', 'type' => 'textarea', 'title' => __('Meta Description', 'kreativa'), 'validate' => 'no_html'), array('id' => 'meta_keyword', 'type' => 'textarea', 'title' => __('Meta Keyword', 'kreativa'), 'validate' => 'no_html', 'subtitle' => __('Enter the wordpress seperated by comma.', 'kreativa'))));
            $this->sections[] = array('icon' => 'el-icon-check', 'title' => __('Custom CSS', 'kreativa'), 'desc' => __('<p class="description">You can add custom CSS to override existing theme design.</p>', 'kreativa'), 'fields' => array(array('id' => 'extra-css', 'type' => 'ace_editor', 'title' => __('CSS Code', 'kreativa'), 'subtitle' => __('Paste your CSS code here.', 'kreativa'), 'mode' => 'css', 'theme' => 'monokai', 'desc' => 'Possible modes can be found at <a href="http://ace.c9.io" target="_blank">http://ace.c9.io/</a>.')));
            $this->sections[] = array('title' => __('Import / Export', 'kreativa'), 'desc' => __('Import and Export your Redux Framework settings from file, text or URL.', 'kreativa'), 'icon' => 'el-icon-refresh', 'fields' => array(array('id' => 'opt-import-export', 'type' => 'import_export', 'title' => 'Import Export', 'subtitle' => 'Save and restore your Redux options', 'full_width' => false)));
        }
Пример #11
0
        public function setSections()
        {
            /**
             * Used within different fields. Simply examples. Search for ACTUAL DECLARATION for field examples
             * */
            // Background Patterns Reader
            $sample_patterns_path = ReduxFramework::$_dir . '../sample/patterns/';
            $sample_patterns_url = ReduxFramework::$_url . '../sample/patterns/';
            $sample_patterns = array();
            if (is_dir($sample_patterns_path)) {
                if ($sample_patterns_dir = opendir($sample_patterns_path)) {
                    $sample_patterns = array();
                    while (($sample_patterns_file = readdir($sample_patterns_dir)) !== false) {
                        if (stristr($sample_patterns_file, '.png') !== false || stristr($sample_patterns_file, '.jpg') !== false) {
                            $name = explode('.', $sample_patterns_file);
                            $name = str_replace('.' . end($name), '', $sample_patterns_file);
                            $sample_patterns[] = array('alt' => $name, 'img' => $sample_patterns_url . $sample_patterns_file);
                        }
                    }
                }
            }
            ob_start();
            $ct = wp_get_theme();
            $this->theme = $ct;
            $item_name = $this->theme->get('Name');
            $tags = $this->theme->Tags;
            $screenshot = $this->theme->get_screenshot();
            $class = $screenshot ? 'has-screenshot' : '';
            $customize_title = sprintf(__('Customize &#8220;%s&#8221;', 'tt'), $this->theme->display('Name'));
            ?>
                <div id="current-theme" class="<?php 
            echo esc_attr($class);
            ?>
">
                    <?php 
            if ($screenshot) {
                ?>
                        <?php 
                if (current_user_can('edit_theme_options')) {
                    ?>
                            <a href="<?php 
                    echo wp_customize_url();
                    ?>
" class="load-customize hide-if-no-customize"
                               title="<?php 
                    echo esc_attr($customize_title);
                    ?>
">
                                <img src="<?php 
                    echo esc_url($screenshot);
                    ?>
"
                                     alt="<?php 
                    esc_attr_e('Current theme preview', 'tt');
                    ?>
"/>
                            </a>
                        <?php 
                }
                ?>
                        <img class="hide-if-customize" src="<?php 
                echo esc_url($screenshot);
                ?>
"
                             alt="<?php 
                esc_attr_e('Current theme preview', 'tt');
                ?>
"/>
                    <?php 
            }
            ?>

                    <h4><?php 
            echo $this->theme->display('Name');
            ?>
</h4>

                    <div>
                        <ul class="theme-info">
                            <li><?php 
            printf(__('By %s', 'tt'), $this->theme->display('Author'));
            ?>
</li>
                            <li><?php 
            printf(__('Version %s', 'tt'), $this->theme->display('Version'));
            ?>
</li>
                            <li><?php 
            echo '<strong>' . __('Tags', 'tt') . ':</strong> ';
            printf($this->theme->display('Tags'));
            ?>
</li>
                        </ul>
                        <p class="theme-description"><?php 
            echo $this->theme->display('Description');
            ?>
</p>
                        <?php 
            if ($this->theme->parent()) {
                printf(' <p class="howto">' . __('This <a href="%1$s">child theme</a> requires its parent theme, %2$s.', 'tt') . '</p>', __('http://codex.wordpress.org/Child_Themes', 'tt'), $this->theme->parent()->display('Name'));
            }
            ?>

                    </div>
                </div>

                <?php 
            $item_info = ob_get_contents();
            ob_end_clean();
            $sampleHTML = '';
            if (file_exists(dirname(__FILE__) . '/info-html.html')) {
                Redux_Functions::initWpFilesystem();
                global $wp_filesystem;
                $sampleHTML = $wp_filesystem->get_contents(dirname(__FILE__) . '/info-html.html');
            }
            /* General
            			============================== */
            $this->sections[] = array('title' => __('General', 'tt'), 'desc' => __('', 'tt'), 'icon' => 'fa fa-cog', 'fields' => array(array('id' => 'color-body-background', 'type' => 'background', 'output' => array('body, .section-title span'), 'title' => __('Body Background Color', 'tt'), 'subtitle' => __('Site Background Color (default: #f8f8f8)', 'tt'), 'default' => array('background-color' => '#f8f8f8'), 'background-repeat' => false, 'background-attachment' => false, 'background-position' => false, 'background-image' => false, 'transparent' => false, 'background-size' => false), array('id' => 'color-accent', 'type' => 'color', 'title' => __('Accent Color', 'tt'), 'subtitle' => __('Site Background Color (default: #70b9a0)', 'tt'), 'default' => '#70b9a0', 'validate' => 'color', 'transparent' => false), array('id' => 'favicon', 'type' => 'media', 'title' => __('Favicon', 'tt'), 'compiler' => 'true', 'mode' => false, 'desc' => __('Upload Square Graphic (Recommendation: 64x64 PNG file)', 'tt'), 'subtitle' => __('', 'tt')), array('id' => 'logo-menu', 'type' => 'media', 'title' => __('Logo', 'tt'), 'compiler' => 'true', 'mode' => false, 'desc' => __('Image will be displayed at 50% width & height for Retina-Ready purpose. For example: 300x60 image shows at 150x30. Upload your logo accordingly.', 'tt'), 'subtitle' => __('', 'tt')), array('id' => 'logo-url', 'type' => 'text', 'title' => __('Logo URL', 'tt'), 'desc' => __('Helpful when using intro page as your frontpage. If empty, URL will be your site address.', 'tt'), 'subtitle' => __('', 'tt')), array('id' => 'logo-login', 'type' => 'media', 'title' => __('WordPress Login Page - Logo', 'tt'), 'compiler' => 'true', 'mode' => false, 'desc' => __('Max. dimension: 320x80', 'tt'), 'subtitle' => __('', 'tt')), array('id' => 'background-login', 'type' => 'color', 'title' => __('WordPress Login Page - Background Color', 'tt'), 'subtitle' => __('Default: #f8f8f8', 'tt'), 'default' => '#f8f8f8', 'validate' => 'color', 'transparent' => false), array('id' => '404-page', 'type' => 'select', 'data' => 'pages', 'title' => __('Custom 404 Error Page', 'tt'), 'subtitle' => __('Content of selected page will be shown to visitors who request a non-existing, so called "404 Error Page".', 'tt'), 'desc' => __('If nothing selected, default 404 Content will be displayed.', 'tt')), array('id' => 'custom-styles', 'type' => 'ace_editor', 'mode' => 'css', 'theme' => 'chrome', 'title' => __('Custom Styles (CSS)', 'tt'), 'subtitle' => __('Inline CSS right before closing <strong>&lt;/head&gt;</strong>', 'tt'), 'desc' => __('', 'tt'), 'default' => ''), array('id' => 'custom-scripts', 'type' => 'ace_editor', 'mode' => 'javascript', 'theme' => 'chrome', 'title' => __('Custom Scripts (Google Analytics etc.)', 'tt'), 'subtitle' => __('Inline scripts right before closing <strong>&lt;/body&gt;</strong>', 'tt'), 'desc' => __('Use "jQuery" selector, instead of "$" shorthand. Do not add any &lt;script&gt; tags, they are already applied to this code.', 'tt'), 'default' => ''), array('id' => 'enable-rtl-support', 'type' => 'checkbox', 'title' => __('Enable Right-to-Left Language Support', 'tt'), 'subtitle' => __('Required for carousel etc.', 'tt'), 'desc' => __('', 'tt'), 'default' => 0), array('id' => 'user-registration-terms-page', 'type' => 'select', 'data' => 'pages', 'title' => __('User Registration: Select "Terms & Conditions" Page', 'tt'), 'subtitle' => __('', 'tt'), 'desc' => __('Select the page that contains your "Terms & Conditions". When a page has been selected, users are required to accept your terms and conditions in order to register.', 'tt'))));
            /* HEADER
            			============================== */
            $this->sections[] = array('title' => __('Header', 'tt'), 'desc' => __('', 'tt'), 'icon' => 'fa fa-bars', 'fields' => array(array('id' => 'header-layout', 'type' => 'radio', 'title' => __('Header Layout', 'tt'), 'subtitle' => __('', 'tt'), 'desc' => __('', 'tt'), 'options' => array('default' => __('Logo left, contact right, navigation bottom', 'tt'), 'nav-right' => __('Logo left, contact top , navigation right', 'tt')), 'default' => 'default'), array('id' => 'color-header-background', 'type' => 'background', 'output' => array('header.navbar, header.navbar .navbar-collapse, header.navbar .navbar-nav > ul > li ul.sub-menu, header.navbar nav > div > ul > li ul.sub-menu'), 'title' => __('Site Header Background Color', 'tt'), 'subtitle' => __('Site Background Color (default: #333333)', 'tt'), 'default' => array('background-color' => '#333333'), 'background-repeat' => false, 'background-attachment' => false, 'background-position' => false, 'background-image' => false, 'transparent' => false, 'background-size' => false), array('id' => 'color-header', 'type' => 'color', 'title' => __('Site Header Color', 'tt'), 'subtitle' => __('Site Header Color (default: #ffffff)', 'tt'), 'default' => '#ffffff', 'validate' => 'color', 'transparent' => false), array('id' => 'site-header-phone', 'type' => 'text', 'title' => __('Phone Number', 'tt'), 'subtitle' => __('', 'tt'), 'desc' => __('', 'tt'), 'default' => '+1 555 22 66 8890'), array('id' => 'site-header-email', 'type' => 'text', 'title' => __('Email Address', 'tt'), 'subtitle' => __('', 'tt'), 'desc' => __('', 'tt'), 'validate' => 'email', 'default' => '*****@*****.**'), array('id' => 'show-sub-menu-by-default-on-mobile', 'type' => 'checkbox', 'title' => __('Show Sub Menu By Default On Mobile', 'tt'), 'subtitle' => __('', 'tt'), 'desc' => __('', 'tt'), 'default' => 0), array('id' => 'disable-header-login-register-bar', 'type' => 'checkbox', 'title' => __('Disable Login/Register Bar', 'tt'), 'subtitle' => __('', 'tt'), 'desc' => __('', 'tt'), 'default' => 0), array('id' => 'site-header-hide-property-submit-link', 'type' => 'checkbox', 'title' => __('Hide Property Submit Link', 'tt'), 'subtitle' => __('For Non-Logged-In Visitors', 'tt'), 'desc' => __('', 'tt'), 'default' => 0), array('id' => 'site-header-position-fixed', 'type' => 'checkbox', 'title' => __('Enable Fixed/Scrolling Header', 'tt'), 'subtitle' => __('', 'tt'), 'desc' => __('', 'tt'), 'default' => 0), array('id' => 'header-tagline', 'type' => 'checkbox', 'title' => __('Show Site Tagline', 'tt'), 'subtitle' => __('Display "Settings  > General > Tagline" underneath logo', 'tt'), 'desc' => __('', 'tt'), 'default' => 0)));
            /* Home Slideshow
            			============================== */
            $this->sections[] = array('title' => __('Home Slideshow', 'tt'), 'desc' => __('', 'tt'), 'icon' => 'fa fa-image', 'fields' => array(array('id' => 'slideshow-width-type', 'type' => 'radio', 'title' => __('Slideshow Width', 'tt'), 'subtitle' => __('', 'tt'), 'desc' => __('Applied to page template "Home - Slideshow" and "Property Slideshow". Select smaller dimension for faster page load time. Setting doesn\'t effect slideshow container width, image still stretches full width.', 'tt'), 'options' => array('full' => __('Original Image Ratio', 'tt'), 'thumbnail-1600' => __('1600px', 'tt') . ' (new thumbnail size in v1.6.2, if selected make sure to <a href="https://wordpress.org/plugins/regenerate-thumbnails/" target="_blank">regenarate thumbnails</a>)', 'thumbnail-1200' => __('1200px (Default)', 'tt')), 'default' => 'thumbnail-1200'), array('id' => 'home-slideshow-height-type', 'type' => 'radio', 'title' => __('Slideshow Height', 'tt'), 'subtitle' => __('', 'tt'), 'desc' => __('Applied to page template "Home - Slideshow" and "Property Slideshow". When selecting "Original Image Ratio" make sure your images have a sufficient height on mobile devices. If not, please resize them accordingly.', 'tt'), 'options' => array('original' => __('Original Image Ratio', 'tt'), 'fullscreen' => __('Fullscreen (min. 400px for proper display on mobile)', 'tt'), 'custom' => __('Custom Height (min. 400px for proper display on mobile)', 'tt')), 'default' => 'fullscreen'), array('id' => 'home-slideshow-custom-height', 'type' => 'text', 'title' => __('Custom Slideshow Height', 'tt'), 'subtitle' => __('Default: 400', 'tt'), 'desc' => __('', 'tt'), 'validate' => 'numeric', 'default' => '400', 'required' => array('home-slideshow-height-type', '=', 'custom')), array('id' => 'home-slideshow-speed', 'type' => 'text', 'title' => __('Slideshow Speed (in ms)', 'tt'), 'subtitle' => __('Default: 5000', 'tt'), 'desc' => __('', 'tt'), 'validate' => 'numeric', 'default' => '5000'), array('id' => 'home-slideshow-type', 'type' => 'radio', 'title' => __('Home Slideshow Type', 'tt'), 'subtitle' => __('', 'tt'), 'desc' => __('', 'tt'), 'options' => array('slideshow-properties' => __('Property Slideshow', 'tt'), 'slideshow-custom' => __('Custom Content Slideshow', 'tt')), 'default' => 'slideshow-properties'), array('id' => 'home-slideshow-properties-mode', 'type' => 'radio', 'title' => __('Property Slideshow Type', 'tt'), 'subtitle' => __('', 'tt'), 'desc' => __('', 'tt'), 'options' => array('slideshow-properties-show-featured' => __('Show Featured Properties', 'tt'), 'slideshow-properties-show-latest' => __('Show Latest 3 Properties', 'tt'), 'slideshow-properties-show-selected' => __('Show Selected Properties', 'tt')), 'default' => 'slideshow-properties-show-latest', 'required' => array('home-slideshow-type', '=', 'slideshow-properties')), array('id' => 'home-property-slides', 'type' => 'select', 'data' => 'posts', 'args' => array('post_type' => 'property', 'posts_per_page' => -1), 'multi' => true, 'sortable' => true, 'title' => __('Property Slides', 'tt'), 'subtitle' => __('', 'tt'), 'desc' => __('Select Slideshow Properties. Order Via Drag & Drop.', 'tt'), 'required' => array('home-slideshow-properties-mode', '=', 'slideshow-properties-show-selected')), array('id' => 'home-slides', 'type' => 'slides', 'title' => __('Custom Content Slides', 'tt'), 'subtitle' => __('Create Your Custom Home Slideshow.', 'tt'), 'desc' => __('', 'tt'), 'placeholder' => array('title' => __('This is a title', 'tt'), 'description' => __('Description Here', 'tt'), 'url' => __('Give us a link!', 'tt')), 'required' => array('home-slideshow-type', '=', 'slideshow-custom')), array('id' => 'home-slideshow-search', 'type' => 'radio', 'title' => __('Show Property Search Form', 'tt'), 'subtitle' => __('', 'tt'), 'desc' => __('', 'tt'), 'options' => array('none' => __('None', 'tt'), 'mini' => __('Mini Search', 'tt'), 'custom' => __('Custom Search (configure under "Property Search")', 'tt')), 'default' => 'none')));
            /* Map
            			============================== */
            $this->sections[] = array('title' => __('Map', 'tt'), 'desc' => __('', 'tt'), 'icon' => 'fa fa-map-marker', 'fields' => array(array('id' => 'map-height-type-home-search', 'type' => 'radio', 'title' => __('Map Height', 'tt'), 'subtitle' => __('Min. 400px for proper display on mobile', 'tt'), 'desc' => __('Will be applied to home map and search results map.', 'tt'), 'options' => array('fullscreen' => __('Fullscreen', 'tt'), 'custom' => __('Custom Height', 'tt')), 'default' => 'custom'), array('id' => 'map-height-custom-home-search', 'type' => 'text', 'title' => __('Custom Map Height', 'tt'), 'subtitle' => __('Default: 400', 'tt'), 'desc' => __('', 'tt'), 'validate' => 'numeric', 'default' => '400', 'required' => array('map-height-type-home-search', '=', 'custom')), array('id' => 'map-marker-property-default', 'type' => 'image_select', 'title' => __('Default Map Marker: Property', 'tt'), 'subtitle' => __('Default: Green (Dimension: 100x138)', 'tt'), 'desc' => __('', 'tt'), 'options' => array(get_template_directory_uri() . '/lib/images/map-marker/map-marker-red-fat.png' => array('title' => 'Map Marker: Red', 'img' => get_template_directory_uri() . '/lib/images/map-marker/map-marker-red-fat.png'), get_template_directory_uri() . '/lib/images/map-marker/map-marker-blue-fat.png' => array('title' => 'Map Marker: Blue', 'img' => get_template_directory_uri() . '/lib/images/map-marker/map-marker-blue-fat.png'), get_template_directory_uri() . '/lib/images/map-marker/map-marker-green-fat.png' => array('title' => 'Map Marker: Green', 'img' => get_template_directory_uri() . '/lib/images/map-marker/map-marker-green-fat.png')), 'default' => get_template_directory_uri() . '/lib/images/map-marker/map-marker-green-fat.png'), array('id' => 'map-marker-property', 'type' => 'media', 'title' => __('Custom Map Marker: Property', 'tt'), 'compiler' => 'true', 'mode' => false, 'desc' => __('', 'tt'), 'subtitle' => __('Transparent PNG file (Recommended Dimension: 100x138)', 'tt')), array('id' => 'map-marker-cluster-default', 'type' => 'image_select', 'title' => __('Default Map Marker: Cluster', 'tt'), 'subtitle' => __('Default: Red (Dimension: 100x100)', 'tt'), 'desc' => __('', 'tt'), 'options' => array(get_template_directory_uri() . '/lib/images/map-marker/map-marker-red-round.png' => array('title' => 'Map Marker: Red', 'img' => get_template_directory_uri() . '/lib/images/map-marker/map-marker-red-round.png'), get_template_directory_uri() . '/lib/images/map-marker/map-marker-blue-round.png' => array('title' => 'Map Marker: Blue', 'img' => get_template_directory_uri() . '/lib/images/map-marker/map-marker-blue-round.png'), get_template_directory_uri() . '/lib/images/map-marker/map-marker-green-round.png' => array('title' => 'Map Marker: Green', 'img' => get_template_directory_uri() . '/lib/images/map-marker/map-marker-green-round.png')), 'default' => get_template_directory_uri() . '/lib/images/map-marker/map-marker-red-round.png'), array('id' => 'map-marker-cluster', 'type' => 'media', 'title' => __('Custom Map Marker: Cluster', 'tt'), 'compiler' => 'true', 'mode' => false, 'desc' => __('For a non-square graphic, you have to add some Custom CSS to position the cluster number: #map .cluster > div { line-height: 1 !important; padding-top: ??px !important; }', 'tt'), 'subtitle' => __('Transparent Square PNG file (Recommended Dimension: 100x100)', 'tt')), array('id' => 'map-default-zoom-level', 'type' => 'spinner', 'title' => __('Default Zoom Level', 'tt'), 'subtitle' => __('Default: 14', 'tt'), 'desc' => __('Applies to: Property Single Page.', 'tt'), 'default' => 14, 'min' => 1, 'step' => 1, 'max' => 20, 'display_value' => 'label'), array('id' => 'map-properties-quantity', 'type' => 'spinner', 'title' => __('Number of Properties on Map', 'tt'), 'subtitle' => __('', 'tt'), 'desc' => __('Select "-1" to display all properties on the map.', 'tt'), 'default' => -1, 'min' => -1, 'step' => 1, 'max' => 100, 'display_value' => 'label'), array('id' => 'disable-google-maps-api', 'type' => 'checkbox', 'title' => __('Don\'t load Google Maps API', 'tt'), 'subtitle' => __('', 'tt'), 'desc' => __('Check this box, if map is not showing. Another plugin might already load the API, and a duplicate API request produces an error.', 'tt'), 'default' => 0)));
            /* Property
            			============================== */
            // Default Fields
            $default_fields_search = array(__('Default Fields', 'tt') => array('estate_search_by_keyword' => __('Search by Keyword', 'tt'), 'estate_property_id' => __('Property ID', 'tt'), 'estate_property_location' => __('Location', 'tt'), 'estate_property_type' => __('Type', 'tt'), 'estate_property_status' => __('Status', 'tt'), 'estate_property_price' => __('Price', 'tt'), 'estate_property_pricerange' => __('Price Range (set options below)', 'tt'), 'estate_property_size' => __('Size', 'tt'), 'estate_property_rooms' => __('Rooms', 'tt'), 'estate_property_bedrooms' => __('Bedrooms', 'tt'), 'estate_property_bathrooms' => __('Bathrooms', 'tt'), 'estate_property_garages' => __('Garages', 'tt'), 'estate_property_available_from' => __('Availability / Date', 'tt')));
            // Default Property Listing Fields
            $default_fields_listing = array(__('Default Listing Fields', 'tt') => array('estate_property_id' => __('Property ID', 'tt'), 'estate_property_size' => __('Size', 'tt'), 'estate_property_rooms' => __('Rooms', 'tt'), 'estate_property_bedrooms' => __('Bedrooms', 'tt'), 'estate_property_bathrooms' => __('Bathrooms', 'tt'), 'estate_property_garages' => __('Garages', 'tt'), 'estate_property_available_from' => __('Availability / Date', 'tt')));
            require_once TT_LIB . '/advanced-custom-fields.php';
            // Check if ACF is activated & ACF for post type "property" field groups
            if (tt_acf_active() && tt_acf_group_id_property()) {
                $acf_fields = array_combine(tt_acf_fields_name(tt_acf_group_id_property()), tt_acf_fields_label(tt_acf_group_id_property()));
                $acf_fields = array(__('Advanced Custom Fields', 'tt') => $acf_fields);
                $merged_fields_search = array_merge($default_fields_search, $acf_fields);
                $merged_fields_listing = array_merge($default_fields_listing, $acf_fields);
            } else {
                $merged_fields_search = $default_fields_search;
                $merged_fields_listing = $default_fields_listing;
            }
            $this->sections[] = array('title' => __('Property', 'tt'), 'desc' => __('', 'tt'), 'icon' => 'fa fa-home', 'fields' => array(array('id' => 'section-property-listing', 'type' => 'section', 'title' => __('Property Listing', 'tt'), 'subtitle' => __('', 'tt')), array('id' => 'property-listing-type', 'type' => 'radio', 'title' => __('Property Listing Fields', 'tt'), 'subtitle' => __('', 'tt'), 'desc' => __('', 'tt'), 'options' => array('default' => __('Default', 'tt'), 'custom' => __('Custom', 'tt')), 'default' => 'default'), array('id' => 'property-custom-listing', 'type' => 'repeater', 'title' => __('Custom Listing Fields', 'tt'), 'subtitle' => __('FontAwesome icon classes, e.g. "fa-expand", can be found here: <a href="http://fortawesome.github.io/Font-Awesome/icons/" target="_blank">http://fortawesome.github.io/Font-Awesome/icons/</a>. Do not use Advanced Custom Fields with a type of "checkbox" etc., as only single values are accepted.', 'tt'), 'bind_title' => 'property-custom-listing-label', 'sortable' => true, 'required' => array('property-listing-type', '=', 'custom'), 'fields' => array(array('id' => 'property-custom-listing-field', 'title' => __('', 'tt'), 'subtitle' => __('', 'tt'), 'desc' => __('', 'tt'), 'type' => 'select', 'options' => $merged_fields_listing, 'placeholder' => __('Field Type', 'tt')), array('id' => 'property-custom-listing-icon-class', 'type' => 'text', 'placeholder' => __('FontAwesome Icon Class', 'tt')), array('id' => 'property-custom-listing-label', 'type' => 'text', 'placeholder' => __('Label', 'tt')), array('id' => 'property-custom-listing-label-plural', 'type' => 'text', 'placeholder' => __('Label Plural', 'tt')), array('id' => 'property-custom-listing-tooltip', 'type' => 'checkbox', 'subtitle' => __('Show Tooltip Only', 'tt'), 'default' => 0))), array('id' => 'property-listing-default-view', 'type' => 'radio', 'title' => __('Property Listing Default View', 'tt'), 'subtitle' => __('Default: Grid View', 'tt'), 'desc' => __('', 'tt'), 'options' => array('grid-view' => __('Grid View', 'tt'), 'list-view' => __('List View', 'tt')), 'default' => 'grid-view'), array('id' => 'property-listing-columns', 'type' => 'radio', 'title' => __('Number Of Columns', 'tt'), 'subtitle' => __('', 'tt'), 'desc' => __('', 'tt'), 'options' => array('col-md-6' => __('2 Columns', 'tt'), 'col-lg-4 col-md-6' => __('3 Columns', 'tt'), 'col-lg-3 col-md-6' => __('4 Columns', 'tt')), 'default' => 'col-lg-4 col-md-6'), array('id' => 'search-results-per-page', 'type' => 'spinner', 'title' => __('Number of Properties Per Page', 'tt'), 'subtitle' => __('', 'tt'), 'desc' => __('Used For Property Search, Taxonomies etc.', 'tt'), 'default' => 10, 'min' => 2, 'step' => 1, 'max' => 50, 'display_value' => 'label'), array('id' => 'property-new-badge', 'type' => 'spinner', 'title' => __('"New" Property Badge', 'tt'), 'subtitle' => __('', 'tt'), 'desc' => __('Add <i class="fa fa-fire"></i> icon to property, if published within the last .. days. Set to "0" to disable this feature.', 'tt'), 'default' => 7, 'min' => 0, 'step' => 1, 'max' => 360, 'display_value' => 'label'), array('id' => 'property-comparison-disabled', 'type' => 'checkbox', 'title' => __('Disable Property Comparison', 'tt'), 'subtitle' => __('', 'tt'), 'desc' => __('', 'tt'), 'default' => 0), array('id' => 'property-favorites-disabled', 'type' => 'checkbox', 'title' => __('Disable Favorites Feature', 'tt'), 'subtitle' => __('', 'tt'), 'desc' => __('', 'tt'), 'default' => 0), array('id' => 'property-favorites-temporary', 'type' => 'checkbox', 'title' => __('Allow Non-Logged-In Visitors To Save Favorites Temporary', 'tt'), 'subtitle' => __('', 'tt'), 'desc' => __('', 'tt'), 'default' => 0), array('id' => 'section-property-detail-page', 'type' => 'section', 'title' => __('Property Detail Page', 'tt'), 'subtitle' => __('', 'tt')), array('id' => 'property-meta-data-type', 'type' => 'radio', 'title' => __('Property Meta Data', 'tt'), 'subtitle' => __('', 'tt'), 'desc' => __('', 'tt'), 'options' => array('default' => __('Default', 'tt'), 'custom' => __('Custom', 'tt')), 'default' => 'default'), array('id' => 'property-custom-meta-data', 'type' => 'repeater', 'title' => __('Custom Meta Data', 'tt'), 'subtitle' => __('FontAwesome icon classes, e.g. "fa-expand", can be found here: <a href="http://fortawesome.github.io/Font-Awesome/icons/" target="_blank">http://fortawesome.github.io/Font-Awesome/icons/</a>. Do not use Advanced Custom Fields with a type of "checkbox" etc., as only single values are accepted.', 'tt'), 'bind_title' => 'property-custom-meta-data-label', 'sortable' => true, 'required' => array('property-meta-data-type', '=', 'custom'), 'fields' => array(array('id' => 'property-custom-meta-data-field', 'title' => __('', 'tt'), 'subtitle' => __('', 'tt'), 'desc' => __('', 'tt'), 'type' => 'select', 'options' => $merged_fields_listing, 'placeholder' => __('Field Type', 'tt')), array('id' => 'property-custom-meta-data-icon-class', 'type' => 'text', 'placeholder' => __('FontAwesome Icon Class', 'tt')), array('id' => 'property-custom-meta-data-label', 'type' => 'text', 'placeholder' => __('Label', 'tt')), array('id' => 'property-custom-meta-data-label-plural', 'type' => 'text', 'placeholder' => __('Label Plural', 'tt')), array('id' => 'property-custom-meta-data-tooltip', 'type' => 'checkbox', 'subtitle' => __('Show Tooltip Only', 'tt'), 'default' => 0))), array('id' => 'property-meta-data-hide-print', 'type' => 'checkbox', 'title' => __('Property Meta Data: Hide Print Icon', 'tt'), 'subtitle' => __('', 'tt'), 'desc' => __('', 'tt'), 'default' => 0), array('id' => 'property-id-type', 'type' => 'radio', 'title' => __('Property ID Type', 'tt'), 'subtitle' => __('', 'tt'), 'desc' => __('', 'tt'), 'options' => array('post_id' => __('Post ID', 'tt'), 'custom_id' => __('Custom Property ID', 'tt')), 'default' => 'post_id'), array('id' => 'property-layout', 'type' => 'radio', 'title' => __('Default Single Property Layout', 'tt'), 'subtitle' => __('', 'tt'), 'desc' => __('', 'tt'), 'options' => array('layout-full-width' => __('Full Width Property Image / Slideshow', 'tt'), 'layout-boxed' => __('Boxed Property Image / Slideshow', 'tt')), 'default' => 'layout-full-width'), array('id' => 'property-lightbox', 'type' => 'radio', 'title' => __('Property Lightbox', 'tt'), 'subtitle' => __('', 'tt'), 'desc' => __('', 'tt'), 'options' => array('magnific-popup' => __('Magnific Popup', 'tt'), 'intense-images' => __('Intense Images', 'tt'), 'none' => __('None', 'tt')), 'default' => 'magnific-popup'), array('id' => 'property-image-width', 'type' => 'radio', 'title' => __('Property Image Width', 'tt'), 'subtitle' => __('', 'tt'), 'desc' => __('Select smaller dimension for faster page load time. Setting doesn\'t effect slideshow container width, image still stretches full width.', 'tt'), 'options' => array('full' => __('Original Image Ratio', 'tt'), 'thumbnail-1600' => __('1600px', 'tt') . ' (new thumbnail size in v1.6.2, if selected make sure to <a href="https://wordpress.org/plugins/regenerate-thumbnails/" target="_blank">regenarate thumbnails</a>)', 'thumbnail-1200' => __('1200px (Default)', 'tt')), 'default' => 'thumbnail-1200'), array('id' => 'property-image-height', 'type' => 'radio', 'title' => __('Property Image Height', 'tt'), 'subtitle' => __('Min. 400px for proper display on mobile', 'tt'), 'desc' => __('', 'tt'), 'options' => array('original' => __('Original Image Ratio', 'tt'), 'fullscreen' => __('Fullscreen (min. 400px for proper display on mobile)', 'tt'), 'custom' => __('Custom Height (min. 400px for proper display on mobile)', 'tt')), 'default' => 'original'), array('id' => 'property-image-custom-height', 'type' => 'text', 'title' => __('Custom Property Image Height', 'tt'), 'subtitle' => __('Default: 400', 'tt'), 'desc' => __('', 'tt'), 'validate' => 'numeric', 'default' => '400', 'required' => array('property-image-height', '=', 'custom')), array('id' => 'property-image-height-fit-or-cut', 'type' => 'radio', 'title' => __('Property Image Overflow Handling', 'tt'), 'subtitle' => __('', 'tt'), 'desc' => __('Choose to fit or cut off your property images.', 'tt'), 'options' => array('fit' => __('Fit Image', 'tt'), 'cut' => __('Cut Off Image', 'tt')), 'default' => 'cut', 'required' => array('property-image-height', '!=', 'original')), array('id' => 'property-additional-details-hide-empty', 'type' => 'checkbox', 'title' => __('Hide Empty Additional Details', 'tt'), 'subtitle' => __('', 'tt'), 'desc' => __('', 'tt'), 'default' => 0), array('id' => 'property-features-hide-non-applicable', 'type' => 'checkbox', 'title' => __('Hide Non Applicable Property Features', 'tt'), 'subtitle' => __('', 'tt'), 'desc' => __('', 'tt'), 'default' => 0), array('id' => 'property-title-details', 'type' => 'text', 'title' => __('Property Title: Details', 'tt'), 'subtitle' => __('', 'tt'), 'desc' => __('', 'tt'), 'default' => __('', 'tt')), array('id' => 'property-title-additional-details', 'type' => 'text', 'title' => __('Property Title: Custom Fields', 'tt'), 'subtitle' => __('', 'tt'), 'desc' => __('Won\'t appear, if no advanced custom fields are created.', 'tt'), 'default' => __('Additional details', 'tt')), array('id' => 'property-title-features', 'type' => 'text', 'title' => __('Property Title: Features', 'tt'), 'subtitle' => __('', 'tt'), 'desc' => __('', 'tt'), 'default' => __('Features', 'tt')), array('id' => 'property-title-map', 'type' => 'text', 'title' => __('Property Title: Map', 'tt'), 'subtitle' => __('', 'tt'), 'desc' => __('', 'tt'), 'default' => __('Location', 'tt')), array('id' => 'property-title-attachments', 'type' => 'text', 'title' => __('Property Title: Attachments', 'tt'), 'subtitle' => __('', 'tt'), 'desc' => __('', 'tt'), 'default' => __('Attachments', 'tt')), array('id' => 'property-title-floor-plan', 'type' => 'text', 'title' => __('Property Title: Floor Plan', 'tt'), 'subtitle' => __('', 'tt'), 'desc' => __('', 'tt'), 'default' => __('Floor Plan', 'tt')), array('id' => 'property-title-agent', 'type' => 'text', 'title' => __('Property Title: Agent', 'tt'), 'subtitle' => __('', 'tt'), 'desc' => __('', 'tt'), 'default' => __('Agent', 'tt')), array('id' => 'property-floor-plan-disable', 'type' => 'checkbox', 'title' => __('Disable Floor Plans', 'tt'), 'subtitle' => __('', 'tt'), 'desc' => __('', 'tt'), 'default' => 0), array('id' => 'property-social-sharing', 'type' => 'checkbox', 'title' => __('Display Social Sharing Buttons', 'tt'), 'subtitle' => __('', 'tt'), 'desc' => __('', 'tt'), 'default' => 1), array('id' => 'property-agent-information', 'type' => 'checkbox', 'title' => __('Display Agent Information', 'tt'), 'subtitle' => __('', 'tt'), 'desc' => __('', 'tt'), 'default' => 1), array('id' => 'property-contact-form', 'type' => 'checkbox', 'title' => __('Display Contact Form', 'tt'), 'subtitle' => __('', 'tt'), 'desc' => __('', 'tt'), 'default' => 1), array('id' => 'property-contact-form-cf7-shortcode', 'type' => 'text', 'title' => __('Use Contact Form 7 Instead Of Default Contact Form', 'tt'), 'subtitle' => __('', 'tt'), 'desc' => __('Enter your Contact Form 7 shortcode ID. Make sure CF7 plugin is activated and that ID entered matches your CF7 form ID. Leave empty to use the default contact form.', 'tt'), 'validate' => 'numeric', 'default' => '', 'required' => array('property-contact-form', '=', '1')), array('id' => 'property-contact-form-default-email', 'type' => 'text', 'title' => __('Default Contact Email Adress', 'tt'), 'subtitle' => __('', 'tt'), 'desc' => __('Used, if agent has no email address, and on his/her profile page.', 'tt'), 'validate' => 'email', 'default' => ''), array('id' => 'property-similar-properties-criteria', 'type' => 'checkbox', 'title' => 'Similar Properties', 'subtitle' => 'Check criteria that a property has to meet in order to be listed on a property detail page under "Similar Properties".', 'compiler' => 'true', 'options' => array('location' => __('Same location', 'tt'), 'status' => __('Same status', 'tt'), 'type' => __('Same type', 'tt'), 'min_rooms' => __('Min. Rooms', 'tt'), 'max_price' => __('Max. Price', 'tt'), 'available_from' => __('Available From', 'tt')), 'default' => array('location' => '1', 'status' => '0', 'type' => '0', 'min_rooms' => '0', 'max_price' => '0', 'available_from' => '0')), array('id' => 'property-similar-properties-columns', 'type' => 'spinner', 'title' => __('Similar Properties Columns', 'tt'), 'subtitle' => __('', 'tt'), 'desc' => __('', 'tt'), 'default' => 2, 'min' => 1, 'step' => 1, 'max' => 4, 'display_value' => 'label'), array('id' => 'property-comments', 'type' => 'checkbox', 'title' => __('Show Property Comments', 'tt'), 'subtitle' => __('', 'tt'), 'desc' => __('', 'tt'), 'default' => 0)));
            /* Property Search
            			============================== */
            $this->sections[] = array('title' => __('Property Search', 'tt'), 'desc' => __('', 'tt'), 'class' => 'property-search-section', 'icon' => 'el-icon-search', 'fields' => array(array('id' => 'section-property-search-fields', 'type' => 'section', 'title' => __('Fields: Property Search', 'tt'), 'subtitle' => '<strong>' . __('Required', 'tt') . ':</strong> ' . __('All search field attributes for every search field. "Unique Search Parameter" has to be all lowercase letters, no spaces. Underscores and dashes allowed.', 'tt') . ' (<a href="//themetrail.com/docs/realty/#property-search" target=_blank">' . __('learn more about the property search', 'tt') . '</a>).'), array('id' => 'property-search-fields', 'type' => 'repeater', 'title' => __('', 'tt'), 'subtitle' => __('', 'tt'), 'bind_title' => 'property-search-label', 'sortable' => true, 'fields' => array(array('id' => 'property-search-field', 'type' => 'select', 'options' => $merged_fields_search, 'placeholder' => __('Search Field Type', 'tt')), array('id' => 'property-search-compare', 'type' => 'select', 'options' => array('equal' => __('Equal', 'tt'), 'greater_than' => __('Greater than', 'tt'), 'less_than' => __('Less than', 'tt'), 'like' => __('Like', 'tt')), 'placeholder' => __('Compare As', 'tt')), array('id' => 'property-search-label', 'type' => 'text', 'placeholder' => __('Search Label', 'tt')), array('id' => 'property-search-parameter', 'type' => 'text', 'placeholder' => __('Unique Search Parameter', 'tt') . ' (' . __('required', 'tt') . ')'))), array('id' => 'section-property-search-mini-fields', 'type' => 'section', 'title' => __('Fields: Property Search Mini', 'tt'), 'subtitle' => __('The following search setup is used in page template &quot;Property Slideshow&quot;. Search fields that are also being used in the property search above, should have identical parameters. Mini search doesn\'t show &quot;More&quot; link.', 'tt')), array('id' => 'property-search-mini-fields', 'type' => 'repeater', 'title' => __('', 'tt'), 'subtitle' => __('', 'tt'), 'bind_title' => 'property-search-mini-label', 'sortable' => true, 'fields' => array(array('id' => 'property-search-mini-field', 'type' => 'select', 'options' => $merged_fields_search, 'placeholder' => __('Search Field Type', 'tt')), array('id' => 'property-search-mini-compare', 'type' => 'select', 'options' => array('equal' => __('Equal', 'tt'), 'greater_than' => __('Greater than', 'tt'), 'less_than' => __('Less than', 'tt'), 'like' => __('Like', 'tt')), 'placeholder' => __('Compare As', 'tt')), array('id' => 'property-search-mini-label', 'type' => 'text', 'placeholder' => __('Search Label', 'tt')), array('id' => 'property-search-mini-parameter', 'type' => 'text', 'placeholder' => __('Unique Search Parameter', 'tt') . ' (' . __('required', 'tt') . ')'))), array('id' => 'section-property-other', 'type' => 'section', 'title' => __('Other', 'tt'), 'subtitle' => __('Even if you are not currently using the price range slider, it is recommended to set default values, instead of leaving them blank.', 'tt')), array('id' => 'property-search-results-disable-map', 'type' => 'checkbox', 'title' => __('Search Results Page: Disable Map', 'tt'), 'subtitle' => __('', 'tt'), 'desc' => __('', 'tt'), 'default' => 0), array('id' => 'property-search-price-range-min', 'type' => 'text', 'title' => __('Price range: Min. price', 'tt'), 'subtitle' => __('', 'tt'), 'desc' => __('', 'tt'), 'validate' => 'numeric', 'default' => 0), array('id' => 'property-search-price-range-max', 'type' => 'text', 'title' => __('Price range: Max. price', 'tt'), 'subtitle' => __('', 'tt'), 'desc' => __('', 'tt'), 'validate' => 'numeric', 'default' => 100000), array('id' => 'property-search-price-range-step', 'type' => 'text', 'title' => __('Price range: Step', 'tt'), 'subtitle' => __('', 'tt'), 'desc' => __('', 'tt'), 'validate' => 'numeric', 'default' => 10000), array('id' => 'datepicker-language', 'type' => 'select', 'data' => 'pages', 'title' => __('Datepicker Language', 'tt'), 'subtitle' => __('', 'tt'), 'desc' => __('Select the language of the property search datepicker.', 'tt'), 'options' => array('en' => 'English (Default)', 'ar' => 'Arabic', 'az' => 'Azerbaijani', 'bg' => 'Bulgarian', 'ca' => 'Catalan', 'cs' => 'Czech', 'cy' => 'Welch', 'da' => 'Danish', 'de' => 'German', 'el' => 'Greek', 'es' => 'Spanish', 'et' => 'Estonian', 'fa' => 'Persian', 'fi' => 'Finnish', 'fr' => 'French', 'he' => 'Hebrew', 'hr' => 'Croatian', 'hu' => 'Hungarian', 'id' => 'Bahasa Indonesia', 'is' => 'Icelandic', 'it' => 'Italian', 'ja' => 'Japanese', 'ka' => 'Georgian', 'kk' => 'Kazakh', 'kr' => 'Korean', 'lt' => 'Lithuanian', 'lv' => 'Latvian', 'mk' => 'Macedonian', 'ms' => 'Malay', 'nb' => 'Norwegian (bokmal)', 'nl-BE' => 'Belgium-Dutch', 'nl' => 'Dutch', 'no' => 'Norwegian', 'pl' => 'Polish', 'pt-BR' => 'Brazilian', 'pt' => 'Portuguese', 'ro' => 'Romanian', 'rs-latin' => 'Serbian-latin', 'rs' => 'Serbian-cyrillic', 'ru' => 'Russian', 'sk' => 'Slovak', 'sl' => 'Slovene', 'sq' => 'Albanian', 'sv' => 'Swedish', 'sw' => 'Swahili', 'th' => 'Thai', 'tr' => 'Turkish', 'ua' => 'Ukrainian', 'vi' => 'Vietnamese', 'zh-CN' => 'Simplified Chinese', 'zh-TW' => 'Traditional Chinese'), 'default' => 'en'), array('id' => 'property-search-features', 'type' => 'select', 'data' => 'terms', 'args' => array('taxonomies' => 'property-features'), 'multi' => true, 'sortable' => true, 'title' => __('Property Features', 'tt'), 'subtitle' => __('', 'tt'), 'desc' => __('Select all property features you want to add to property search form. Order via drag & drop.', 'tt'))));
            /* Property Submit
            			============================== */
            $this->sections[] = array('icon' => 'fa fa-send', 'title' => __('Property Submit', 'tt'), 'desc' => __('', 'tt'), 'fields' => array(array('id' => 'property-submit-default-address-latitude', 'type' => 'text', 'title' => __('Default Address: Latitude', 'tt'), 'subtitle' => __('', 'tt'), 'desc' => __('e.g.: https://www.google.com/maps/place/London,+UK/@<strong><u>51.5286416</u></strong>,-0.1015987,11z/', 'tt'), 'validate' => 'numeric', 'default' => 51.5286416), array('id' => 'property-submit-default-address-longitude', 'type' => 'text', 'title' => __('Default Address: Longitude', 'tt'), 'subtitle' => __('', 'tt'), 'desc' => __('e.g.: https://www.google.com/maps/place/London,+UK/@51.5286416,<strong><u>-0.1015987</u></strong>,11z/', 'tt'), 'validate' => 'numeric', 'default' => -0.1015987), array('id' => 'property-submit-notification-email-recipient', 'type' => 'text', 'title' => __('Send Email Notification To', 'tt'), 'subtitle' => __('Get notified about property submit via email.', 'tt'), 'desc' => __('If notification ends up in spam folder, set up <a href="https://wordpress.org/plugins/wp-mail-smtp/" target="_blank">WP Mail SMTP</a> for the email address entered above.', 'tt'), 'validate' => 'email', 'default' => ''), array('id' => 'property-submit-price-suffix', 'type' => 'multi_text', 'title' => __('Submit Form: Price Suffix', 'tt'), 'subtitle' => __('', 'tt'), 'desc' => __('Add Price Suffix That Users Can Choose From When Submitting A Property. This Helps To Prevent User Typos And Keeps All Submitted Property Data Consistent.', 'tt'), 'add_text' => __('Add Price Suffix', 'tt'), 'default' => array('/day' => __('/day', 'tt'), '/week' => __('/week', 'tt'), '/month' => __('/month', 'tt'))), array('id' => 'property-submit-size-unit', 'type' => 'multi_text', 'title' => __('Submit Form: Size Unit Suffix', 'tt'), 'subtitle' => __('', 'tt'), 'desc' => __('Add Site Unit That Users Can Choose From When Submitting A Property. This Helps To Prevent User Typos And Keeps All Submitted Property Data Consistent.', 'tt'), 'add_text' => __('Add Site Unit', 'tt'), 'default' => array('sq ft' => __('sq ft', 'tt'), 'm2' => __('m2', 'tt'))), array('id' => 'property-submit-hide-link', 'type' => 'checkbox', 'title' => __('Hide "Submit Property" Link', 'tt'), 'subtitle' => __('', 'tt'), 'desc' => __('', 'tt'), 'default' => 0), array('id' => 'property-submit-disabled-for-subscriber', 'type' => 'checkbox', 'title' => __('Disable Property Submit For User Role Subscriber', 'tt'), 'subtitle' => __('', 'tt'), 'desc' => __('If checked, only agents and admins are able to submit properties.', 'tt'), 'default' => 0), array('id' => 'section-property-payment', 'type' => 'section', 'title' => __('Property Payments', 'tt'), 'subtitle' => __('Users with a role of "subscriber" can be charged in order to publish properties. Admins and agents publish properties right away.', 'tt')), array('id' => 'paypal-enable', 'type' => 'checkbox', 'title' => __('Enable property payments via PayPal', 'tt'), 'subtitle' => __('', 'tt'), 'desc' => __('', 'tt'), 'default' => 0), array('id' => 'paypal-alerts-hide', 'type' => 'checkbox', 'title' => __('Hide PayPal payment notifications on submit page', 'tt'), 'subtitle' => __('', 'tt'), 'desc' => __('', 'tt'), 'default' => 0), array('id' => 'paypal-enable-subscription', 'type' => 'checkbox', 'title' => __('Enable property subscription via PayPal', 'tt'), 'subtitle' => __('', 'tt'), 'desc' => __('If checked, recurring payments (subscriptions) will be charged instead of one-time payments.', 'tt'), 'default' => 0), array('id' => 'paypal-subscription-recurrence', 'type' => 'text', 'title' => __('Subscription Recurrences', 'tt'), 'subtitle' => __('', 'tt'), 'desc' => __('Charge subscription fee every .. (period)', 'tt'), 'validate' => 'numeric', 'default' => 12), array('id' => 'paypal-subscription-period', 'type' => 'select', 'title' => __('Subscription Period', 'tt'), 'subtitle' => __('', 'tt'), 'desc' => __('', 'tt'), 'options' => array('D' => __('Days', 'tt'), 'W' => __('Weeks', 'tt'), 'M' => __('Months', 'tt'), 'Y' => __('Years', 'tt')), 'default' => 'M'), array('id' => 'paypal-merchant-id', 'type' => 'text', 'title' => __('PayPal merchant ID or email address', 'tt'), 'subtitle' => __('', 'tt'), 'desc' => __('', 'tt'), 'default' => ''), array('id' => 'paypal-ipn-email-address', 'type' => 'text', 'title' => __('IPN (Instant Payment Notification) email address', 'tt'), 'subtitle' => __('', 'tt'), 'desc' => __('', 'tt'), 'validate' => 'email', 'default' => ''), array('id' => 'paypal-amount', 'type' => 'text', 'title' => __('Amount to pay per property', 'tt'), 'subtitle' => __('Format: 25.00', 'tt'), 'desc' => __('', 'tt'), 'default' => '25.00'), array('id' => 'paypal-featured-amount', 'type' => 'text', 'title' => __('Charge additional .. to set property "Featured"', 'tt'), 'subtitle' => __('Format: 10.00', 'tt'), 'desc' => __('To disable "Featured" property option, set the amount to "0"', 'tt'), 'default' => '10.00'), array('id' => 'paypal-currency-code', 'type' => 'text', 'title' => __('PayPal currency code', 'tt'), 'subtitle' => __('', 'tt'), 'desc' => __('', 'tt'), 'default' => 'USD'), array('id' => 'paypal-sandbox', 'type' => 'checkbox', 'title' => __('Enable PayPal sandbox for testing', 'tt'), 'subtitle' => __('Disable to process live transactions.', 'tt'), 'desc' => __('', 'tt'), 'default' => 0), array('id' => 'paypal-ssl', 'type' => 'checkbox', 'title' => __('Post payment over SSL connection', 'tt'), 'subtitle' => __('Recommendation: Enable SSL', 'tt'), 'desc' => __('If disabled, HTTP connection will be used.', 'tt'), 'default' => 1), array('id' => 'paypal-auto-publish', 'type' => 'checkbox', 'title' => __('Auto publish properties on payment completion', 'tt'), 'subtitle' => __('If disabled you have to publish properties manually.', 'tt'), 'desc' => __('', 'tt'), 'default' => 1)));
            /* TYPOGRAPHY
            			============================== */
            $this->sections[] = array('title' => __('Typography', 'tt'), 'desc' => __('', 'tt'), 'icon' => 'fa fa-paragraph', 'fields' => array(array('id' => 'typography-header', 'type' => 'typography', 'title' => __('Typography Header', 'tt'), 'google' => true, 'font-backup' => false, 'font-style' => false, 'font-weight' => false, 'text-align' => false, 'font-size' => true, 'line-height' => false, 'color' => false, 'all_styles' => false, 'output' => array('header.navbar'), 'units' => 'em', 'subtitle' => __('', 'tt'), 'default' => array('font-family' => 'Lato', 'google' => true)), array('id' => 'typography-headings', 'type' => 'typography', 'title' => __('Typography Headings', 'tt'), 'google' => true, 'font-backup' => false, 'font-style' => false, 'font-weight' => true, 'text-align' => false, 'font-size' => true, 'line-height' => false, 'color' => true, 'all_styles' => false, 'output' => array('h1, h2, h3, h4, h5, h6'), 'units' => 'em', 'subtitle' => __('', 'tt'), 'default' => array('font-family' => 'Lato', 'font-style' => '400', 'google' => true, 'color' => '#666')), array('id' => 'typography-body', 'type' => 'typography', 'title' => __('Typography Body', 'tt'), 'google' => true, 'font-backup' => false, 'font-style' => false, 'font-weight' => true, 'text-align' => false, 'font-size' => true, 'line-height' => false, 'color' => true, 'all_styles' => false, 'output' => array('body'), 'units' => 'em', 'subtitle' => __('', 'tt'), 'default' => array('font-family' => 'Open Sans', 'font-style' => '400', 'google' => true, 'color' => '#666'))));
            /* Colors
            			==============================
                     $this->sections[] = array(
                      'title'     => __('Colors', 'tt'),
                      'desc'      => __('', 'tt'),
                      'icon'      => 'fa fa-tint',
                      'fields'    => array(
                        
            					
                       )
                     );
                     */
            /* Format Pricing
            			============================== */
            $this->sections[] = array('title' => __('Format Pricing', 'tt'), 'desc' => __('', 'tt'), 'icon' => 'fa fa-money', 'fields' => array(array('id' => 'price-prefix', 'type' => 'text', 'title' => __('Price Prefix', 'tt'), 'subtitle' => __('e.g. "from "', 'tt'), 'desc' => __('If filled out, prefix appears on every property price. Can be overwritten for each property.', 'tt'), 'default' => ''), array('id' => 'price-suffix', 'type' => 'text', 'title' => __('Price Suffix', 'tt'), 'subtitle' => __('e.g. "/month"', 'tt'), 'desc' => __('If filled out, suffix appears on every property price. Can be overwritten for each property.', 'tt'), 'default' => ''), array('id' => 'currency-sign', 'type' => 'text', 'title' => __('Currency Sign', 'tt'), 'subtitle' => __('Default: $', 'tt'), 'desc' => __('', 'tt'), 'default' => '$'), array('id' => 'currency-sign-position', 'type' => 'radio', 'title' => __('Currency Sign Position', 'tt'), 'subtitle' => __('Default: left', 'tt'), 'desc' => __('', 'tt'), 'options' => array('left' => 'Left', 'right' => 'Right'), 'default' => 'left'), array('id' => 'price-thousands-separator', 'type' => 'text', 'title' => __('Thousands Separator', 'tt'), 'subtitle' => __('Default: ,', 'tt'), 'desc' => __('', 'tt'), 'default' => ','), array('id' => 'price-decimals', 'type' => 'spinner', 'title' => __('Price Decimals', 'tt'), 'subtitle' => __('Default: 0', 'tt'), 'desc' => __('', 'tt'), 'default' => 0, 'min' => 0, 'step' => 1, 'max' => 2, 'display_value' => 'label')));
            /* Footer
            			============================== */
            $this->sections[] = array('title' => __('Footer', 'tt'), 'desc' => __('', 'tt'), 'icon' => 'fa fa-anchor', 'fields' => array(array('id' => 'color-footer-background', 'type' => 'background', 'output' => array('#footer'), 'title' => __('Footer Top Background Color', 'tt'), 'subtitle' => __('', 'tt'), 'default' => array('background-color' => ''), 'background-repeat' => false, 'background-attachment' => false, 'background-position' => false, 'background-image' => false, 'transparent' => false, 'background-size' => false), array('id' => 'color-footer-bottom-background', 'type' => 'background', 'output' => array('#footer #footer-bottom'), 'title' => __('Footer Bottom Background Color', 'tt'), 'subtitle' => __('', 'tt'), 'default' => array('background-color' => ''), 'background-repeat' => false, 'background-attachment' => false, 'background-position' => false, 'background-image' => false, 'transparent' => false, 'background-size' => false), array('id' => 'color-footer', 'type' => 'color', 'title' => __('Footer Color', 'tt'), 'subtitle' => __('Footer Color (default: #999999)', 'tt'), 'default' => '#999999', 'output' => array('#footer #footer-bottom, #footer #footer-bottom a, #footer .widget-title'), 'validate' => 'color', 'transparent' => false), array('id' => 'copyright', 'type' => 'text', 'title' => __('Copyright Text', 'tt'), 'subtitle' => __('', 'tt'), 'desc' => __('', 'tt'), 'default' => __('&copy; 2014 - <a href="http://themetrail.com">ThemeTrail</a>', 'tt')), array('id' => 'footer-show-up-button', 'type' => 'checkbox', 'title' => __('Display "To The Top" Button', 'tt'), 'subtitle' => __('', 'tt'), 'desc' => __('', 'tt'), 'default' => 1), array('id' => 'footer-property-search-button', 'type' => 'checkbox', 'title' => __('Display "Property Search" Button', 'tt'), 'subtitle' => __('', 'tt'), 'desc' => __('', 'tt'), 'default' => 1)));
            /* Social
            			============================== */
            $this->sections[] = array('title' => __('Social', 'tt'), 'desc' => __('', 'tt'), 'icon' => 'fa fa-facebook-square', 'fields' => array(array('id' => 'social-facebook', 'type' => 'text', 'title' => __('Faceook URL', 'tt'), 'subtitle' => __('', 'tt'), 'desc' => __('', 'tt'), 'default' => '#'), array('id' => 'social-twitter', 'type' => 'text', 'title' => __('Twitter URL', 'tt'), 'subtitle' => __('', 'tt'), 'desc' => __('', 'tt'), 'default' => '#'), array('id' => 'social-google', 'type' => 'text', 'title' => __('Google+ URL', 'tt'), 'subtitle' => __('', 'tt'), 'desc' => __('', 'tt'), 'default' => '#'), array('id' => 'social-linkedin', 'type' => 'text', 'title' => __('LinkedIn URL', 'tt'), 'subtitle' => __('', 'tt'), 'desc' => __('', 'tt'), 'default' => ''), array('id' => 'social-pinterest', 'type' => 'text', 'title' => __('Pinterest URL', 'tt'), 'subtitle' => __('', 'tt'), 'desc' => __('', 'tt'), 'default' => ''), array('id' => 'social-instagram', 'type' => 'text', 'title' => __('Instagram URL', 'tt'), 'subtitle' => __('', 'tt'), 'desc' => __('', 'tt'), 'default' => ''), array('id' => 'social-youtube', 'type' => 'text', 'title' => __('YouTube URL', 'tt'), 'subtitle' => __('', 'tt'), 'desc' => __('', 'tt'), 'default' => ''), array('id' => 'social-skype', 'type' => 'text', 'title' => __('Skype URL', 'tt'), 'subtitle' => __('', 'tt'), 'desc' => __('', 'tt'), 'default' => '')));
            /* Contact
            			============================== */
            $this->sections[] = array('icon' => 'fa fa-envelope', 'title' => __('Contact', 'tt'), 'desc' => __('Contact Details for Contact Page Template.', 'tt'), 'fields' => array(array('id' => 'contact-google-map', 'type' => 'switch', 'title' => __('Show Google Maps', 'tt'), 'subtitle' => __('', 'tt'), 'desc' => __('Show Google Map on Contact Page Template.', 'tt'), 'default' => 1, 'on' => __('Yes', 'tt'), 'off' => __('No', 'tt')), array('id' => 'contact-logo', 'type' => 'media', 'title' => __('Logo', 'tt'), 'compiler' => 'true', 'mode' => false, 'desc' => __('', 'tt'), 'subtitle' => __('', 'tt'), 'required' => array('contact-google-map', '=', '1')), array('id' => 'contact-address', 'type' => 'text', 'title' => __('Address', 'tt'), 'subtitle' => __('', 'tt'), 'desc' => __('', 'tt'), 'msg' => '', 'default' => __('Main St, New York, USA', 'tt'), 'required' => array('contact-google-map', '=', '1')), array('id' => 'contact-phone', 'type' => 'text', 'title' => __('Phone', 'tt'), 'subtitle' => __('', 'tt'), 'desc' => __('', 'tt'), 'msg' => '', 'default' => '+1 555 22 66 8890', 'required' => array('contact-google-map', '=', '1')), array('id' => 'contact-mobile', 'type' => 'text', 'title' => __('Mobile', 'tt'), 'subtitle' => __('', 'tt'), 'desc' => __('', 'tt'), 'msg' => '', 'default' => '+1 555 22 66 8891', 'required' => array('contact-google-map', '=', '1')), array('id' => 'contact-email', 'type' => 'text', 'title' => __('Email', 'tt'), 'subtitle' => __('', 'tt'), 'desc' => __('', 'tt'), 'msg' => '', 'default' => '*****@*****.**', 'required' => array('contact-google-map', '=', '1'))));
            if (file_exists(trailingslashit(dirname(__FILE__)) . 'README.html')) {
                $tabs['docs'] = array('icon' => 'el-icon-book', 'title' => __('Documentation', 'tt'), 'content' => nl2br(file_get_contents(trailingslashit(dirname(__FILE__)) . 'README.html')));
            }
        }
Пример #12
0
        public function setSections()
        {
            /**
                          Used within different fields. Simply examples. Search for ACTUAL DECLARATION for field examples
                         * */
            $styles = array('bootstrap.min.css' => 'Bootstrap', 'amelia.min.css' => 'Amelia', 'cerulean.min.css' => 'Cerulean', 'cosmo.min.css' => 'Cosmo', 'cyborg.min.css' => 'Cyborg', 'darkly.min.css' => 'Darkly', 'flatly.min.css' => 'Flatly', 'journal.min.css' => 'Journal', 'lumen.min.css' => 'Lumen', 'readable.min.css' => 'Readable', 'simplex.min.css' => 'Simplex', 'slate.min.css' => 'Slate', 'spacelab.min.css' => 'Spacelab', 'superhero.min.css' => 'Superhero', 'united.min.css' => 'United', 'yeti.min.css' => 'Yeti');
            // Array of social options
            $social_options = array('twitter' => 'Twitter', 'facebook' => 'Facebook', 'vk' => 'Vk', 'google-plus' => 'Google Plus', 'instagram' => 'instagram', 'linkedin' => 'LinkedIn', 'tumblr' => 'Tumblr', 'pinterest' => 'Pinterest', 'github-alt' => 'Github', 'dribbble' => 'Dribbble', 'flickr' => 'Flickr', 'skype' => 'Skype', 'youtube' => 'Youtube', 'vimeo-square' => 'Vimeo', 'reddit' => 'Reddit', 'stumbleupon' => 'Stumbleupon', 'github' => 'Github', 'vine' => 'Vine', 'rss' => 'RSS');
            $social_options = apply_filters('bi_social_options', $social_options);
            // Buttons
            $btn_color = array("default" => "Default", "primary" => "Primary", "info" => "Info", "success" => "Success", "warning" => "Warning", "danger" => "Danger", "link" => "Link");
            $btn_size = array("xs" => "Extra Small", "sm" => "Small", "default" => "Medium", "lg" => "Large");
            // Background Patterns Reader
            $sample_patterns_path = ReduxFramework::$_dir . '../sample/patterns/';
            $sample_patterns_url = ReduxFramework::$_url . '../sample/patterns/';
            $sample_patterns = array();
            if (is_dir($sample_patterns_path)) {
                if ($sample_patterns_dir = opendir($sample_patterns_path)) {
                    $sample_patterns = array();
                    while (($sample_patterns_file = readdir($sample_patterns_dir)) !== false) {
                        if (stristr($sample_patterns_file, '.png') !== false || stristr($sample_patterns_file, '.jpg') !== false) {
                            $name = explode('.', $sample_patterns_file);
                            $name = str_replace('.' . end($name), '', $sample_patterns_file);
                            $sample_patterns[] = array('alt' => $name, 'img' => $sample_patterns_url . $sample_patterns_file);
                        }
                    }
                }
            }
            ob_start();
            $ct = wp_get_theme();
            $this->theme = $ct;
            $item_name = $this->theme->get('Name');
            $tags = $this->theme->Tags;
            $screenshot = $this->theme->get_screenshot();
            $class = $screenshot ? 'has-screenshot' : '';
            $customize_title = sprintf(__('Customize &#8220;%s&#8221;', 'responsive'), $this->theme->display('Name'));
            ?>
            <div id="current-theme" class="<?php 
            echo esc_attr($class);
            ?>
">
            <?php 
            if ($screenshot) {
                ?>
                <?php 
                if (current_user_can('edit_theme_options')) {
                    ?>
                        <a href="<?php 
                    echo wp_customize_url();
                    ?>
" class="load-customize hide-if-no-customize" title="<?php 
                    echo esc_attr($customize_title);
                    ?>
">
                            <img src="<?php 
                    echo esc_url($screenshot);
                    ?>
" alt="<?php 
                    esc_attr_e('Current theme preview');
                    ?>
" />
                        </a>
                <?php 
                }
                ?>
                    <img class="hide-if-customize" src="<?php 
                echo esc_url($screenshot);
                ?>
" alt="<?php 
                esc_attr_e('Current theme preview');
                ?>
" />
                <?php 
            }
            ?>

                <h4><?php 
            echo $this->theme->display('Name');
            ?>
</h4>

                <div>
                    <ul class="theme-info">
                        <li><?php 
            printf(__('By %s', 'responsive'), $this->theme->display('Author'));
            ?>
</li>
                        <li><?php 
            printf(__('Version %s', 'responsive'), $this->theme->display('Version'));
            ?>
</li>
                        <li><?php 
            echo '<strong>' . __('Tags', 'responsive') . ':</strong> ';
            printf($this->theme->display('Tags'));
            ?>
</li>
                    </ul>
                    <p class="theme-description"><?php 
            echo $this->theme->display('Description');
            ?>
</p>
            <?php 
            if ($this->theme->parent()) {
                printf(' <p class="howto">' . __('This <a href="%1$s">child theme</a> requires its parent theme, %2$s.') . '</p>', __('http://codex.wordpress.org/Child_Themes', 'responsive'), $this->theme->parent()->display('Name'));
            }
            ?>

                </div>
            </div>

            <?php 
            $item_info = ob_get_contents();
            ob_end_clean();
            $sampleHTML = '';
            if (file_exists(dirname(__FILE__) . '/info-html.html')) {
                Redux_Functions::initWpFilesystem();
                global $wp_filesystem;
                $sampleHTML = $wp_filesystem->get_contents(dirname(__FILE__) . '/info-html.html');
            }
            // ACTUAL DECLARATION OF SECTIONS
            $this->sections[] = array('icon' => 'el-icon-cogs', 'title' => __('General Settings', 'responsive'), 'fields' => array(array('id' => 'bootswatch', 'type' => 'select', 'title' => __('Theme Stylesheet', 'responsive'), 'subtitle' => __('Select your themes alternative color scheme.', 'responsive'), 'options' => $styles, 'default' => 'bootstrap.min.css'), array('title' => __('Favicon', 'responsive'), 'subtitle' => __('Upload or past the URL for your custom favicon.', 'responsive'), 'id' => 'custom_favicon', 'default' => '', 'type' => 'media', 'compiler' => 'true', 'url' => true, 'mode' => false), array('title' => __('Breadcrumbs', 'responsive'), 'subtitle' => __('Select to enable/disable breadcrumbs', 'responsive'), 'id' => "enable_disable_breadcrumbs", 'default' => true, 'on' => __('Enable', 'responsive'), 'off' => __('Disable', 'responsive'), 'type' => 'switch')));
            // Header
            $this->sections[] = array('icon' => 'el-icon-website', 'title' => __('Header', 'responsive'), 'fields' => array(array('title' => __('Fixed Navbar', 'responsive'), 'subtitle' => __('Select to enable/disable a fixed navbar.', 'responsive'), 'id' => 'disable_fixed_navbar', 'default' => false, 'on' => __('Enable', 'responsive'), 'off' => __('Disable', 'responsive'), 'type' => 'switch'), array('title' => __('Inverse Navbar', 'responsive'), 'subtitle' => __('Select to enable/disable an inverse navbar color.', 'responsive'), 'id' => "disable_inverse_navbar", 'default' => false, 'on' => __('Enable', 'responsive'), 'off' => __('Disable', 'responsive'), 'type' => 'switch'), array('title' => __('Main Logo', 'responsive'), 'subtitle' => __('Use this field to upload your custom logo for use in the theme header. (Recommended 200px x 40px)', 'responsive'), 'id' => 'custom_logo', 'default' => '', 'type' => 'media'), array('title' => __('Header Search Bar', 'responsive'), 'subtitle' => __('Select to enable/disable the search bar in the header', 'responsive'), 'id' => 'enable_disable_search', 'default' => true, 'on' => __('Enable', 'responsive'), 'off' => __('Disable', 'responsive'), 'type' => 'switch'), array('title' => __('Social Icons In Header', 'responsive'), 'subtitle' => __('Select to enable/disable the social icons in the header.', 'responsive'), 'id' => "disable_social", 'default' => false, 'on' => __('Enable', 'responsive'), 'off' => __('Disable', 'responsive'), 'type' => 'switch')));
            //Homepage
            $this->sections[] = array('icon' => 'el-icon-home', 'title' => __('Homepage', 'responsive'), 'fields' => array(array('id' => 'homepage-layout', 'type' => 'sorter', 'title' => 'Homepage Layout Manager', 'desc' => 'Organize how you want the layout to appear on the homepage', 'compiler' => 'true', 'options' => array('enabled' => array('herocontent' => 'Hero Content', 'widgets' => 'Widgets'), 'disabled' => array('homecontent' => 'Home Content', 'heropost' => 'Hero Post'))), array('title' => 'Featured Heading', 'subtitle' => 'This is the heading of the featured content.', 'id' => 'featured_heading', 'default' => 'Responsive!', 'type' => 'text'), array('title' => 'Featured Sub Heading', 'subtitle' => 'This is the sub heading of the featured content.', 'id' => 'home_subheadline', 'default' => 'Bootstrap WordPress Theme', 'type' => 'text'), array('title' => __('Featured Content', 'responsive'), 'subtitle' => __('Add your own content for the featured homepage section.', 'responsive'), 'id' => 'home_content_area', 'default' => 'A responsive WordPress theme with all the Twitter Bootstrap goodies. Check out the page layouts, features, and shortcodes this theme has to offer. Feel free to look around.', 'type' => 'textarea'), array('title' => __('Display Call to Action Button', 'responsive'), 'subtitle' => __('Select to enable/disable the call to action button in featured content area.', 'responsive'), 'id' => 'display_button', 'default' => true, 'on' => __('Enable', 'responsive'), 'off' => __('Disable', 'responsive'), 'type' => 'switch'), array('title' => 'Button Text', 'subtitle' => 'This is the text that will be in the button.', 'id' => 'cta_text', 'default' => 'Call to Action', 'type' => 'text', 'required' => array('display_button', "=", 1)), array('title' => 'Button Link', 'subtitle' => 'This is the URL for the button.', 'id' => 'cta_url', 'default' => 'http://', 'type' => 'text', 'required' => array('display_button', "=", 1)), array('title' => __('Make the call to action button Full Width - Block', 'responsive'), 'subtitle' => __('Enable/Disable full width button.', 'responsive'), 'id' => 'button_block', 'default' => true, 'on' => __('Enable', 'responsive'), 'off' => __('Disable', 'responsive'), 'type' => 'switch', 'required' => array('display_button', "=", 1)), array('title' => __('Call to Action Button Size', 'responsive'), 'subtitle' => __('Select the Bootstrap button size you want.', 'responsive'), 'id' => 'cta_size', 'default' => 'default', 'type' => 'select', 'options' => $btn_size, 'required' => array('display_button', "=", 1)), array('title' => __('Call to Action Button Color', 'responsive'), 'subtitle' => __('Select the Bootstrap button color you want.', 'responsive'), 'id' => 'cta_color', 'default' => 'default', 'type' => 'select', 'options' => $btn_color, 'required' => array('display_button', "=", 1)), array('title' => __('Featured Content', 'responsive'), 'subtitle' => __('Add your own HTML/embed code for the right featured homepage section.', 'responsive'), 'id' => 'featured_content', 'default' => '<img class=\'aligncenter\' src=\'/wp-content/themes/strappress/images/featured-image.png\' width=\'440\' height=\'300\'/>', 'type' => 'textarea')));
            //Blog
            $this->sections[] = array('icon' => 'el-icon-wordpress', 'title' => __('Blog', 'responsive'), 'fields' => array(array('title' => __('Display Meta Data', 'responsive'), 'subtitle' => __('Select to enable/disable the date and author.', 'responsive'), 'id' => 'enable_disable_meta', 'default' => true, 'on' => __('Enable', 'responsive'), 'off' => __('Disable', 'responsive'), 'type' => 'switch'), array('title' => 'Read More Button Text', 'subtitle' => 'This is the text that will replace Read More.', 'id' => 'read_more_text', 'default' => 'Read More', 'type' => 'text'), array('title' => __('Make the Read More button Full Width - Block', 'responsive'), 'subtitle' => __('Enable/Disable full width button.', 'responsive'), 'id' => 'read_more_block', 'default' => true, 'on' => __('Enable', 'responsive'), 'off' => __('Disable', 'responsive'), 'type' => 'switch'), array('title' => __('Read More Button Size', 'responsive'), 'subtitle' => __('Select the Bootstrap button size you want.', 'responsive'), 'id' => 'read_more_size', 'default' => 'default', 'type' => 'select', 'options' => $btn_size), array('title' => __('Read More Button Color', 'responsive'), 'subtitle' => __('Select the Bootstrap button color you want.', 'responsive'), 'id' => 'read_more_color', 'default' => 'default', 'type' => 'select', 'options' => $btn_color), array('title' => __('Display Meta Data', 'responsive'), 'subtitle' => __('Select to enable/disable the date and author.', 'responsive'), 'id' => 'enable_disable_meta_single', 'default' => true, 'on' => __('Enable', 'responsive'), 'off' => __('Disable', 'responsive'), 'type' => 'switch'), array('title' => __('Display Tags', 'responsive'), 'subtitle' => __('Select to enable/disable the post tags.', 'responsive'), 'id' => 'enable_disable_tags', 'default' => true, 'on' => __('Enable', 'responsive'), 'off' => __('Disable', 'responsive'), 'type' => 'switch'), array('title' => __('Archive - Display Tags', 'responsive'), 'subtitle' => __('Select to enable/disable the post tags.', 'responsive'), 'id' => 'enable_disable_archive_tags', 'default' => true, 'on' => __('Enable', 'responsive'), 'off' => __('Disable', 'responsive'), 'type' => 'switch')));
            //Portfolio
            $this->sections[] = array('icon' => 'el-icon-camera', 'title' => __('Portfolio', 'responsive'), 'fields' => array(array('title' => __('Portfolio Columns', 'responsive'), 'subtitle' => __('Select the number of columns you would like to use for the portfolio.', 'responsive'), 'id' => 'portfolio_column', 'compiler' => true, 'type' => 'image_select', 'options' => array('1' => array('alt' => '2 Column', 'img' => ReduxFramework::$_url . 'assets/img/2-col-portfolio.png'), '2' => array('alt' => '3 Column', 'img' => ReduxFramework::$_url . 'assets/img/3-col-portfolio.png'), '3' => array('alt' => '4 Column', 'img' => ReduxFramework::$_url . 'assets/img/4-col-portfolio.png')), 'default' => '2'), array('title' => __('Display Filter Buttons', 'responsive'), 'subtitle' => __('Select to enable/disable the filter buttons.', 'responsive'), 'id' => 'filter_btns', 'default' => false, 'on' => __('Enable', 'responsive'), 'off' => __('Disable', 'responsive'), 'type' => 'switch'), array('title' => __('Filter Button Size', 'responsive'), 'subtitle' => __('Select the Bootstrap button size you want.', 'responsive'), 'id' => 'f_btn_size', 'default' => 'default', 'type' => 'select', 'options' => $btn_size, 'required' => array('filter_btns', "=", 1)), array('title' => __('Filter Button Color', 'responsive'), 'subtitle' => __('Select the Bootstrap button color you want.', 'responsive'), 'id' => 'f_btn_color', 'default' => 'default', 'type' => 'select', 'options' => $btn_color, 'required' => array('filter_btns', "=", 1)), array('title' => __('Display Project Buttons', 'responsive'), 'subtitle' => __('Select to enable/disable the project buttons.', 'responsive'), 'id' => 'project_btns', 'default' => true, 'on' => __('Enable', 'responsive'), 'off' => __('Disable', 'responsive'), 'type' => 'switch'), array('title' => __('Project Button Size', 'responsive'), 'subtitle' => __('Select the Bootstrap button size you want.', 'responsive'), 'id' => 'p_btn_size', 'default' => 'default', 'type' => 'select', 'options' => $btn_size, 'required' => array('project_btns', "=", 1)), array('title' => __('Project Button Color', 'responsive'), 'subtitle' => __('Select the Bootstrap button color you want.', 'responsive'), 'id' => 'p_btn_color', 'default' => 'default', 'type' => 'select', 'options' => $btn_color, 'required' => array('project_btns', "=", 1)), array('title' => __('Make the project button full width', 'responsive'), 'subtitle' => __('Enable/Disable full width button.', 'responsive'), 'id' => 'p_button_block', 'default' => true, 'on' => __('Enable', 'responsive'), 'off' => __('Disable', 'responsive'), 'type' => 'switch', 'required' => array('project_btns', "=", 1)), array('title' => 'Project Button Text', 'subtitle' => 'This is the text that will be in the button.', 'id' => 'p_button_text', 'default' => 'View Project', 'type' => 'text', 'required' => array('project_btns', "=", 1)), array('title' => __('Display Project Titles', 'responsive'), 'subtitle' => __('Select to enable/disable the project titles.', 'responsive'), 'id' => 'project_title', 'default' => true, 'on' => __('Enable', 'responsive'), 'off' => __('Disable', 'responsive'), 'type' => 'switch')));
            //Post Types
            $this->sections[] = array('icon' => 'el-icon-screenshot', 'title' => __('Post Types', 'responsive'), 'fields' => array(array('title' => __('Portfolio Name', 'reponsive'), 'subtitle' => __('Enter a custom name for your portfolio post type.', 'reponsive'), 'id' => 'portfolio_post_type_name', 'default' => 'Portfolio', 'type' => 'text'), array('title' => __('Portfolio Slug', 'reponsive'), 'subtitle' => __('Enter a custom slug for your portfolio post type. Go <strong>save your permalinks</strong> after changing this.', 'reponsive'), 'id' => 'portfolio_post_type_slug', 'default' => 'portfolio', 'type' => 'text')));
            //Social
            $this->sections[] = array('icon' => 'el-icon-torso', 'title' => __('Social', 'responsive'), 'fields' => array(array('id' => 'social_icons', 'type' => 'sortable', 'title' => __('Top Bar Social Options', 'responsive'), 'subtitle' => __('Define and reorder your social icons in the top bar. Clear the input field for any social icon you do not wish to display.', 'responsive'), 'desc' => '', 'label' => true, 'options' => $social_options)));
            //Footer
            $this->sections[] = array('icon' => 'el-icon-photo', 'title' => __('Footer', 'responsive'), 'fields' => array(array('title' => __('Social Icons In Footer', 'responsive'), 'subtitle' => __('Select to enable/disable the social icons in the footer.', 'responsive'), 'id' => 'disable_social_footer', 'default' => true, 'on' => __('Enable', 'responsive'), 'off' => __('Disable', 'responsive'), 'type' => 'switch'), array('title' => __('Custom Copyright', 'responsive'), 'subtitle' => __('Add your own custom text/html for copyright region.', 'responsive'), 'id' => 'custom_copyright', 'default' => '', 'type' => 'editor'), array('title' => __('Custom Powered By Text', 'responsive'), 'subtitle' => __('Add your own custom text/html for powered by region.', 'responsive'), 'id' => 'custom_power', 'default' => '', 'type' => 'editor')));
            //Tracking
            $this->sections[] = array('icon' => 'el-icon-graph', 'title' => __('Tracking', 'responsive'), 'fields' => array(array('title' => __('Header Tracking Code', 'responsive'), 'subtitle' => __('Paste your Google Analytics (or other) tracking code here. This will be added into the header template of your theme.', 'responsive'), 'id' => 'tracking_header', 'default' => '', 'type' => 'textarea'), array('title' => __('Footer Tracking Code', 'responsive'), 'subtitle' => __('Paste your Google Analytics (or other) tracking code here. This will be added into the footer template of your theme.', 'responsive'), 'id' => 'tracking_footer', 'default' => '', 'type' => 'textarea')));
            //CSS
            $this->sections[] = array('icon' => 'el-icon-css', 'title' => __('Custom CSS', 'responsive'), 'fields' => array(array('title' => __('Custom CSS', 'responsive'), 'subtitle' => __('Quickly add some CSS to your theme by adding it to this block.', 'responsive'), 'id' => 'custom_css_box', 'default' => '', 'type' => 'ace_editor', 'mode' => 'css', 'theme' => 'monokai')));
            $theme_info = '<div class="redux-framework-section-desc">';
            $theme_info .= '<p class="redux-framework-theme-data description theme-uri">' . __('<strong>Theme URL:</strong> ', 'responsive') . '<a href="' . $this->theme->get('ThemeURI') . '" target="_blank">' . $this->theme->get('ThemeURI') . '</a></p>';
            $theme_info .= '<p class="redux-framework-theme-data description theme-author">' . __('<strong>Author:</strong> ', 'responsive') . $this->theme->get('Author') . '</p>';
            $theme_info .= '<p class="redux-framework-theme-data description theme-version">' . __('<strong>Version:</strong> ', 'responsive') . $this->theme->get('Version') . '</p>';
            $theme_info .= '<p class="redux-framework-theme-data description theme-description">' . $this->theme->get('Description') . '</p>';
            $tabs = $this->theme->get('Tags');
            if (!empty($tabs)) {
                $theme_info .= '<p class="redux-framework-theme-data description theme-tags">' . __('<strong>Tags:</strong> ', 'responsive') . implode(', ', $tabs) . '</p>';
            }
            $theme_info .= '</div>';
            if (file_exists(dirname(__FILE__) . '/../README.md')) {
                $this->sections['theme_docs'] = array('icon' => 'el-icon-list-alt', 'title' => __('Documentation', 'responsive'), 'fields' => array(array('id' => '17', 'type' => 'raw', 'markdown' => true, 'content' => file_get_contents(dirname(__FILE__) . '/../README.md'))));
            }
            $this->sections[] = array('title' => __('Import / Export', 'responsive'), 'desc' => __('Import and Export your Redux Framework settings from file, text or URL.', 'responsive'), 'icon' => 'el-icon-refresh', 'fields' => array(array('id' => 'opt-import-export', 'type' => 'import_export', 'title' => 'Import Export', 'subtitle' => 'Save and restore your Redux options', 'full_width' => false)));
            $this->sections[] = array('type' => 'divide');
            $this->sections[] = array('icon' => 'el-icon-info-sign', 'title' => __('Theme Information', 'responsive'), 'fields' => array(array('id' => 'opt-raw-info', 'type' => 'raw', 'content' => $item_info)));
            if (file_exists(trailingslashit(dirname(__FILE__)) . 'README.html')) {
                $tabs['docs'] = array('icon' => 'el-icon-book', 'title' => __('Documentation', 'responsive'), 'content' => nl2br(file_get_contents(trailingslashit(dirname(__FILE__)) . 'README.html')));
            }
        }
Пример #13
0
        public function setSections()
        {
            /**
             * Used within different fields. Simply examples. Search for ACTUAL DECLARATION for field examples
             * */
            // Background Patterns Reader
            $sample_patterns_path = ReduxFramework::$_dir . '../sample/patterns/';
            $sample_patterns_url = ReduxFramework::$_url . '../sample/patterns/';
            $sample_patterns = array();
            if (is_dir($sample_patterns_path)) {
                if ($sample_patterns_dir = opendir($sample_patterns_path)) {
                    $sample_patterns = array();
                    while (($sample_patterns_file = readdir($sample_patterns_dir)) !== false) {
                        if (stristr($sample_patterns_file, '.png') !== false || stristr($sample_patterns_file, '.jpg') !== false) {
                            $name = explode('.', $sample_patterns_file);
                            $name = str_replace('.' . end($name), '', $sample_patterns_file);
                            $sample_patterns[] = array('alt' => $name, 'img' => $sample_patterns_url . $sample_patterns_file);
                        }
                    }
                }
            }
            ob_start();
            $ct = wp_get_theme();
            $this->theme = $ct;
            $item_name = $this->theme->get('Name');
            $tags = $this->theme->Tags;
            $screenshot = $this->theme->get_screenshot();
            $class = $screenshot ? 'has-screenshot' : '';
            $customize_title = sprintf(__('Customize &#8220;%s&#8221;', 'awaken'), $this->theme->display('Name'));
            ?>
                <div id="current-theme" class="<?php 
            echo esc_attr($class);
            ?>
">
                    <?php 
            if ($screenshot) {
                ?>
                        <?php 
                if (current_user_can('edit_theme_options')) {
                    ?>
                            <a href="<?php 
                    echo wp_customize_url();
                    ?>
" class="load-customize hide-if-no-customize"
                               title="<?php 
                    echo esc_attr($customize_title);
                    ?>
">
                                <img src="<?php 
                    echo esc_url($screenshot);
                    ?>
"
                                     alt="<?php 
                    esc_attr_e('Current theme preview');
                    ?>
"/>
                            </a>
                        <?php 
                }
                ?>
                        <img class="hide-if-customize" src="<?php 
                echo esc_url($screenshot);
                ?>
"
                             alt="<?php 
                esc_attr_e('Current theme preview');
                ?>
"/>
                    <?php 
            }
            ?>

                    <h4><?php 
            echo $this->theme->display('Name');
            ?>
</h4>

                    <div>
                        <ul class="theme-info">
                            <li><?php 
            printf(__('By %s', 'awaken'), $this->theme->display('Author'));
            ?>
</li>
                            <li><?php 
            printf(__('Version %s', 'awaken'), $this->theme->display('Version'));
            ?>
</li>
                            <li><?php 
            echo '<strong>' . __('Tags', 'awaken') . ':</strong> ';
            printf($this->theme->display('Tags'));
            ?>
</li>
                        </ul>
                        <p class="theme-description"><?php 
            echo $this->theme->display('Description');
            ?>
</p>
                        <?php 
            if ($this->theme->parent()) {
                printf(' <p class="howto">' . __('This <a href="%1$s">child theme</a> requires its parent theme, %2$s.') . '</p>', __('http://codex.wordpress.org/Child_Themes', 'awaken'), $this->theme->parent()->display('Name'));
            }
            ?>

                    </div>
                </div>

                <?php 
            $item_info = ob_get_contents();
            ob_end_clean();
            $sampleHTML = '';
            if (file_exists(dirname(__FILE__) . '/info-html.html')) {
                Redux_Functions::initWpFilesystem();
                global $wp_filesystem;
                $sampleHTML = $wp_filesystem->get_contents(dirname(__FILE__) . '/info-html.html');
            }
            // ACTUAL DECLARATION OF SECTIONS
            $this->sections[] = array('title' => __('General Settings', 'awaken'), 'desc' => __('Use this tab to set the general settings of your site', 'awaken'), 'icon' => 'el-icon-cogs', 'fields' => array(array('id' => 'logo-uploader', 'type' => 'media', 'url' => true, 'title' => __('Logo', 'awaken'), 'compiler' => 'true', 'desc' => __('Make sure that you have selected the option below to display the logo.', 'awaken'), 'subtitle' => __('Upload a logo for your website. Recommended height for your logo is 135px.', 'awaken'), 'default' => array('url' => get_template_directory_uri() . '/images/logo.png')), array('id' => 'pro-general', 'type' => 'info', 'style' => 'success', 'title' => __('<a href="http://www.themezhut.com/themes/awaken-pro" target="_blank">Upgrade to Pro</a>', 'awaken'), 'desc' => __('Pro Version Comes with Layout Options, Unlimited Colors, Post Options, Unlimited Sidebars etc.', 'awaken')), array('id' => 'site-title-option', 'type' => 'radio', 'title' => __('Display Site Title / Logo', 'awaken'), 'subtitle' => __('Choose your preffered option.', 'awaken'), 'options' => array('text-only' => 'Display site title and description only.', 'logo-only' => 'Display logo only.', 'text-logo' => 'Display both logo and text.', 'title-none' => 'Display none.'), 'default' => 'text-only'), array('id' => 'excerpt-more', 'type' => 'textarea', 'title' => __('Read more text', 'awaken'), 'subtitle' => __('Give a read more text for posts.', 'awaken'), 'desc' => __('You can use html if you want.', 'awaken'), 'validate' => 'html', 'default' => '[...]'), array('id' => 'favicon-display-checkbox', 'type' => 'switch', 'title' => __('Show Favicon', 'awaken'), 'subtitle' => __('Choose your preferred option.', 'awaken'), 'default' => '0'), array('id' => 'section-media-start', 'type' => 'section', 'title' => __('Favicon', 'awaken'), 'indent' => true, 'required' => array('favicon-display-checkbox', "=", 1)), array('id' => 'favicon-uploader', 'type' => 'media', 'url' => true, 'title' => __('Upload a favicon', 'awaken'), 'compiler' => 'true', 'desc' => __('Upload a site favicon', 'awaken'), 'subtitle' => __('Upload or choose a favicon for your website.', 'awaken'), 'default' => array('url' => 'http://s.wordpress.org/style/images/codeispoetry.png')), array('id' => 'section-media-end', 'type' => 'section', 'indent' => false, 'required' => array('favicon-display-checkbox', "=", 1)), array('id' => 'awaken-header-code', 'type' => 'ace_editor', 'title' => __('Header JS Code', 'awaken'), 'subtitle' => __('Paste your Google Analytics (or other) tracking code here. This will be added into the header of your theme.', 'awaken'), 'mode' => 'javascript', 'theme' => 'chrome', 'desc' => 'Note: Please don\'t include the "&lt;script&gt; &lt;/script&gt;" tags. Just paste your js code here.', 'default' => "jQuery(document).ready(function(){\n\n});"), array('id' => 'awaken-footer-text', 'type' => 'editor', 'title' => __('Footer Text', 'awaken'), 'subtitle' => __('Enter your text here. If you want to align the text, center or right simply do that using the editor', 'awaken'), 'default' => '')));
            $this->sections[] = array('title' => __('Home Settings', 'awaken'), 'desc' => __('Use this tab to set the homepage settings of your site', 'awaken'), 'icon' => 'el-icon-home', 'fields' => array(array('id' => 'home-slider-activate', 'type' => 'checkbox', 'title' => __('Activate Slider', 'awaken'), 'subtitle' => __('Check the checkbox to activate the slider', 'awaken'), 'default' => '1'), array('id' => 'slider-category', 'type' => 'select', 'data' => 'categories', 'title' => __('Select the slider category', 'awaken'), 'subtitle' => __('Post thumbnails of the posts from selected category will be displayed in the slider', 'awaken'), 'desc' => __('Do not select a category or close the current category if you want to display latest posts.', 'awaken'), 'default' => ''), array('id' => 'fposts-category', 'type' => 'select', 'data' => 'categories', 'title' => __('Select the featured posts category', 'awaken'), 'subtitle' => __('Post thumbnails of the posts from selected category will be displayed as featured posts', 'awaken'), 'desc' => __('Do not select a category or close the current category if you want to display latest posts.', 'awaken'), 'default' => ''), array('id' => 'pro-home', 'type' => 'info', 'style' => 'success', 'title' => __('<a href="http://www.themezhut.com/themes/awaken-pro" target="_blank">Upgrade to Pro</a>', 'awaken'), 'desc' => __('Pro Version comes with unlimited slides, more slider options, custom slider etc', 'awaken'))));
            $this->sections[] = array('title' => __('Styling Options', 'awaken'), 'desc' => __('Use this tab to set the style settings of the site', 'awaken'), 'icon' => 'el-icon-website', 'fields' => array(array('id' => 'pro-styling', 'type' => 'info', 'style' => 'success', 'title' => __('<a href="http://www.themezhut.com/themes/awaken-pro" target="_blank">Upgrade to Pro</a>', 'awaken'), 'desc' => __('Pro Version comes with unlimited fonts, unlimited colors, custom styling options, boxed and wide layouts. etc', 'awaken')), array('id' => 'awaken-background', 'type' => 'background', 'output' => array('body'), 'title' => __('Body Background', 'awaken'), 'subtitle' => __('Body background with image, color, etc.', 'awaken')), array('id' => 'awaken-ace-editor-css', 'type' => 'ace_editor', 'title' => __('Custom CSS Code', 'awaken'), 'subtitle' => __('Add your CSS code here.', 'awaken'), 'mode' => 'css', 'theme' => 'monokai', 'default' => "")));
            $this->sections[] = array('title' => __('Post / Page Options', 'awaken'), 'desc' => __('Use this tab to set the post settings of the site', 'awaken'), 'icon' => 'el-icon-pencil-alt', 'fields' => array(array('id' => 'awaken-post-comments', 'type' => 'switch', 'title' => __('Comment area on posts.', 'awaken'), 'subtitle' => __('Switch on if you want to display comments and comment form in posts.', 'awaken'), 'default' => true), array('id' => 'awaken-page-comments', 'type' => 'switch', 'title' => __('Comment area on pages.', 'awaken'), 'subtitle' => __('Switch on if you want to display comments and comment form in pages.', 'awaken'), 'default' => true), array('id' => 'featured-image-switch', 'type' => 'switch', 'title' => __('Display featured image in single post article.', 'awaken'), 'subtitle' => __('Switch on if you want to display featured images in single posts.', 'awaken'), 'default' => true), array('id' => 'pro-general', 'type' => 'info', 'style' => 'success', 'title' => __('<a href="http://www.themezhut.com/themes/awaken-pro" target="_blank">Upgrade to Pro</a>', 'awaken'), 'desc' => __('Pro version comes with more post options.', 'awaken'))));
            $this->sections[] = array('title' => __('Social Media', 'awaken'), 'desc' => __('Use this tab to set the social media settings of the site', 'awaken'), 'icon' => 'el-icon-link', 'fields' => array(array('id' => 'social_media_switch', 'type' => 'checkbox', 'title' => __('Display social media icons.', 'awaken'), 'subtitle' => __('Check the checkbox to activate social icons.', 'awaken'), 'default' => '1'), array('id' => 'facebook-url', 'type' => 'text', 'title' => __('Facebook Link', 'awaken'), 'subtitle' => __('This must be a URL. Start with http://', 'awaken'), 'validate' => 'url', 'default' => ''), array('id' => 'twitter-url', 'type' => 'text', 'title' => __('Twitter Link', 'awaken'), 'subtitle' => __('This must be a URL. Start with http://', 'awaken'), 'validate' => 'url', 'default' => ''), array('id' => 'googleplus-url', 'type' => 'text', 'title' => __('Google Plus Link', 'awaken'), 'subtitle' => __('This must be a URL. Start with http://', 'awaken'), 'validate' => 'url', 'default' => ''), array('id' => 'linkedin-url', 'type' => 'text', 'title' => __('Linkedin Link', 'awaken'), 'subtitle' => __('This must be a URL. Start with http://', 'awaken'), 'validate' => 'url', 'default' => ''), array('id' => 'rss-url', 'type' => 'text', 'title' => __('RSS Link', 'awaken'), 'subtitle' => __('This must be a URL. Start with http://', 'awaken'), 'validate' => 'url', 'default' => ''), array('id' => 'instagram-url', 'type' => 'text', 'title' => __('Instagram Link', 'awaken'), 'subtitle' => __('This must be a URL. Start with http://', 'awaken'), 'validate' => 'url', 'default' => ''), array('id' => 'flickr-url', 'type' => 'text', 'title' => __('Flickr Link', 'awaken'), 'subtitle' => __('This must be a URL. Start with http://', 'awaken'), 'validate' => 'url', 'default' => ''), array('id' => 'youtube-url', 'type' => 'text', 'title' => __('Youtube Link', 'awaken'), 'subtitle' => __('This must be a URL. Start with http://', 'awaken'), 'validate' => 'url', 'default' => ''), array('id' => 'pro-social', 'type' => 'info', 'style' => 'success', 'title' => __('<a href="http://www.themezhut.com/themes/awaken-pro" target="_blank">Upgrade to Pro</a>', 'awaken'), 'desc' => __('Pro Version comes with more social media link options.', 'awaken'))));
            $this->sections[] = array('type' => 'divide');
            $this->sections[] = array('icon' => 'el-icon-eye-open', 'title' => __('<span class="sp-menu">Theme Support</span>', 'awaken'), 'desc' => __('<p class="description">Follow these links to get more details about Awaken WordPress Theme.</p>', 'redux-framework-demo'), 'fields' => array(array('id' => 'opt-info-field', 'type' => 'info', 'style' => 'success', 'desc' => __('<h4><a class="thgreen" href="http://www.themezhut.com/themes/awaken" target="_blank">Theme Details</a></h4> <h4><a class="thred" href="http://www.themezhut.com/awaken-wordpress-theme-documentation" target="_blank">Theme Setup Guide</a></h4> <h4><a class="thblue" href="http://www.themezhut.com/demo/awaken" target="_blank">Theme Demo</a></h4> <h4><a class="thlgreen" href="http://wordpress.org/themes/awaken" target="_blank">Rate Awaken Theme</a></h4> <h4><a class="thbrown" href="http://www.themezhut.com/themes/awaken-pro" target="_blank">Awaken Pro Details</a></h4> <h4><a class="thpurple" href="http://www.themezhut.com/demo/awaken-pro" target="_blank">Awaken Pro Demo</a></h4>', 'awaken')), array('id' => 'th-opt-info-rate', 'type' => 'info', 'style' => 'success', 'icon' => 'el el-star', 'title' => __('<h4>Support Us.</h4>', 'awaken'), 'desc' => __('The best way to thank us is, by rating our theme with 5 stars. <a href="http://wordpress.org/themes/awaken" target="_blank">Click here to rate our theme.</a>', 'awaken'))));
            $this->sections[] = array('type' => 'divide');
            $this->sections[] = array('title' => __('Import / Export', 'awaken'), 'desc' => __('Import and Export your Redux Framework settings from file, text or URL.', 'awaken'), 'icon' => 'el-icon-refresh', 'fields' => array(array('id' => 'opt-import-export', 'type' => 'import_export', 'title' => 'Import Export', 'subtitle' => 'Save and restore your Redux options', 'full_width' => false)));
            $this->sections[] = array('icon' => 'el-icon-info-sign', 'title' => __('Theme Information', 'awaken'), 'fields' => array(array('id' => 'opt-raw-info', 'type' => 'raw', 'content' => $item_info)));
        }
Пример #14
0
        public function setSections()
        {
            /**
                          Used within different fields. Simply examples. Search for ACTUAL DECLARATION for field examples
                         * */
            // Background Patterns Reader
            $sample_patterns_path = ReduxFramework::$_dir . '../sample/patterns/';
            $sample_patterns_url = ReduxFramework::$_url . '../sample/patterns/';
            $sample_patterns = array();
            if (is_dir($sample_patterns_path)) {
                if ($sample_patterns_dir = opendir($sample_patterns_path)) {
                    $sample_patterns = array();
                    while (($sample_patterns_file = readdir($sample_patterns_dir)) !== false) {
                        if (stristr($sample_patterns_file, '.png') !== false || stristr($sample_patterns_file, '.jpg') !== false) {
                            $name = explode('.', $sample_patterns_file);
                            $name = str_replace('.' . end($name), '', $sample_patterns_file);
                            $sample_patterns[] = array('alt' => $name, 'img' => $sample_patterns_url . $sample_patterns_file);
                        }
                    }
                }
            }
            ob_start();
            $ct = wp_get_theme();
            $this->theme = $ct;
            $item_name = $this->theme->get('Name');
            $tags = $this->theme->Tags;
            $screenshot = $this->theme->get_screenshot();
            $class = $screenshot ? 'has-screenshot' : '';
            $customize_title = sprintf(esc_html__('Customize &#8220;%s&#8221;', 'redux-framework'), $this->theme->display('Name'));
            ?>
            <div id="current-theme" class="<?php 
            echo esc_attr($class);
            ?>
">
            <?php 
            if ($screenshot) {
                ?>
                <?php 
                if (current_user_can('edit_theme_options')) {
                    ?>
                        <a href="<?php 
                    echo wp_customize_url();
                    ?>
" class="load-customize hide-if-no-customize" title="<?php 
                    echo esc_attr($customize_title);
                    ?>
">
                            <img src="<?php 
                    echo esc_url($screenshot);
                    ?>
" alt="<?php 
                    esc_attr_e('Current theme preview', 'greek');
                    ?>
" />
                        </a>
                <?php 
                }
                ?>
                    <img class="hide-if-customize" src="<?php 
                echo esc_url($screenshot);
                ?>
" alt="<?php 
                esc_attr_e('Current theme preview', 'greek');
                ?>
" />
                <?php 
            }
            ?>

                <h4><?php 
            echo $this->theme->display('Name');
            ?>
</h4>

                <div>
                    <ul class="theme-info">
                        <li><?php 
            printf(esc_html__('By %s', 'redux-framework'), $this->theme->display('Author'));
            ?>
</li>
                        <li><?php 
            printf(esc_html__('Version %s', 'redux-framework'), $this->theme->display('Version'));
            ?>
</li>
                        <li><?php 
            echo '<strong>' . esc_html__('Tags', 'redux-framework') . ':</strong> ';
            printf($this->theme->display('Tags'));
            ?>
</li>
                    </ul>
                    <p class="theme-description"><?php 
            echo $this->theme->display('Description');
            ?>
</p>
            <?php 
            if ($this->theme->parent()) {
                printf(' <p class="howto">' . wp_kses(__('This <a href="%1$s">child theme</a> requires its parent theme, %2$s.', 'greek'), array('a' => array('href' => array(), 'title' => array()))) . '</p>', esc_html__('http://codex.wordpress.org/Child_Themes', 'redux-framework'), $this->theme->parent()->display('Name'));
            }
            ?>

                </div>
            </div>

            <?php 
            $item_info = ob_get_contents();
            ob_end_clean();
            $sampleHTML = '';
            if (file_exists(get_template_directory() . '/info-html.html')) {
                Redux_Functions::initWpFilesystem();
                global $wp_filesystem;
                $sampleHTML = $wp_filesystem->get_contents(get_template_directory() . '/info-html.html');
            }
            // General
            $this->sections[] = array('title' => esc_html__('General', 'redux-framework'), 'desc' => esc_html__('General theme options', 'redux-framework'), 'icon' => 'el-icon-cog', 'fields' => array(array('id' => 'logo_main', 'type' => 'media', 'title' => esc_html__('Logo', 'redux-framework'), 'compiler' => 'true', 'mode' => false, 'desc' => esc_html__('Upload logo here.', 'redux-framework')), array('id' => 'logo_main2', 'type' => 'media', 'title' => esc_html__('Logo White', 'redux-framework'), 'compiler' => 'true', 'mode' => false, 'desc' => esc_html__('Upload logo here.', 'redux-framework')), array('id' => 'logo_text', 'type' => 'text', 'title' => esc_html__('Logo Text', 'redux-framework'), 'default' => 'greek'), array('id' => 'logo_erorr', 'type' => 'media', 'title' => esc_html__('Logo for error 404 page', 'redux-framework'), 'compiler' => 'true', 'mode' => false), array('id' => 'opt-favicon', 'type' => 'media', 'title' => esc_html__('Favicon', 'redux-framework'), 'compiler' => 'true', 'mode' => false, 'desc' => esc_html__('Upload favicon here.', 'redux-framework')), array('id' => 'greek_loading', 'type' => 'switch', 'title' => esc_html__('Show Loading Page', 'redux-framework'), 'default' => false)));
            // Background
            $this->sections[] = array('title' => esc_html__('Background', 'redux-framework'), 'desc' => esc_html__('Use this section to upload background images, select background color', 'redux-framework'), 'icon' => 'el-icon-picture', 'fields' => array(array('id' => 'background_opt', 'type' => 'background', 'output' => array('body'), 'title' => esc_html__('Body Background', 'redux-framework'), 'subtitle' => esc_html__('Body background with image, color. Only work with box layout', 'redux-framework'), 'default' => '#efefef')));
            // Colors
            $this->sections[] = array('title' => esc_html__('Presets', 'redux-framework'), 'desc' => esc_html__('Presets options', 'redux-framework'), 'icon' => 'el-icon-tint');
            $this->sections[] = array('title' => esc_html__('Presets1', 'redux-framework'), 'desc' => esc_html__('Presets1 options', 'redux-framework'), 'icon' => 'el-icon-tint', 'subsection' => true, 'fields' => array(array('id' => 'primary_color', 'type' => 'color', 'title' => esc_html__('Primary Color', 'redux-framework'), 'subtitle' => esc_html__('Pick a color for primary color (default: #ec5355).', 'redux-framework'), 'transparent' => false, 'default' => '#ec5355', 'validate' => 'color'), array('id' => 'rate_color', 'type' => 'color', 'title' => esc_html__('Rating Star Color', 'redux-framework'), 'subtitle' => esc_html__('Pick a color for star of rating (default: #eeee22).', 'redux-framework'), 'transparent' => false, 'default' => '#eeee22', 'validate' => 'color')));
            $this->sections[] = array('title' => esc_html__('Presets2', 'redux-framework'), 'desc' => esc_html__('Presets2 options', 'redux-framework'), 'icon' => 'el-icon-tint', 'subsection' => true, 'fields' => array(array('id' => 'primary2_color', 'type' => 'color', 'title' => esc_html__('Primary Color', 'redux-framework'), 'subtitle' => esc_html__('Pick a color for primary color (default: #189f2b).', 'redux-framework'), 'transparent' => false, 'default' => '#189f2b', 'validate' => 'color'), array('id' => 'rate2_color', 'type' => 'color', 'title' => esc_html__('Rating Star Color', 'redux-framework'), 'subtitle' => esc_html__('Pick a color for star of rating (default: #eeee22).', 'redux-framework'), 'transparent' => false, 'default' => '#eeee22', 'validate' => 'color')));
            $this->sections[] = array('title' => esc_html__('Presets3', 'redux-framework'), 'desc' => esc_html__('Presets3 options', 'redux-framework'), 'icon' => 'el-icon-tint', 'subsection' => true, 'fields' => array(array('id' => 'primary3_color', 'type' => 'color', 'title' => esc_html__('Primary Color', 'redux-framework'), 'subtitle' => esc_html__('Pick a color for primary color (default: #c30303).', 'redux-framework'), 'transparent' => false, 'default' => '#c30303', 'validate' => 'color'), array('id' => 'rate3_color', 'type' => 'color', 'title' => esc_html__('Rating Star Color', 'redux-framework'), 'subtitle' => esc_html__('Pick a color for star of rating (default: #eeee22).', 'redux-framework'), 'transparent' => false, 'default' => '#eeee22', 'validate' => 'color')));
            $this->sections[] = array('title' => esc_html__('Presets4', 'redux-framework'), 'desc' => esc_html__('Presets4 options', 'redux-framework'), 'icon' => 'el-icon-tint', 'subsection' => true, 'fields' => array(array('id' => 'primary4_color', 'type' => 'color', 'title' => esc_html__('Primary Color', 'redux-framework'), 'subtitle' => esc_html__('Pick a color for primary color (default: #0bd9a9).', 'redux-framework'), 'transparent' => false, 'default' => '#0bd9a9', 'validate' => 'color'), array('id' => 'rate4_color', 'type' => 'color', 'title' => esc_html__('Rating Star Color', 'redux-framework'), 'subtitle' => esc_html__('Pick a color for star of rating (default: #eeee22).', 'redux-framework'), 'transparent' => false, 'default' => '#eeee22', 'validate' => 'color')));
            //Header
            $this->sections[] = array('title' => esc_html__('Header', 'redux-framework'), 'desc' => esc_html__('Header options', 'redux-framework'), 'icon' => 'el-icon-tasks', 'fields' => array(array('id' => 'topbar_style', 'type' => 'select', 'title' => esc_html__('Top bar style', 'redux-framework'), 'subtitle' => esc_html__('Only for header default', 'redux-framework'), 'customizer_only' => true, 'options' => array('tb-trans' => 'Transparent', 'tb-white' => 'White', 'tb-black' => 'Black'), 'default' => 'tb-trans'), array('id' => 'mini_cart_title', 'type' => 'text', 'title' => esc_html__('Mini cart title', 'redux-framework'), 'default' => 'Shopping Cart'), array('id' => 'title_mobile_menu', 'type' => 'text', 'title' => esc_html__('Title Mobile Menu', 'redux-framework'), 'default' => 'Menu')));
            //Bottom
            $this->sections[] = array('title' => esc_html__('Bottom', 'redux-framework'), 'des' => esc_html__('Bottom options', 'redux-framework'), 'icon' => 'el-icon-cog', 'fields' => array(array('id' => 'menu-link', 'type' => 'select', 'data' => 'menus', 'title' => esc_html__('Bottom Menu Link', 'redux-framework'), 'subtitle' => esc_html__('Select a menu', 'redux-framework'))));
            $this->sections[] = array('icon' => 'el-icon-website', 'title' => esc_html__('Social Icons', 'redux-framework'), 'subsection' => true, 'fields' => array(array('id' => 'follow_title', 'type' => 'text', 'title' => esc_html__('Follow Us title', 'redux-framework'), 'default' => 'Follow Us'), array('id' => 'ftsocial_icons', 'type' => 'sortable', 'title' => esc_html__('Footer social Icons', 'redux-framework'), 'subtitle' => esc_html__('Enter social links', 'redux-framework'), 'desc' => esc_html__('Drag/drop to re-arrange', 'redux-framework'), 'mode' => 'text', 'options' => array('facebook' => '', 'twitter' => '', 'instagram' => '', 'tumblr' => '', 'pinterest' => '', 'google-plus' => '', 'linkedin' => '', 'behance' => '', 'dribbble' => '', 'youtube' => '', 'vimeo' => '', 'rss' => ''), 'default' => array('facebook' => 'https://www.facebook.com/vinawebsolutions', 'twitter' => 'https://twitter.com/vnwebsolutions', 'instagram' => 'Instagram', 'tumblr' => 'Tumblr', 'pinterest' => 'Pinterest', 'google-plus' => 'https://plus.google.com/+HieuJa/posts', 'linkedin' => 'Linkedin', 'behance' => 'Behance', 'dribbble' => 'Dribbble', 'youtube' => 'https://www.youtube.com/user/vinawebsolutions', 'vimeo' => 'Vimeo', 'rss' => 'RSS'))));
            //Footer
            $this->sections[] = array('title' => esc_html__('Footer', 'redux-framework'), 'desc' => esc_html__('Footer options', 'redux-framework'), 'icon' => 'el-icon-cog', 'fields' => array(array('id' => 'copyright_show', 'type' => 'switch', 'title' => esc_html__('Show Copyright', 'redux-framework'), 'default' => true), array('id' => 'copyright-author', 'type' => 'text', 'title' => esc_html__('Copyright Author', 'redux-framework'), 'default' => 'VinaGecko.com'), array('id' => 'copyright-link', 'type' => 'text', 'title' => esc_html__('Copyright Link', 'redux-framework'), 'default' => 'http://vinagecko.com'), array('id' => 'footer_payment', 'type' => 'media', 'title' => esc_html__('Image Payment', 'redux-framework'), 'compiler' => 'true', 'mode' => false, 'desc' => esc_html__('Upload logo here.', 'redux-framework'))));
            $this->sections[] = array('icon' => 'el-icon-website', 'title' => esc_html__('Popup Newsletter', 'redux-framework'), 'subsection' => true, 'fields' => array(array('id' => 'newsletter_show', 'type' => 'switch', 'title' => esc_html__('Show Newsletter', 'redux-framework'), 'default' => false), array('id' => 'newsletter_title', 'type' => 'text', 'title' => esc_html__('Newsletter title', 'redux-framework'), 'default' => 'Get In Touch'), array('id' => 'newsletter_form', 'type' => 'text', 'title' => esc_html__('Newsletter form ID', 'redux-framework'), 'subtitle' => esc_html__('The form ID of MailPoet plugin.', 'redux-framework'), 'validate' => 'numeric', 'msg' => 'Please enter a form ID', 'default' => '2')));
            //Fonts
            $this->sections[] = array('title' => esc_html__('Fonts', 'redux-framework'), 'desc' => esc_html__('Fonts options', 'redux-framework'), 'icon' => 'el-icon-font', 'fields' => array(array('id' => 'bodyfont', 'type' => 'typography', 'title' => esc_html__('Body font', 'redux-framework'), 'google' => true, 'font-backup' => true, 'all_styles' => true, 'output' => array('body'), 'units' => 'px', 'subtitle' => esc_html__('Main body font.', 'redux-framework'), 'default' => array('color' => '#909090', 'font-weight' => '400', 'font-family' => 'Arial, Helvetica, sans-serif', 'google' => true, 'font-size' => '13px', 'line-height' => '24px')), array('id' => 'headingfont', 'type' => 'typography', 'title' => esc_html__('Heading font', 'redux-framework'), 'google' => true, 'font-backup' => true, 'font-size' => false, 'line-height' => false, 'all_styles' => true, 'units' => 'px', 'subtitle' => esc_html__('Heading font.', 'redux-framework'), 'default' => array('color' => '#909090', 'font-weight' => '400', 'font-family' => 'Arial, Helvetica, sans-serif', 'google' => true))));
            // Layout
            $this->sections[] = array('title' => esc_html__('Layout', 'redux-framework'), 'desc' => esc_html__('Select page layout: Box or Full Width', 'redux-framework'), 'icon' => 'el-icon-align-justify', 'fields' => array(array('id' => 'page_layout', 'type' => 'select', 'multi' => false, 'title' => esc_html__('Page Layout', 'redux-framework'), 'options' => array('full' => 'Full Width', 'box' => 'Box'), 'default' => 'full'), array('id' => 'preset_option', 'type' => 'select', 'title' => esc_html__('Preset', 'redux-framework'), 'subtitle' => esc_html__('Select a preset to quickly apply pre-defined colors and fonts', 'redux-framework'), 'options' => array('1' => 'Preset 1', '2' => 'Preset 2', '3' => 'Preset 3', '4' => 'Preset 4'), 'default' => '1'), array('id' => 'enable_sswitcher', 'type' => 'switch', 'title' => esc_html__('Show Style Switcher', 'redux-framework'), 'subtitle' => esc_html__('The style switcher is only for preview on front-end', 'redux-framework'), 'default' => false)));
            //Brand logos
            $this->sections[] = array('title' => esc_html__('Brand Logos', 'redux-framework'), 'desc' => esc_html__('Upload brand logos and links', 'redux-framework'), 'icon' => 'el-icon-cog', 'fields' => array(array('id' => 'brand_logos', 'type' => 'slides', 'title' => esc_html__('Logos', 'redux-framework'), 'desc' => esc_html__('Upload logo image and enter logo link.', 'redux-framework'), 'placeholder' => array('title' => esc_html__('Title', 'redux-framework'), 'description' => esc_html__('Description', 'redux-framework'), 'url' => esc_html__('Link', 'redux-framework')))));
            // Sidebar
            $this->sections[] = array('title' => esc_html__('Sidebar', 'redux-framework'), 'desc' => esc_html__('Sidebar options', 'redux-framework'), 'icon' => 'el-icon-cog', 'fields' => array(array('id' => 'sidebar_pos', 'type' => 'radio', 'title' => esc_html__('Main Sidebar Position', 'redux-framework'), 'subtitle' => esc_html__('Sidebar on category page', 'redux-framework'), 'options' => array('left' => 'Left', 'right' => 'Right'), 'default' => 'left'), array('id' => 'sidebar_product', 'type' => 'radio', 'title' => esc_html__('Product Sidebar Position', 'redux-framework'), 'subtitle' => esc_html__('Sidebar on product page', 'redux-framework'), 'options' => array('left' => 'Left', 'right' => 'Right'), 'default' => 'left'), array('id' => 'sidebarse_pos', 'type' => 'radio', 'title' => esc_html__('Secondary Sidebar Position', 'redux-framework'), 'subtitle' => esc_html__('Sidebar on pages', 'redux-framework'), 'options' => array('left' => 'Left', 'right' => 'Right'), 'default' => 'left'), array('id' => 'sidebarblog_pos', 'type' => 'radio', 'title' => esc_html__('Blog Sidebar Position', 'redux-framework'), 'subtitle' => esc_html__('Sidebar on Blog pages', 'redux-framework'), 'options' => array('left' => 'Left', 'right' => 'Right'), 'default' => 'right')));
            // Portfolio
            $this->sections[] = array('title' => esc_html__('Portfolio', 'redux-framework'), 'desc' => esc_html__('Use this section to select options for portfolio', 'redux-framework'), 'icon' => 'el-icon-tags', 'fields' => array(array('id' => 'portfolio_columns', 'type' => 'slider', 'title' => esc_html__('Portfolio Columns', 'redux-framework'), "default" => 3, "min" => 2, "step" => 1, "max" => 4, 'display_value' => 'text'), array('id' => 'portfolio_per_page', 'type' => 'slider', 'title' => esc_html__('Projects per page', 'redux-framework'), 'desc' => esc_html__('Amount of projects per page on portfolio page', 'redux-framework'), "default" => 15, "min" => 4, "step" => 1, "max" => 48, 'display_value' => 'text'), array('id' => 'related_project_title', 'type' => 'text', 'title' => esc_html__('Related projects title', 'redux-framework'), 'default' => 'Related Projects')));
            // Product
            $this->sections[] = array('title' => esc_html__('Product', 'redux-framework'), 'desc' => esc_html__('Use this section to select options for product', 'redux-framework'), 'icon' => 'el-icon-tags', 'fields' => array(array('id' => 'cat_banner_img', 'type' => 'media', 'title' => esc_html__('Banner Header Category', 'redux-framework'), 'compiler' => 'true', 'mode' => false, 'desc' => esc_html__('Upload banner category here.', 'redux-framework')), array('id' => 'cat_banner_link', 'type' => 'text', 'title' => esc_html__('Link Banner Category', 'redux-framework'), 'default' => 'http://vinagecko.com'), array('id' => 'shop_header', 'type' => 'background', 'output' => array('.shop_header'), 'title' => esc_html__('Shop category header background', 'redux-framework'), 'default' => '#eee'), array('id' => 'product_header', 'type' => 'background', 'output' => array('.product_header'), 'title' => esc_html__('Product page header background', 'redux-framework'), 'default' => '#eee'), array('id' => 'product_header_code', 'type' => 'textarea', 'title' => esc_html__('Product header signup', 'redux-framework'), 'default' => ''), array('id' => 'product_per_page', 'type' => 'slider', 'title' => esc_html__('Products per page', 'redux-framework'), 'subtitle' => esc_html__('Amount of products per page on category page', 'redux-framework'), "default" => 12, "min" => 3, "step" => 1, "max" => 48, 'display_value' => 'text'), array('id' => 'related_title', 'type' => 'text', 'title' => esc_html__('Related products title', 'redux-framework'), 'default' => 'Related Products'), array('id' => 'related_amount', 'type' => 'slider', 'title' => esc_html__('Number of related products', 'redux-framework'), "default" => 6, "min" => 3, "step" => 1, "max" => 16, 'display_value' => 'text'), array('id' => 'share_head_code', 'type' => 'textarea', 'title' => esc_html__('ShareThis/AddThis head tag', 'redux-framework'), 'desc' => esc_html__('Paste your ShareThis or AddThis head tag here', 'redux-framework'), 'default' => ''), array('id' => 'share_code', 'type' => 'textarea', 'title' => esc_html__('ShareThis/AddThis code', 'redux-framework'), 'desc' => esc_html__('Paste your ShareThis or AddThis code here', 'redux-framework'), 'default' => '')));
            // Less Compiler
            $this->sections[] = array('title' => esc_html__('Less Compiler', 'redux-framework'), 'desc' => esc_html__('Turn on this option to apply all theme options. Turn of when you have finished changing theme options and your site is ready.', 'redux-framework'), 'icon' => 'el-icon-wrench', 'fields' => array(array('id' => 'enable_less', 'type' => 'switch', 'title' => esc_html__('Enable Less Compiler', 'redux-framework'), 'default' => true)));
            $theme_info = '<div class="redux-framework-section-desc">';
            $theme_info .= '<p class="redux-framework-theme-data description theme-uri">' . wp_kses(__('<strong>Theme URL:</strong> ', 'redux-framework'), array('strong' => array())) . '<a href="' . $this->theme->get('ThemeURI') . '" target="_blank">' . $this->theme->get('ThemeURI') . '</a></p>';
            $theme_info .= '<p class="redux-framework-theme-data description theme-author">' . wp_kses(__('<strong>Author:</strong> ', 'redux-framework'), array('strong' => array())) . $this->theme->get('Author') . '</p>';
            $theme_info .= '<p class="redux-framework-theme-data description theme-version">' . wp_kses(__('<strong>Version:</strong> ', 'redux-framework'), array('strong' => array())) . $this->theme->get('Version') . '</p>';
            $theme_info .= '<p class="redux-framework-theme-data description theme-description">' . $this->theme->get('Description') . '</p>';
            $tabs = $this->theme->get('Tags');
            if (!empty($tabs)) {
                $theme_info .= '<p class="redux-framework-theme-data description theme-tags">' . wp_kses(__('<strong>Tags:</strong> ', 'redux-framework'), array('strong' => array())) . implode(', ', $tabs) . '</p>';
            }
            $theme_info .= '</div>';
            $this->sections[] = array('icon' => 'el-icon-list-alt', 'title' => esc_html__('Customizer Only', 'redux-framework'), 'desc' => wp_kses(__('<p class="description">This Section should be visible only in Customizer</p>', 'redux-framework'), array('p' => array('class' => array()))), 'customizer_only' => true, 'fields' => array(array('id' => 'opt-customizer-only', 'type' => 'select', 'title' => esc_html__('Customizer Only Option', 'redux-framework'), 'subtitle' => esc_html__('The subtitle is NOT visible in customizer', 'redux-framework'), 'desc' => esc_html__('The field desc is NOT visible in customizer.', 'redux-framework'), 'customizer_only' => true, 'options' => array('1' => 'Opt 1', '2' => 'Opt 2', '3' => 'Opt 3'), 'default' => '2')));
            $this->sections[] = array('title' => esc_html__('Import / Export', 'redux-framework'), 'desc' => esc_html__('Import and Export your Redux Framework settings from file, text or URL.', 'redux-framework'), 'icon' => 'el-icon-refresh', 'fields' => array(array('id' => 'opt-import-export', 'type' => 'import_export', 'title' => 'Import Export', 'subtitle' => 'Save and restore your Redux options', 'full_width' => false)));
            $this->sections[] = array('icon' => 'el-icon-info-sign', 'title' => esc_html__('Theme Information', 'redux-framework'), 'fields' => array(array('id' => 'opt-raw-info', 'type' => 'raw', 'content' => $item_info)));
        }
Пример #15
0
        public function setSections()
        {
            /**
                          Used within different fields. Simply examples. Search for ACTUAL DECLARATION for field examples
                         * */
            // Background Patterns Reader
            $sample_patterns_path = ReduxFramework::$_dir . '../sample/patterns/';
            $sample_patterns_url = ReduxFramework::$_url . '../sample/patterns/';
            $sample_patterns = array();
            if (is_dir($sample_patterns_path)) {
                if ($sample_patterns_dir = opendir($sample_patterns_path)) {
                    $sample_patterns = array();
                    while (($sample_patterns_file = readdir($sample_patterns_dir)) !== false) {
                        if (stristr($sample_patterns_file, '.png') !== false || stristr($sample_patterns_file, '.jpg') !== false) {
                            $name = explode('.', $sample_patterns_file);
                            $name = str_replace('.' . end($name), '', $sample_patterns_file);
                            $sample_patterns[] = array('alt' => $name, 'img' => $sample_patterns_url . $sample_patterns_file);
                        }
                    }
                }
            }
            ob_start();
            $ct = wp_get_theme();
            $this->theme = $ct;
            $item_name = $this->theme->get('Name');
            $tags = $this->theme->Tags;
            $screenshot = $this->theme->get_screenshot();
            $class = $screenshot ? 'has-screenshot' : '';
            $customize_title = sprintf(__('Customize &#8220;%s&#8221;', 'redux-framework-demo'), $this->theme->display('Name'));
            ?>
            <div id="current-theme" class="<?php 
            echo esc_attr($class);
            ?>
">
                <?php 
            if ($screenshot) {
                ?>
                    <?php 
                if (current_user_can('edit_theme_options')) {
                    ?>
                        <a href="<?php 
                    echo wp_customize_url();
                    ?>
" class="load-customize hide-if-no-customize" title="<?php 
                    echo esc_attr($customize_title);
                    ?>
">
                            <img src="<?php 
                    echo esc_url($screenshot);
                    ?>
" alt="<?php 
                    esc_attr_e('Current theme preview');
                    ?>
" />
                        </a>
                    <?php 
                }
                ?>
                    <img class="hide-if-customize" src="<?php 
                echo esc_url($screenshot);
                ?>
" alt="<?php 
                esc_attr_e('Current theme preview');
                ?>
" />
                <?php 
            }
            ?>

                <h4><?php 
            echo $this->theme->display('Name');
            ?>
</h4>

                <div>
                    <ul class="theme-info">
                        <li><?php 
            printf(__('By %s', 'redux-framework-demo'), $this->theme->display('Author'));
            ?>
</li>
                        <li><?php 
            printf(__('Version %s', 'redux-framework-demo'), $this->theme->display('Version'));
            ?>
</li>
                        <li><?php 
            echo '<strong>' . __('Tags', 'redux-framework-demo') . ':</strong> ';
            printf($this->theme->display('Tags'));
            ?>
</li>
                    </ul>
                    <p class="theme-description"><?php 
            echo $this->theme->display('Description');
            ?>
</p>
                    <?php 
            if ($this->theme->parent()) {
                printf(' <p class="howto">' . __('This <a href="%1$s">child theme</a> requires its parent theme, %2$s.') . '</p>', __('http://codex.wordpress.org/Child_Themes', 'redux-framework-demo'), $this->theme->parent()->display('Name'));
            }
            ?>

                </div>
            </div>

            <?php 
            $item_info = ob_get_contents();
            ob_end_clean();
            $sampleHTML = '';
            if (file_exists(dirname(__FILE__) . '/info-html.html')) {
                Redux_Functions::initWpFilesystem();
                global $wp_filesystem;
                $sampleHTML = $wp_filesystem->get_contents(dirname(__FILE__) . '/info-html.html');
            }
            //========================
            // General Section
            //========================
            $this->sections[] = array('icon' => 'el-icon-cogs', 'title' => __('General Settings', 'redux-framework-demo'), 'fields' => array(array('id' => 'fav_url', 'type' => 'media', 'title' => __('Favicon Uploader', 'redux-framework-demo'), 'desc' => __('This represents the minimalistic view. It does not have the preview box or the display URL in an input box. ', 'redux-framework-demo'), 'subtitle' => __('Upload any media using the WordPress native uploader', 'redux-framework-demo'), 'default' => array('url' => get_template_directory_uri() . '/img/favicon.ico')), array('id' => 'google_tracking', 'type' => 'ace_editor', 'title' => __('Tracking Code', 'redux-framework-demo'), 'subtitle' => __('Paste your Google Analytics (or other) tracking code here. This will be added into the footer template of your theme.', 'redux-framework-demo'), 'mode' => 'javascript', 'validate' => 'javascript', 'desc' => 'Validate that it\'s javascript! N.B: Just paste your traking code without any script tag.'), array('id' => 'custom_css', 'type' => 'ace_editor', 'title' => __('CSS Code', 'redux-framework-demo'), 'subtitle' => __('Paste your CSS code here.', 'redux-framework-demo'), 'mode' => 'css', 'theme' => 'monokai', 'desc' => '', 'default' => "#header{\nmargin: 0 auto;\n}")));
            //========================
            // Header Section
            //========================
            $this->sections[] = array('title' => __('Header Settings', 'redux-framework-demo'), 'icon' => 'el-icon-home', 'fields' => array(array('id' => 'logo_url', 'type' => 'media', 'title' => __('Logo Uploader', 'redux-framework-demo'), 'desc' => __('Upload Your Logo', 'redux-framework-demo'), 'subtitle' => __('Upload any media using the WordPress native uploader', 'redux-framework-demo')), array('id' => 'inner_url', 'type' => 'media', 'title' => __('Inner Page Header Image Uploader', 'redux-framework-demo'), 'desc' => __('Upload Your Inner Page Header Image', 'redux-framework-demo'), 'subtitle' => __('Upload any media using the WordPress native uploader', 'redux-framework-demo'))));
            //========================
            // Color Preset Section
            //========================
            $this->sections[] = array('title' => __('Preset Settings', 'redux-framework-demo'), 'subtitle' => __('Be Careful to change the color, Because it will overwrite your default style', 'redux-framework-demo'), 'icon' => 'el-icon-adjust-alt', 'fields' => array(array('id' => 'opt-color-rgba', 'type' => 'color_rgba', 'title' => __('Background Color RGBA', 'redux-framework-demo'), 'subtitle' => __('Gives you the RGBA color.', 'redux-framework-demo'), 'desc' => __('This Color Only Work in Background. Be Careful to change the color, Because it will overwrite your default style', 'redux-framework-demo'), 'default' => array('color' => '#00a99d', 'alpha' => '1.0'), 'important' => true, 'output' => array('.modal.fade.portfoliomodal,.modal.fade.contact_form,.mfp-bg,.speaker figcaption,.contact,.venue-address,.button-dark:hover,.button-dark:active,#days .owl-item.synced .item:hover,#days .owl-item .item:hover,.top-nav-collapse,.price-table-header,.button-dark,.event .icon,#days .owl-item.synced .item,.price-table-description li:nth-child(even),.wpcf7-form .wpcf7-submit,.button-dark,#sponsors h3,ul.sub-menu,.blog-all article .blog-post-date .post-date,#about .blog-all article .button-holder a,.widget .tagcloud a,.pagination > li > a.inactive,.modal.fade.portfoliomodal.in,.navbar.navbar-fixed-top.navbar-custom.top-nav-collapse,.navbar-custom .navbar-toggle .icon-bar'), 'mode' => 'background-color'), array('id' => 'text-color-rgba', 'type' => 'color_rgba', 'title' => __('Text Color RGBA', 'redux-framework-demo'), 'subtitle' => __('Gives you the RGBA color.', 'redux-framework-demo'), 'desc' => __('This Color Only Work in Text Color. Be Careful to change the color, Because it will overwrite your default style', 'redux-framework-demo'), 'default' => array('color' => '#00a99d', 'alpha' => '1.0'), 'output' => array('.button-light:hover,.button-light:active,.social .fa-inverse,#overview i,#venue i,#venue h3,#faq i,a:hover,#speaker-detail h3,#speaker-detail a,.event h3,.blog-all h2 a,.blog-all .entry-meta span a,.widget ul li:before,.widget.widget_archive ul li:before,.widget.widget_categories ul li:before,.widget.widget_meta ul li:before,.speaker-detail h3,.speaker-detail a'), 'mode' => 'color'), array('id' => 'border-color-rgba', 'type' => 'color_rgba', 'title' => __('Border And Preloader Color', 'redux-framework-demo'), 'subtitle' => __('Gives you the RGBA color.', 'redux-framework-demo'), 'desc' => __('This Color Only Work in Border Color. Be Careful to change the color, Because it will overwrite your default style', 'redux-framework-demo'), 'default' => array('color' => '#00a99d', 'alpha' => '1.0'), 'output' => array('.blog-all article.stand .blog-post-date,.widget input,.widget input.search-submit,.blog-all article,.blog-all img, .blog-all iframe'), 'mode' => 'border-color'), array('id' => 'border-color-rgba', 'type' => 'color_rgba', 'title' => __('Border And Preloader Color', 'redux-framework-demo'), 'subtitle' => __('Gives you the RGBA color.', 'redux-framework-demo'), 'desc' => __('This Color Only Work in Border Color. Be Careful to change the color, Because it will overwrite your default style', 'redux-framework-demo'), 'default' => array('color' => '#00a99d', 'alpha' => '1.0'), 'output' => array('.loader'), 'mode' => 'border-left-color')));
            //========================
            // Contact Section
            //========================
            $this->sections[] = array('title' => __('Contact Settings', 'redux-framework-demo'), 'icon' => 'el-icon-envelope', 'fields' => array(array('id' => 'contacts_title', 'type' => 'editor', 'title' => __('Contact Title', 'redux-framework-demo'), 'subtitle' => __('You can add your contact area title here.', 'redux-framework-demo'), 'default' => 'Please add your contact Area Title here.', 'args' => array('teeny' => true, 'textarea_rows' => 10)), array('id' => 'contacts_content', 'type' => 'editor', 'title' => __('Contact Content', 'redux-framework-demo'), 'subtitle' => __('You can add your contact area content here.', 'redux-framework-demo'), 'default' => 'Please add your contact area content here.', 'args' => array('teeny' => true, 'textarea_rows' => 10)), array('id' => 'contact_form_id', 'type' => 'text', 'title' => __('Contactform7 Id', 'redux-framework-demo'), 'subtitle' => __('Make sure you installed CONTACT FORM 7 plugin already. You can use your form shortcode here. For better view use contact-form7.', 'redux-framework-demo'), 'default' => '117'), array('id' => 'contact_form_title', 'type' => 'text', 'title' => __('Contactform7 Title', 'redux-framework-demo'), 'subtitle' => __('Make sure you installed CONTACT FORM 7 plugin already. You can use your form shortcode here. For better view use contact-form7.', 'redux-framework-demo'), 'default' => 'Please add your contactform7 Title here.')));
            //========================
            // Social Section
            //========================
            $this->sections[] = array('title' => __('Social Settings', 'redux-framework-demo'), 'icon' => 'el-icon-thumbs-up', 'fields' => array(array('id' => 'facebook_url', 'type' => 'text', 'title' => __('Facebook URL - URL Validated', 'redux-framework-demo'), 'subtitle' => __('This must be a URL.', 'redux-framework-demo'), 'desc' => __('Insert Your Facebook URL Here', 'redux-framework-demo'), 'validate' => 'url', 'default' => 'http://www.facebbok.com'), array('id' => 'twitter_url', 'type' => 'text', 'title' => __('Twitter URL - URL Validated', 'redux-framework-demo'), 'subtitle' => __('This must be a URL.', 'redux-framework-demo'), 'desc' => __('Insert Your Twitter URL Here', 'redux-framework-demo'), 'validate' => 'url', 'default' => 'http://www.twitter.com'), array('id' => 'google_url', 'type' => 'text', 'title' => __('Google+ URL - URL Validated', 'redux-framework-demo'), 'subtitle' => __('This must be a URL.', 'redux-framework-demo'), 'desc' => __('Insert Your Google Plus URL Here', 'redux-framework-demo'), 'validate' => 'url', 'default' => 'http://www.google.com'), array('id' => 'linkedin_url', 'type' => 'text', 'title' => __('LinkedIn URL - URL Validated', 'redux-framework-demo'), 'subtitle' => __('This must be a URL.', 'redux-framework-demo'), 'desc' => __('Insert Your LinkedIn URL Here', 'redux-framework-demo'), 'validate' => 'url', 'default' => 'http://www.linkedin.com'), array('id' => 'youtube_url', 'type' => 'text', 'title' => __('Youtube URL - URL Validated', 'redux-framework-demo'), 'subtitle' => __('This must be a URL.', 'redux-framework-demo'), 'desc' => __('Insert Your Youtube URL Here', 'redux-framework-demo'), 'validate' => 'url', 'default' => 'http://www.youtube.com'), array('id' => 'dribble_url', 'type' => 'text', 'title' => __('Dribble URL - URL Validated', 'redux-framework-demo'), 'subtitle' => __('This must be a URL.', 'redux-framework-demo'), 'desc' => __('Insert Your Dribble URL Here', 'redux-framework-demo'), 'validate' => 'url', 'default' => 'http://www.dribble.com'), array('id' => 'pin_url', 'type' => 'text', 'title' => __('Pinterest URL - URL Validated', 'redux-framework-demo'), 'subtitle' => __('This must be a URL.', 'redux-framework-demo'), 'desc' => __('Insert Your Pinterest URL Here', 'redux-framework-demo'), 'validate' => 'url', 'default' => 'http://www.pinterest.com'), array('id' => 'vimeo_url', 'type' => 'text', 'title' => __('Vimeo URL - URL Validated', 'redux-framework-demo'), 'subtitle' => __('This must be a URL.', 'redux-framework-demo'), 'desc' => __('Insert Your Vimeo URL Here', 'redux-framework-demo'), 'validate' => 'url', 'default' => 'http://www.vimeo.com'), array('id' => 'rss_url', 'type' => 'text', 'title' => __('RSS URL - URL Validated', 'redux-framework-demo'), 'subtitle' => __('This must be a URL.', 'redux-framework-demo'), 'desc' => __('Insert Your RSS URL Here', 'redux-framework-demo'), 'validate' => 'url', 'default' => 'http://www.rss.com'), array('id' => 'skype_url', 'type' => 'text', 'title' => __('Skype URL - URL Validated', 'redux-framework-demo'), 'subtitle' => __('This must be a URL.', 'redux-framework-demo'), 'desc' => __('Insert Your Skype URL Here', 'redux-framework-demo'), 'validate' => 'url', 'default' => 'http://www.skype.com'), array('id' => 'github_url', 'type' => 'text', 'title' => __('GitHub URL - URL Validated', 'redux-framework-demo'), 'subtitle' => __('This must be a URL.', 'redux-framework-demo'), 'desc' => __('Insert Your GitHub URL Here', 'redux-framework-demo'), 'validate' => 'url', 'default' => 'http://www.github.io'), array('id' => 'behance_url', 'type' => 'text', 'title' => __('Behance URL - URL Validated', 'redux-framework-demo'), 'subtitle' => __('This must be a URL.', 'redux-framework-demo'), 'desc' => __('Insert Your Behance URL Here', 'redux-framework-demo'), 'validate' => 'url', 'default' => 'http://www.behance.com'), array('id' => 'flickr_url', 'type' => 'text', 'title' => __('Flickr URL - URL Validated', 'redux-framework-demo'), 'subtitle' => __('This must be a URL.', 'redux-framework-demo'), 'desc' => __('Insert Your Flicker URL Here', 'redux-framework-demo'), 'validate' => 'url', 'default' => 'http://www.flickr.com'), array('id' => 'dropbox_url', 'type' => 'text', 'title' => __('Dropbox URL - URL Validated', 'redux-framework-demo'), 'subtitle' => __('This must be a URL.', 'redux-framework-demo'), 'desc' => __('Insert Your Dropbox URL Here', 'redux-framework-demo'), 'validate' => 'url', 'default' => 'http://www.dropbox.com'), array('id' => 'bitbucket_url', 'type' => 'text', 'title' => __('Bitbucket URL - URL Validated', 'redux-framework-demo'), 'subtitle' => __('This must be a URL.', 'redux-framework-demo'), 'desc' => __('Insert Your Bitbucket URL Here', 'redux-framework-demo'), 'validate' => 'url', 'default' => 'http://www.bitbucket.com'), array('id' => 'instagram_url', 'type' => 'text', 'title' => __('Instagram URL - URL Validated', 'redux-framework-demo'), 'subtitle' => __('This must be a URL.', 'redux-framework-demo'), 'desc' => __('Insert Your Instagram URL Here', 'redux-framework-demo'), 'validate' => 'url', 'default' => 'http://www.instagram.com'), array('id' => 'soundcloud_url', 'type' => 'text', 'title' => __('SoundCloud URL - URL Validated', 'redux-framework-demo'), 'subtitle' => __('This must be a URL.', 'redux-framework-demo'), 'desc' => __('Insert Your SoundCloud URL Here', 'redux-framework-demo'), 'validate' => 'url', 'default' => 'http://www.soundcloud.com'), array('id' => 'stack_url', 'type' => 'text', 'title' => __('Stack Overflow URL - URL Validated', 'redux-framework-demo'), 'subtitle' => __('This must be a URL.', 'redux-framework-demo'), 'desc' => __('Insert Your Stack Overflow URL Here', 'redux-framework-demo'), 'validate' => 'url', 'default' => 'http://stackoverflow.com'), array('id' => 'wordpress_url', 'type' => 'text', 'title' => __('WordPress URL - URL Validated', 'redux-framework-demo'), 'subtitle' => __('This must be a URL.', 'redux-framework-demo'), 'desc' => __('Insert Your WordPress URL Here', 'redux-framework-demo'), 'validate' => 'url', 'default' => 'http://wordpress.org'), array('id' => 'tumblr_url', 'type' => 'text', 'title' => __('Tumblr URL - URL Validated', 'redux-framework-demo'), 'subtitle' => __('This must be a URL.', 'redux-framework-demo'), 'desc' => __('Insert Your Tumblr URL Here', 'redux-framework-demo'), 'validate' => 'url', 'default' => 'http://tumblr.com')));
            //========================
            // Footer Section
            //========================
            $this->sections[] = array('title' => __('Footer Settings', 'redux-framework-demo'), 'icon' => 'el-icon-tasks', 'fields' => array(array('id' => 'map_lat', 'type' => 'text', 'title' => __('Add your Google Map Latitude', 'redux-framework-demo'), 'subtitle' => __('You need to add your google map Latitude info here.', 'redux-framework-demo'), 'desc' => __('You need to add your google map Latitude info here. Then you can see your google map properly', 'redux-framework-demo'), 'default' => '23.835027'), array('id' => 'map_lng', 'type' => 'text', 'title' => __('Add your Google Map Longitude', 'redux-framework-demo'), 'subtitle' => __('You need to add your google map Longitude info here.', 'redux-framework-demo'), 'desc' => __('You need to add your google map Longitude info here. Then you can see your google map properly', 'redux-framework-demo'), 'default' => '90.368574'), array('id' => 'map_zoom', 'type' => 'text', 'title' => __('Add your Google Map Zoom Properly', 'redux-framework-demo'), 'subtitle' => __('You need to add your google map Zooming info here. Make sure it\'s betwwen 1 to 18', 'redux-framework-demo'), 'desc' => __('You need to add your google map Zooming info here. Then you can see your google map properly', 'redux-framework-demo'), 'validate' => 'numeric', 'default' => '16'), array('id' => 'map_marker_title', 'type' => 'text', 'title' => __('Add your Google Map marker title', 'redux-framework-demo'), 'subtitle' => __('You need to add your google map marker title info here.', 'redux-framework-demo'), 'desc' => __('You need to add your google map marker title info here. Then you can see your google map properly', 'redux-framework-demo'), 'default' => 'ThemeonLab'), array('id' => 'map_marker_content', 'type' => 'text', 'title' => __('Add your Google Map marker content', 'redux-framework-demo'), 'subtitle' => __('You need to add your google map marker content here.', 'redux-framework-demo'), 'desc' => __('You need to add your google map marker content info here. Then you can see your google map properly', 'redux-framework-demo'), 'default' => 'Quality Template Provide'), array('id' => 'title_info', 'type' => 'textarea', 'title' => __('Title', 'redux-framework-demo'), 'subtitle' => __('Please add your contact info title here.', 'redux-framework-demo'), 'desc' => __('Please add a title from here.', 'redux-framework-demo'), 'validate' => 'html_custom', 'default' => 'Contact info', 'allowed_html' => array('a' => array('href' => array(), 'title' => array()), 'br' => array(), 'em' => array(), 'strong' => array())), array('id' => 'contact_content', 'type' => 'editor', 'title' => __('Contact Content', 'redux-framework-demo'), 'subtitle' => __('You can add additional content for your footer area.', 'redux-framework-demo'), 'default' => 'Please add your content here.', 'args' => array('teeny' => true, 'textarea_rows' => 10)), array('id' => 'address_info', 'type' => 'textarea', 'title' => __('Address', 'redux-framework-demo'), 'subtitle' => __('Please add your address area here', 'redux-framework-demo'), 'desc' => __('This is the Address field, You can add additional info.', 'redux-framework-demo'), 'validate' => 'html_custom', 'default' => 'House No: 318, Road No: 08, Mirpur 1216, Dhaka, Bangladesh.', 'allowed_html' => array('a' => array('href' => array(), 'title' => array()), 'br' => array(), 'em' => array(), 'strong' => array())), array('id' => 'mail_info', 'type' => 'text', 'title' => __('Email', 'redux-framework-demo'), 'subtitle' => __('Please add your email here.', 'redux-framework-demo'), 'desc' => __('Please add valide email.', 'redux-framework-demo'), 'validate' => 'email', 'msg' => 'Please add a valide email', 'default' => '*****@*****.**'), array('id' => 'phone_info', 'type' => 'textarea', 'title' => __('Phone', 'redux-framework-demo'), 'subtitle' => __('Please add your contact number here.', 'redux-framework-demo'), 'desc' => __('Please add valide Phone Number.', 'redux-framework-demo'), 'validate' => 'html_custom', 'default' => '+88 015 5330 3953', 'allowed_html' => array('a' => array('href' => array(), 'title' => array()), 'br' => array(), 'em' => array(), 'strong' => array())), array('id' => 'footer_copyright', 'type' => 'ace_editor', 'title' => __('Copyright', 'redux-framework-demo'), 'subtitle' => __('Add your footer copyright text.', 'redux-framework-demo'), 'mode' => 'html', 'theme' => 'monokai', 'default' => 'Made from <i class="fa fa-music"></i> and <i class="fa fa-coffee"></i> by <a href="#">ThemeonLab</a>', 'desc' => __('Add your copyright text. For better result use html. I.e: Copyright <a href="#">Themeonlab</a>', 'redux-framework-demo'))));
            //========================
            // Blog Section
            //========================
            $this->sections[] = array('title' => __('Blog Settings', 'redux-framework-demo'), 'icon' => 'el-icon-home-alt', 'fields' => array(array('id' => 'blog_title', 'type' => 'text', 'title' => __('Footer Copyright Text', 'redux-framework-demo'), 'subtitle' => __('You decide.', 'redux-framework-demo'), 'desc' => __('This field\'s default value was changed by a filter hook!', 'redux-framework-demo'), 'validate' => 'no_special_chars', 'str' => array('search' => ' ', 'replacement' => 'thisisaspace'), 'default' => 'Blog.'), array('id' => 'blog_layout', 'type' => 'image_select', 'compiler' => true, 'title' => __('Blog Layout Style', 'redux-framework-demo'), 'subtitle' => __('Select Blog Layout. Choose between 1 or 3 style hover. Please be careful this option only work when you select the post page blog in Settings>Readings', 'redux-framework-demo'), 'options' => array('1' => array('alt' => '1 Column', 'img' => get_template_directory_uri() . '/img/blog1.png'), '2' => array('alt' => '2 Column', 'img' => get_template_directory_uri() . '/img/blog2.png'), '3' => array('alt' => '3 Column', 'img' => get_template_directory_uri() . '/img/blog3.png')), 'default' => '1')));
            //========================
            // Single Page Section
            //========================
            $this->sections[] = array('title' => __('Single Page Settings', 'redux-framework-demo'), 'icon' => 'el-icon-edit', 'fields' => array(array('id' => 'single_layout', 'type' => 'image_select', 'compiler' => true, 'title' => __('Single Page Layout', 'redux-framework-demo'), 'subtitle' => __('Select Single Page Layout. Choose between 1 or 3 style layout.', 'redux-framework-demo'), 'options' => array('1' => array('alt' => '1 Column', 'img' => get_template_directory_uri() . '/img/blog1.png'), '2' => array('alt' => '2 Column', 'img' => get_template_directory_uri() . '/img/blog2.png'), '3' => array('alt' => '3 Column', 'img' => get_template_directory_uri() . '/img/blog3.png')), 'default' => '1')));
            $theme_info = '<div class="redux-framework-section-desc">';
            $theme_info .= '<p class="redux-framework-theme-data description theme-uri">' . __('<strong>Theme URL:</strong> ', 'redux-framework-demo') . '<a href="' . $this->theme->get('ThemeURI') . '" target="_blank">' . $this->theme->get('ThemeURI') . '</a></p>';
            $theme_info .= '<p class="redux-framework-theme-data description theme-author">' . __('<strong>Author:</strong> ', 'redux-framework-demo') . $this->theme->get('Author') . '</p>';
            $theme_info .= '<p class="redux-framework-theme-data description theme-version">' . __('<strong>Version:</strong> ', 'redux-framework-demo') . $this->theme->get('Version') . '</p>';
            $theme_info .= '<p class="redux-framework-theme-data description theme-description">' . $this->theme->get('Description') . '</p>';
            $tabs = $this->theme->get('Tags');
            if (!empty($tabs)) {
                $theme_info .= '<p class="redux-framework-theme-data description theme-tags">' . __('<strong>Tags:</strong> ', 'redux-framework-demo') . implode(', ', $tabs) . '</p>';
            }
            $theme_info .= '</div>';
            $this->sections[] = array('icon' => 'el-icon-list-alt', 'title' => __('Customizer Only', 'redux-framework-demo'), 'desc' => __('<p class="description">This Section should be visible only in Customizer</p>', 'redux-framework-demo'), 'customizer_only' => true, 'fields' => array(array('id' => 'opt-customizer-only', 'type' => 'select', 'title' => __('Customizer Only Option', 'redux-framework-demo'), 'subtitle' => __('The subtitle is NOT visible in customizer', 'redux-framework-demo'), 'desc' => __('The field desc is NOT visible in customizer.', 'redux-framework-demo'), 'customizer_only' => true, 'options' => array('1' => 'Opt 1', '2' => 'Opt 2', '3' => 'Opt 3'), 'default' => '2')));
            $this->sections[] = array('title' => __('Import / Export', 'redux-framework-demo'), 'desc' => __('Import and Export your Redux Framework settings from file, text or URL.', 'redux-framework-demo'), 'icon' => 'el-icon-refresh', 'fields' => array(array('id' => 'opt-import-export', 'type' => 'import_export', 'title' => 'Import Export', 'subtitle' => 'Save and restore your Redux options', 'full_width' => false)));
            $this->sections[] = array('icon' => 'el-icon-info-sign', 'title' => __('Theme Information', 'redux-framework-demo'), 'desc' => __('<p class="description">This is the Description. Again HTML is allowed</p>', 'redux-framework-demo'), 'fields' => array(array('id' => 'opt-raw-info', 'type' => 'raw', 'content' => $item_info)));
        }
Пример #16
0
        public function setSections()
        {
            /**
             * Used within different fields. Simply examples. Search for ACTUAL DECLARATION for field examples
             * */
            // Background Patterns Reader
            $sample_patterns_path = ReduxFramework::$_dir . '../sample/patterns/';
            $sample_patterns_url = ReduxFramework::$_url . '../sample/patterns/';
            $sample_patterns = array();
            if (is_dir($sample_patterns_path)) {
                if ($sample_patterns_dir = opendir($sample_patterns_path)) {
                    $sample_patterns = array();
                    while (($sample_patterns_file = readdir($sample_patterns_dir)) !== false) {
                        if (stristr($sample_patterns_file, '.png') !== false || stristr($sample_patterns_file, '.jpg') !== false) {
                            $name = explode('.', $sample_patterns_file);
                            $name = str_replace('.' . end($name), '', $sample_patterns_file);
                            $sample_patterns[] = array('alt' => $name, 'img' => $sample_patterns_url . $sample_patterns_file);
                        }
                    }
                }
            }
            ob_start();
            $ct = wp_get_theme();
            $this->theme = $ct;
            $item_name = $this->theme->get('Name');
            $tags = $this->theme->Tags;
            $screenshot = $this->theme->get_screenshot();
            $class = $screenshot ? 'has-screenshot' : '';
            $customize_title = sprintf(__('Customize &#8220;%s&#8221;', 'wp_panda'), $this->theme->display('Name'));
            ?>
            <div id="current-theme" class="<?php 
            echo esc_attr($class);
            ?>
">
                <?php 
            if ($screenshot) {
                ?>
                    <?php 
                if (current_user_can('edit_theme_options')) {
                    ?>
                        <a href="<?php 
                    echo wp_customize_url();
                    ?>
" class="load-customize hide-if-no-customize" title="<?php 
                    echo esc_attr($customize_title);
                    ?>
">
                            <img src="<?php 
                    echo esc_url($screenshot);
                    ?>
" alt="<?php 
                    esc_attr_e('Current theme preview');
                    ?>
" />
                        </a>
                    <?php 
                }
                ?>
                    <img class="hide-if-customize" src="<?php 
                echo esc_url($screenshot);
                ?>
" alt="<?php 
                esc_attr_e('Current theme preview');
                ?>
" />
                <?php 
            }
            ?>

                <h4><?php 
            echo $this->theme->display('Name');
            ?>
</h4>

                <div>
                    <ul class="theme-info">
                        <li><?php 
            printf(__('By %s', 'wp_panda'), $this->theme->display('Author'));
            ?>
</li>
                        <li><?php 
            printf(__('Version %s', 'wp_panda'), $this->theme->display('Version'));
            ?>
</li>
                        <li><?php 
            echo '<strong>' . __('Tags', 'wp_panda') . ':</strong> ';
            printf($this->theme->display('Tags'));
            ?>
</li>
                    </ul>
                    <p class="theme-description"><?php 
            echo $this->theme->display('Description');
            ?>
</p>
                    <?php 
            if ($this->theme->parent()) {
                printf(' <p class="howto">' . __('This <a href="%1$s">child theme</a> requires its parent theme, %2$s.') . '</p>', __('http://codex.wordpress.org/Child_Themes', 'wp_panda'), $this->theme->parent()->display('Name'));
            }
            ?>

                </div>
            </div>

            <?php 
            $item_info = ob_get_contents();
            ob_end_clean();
            $sampleHTML = '';
            if (file_exists(dirname(__FILE__) . '/info-html.html')) {
                Redux_Functions::initWpFilesystem();
                global $wp_filesystem;
                $sampleHTML = $wp_filesystem->get_contents(dirname(__FILE__) . '/info-html.html');
            }
            // ACTUAL DECLARATION OF SECTIONS
            /*-----------------------------------------------------------------------------------*/
            /* - Контактная иныормация
               /*-----------------------------------------------------------------------------------*/
            $this->sections[] = array('title' => __('Контактная информация', 'wp_panda'), 'desc' => __('В этом разделе настраиваются контактные данные.', 'wp_panda'), 'icon' => 'font-icon-house', 'customizer' => false, 'fields' => array(array('id' => 'phone_1', 'type' => 'text', 'title' => __('Телефон 1', 'wp_panda'), 'subtitle' => __('Введите номер телефона', 'wp_panda'), 'default' => ''), array('id' => 'phone_2', 'type' => 'text', 'title' => __('Телефон 2', 'wp_panda'), 'subtitle' => __('Введите номер телефона', 'wp_panda'), 'default' => ''), array('id' => 'e_mail', 'type' => 'text', 'title' => __('Электронная почта', 'wp_panda'), 'subtitle' => __('Введите адрес электронной почты', 'wp_panda'), 'default' => '')));
            /*-----------------------------------------------------------------------------------*/
            /* - Региональные настройки
               /*-----------------------------------------------------------------------------------*/
            $this->sections[] = array('title' => __('Регион', 'wp_panda'), 'desc' => __('В этом разделе настраиваются данные специфичные для региона сайта.', 'wp_panda'), 'icon' => 'font-icon-house', 'customizer' => false, 'fields' => array(array('id' => 'site_city', 'type' => 'text', 'title' => __('Город', 'wp_panda'), 'subtitle' => __('Регион к которму привязан сайт', 'wp_panda'), 'default' => ''), array('id' => 'site_city_in', 'type' => 'text', 'title' => __('Город в предложном падеже', 'wp_panda'), 'subtitle' => __('Введите название региона в предложном падеже', 'wp_panda'), 'default' => ''), array('id' => 'city_district', 'type' => 'multi_text', 'title' => __('Районы', 'wp_panda'), 'subtitle' => __('Введите районы вашего города', 'wp_panda'), 'desc' => __('Добавить ещще один район', 'wp_panda'))));
            /*-----------------------------------------------------------------------------------*/
            /* - Настройки предметов
               /*-----------------------------------------------------------------------------------*/
            $this->sections[] = array('title' => __('Предметы', 'wp_panda'), 'desc' => __('В этом разделе настраиваются данные о предметах.', 'wp_panda'), 'icon' => 'font-icon-cycle', 'customizer' => false, 'fields' => array(array('id' => 'site_student', 'type' => 'multi_text', 'title' => __('Категории учеников', 'wp_panda'), 'subtitle' => __('Введите категории учеников с которыми иожет рабртать преподаватель', 'wp_panda'), 'desc' => __('Добавить ещще одну категорию', 'wp_panda')), array('id' => 'teacher_status', 'type' => 'multi_text', 'title' => __('Статус преподавателя', 'wp_panda'), 'subtitle' => __('Введите возможные статусы преподавателя', 'wp_panda'), 'desc' => __('Добавить ещще один статус', 'wp_panda')), array('id' => 'lesson_time', 'type' => 'multi_text', 'title' => __('Длительность занятия', 'wp_panda'), 'subtitle' => __('Введите возможные длительности занятий', 'wp_panda'), 'desc' => __('Добавить ещще одну длительность', 'wp_panda'))));
            /*-----------------------------------------------------------------------------------*/
            /*  - General
                /*-----------------------------------------------------------------------------------*/
            $this->sections[] = array('title' => __('Лого и фавикон', 'wp_panda'), 'icon' => 'font-icon-cycle', 'customizer' => false, 'fields' => array(array('id' => 'custom_logo', 'type' => 'media', 'title' => __('Логотип', 'wp_panda'), 'desc' => ''), array('id' => 'favicon_1', 'type' => 'media', 'title' => __('Favicon', 'wp_panda'), 'subtitle' => __('Загрузите  16px x 16px Png/Gif', 'wp_panda'), 'desc' => ''), array('id' => 'favicon_2', 'type' => 'media', 'title' => __('Favicon', 'wp_panda'), 'subtitle' => __('Загрузите  96px x 196px Png', 'wp_panda'), 'desc' => ''), array('id' => 'favicon_3', 'type' => 'media', 'title' => __('Favicon', 'wp_panda'), 'subtitle' => __('Загрузите  152px x 152px Png', 'wp_panda'), 'desc' => ''), array('id' => 'favicon_4', 'type' => 'media', 'title' => __('Favicon', 'wp_panda'), 'subtitle' => __('Загрузите  144px x 144px Png', 'wp_panda'), 'desc' => '')));
            // Preloader
            /* $this->sections[] = array(
                             'title'         =>  __('Preloader', 'wp_panda'),
                             'subsection'    =>  true,
                             'icon'          =>  'font-icon-arrow-right-simple-thin-round',
                             'customizer'    =>  false,
                             'fields'        =>  array(
            
                                 // Preloader
                                 array(
                                     'id'        =>  'preloader_settings',
                                     'type'      =>  'switch',
                                     'title'     =>  __('Preloader Page/Post', 'wp_panda'),
                                     'subtitle'  =>  __('Enable/Disable preloader page/post for your site.', 'wp_panda'),
                                     'desc'      =>  '',
                                     'default'   =>  0
                                 ),
            
                                 array(
                                     'id'        =>  'global_preloader_visibility',
                                     'type'      =>  'button_set',
                                     'required'  =>  array('preloader_settings','=','1'),
                                     'title'     =>  __('Global Preloader Setting', 'wp_panda'),
                                     'subtitle'  =>  __('Enable or Disable the Preloader.<br/><br/><em>If you want can modify in each page/post the setting about the preloader.</em>', 'wp_panda'),
                                     'desc'      =>  '',
                                     'options'   =>  array(
                                         'show'  =>  'Show',
                                         'hide'  =>  'Hide',
                                     ),
                                     'default'   =>  'show',
                                 ),
            
                                 array(
                                     'id'        =>  'preloader_design_mode',
                                     'type'      =>  'button_set',
                                     'required'  =>  array('preloader_settings','=','1'),
                                     'title'     =>  __('Preloader Design', 'wp_panda'),
                                     'subtitle'  =>  __('Select your design for your preloader.', 'wp_panda'),
                                     'desc'      =>  '',
                                     'options'   =>  array(
                                         '1'     =>  'Default',
                                         '2'     =>  'Image'
                                     ),
                                     'default'   =>  '1'
                                 ),
            
                                 array(
                                     'id'        =>  'preloader_media_image',
                                     'type'      =>  'media',
                                     'required'  =>  array('preloader_design_mode','=','2'),
                                     'title'     =>  __('Preloader Custom Image', 'wp_panda'),
                                     'subtitle'  =>  __('Upload a PNG or GIF image that will be used in all applicable areas on your site as the loading image.', 'wp_panda'),
                                     'desc'      =>  ''
                                 ),
            
                             )
                         );*/
            // Common
            /**   $this->sections[] = array(
                        'title'         =>  __('Common Options', 'wp_panda'),
                        'subsection'    =>  true,
                        'icon'          =>  'font-icon-arrow-right-simple-thin-round',
                        'customizer'    =>  false,
                        'fields'        =>  array(
            
                        // Animation on Mobile Devices
                        array(
                        'id'        =>  'enable_mobile_scroll_animation_effects',
                        'type'      =>  'switch',
                        'title'     =>  __('Scroll Animation Effects on Mobile/Tablet devices', 'wp_panda'),
                        'subtitle'  =>  __('Enable/Disable scroll animation effects on mobile/tablet devices for items.', 'wp_panda'),
                        'desc'      =>  '',
                        'default'   =>  0
                        ),
            
                        // Back to Top
                        array(
                        'id'        =>  'enable_back_to_top',
                        'type'      =>  'switch',
                        'title'     =>  __('Back to Top', 'wp_panda'),
                        'subtitle'  =>  __('Enable/Disable Back to Top Feature.', 'wp_panda'),
                        'desc'      =>  '',
                        'default'   =>  1
                        ),
            
                        // Comments Pages
                        array(
                        'id'        =>  'enable_comments_page',
                        'type'      =>  'switch',
                        'title'     =>  __('Comments Pages', 'wp_panda'),
                        'subtitle'  =>  __('Enable/Disable for Pages only.', 'wp_panda'),
                        'desc'      =>  '',
                        'default'   =>  1
                        ),
            
                        // Disable Right Click
                        array(
                        'id'        =>  'disable_right_click',
                        'type'      =>  'switch',
                        'title'     =>  __('Disable Right Click', 'wp_panda'),
                        'subtitle'  =>  __('Enable/Disable Right Click Feature.', 'wp_panda'),
                        'desc'      =>  '',
                        'default'   =>  0
                        ),
            
                        )
                        );
            
                        // Tracking Code
                        $this->sections[] = array(
                        'title'         =>  __('Tracking Code', 'wp_panda'),
                        'subsection'    =>  true,
                        'icon'          =>  'font-icon-arrow-right-simple-thin-round',
                        'customizer'    =>  false,
                        'fields'        =>  array(
            
                        // Tracking Code
                        array(
                        'id'        =>  'tracking_code',
                        'type'      =>  'text',
                        'title'     =>  __('Tracking Code', 'wp_panda'),
                        'subtitle'  =>  __('Paste your Google Analytics Property ID ( UA-XXXX-Y ).<br/><br/>This code will be added before the closing &lt;head&gt; tag.', 'wp_panda'),
                        'desc'      =>  __('NOTE: This use a default analytics js code. If you want a specific requirements not use this but include the script manually.', 'wp_panda')
                        ),
            
                        )
                        );
            
                        // Custom CSS/JS Options
                        $this->sections[] = array(
                        'title'         =>  __('Custom CSS/JS', 'wp_panda'),
                        'subsection'    =>  true,
                        'icon'          =>  'font-icon-arrow-right-simple-thin-round',
                        'customizer'    =>  false,
                        'fields'        =>  array(
            
                        // Enable Custom CSS
                        array(
                        'id'        =>  'enable_custom_css',
                        'type'      =>  'switch',
                        'title'     =>  __('Custom CSS', 'wp_panda'),
                        'subtitle'  =>  __('Do you want enable custom css?', 'wp_panda'),
                        'desc'      =>  '',
                        'default'   =>  0
                        ),
            
                        // Custom CSS
                        array(
                        'id'        =>  'custom_css',
                        'type'      =>  'ace_editor',
                        'required'  =>  array('enable_custom_css','=','1'),
                        'title'     =>  __('Custom CSS Code', 'wp_panda'),
                        'subtitle'  =>  __('If you have any custom CSS you would like added to the site, please enter it here.<br/><br/>This code will be added before the closing &lt;head&gt; tag.', 'wp_panda'),
                        'mode'      =>  'css',
                        'theme'     =>  'monokai',
                        'desc'      =>  ''
                        ),
            
                        // Enable Custom JS
                        array(
                        'id'        =>  'enable_custom_js',
                        'type'      =>  'switch',
                        'title'     =>  __('Custom JS', 'wp_panda'),
                        'subtitle'  =>  __('Do you want enable custom js?', 'wp_panda'),
                        'desc'      =>  '',
                        'default'   =>  0
                        ),
            
                        // Custom JS
                        array(
                        'id'        =>  'custom_js',
                        'type'      =>  'ace_editor',
                        'mode'      =>  'javascript',
                        'theme'     =>  'chrome',
                        'required'  =>  array('enable_custom_js','=','1'),
                        'title'     =>  __('Custom JS Code', 'wp_panda'),
                        'subtitle'  =>  __('If you have any custom js you would like added to the site, please enter it here.<br/><br/>This code will be added before the closing &lt;body&gt; tag.', 'wp_panda'),
                        'desc'      =>  __('NOTE: Write or Copy &amp; Paste only the javascript/jquery code without the &lt;script&gt; tag.', 'wp_panda')
                        ),
            
                        )
                        );
            
                        // Performance
                        $this->sections[] = array(
                        'title'         =>  __('Performance', 'wp_panda'),
                        'subsection'    =>  true,
                        'icon'          =>  'font-icon-arrow-right-simple-thin-round',
                        'customizer'    =>  false,
                        'fields'        =>  array(
            
                        // Preloader
                        array(
                        'id'        =>  'performance_minified_settings',
                        'type'      =>  'switch',
                        'title'     =>  __('Load Minified File', 'wp_panda'),
                        'subtitle'  =>  __('Load style.css and the main.js minfied version, the other files are already minified by default.', 'wp_panda'),
                        'desc'      =>  '',
                        'default'   =>  0
                        ),
            
                        )
                        );
            
            
                         */
            /*-----------------------------------------------------------------------------------*/
            /*  - Typography
                /*-----------------------------------------------------------------------------------*/
            /**   $this->sections[] = array(
                        'title'      =>  __('Контактная информация', 'wp_panda'),
                        'desc'       =>  __('Welcome to the panda Options Panel! Control and configure the typography of your theme.', 'wp_panda'),
                        'icon'       =>  'font-icon-pencil',
                        'customizer' =>  false,
                        'fields'     =>  array(
            
            
            
                        )
                        ); */
            /*-----------------------------------------------------------------------------------*/
            /*  - Colors
                /*-----------------------------------------------------------------------------------*/
            $this->sections[] = array('title' => __('Настройки страниц', 'wp_panda'), 'desc' => __('Welcome to the panda Options Panel! Control and configure the colors setup of your theme.', 'wp_panda'), 'icon' => 'font-icon-brush', 'customizer' => true, 'fields' => array(array('id' => 'one_step_url', 'type' => 'text', 'title' => __('Ссылка на страницу "Регистрация шаг 1"', 'wp_panda'), 'subtitle' => __('Введите ссылку на страницу - "Регистрация шаг 1"', 'wp_panda'), 'desc' => '', 'default' => home_url('/register-step-one/')), array('id' => 'two_step_url', 'type' => 'text', 'title' => __('Ссылка на страницу "Регистрация шаг 2"', 'wp_panda'), 'subtitle' => __('Введите ссылку на страницу - "Регистрация шаг 2"', 'wp_panda'), 'desc' => '', 'default' => home_url('/register-step-two/')), array('id' => 'three_step_url', 'type' => 'text', 'title' => __('Ссылка на страницу "Регистрация шаг 3"', 'wp_panda'), 'subtitle' => __('Введите ссылку на страницу - "Регистрация шаг 3"', 'wp_panda'), 'desc' => '', 'default' => home_url('/register-step-three/')), array('id' => 'map_url', 'type' => 'text', 'title' => __('Ссылка на страницу "Карта репетиторов"', 'wp_panda'), 'subtitle' => __('Введите ссылку на страницу - "Карта репетиторов"', 'wp_panda'), 'desc' => '', 'default' => home_url('/map/')), array('id' => 'order_url', 'type' => 'text', 'title' => __('Ссылка на страницу "Доска заказов"', 'wp_panda'), 'subtitle' => __('Введите ссылку на страницу - "Доска заказов"', 'wp_panda'), 'desc' => '', 'default' => home_url('/order-list/')), array('id' => 'news_url', 'type' => 'text', 'title' => __('Ссылка на новости', 'wp_panda'), 'subtitle' => __('Введите ссылку на страницу - "Новости"', 'wp_panda'), 'desc' => '', 'default' => home_url('/news_list/raznoe/')), array('id' => 'ega_oga_url', 'type' => 'text', 'title' => __('Ссылка на курсы Огэ Егэ', 'wp_panda'), 'subtitle' => __('Введите ссылку с кнопки - "Курсы Огэ Егэ"', 'wp_panda'), 'desc' => '', 'default' => ''), array('id' => 'o_nas_url', 'type' => 'text', 'title' => __('Ссылка на страницу О Нас', 'wp_panda'), 'subtitle' => __('Введите ссылку на страницу - "О Нас"', 'wp_panda'), 'desc' => '', 'default' => home_url('/o-nas/')), array('id' => 'dogovor_url', 'type' => 'text', 'title' => __('Ссылка на Договор Оферты', 'wp_panda'), 'subtitle' => __('Введите ссылку на страницу - "Договор Оферты"', 'wp_panda'), 'desc' => '', 'default' => home_url('/dogovor-oferty/')), array('id' => 'podbor_url', 'type' => 'text', 'title' => __('Ссылка на Подбор', 'wp_panda'), 'subtitle' => __('Введите ссылку на страницу - "Подбор"', 'wp_panda'), 'desc' => '', 'default' => home_url('/podbor-repetitora/'))));
            /*-----------------------------------------------------------------------------------*/
            /*  - Social
                /*-----------------------------------------------------------------------------------*/
            $this->sections[] = array('title' => __('Социальные сети', 'wp_panda'), 'icon' => 'font-icon-social-twitter', 'fields' => array(array('id' => 'vk_vk', 'type' => 'text', 'title' => __('Вконтакте', 'wp_panda'), 'subtitle' => __('Введите ссылку на профмль в социальной сети Вконтакте', 'wp_panda'), 'desc' => ''), array('id' => 'ok_ok', 'type' => 'text', 'title' => __('Одноклассники', 'wp_panda'), 'subtitle' => __('Введите ссылку на профмль в социальной сети Одноклассники', 'wp_panda'), 'desc' => '')));
            $theme_info = '<div class="redux-framework-section-desc">';
            $theme_info .= '<p class="redux-framework-theme-data description theme-uri">' . __('<strong>Theme URL:</strong> ', 'wp_panda') . '<a href="' . $this->theme->get('ThemeURI') . '" target="_blank">' . $this->theme->get('ThemeURI') . '</a></p>';
            $theme_info .= '<p class="redux-framework-theme-data description theme-author">' . __('<strong>Author:</strong> ', 'wp_panda') . $this->theme->get('Author') . '</p>';
            $theme_info .= '<p class="redux-framework-theme-data description theme-version">' . __('<strong>Version:</strong> ', 'wp_panda') . $this->theme->get('Version') . '</p>';
            $theme_info .= '<p class="redux-framework-theme-data description theme-description">' . $this->theme->get('Description') . '</p>';
            $tabs = $this->theme->get('Tags');
            if (!empty($tabs)) {
                $theme_info .= '<p class="redux-framework-theme-data description theme-tags">' . __('<strong>Tags:</strong> ', 'wp_panda') . implode(', ', $tabs) . '</p>';
            }
            $theme_info .= '</div>';
            if (file_exists(dirname(__FILE__) . '/../README.md')) {
                $this->sections['theme_docs'] = array('icon' => 'el-icon-list-alt', 'title' => __('Documentation', 'wp_panda'), 'fields' => array(array('id' => '17', 'type' => 'raw', 'markdown' => true, 'content' => file_get_contents(dirname(__FILE__) . '/../README.md'))));
            }
            $this->sections[] = array('title' => __('Import / Export', 'wp_panda'), 'desc' => __('Import and Export your Redux Framework settings from file, text or URL.', 'wp_panda'), 'icon' => 'font-icon-switch', 'fields' => array(array('id' => 'opt-import-export', 'type' => 'import_export', 'title' => 'Import Export', 'subtitle' => 'Save and restore your Redux options', 'full_width' => false)));
        }
Пример #17
0
        public function setSections()
        {
            /**
             * Used within different fields. Simply examples. Search for ACTUAL DECLARATION for field examples
             * */
            // Background Patterns Reader
            $sample_patterns_path = ReduxFramework::$_dir . '../sample/patterns/';
            $sample_patterns_url = ReduxFramework::$_url . '../sample/patterns/';
            $sample_patterns = array();
            if (is_dir($sample_patterns_path)) {
                if ($sample_patterns_dir = opendir($sample_patterns_path)) {
                    $sample_patterns = array();
                    while (($sample_patterns_file = readdir($sample_patterns_dir)) !== false) {
                        if (stristr($sample_patterns_file, '.png') !== false || stristr($sample_patterns_file, '.jpg') !== false) {
                            $name = explode('.', $sample_patterns_file);
                            $name = str_replace('.' . end($name), '', $sample_patterns_file);
                            $sample_patterns[] = array('alt' => $name, 'img' => $sample_patterns_url . $sample_patterns_file);
                        }
                    }
                }
            }
            ob_start();
            $ct = wp_get_theme();
            $this->theme = $ct;
            $item_name = $this->theme->get('Name');
            $tags = $this->theme->Tags;
            $screenshot = $this->theme->get_screenshot();
            $class = $screenshot ? 'has-screenshot' : '';
            $customize_title = sprintf(__('Customize &#8220;%s&#8221;', 'simpleTheme_ThemeOption'), $this->theme->display('Name'));
            ?>
                <div id="current-theme" class="<?php 
            echo esc_attr($class);
            ?>
">
                    <?php 
            if ($screenshot) {
                ?>
                        <?php 
                if (current_user_can('edit_theme_options')) {
                    ?>
                            <a href="<?php 
                    echo wp_customize_url();
                    ?>
" class="load-customize hide-if-no-customize"
                               title="<?php 
                    echo esc_attr($customize_title);
                    ?>
">
                                <img src="<?php 
                    echo esc_url($screenshot);
                    ?>
"
                                     alt="<?php 
                    esc_attr_e('Current theme preview', 'simpleTheme_ThemeOption');
                    ?>
"/>
                            </a>
                        <?php 
                }
                ?>
                        <img class="hide-if-customize" src="<?php 
                echo esc_url($screenshot);
                ?>
"
                             alt="<?php 
                esc_attr_e('Current theme preview', 'simpleTheme_ThemeOption');
                ?>
"/>
                    <?php 
            }
            ?>

                    <h4><?php 
            echo $this->theme->display('Name');
            ?>
</h4>

                    <div>
                        <ul class="theme-info">
                            <li><?php 
            printf(__('By %s', 'simpleTheme_ThemeOption'), $this->theme->display('Author'));
            ?>
</li>
                            <li><?php 
            printf(__('Version %s', 'simpleTheme_ThemeOption'), $this->theme->display('Version'));
            ?>
</li>
                            <li><?php 
            echo '<strong>' . __('Tags', 'simpleTheme_ThemeOption') . ':</strong> ';
            printf($this->theme->display('Tags'));
            ?>
</li>
                        </ul>
                        <p class="theme-description"><?php 
            echo $this->theme->display('Description');
            ?>
</p>
                        <?php 
            if ($this->theme->parent()) {
                printf(' <p class="howto">' . __('This <a href="%1$s">child theme</a> requires its parent theme, %2$s.', 'simpleTheme_ThemeOption') . '</p>', __('http://codex.wordpress.org/Child_Themes', 'simpleTheme_ThemeOption'), $this->theme->parent()->display('Name'));
            }
            ?>

                    </div>
                </div>

                <?php 
            $item_info = ob_get_contents();
            ob_end_clean();
            $sampleHTML = '';
            if (file_exists(dirname(__FILE__) . '/info-html.html')) {
                Redux_Functions::initWpFilesystem();
                global $wp_filesystem;
                $sampleHTML = $wp_filesystem->get_contents(dirname(__FILE__) . '/info-html.html');
            }
            // ACTUAL DECLARATION OF SECTIONS
            $this->sections[] = array('title' => __('Theme Options', 'simpleTheme'), 'desc' => __(''), 'icon' => 'el-icon-home', 'fields' => array(array('title' => __('Cod Google Analitics', 'simpleTheme_ThemeOption'), 'id' => 'googleAnalyticsSiteId', 'type' => 'media', 'tiles' => true, 'url' => true, 'default' => 0)));
        }
Пример #18
0
        public function setSections()
        {
            /**
                          Used within different fields. Simply examples. Search for ACTUAL DECLARATION for field examples
                         * */
            // Background Patterns Reader
            $sample_patterns_path = get_template_directory() . '/img/headers/';
            //ReduxFramework::$_dir . '../img/headers/';
            $sample_patterns_url = get_template_directory_uri() . '/img/headers/';
            //ReduxFramework::$_url . '../sample/patterns/';
            $header_patterns = array();
            //if (is_dir($sample_patterns_path) || is_dir($sample_patterns_path) ) :
            if ($sample_patterns_dir = opendir($sample_patterns_path)) {
                $header_patterns = array();
                while (($sample_patterns_file = readdir($sample_patterns_dir)) !== false) {
                    if (stristr($sample_patterns_file, '.png') !== false || stristr($sample_patterns_file, '.jpg') !== false) {
                        $name = explode('.', $sample_patterns_file);
                        $name = str_replace('.' . end($name), '', $sample_patterns_file);
                        //echo $sample_patterns_url . $sample_patterns_file;
                        $header_patterns[] = array('alt' => $name, 'img' => $sample_patterns_url . $sample_patterns_file);
                    }
                }
            }
            // endif;
            ob_start();
            $ct = wp_get_theme();
            $this->theme = $ct;
            $item_name = $this->theme->get('Name');
            $tags = $this->theme->Tags;
            $screenshot = $this->theme->get_screenshot();
            $class = $screenshot ? 'has-screenshot' : '';
            $customize_title = sprintf(__('Customize &#8220;%s&#8221;', 'be-themes'), $this->theme->display('Name'));
            ?>
            <div id="current-theme" class="<?php 
            echo esc_attr($class);
            ?>
">
            <?php 
            if ($screenshot) {
                ?>
                <?php 
                if (current_user_can('edit_theme_options')) {
                    ?>
                        <a href="<?php 
                    echo wp_customize_url();
                    ?>
" class="load-customize hide-if-no-customize" title="<?php 
                    echo esc_attr($customize_title);
                    ?>
">
                            <img src="<?php 
                    echo esc_url($screenshot);
                    ?>
" alt="<?php 
                    esc_attr_e('Current theme preview');
                    ?>
" />
                        </a>
                <?php 
                }
                ?>
                    <img class="hide-if-customize" src="<?php 
                echo esc_url($screenshot);
                ?>
" alt="<?php 
                esc_attr_e('Current theme preview');
                ?>
" />
                <?php 
            }
            ?>

                <h4><?php 
            echo $this->theme->display('Name');
            ?>
</h4>

                <div>
                    <ul class="theme-info">
                        <li><?php 
            printf(__('By %s', 'be-themes'), $this->theme->display('Author'));
            ?>
</li>
                        <li><?php 
            printf(__('Version %s', 'be-themes'), $this->theme->display('Version'));
            ?>
</li>
                        <li><?php 
            echo '<strong>' . __('Tags', 'be-themes') . ':</strong> ';
            printf($this->theme->display('Tags'));
            ?>
</li>
                    </ul>
                    <p class="theme-description"><?php 
            echo $this->theme->display('Description');
            ?>
</p>
            <?php 
            if ($this->theme->parent()) {
                printf(' <p class="howto">' . __('This <a href="%1$s">child theme</a> requires its parent theme, %2$s.') . '</p>', __('http://codex.wordpress.org/Child_Themes', 'be-themes'), $this->theme->parent()->display('Name'));
            }
            ?>

                </div>
            </div>

            <?php 
            $item_info = ob_get_contents();
            ob_end_clean();
            $sampleHTML = '';
            if (file_exists(dirname(__FILE__) . '/info-html.html')) {
                Redux_Functions::initWpFilesystem();
                global $wp_filesystem;
                $sampleHTML = $wp_filesystem->get_contents(dirname(__FILE__) . '/info-html.html');
            }
            $title_font = "Lato";
            $body_font = "Open Sans:regular";
            // General Settings
            $this->sections[] = array('title' => __('General Settings', 'be-themes'), 'desc' => __('General Settings of the site including the logo, favicon and  google analytics.', 'be-themes'), 'icon' => 'el-icon-adjust-alt', 'fields' => array(array('id' => 'site_status', 'type' => 'switch', 'title' => __('Cache Options Panel Settings?', 'be-themes'), 'subtitle' => __('', 'be-themes'), 'desc' => __('Turn on Cache once you have completed setting up all the Options here. Turning on cache, will save the options panel settings and that will help us optimize performance of the website. However, any changes to the Options while cache is ON will NOT be saved. So make sure you turn OFF cache before making changes in the Options Panel', 'be-themes'), 'default' => false), array('id' => 'enable_pb', 'type' => 'checkbox', 'title' => __('Enable Pagebuilder ?', 'be-themes'), 'subtitle' => __('Check this box if you would like to use the page builder for constructing your pages and portfolio posts. You can still disable the page builder per page if you would like to use the default wordpress content editor', 'be-themes'), 'desc' => __('', 'be-themes'), 'default' => 1), array('id' => 'logo', 'type' => 'media', 'title' => __('Logo', 'be-themes'), 'subtitle' => __('', 'be-themes'), 'desc' => __('Please upload your logo here.', 'be-themes')), array('id' => 'logo_sticky', 'type' => 'media', 'title' => __('Logo on Sticky', 'be-themes'), 'subtitle' => __('', 'be-themes'), 'desc' => __('Please upload the logo that needs to be displayed in sticky header', 'be-themes')), array('id' => 'logo_transparent', 'type' => 'media', 'title' => __('Dark Logo', 'be-themes'), 'subtitle' => __('', 'be-themes'), 'desc' => __('Please upload the logo that needs to be displayed in transparent header sections.', 'be-themes')), array('id' => 'logo_transparent_light', 'type' => 'media', 'title' => __('Light Logo', 'be-themes'), 'subtitle' => __('', 'be-themes'), 'desc' => __('Please upload the logo that needs to be displayed in transparent header sections with dark backgrounds.', 'be-themes')), array('id' => 'logo_sidebar', 'type' => 'media', 'title' => __('Logo on Sidebar', 'be-themes'), 'subtitle' => __('', 'be-themes'), 'desc' => __('Please upload the logo that needs to be displayed in the slidebar', 'be-themes')), array('id' => 'favicon', 'type' => 'media', 'title' => __('Your Favicon', 'be-themes'), 'subtitle' => __('', 'be-themes'), 'desc' => __('Please upload a favicon here.', 'be-themes')), array('id' => 'google_analytics_code', 'type' => 'text', 'title' => __('Google Analytics Code', 'be-themes'), 'subtitle' => __('', 'be-themes'), 'desc' => __('Please enter your Google analytics tracking ID here.', 'be-themes'), 'default' => ''), array('id' => 'custom_css', 'type' => 'ace_editor', 'title' => __('Custom CSS', 'be-themes'), 'subtitle' => __('', 'be-themes'), 'desc' => __('Please add your custom CSS here.', 'be-themes'), 'validate' => 'html', 'default' => ''), array('id' => 'custom_js', 'type' => 'ace_editor', 'title' => __('Custom Javascript', 'be-themes'), 'subtitle' => __('', 'be-themes'), 'desc' => __('Please add your custom js code here.', 'be-themes'), 'validate' => 'html', 'default' => '')));
            $this->sections[] = array('title' => __('Background', 'be-themes'), 'desc' => __('Background settings for all the individual elements of the site.', 'be-themes'), 'icon' => 'el-icon-picture', 'fields' => array(array('id' => 'body', 'type' => 'background', 'title' => __('Body', 'be-themes'), 'subtitle' => __('', 'be-themes'), 'desc' => __('', 'be-themes'), 'default' => array('background-color' => '#FFFFFF')), array('id' => 'content', 'type' => 'background', 'title' => __('Content Area', 'be-themes'), 'subtitle' => __('', 'be-themes'), 'desc' => __('', 'be-themes'), 'default' => array('background-color' => '#FFFFFF')), array('id' => 'bottom_widgets', 'type' => 'background', 'title' => __('Bottom Widget Area', 'be-themes'), 'subtitle' => __('', 'be-themes'), 'desc' => __('', 'be-themes'), 'default' => array('background-color' => '#f2f3f8')), array('id' => 'header_title_module', 'type' => 'background', 'title' => __('Header Title Module', 'be-themes'), 'subtitle' => __('', 'be-themes'), 'desc' => __('', 'be-themes'), 'default' => array('background-color' => '#f2f3f8'))));
            // Typography
            $this->sections[] = array('title' => __('Typography', 'be-themes'), 'desc' => __('Setup the typography for all the individual elements in your website here', 'be-themes'), 'icon' => 'el-icon-text-width', 'fields' => array(array('id' => 'h1', 'type' => 'typography', 'title' => __('H1', 'be-themes'), 'subtitle' => __('Heading Tag 1', 'be-themes'), 'desc' => __('', 'be-themes'), 'default' => array('color' => '#222222', 'font-size' => '55px', 'line-height' => '70px', 'font-family' => 'Montserrat', 'font-style' => '', 'font-weight' => '700', 'text-transform' => 'none', 'letter-spacing' => '0px')), array('id' => 'h2', 'type' => 'typography', 'title' => __('H2', 'be-themes'), 'subtitle' => __('Heading Tag 2', 'be-themes'), 'desc' => __('', 'be-themes'), 'default' => array('color' => '#222222', 'font-size' => '42px', 'line-height' => '63px', 'font-family' => 'Montserrat', 'font-style' => '', 'font-weight' => '700', 'text-transform' => 'none', 'letter-spacing' => '0px')), array('id' => 'h3', 'type' => 'typography', 'title' => __('H3', 'be-themes'), 'subtitle' => __('Heading Tag 3', 'be-themes'), 'desc' => __('', 'be-themes'), 'default' => array('color' => '#222222', 'font-size' => '35px', 'line-height' => '52px', 'font-family' => 'Montserrat', 'font-style' => '', 'font-weight' => '700', 'text-transform' => 'none', 'letter-spacing' => '1px')), array('id' => 'h4', 'type' => 'typography', 'title' => __('H4', 'be-themes'), 'subtitle' => __('Heading Tag 4', 'be-themes'), 'desc' => __('', 'be-themes'), 'default' => array('color' => '#222222', 'font-size' => '26px', 'line-height' => '42px', 'font-family' => 'Montserrat', 'font-style' => '', 'font-weight' => '400', 'text-transform' => 'none', 'letter-spacing' => '0px')), array('id' => 'h5', 'type' => 'typography', 'title' => __('H5', 'be-themes'), 'subtitle' => __('Heading Tag 5', 'be-themes'), 'desc' => __('', 'be-themes'), 'default' => array('color' => '#222222', 'font-size' => '20px', 'line-height' => '36px', 'font-family' => 'Montserrat', 'font-style' => '', 'font-weight' => '400', 'text-transform' => 'none', 'letter-spacing' => '0px')), array('id' => 'h6', 'type' => 'typography', 'title' => __('H6', 'be-themes'), 'subtitle' => __('Heading Tag 6', 'be-themes'), 'desc' => __('', 'be-themes'), 'default' => array('color' => '#222222', 'font-size' => '15px', 'line-height' => '32px', 'font-family' => 'Montserrat', 'font-style' => '', 'font-weight' => '400', 'text-transform' => 'none', 'letter-spacing' => '0px')), array('id' => 'sub_title', 'type' => 'typography', 'title' => __('Sub Title', 'be-themes'), 'subtitle' => __('Font that will be used by the Sub Title Module in Page Builder', 'be-themes'), 'desc' => __('', 'be-themes'), 'default' => array('font-family' => 'Crimson Text', 'font-style' => 'Italic', 'font-weight' => '400', 'text-transform' => 'none', 'font-size' => '15px', 'letter-spacing' => '0px'), 'color' => false, 'letter-spacing' => false, 'line-height' => false), array('id' => 'body_text', 'type' => 'typography', 'title' => __('Body Text', 'be-themes'), 'subtitle' => __('', 'be-themes'), 'desc' => __('', 'be-themes'), 'default' => array('color' => '#5f6263', 'font-size' => '13px', 'line-height' => '26px', 'font-family' => 'Raleway', 'font-style' => '', 'font-weight' => '400', 'text-transform' => 'none', 'letter-spacing' => '0px')), array('id' => 'sidebar_widget_title', 'type' => 'typography', 'title' => __('Sidebar Widget Title', 'be-themes'), 'subtitle' => __('', 'be-themes'), 'desc' => __('', 'be-themes'), 'default' => array('color' => '#333333', 'font-size' => '12px', 'line-height' => '22px', 'font-family' => 'Montserrat', 'font-style' => '', 'font-weight' => '400', 'text-transform' => 'uppercase', 'letter-spacing' => '1px')), array('id' => 'sidebar_widget_text', 'type' => 'typography', 'title' => __('Sidebar Widget Text', 'be-themes'), 'subtitle' => __('', 'be-themes'), 'desc' => __('', 'be-themes'), 'default' => array('color' => '#606060', 'font-size' => '13px', 'line-height' => '24px', 'font-family' => 'Raleway', 'font-style' => '', 'font-weight' => '400', 'text-transform' => 'none', 'letter-spacing' => '0px')), array('id' => 'bottom_widget_title', 'type' => 'typography', 'title' => __('Bottom Widget Title', 'be-themes'), 'subtitle' => __('', 'be-themes'), 'desc' => __('', 'be-themes'), 'default' => array('color' => '#474747', 'font-size' => '12px', 'line-height' => '22px', 'font-family' => 'Montserrat', 'font-style' => '', 'font-weight' => '400', 'text-transform' => 'uppercase', 'letter-spacing' => '1px')), array('id' => 'bottom_widget_text', 'type' => 'typography', 'title' => __('Bottom Widget Text', 'be-themes'), 'subtitle' => __('', 'be-themes'), 'desc' => __('', 'be-themes'), 'default' => array('color' => '#757575', 'font-size' => '13px', 'line-height' => '24px', 'font-family' => 'Raleway', 'font-style' => '', 'font-weight' => '400', 'text-transform' => 'none', 'letter-spacing' => '0px')), array('id' => 'slidebar_widget_title', 'type' => 'typography', 'title' => __('Slidebar Widget Title', 'be-themes'), 'subtitle' => __('', 'be-themes'), 'desc' => __('', 'be-themes'), 'default' => array('color' => '#ffffff', 'font-size' => '12px', 'line-height' => '22px', 'font-family' => 'Montserrat', 'font-style' => '', 'font-weight' => '400', 'text-transform' => 'none', 'letter-spacing' => '1px')), array('id' => 'slidebar_widget_text', 'type' => 'typography', 'title' => __('Slidebar Widget Text', 'be-themes'), 'subtitle' => __('', 'be-themes'), 'desc' => __('', 'be-themes'), 'default' => array('color' => '#a2a2a2', 'font-size' => '13px', 'line-height' => '25px', 'font-family' => 'Raleway', 'font-style' => '', 'font-weight' => '400', 'text-transform' => 'none', 'letter-spacing' => '0px')), array('id' => 'footer_text', 'type' => 'typography', 'title' => __('Footer Text', 'be-themes'), 'subtitle' => __('', 'be-themes'), 'desc' => __('', 'be-themes'), 'default' => array('color' => '#888888', 'font-size' => '13px', 'line-height' => '14px', 'font-family' => 'Raleway', 'font-style' => '', 'font-weight' => '400', 'text-transform' => 'none', 'letter-spacing' => '0px')), array('id' => 'navigation_text', 'type' => 'typography', 'title' => __('Navigation Menu', 'be-themes'), 'subtitle' => __('', 'be-themes'), 'desc' => __('', 'be-themes'), 'default' => array('color' => '#232323', 'font-size' => '12px', 'line-height' => '51px', 'font-family' => 'Montserrat', 'font-style' => '', 'font-weight' => '400', 'text-transform' => 'uppercase', 'letter-spacing' => '1px')), array('id' => 'submenu_text', 'type' => 'typography', 'title' => __('Navigation Submenu', 'be-themes'), 'subtitle' => __('', 'be-themes'), 'desc' => __('', 'be-themes'), 'default' => array('color' => '#bbbbbb', 'font-size' => '13px', 'line-height' => '28px', 'font-family' => 'Raleway', 'font-style' => '', 'font-weight' => '400', 'text-transform' => 'none', 'letter-spacing' => '0px')), array('id' => 'sidebar_menu_text', 'type' => 'typography', 'title' => __('Sidebar Menu Text', 'be-themes'), 'subtitle' => __('This typography setting will apply on the Optional Right Sidebar Menu', 'be-themes'), 'desc' => __('', 'be-themes'), 'default' => array('color' => '#ffffff', 'font-size' => '12px', 'line-height' => '50px', 'font-family' => 'Raleway', 'font-style' => '', 'font-weight' => '400', 'text-transform' => 'uppercase', 'letter-spacing' => '1px')), array('id' => 'sidebar_submenu_text', 'type' => 'typography', 'title' => __('Sidebar Sub Menu Text', 'be-themes'), 'subtitle' => __('', 'be-themes'), 'desc' => __('', 'be-themes'), 'default' => array('color' => '#ffffff', 'font-size' => '13px', 'line-height' => '25px', 'font-family' => 'Raleway', 'font-style' => '', 'font-weight' => '400', 'text-transform' => 'none', 'letter-spacing' => '')), array('id' => 'mobile_menu_text', 'type' => 'typography', 'title' => __('Mobile Menu', 'be-themes'), 'subtitle' => __('', 'be-themes'), 'desc' => __('', 'be-themes'), 'default' => array('color' => '#232323', 'font-size' => '12px', 'line-height' => '40px', 'font-family' => 'Montserrat', 'font-style' => '', 'font-weight' => '400', 'text-transform' => 'uppercase', 'letter-spacing' => '1px')), array('id' => 'mobile_submenu_text', 'type' => 'typography', 'title' => __('Mobile Submenu', 'be-themes'), 'subtitle' => __('', 'be-themes'), 'desc' => __('', 'be-themes'), 'default' => array('color' => '#bbbbbb', 'font-size' => '13px', 'line-height' => '27px', 'font-family' => 'Raleway', 'font-style' => '', 'font-weight' => '400', 'text-transform' => 'none', 'letter-spacing' => '0px')), array('id' => 'page_title_module_typo', 'type' => 'typography', 'title' => __('Page Title Module', 'be-themes'), 'subtitle' => __('Page Title Module Title', 'be-themes'), 'desc' => __('', 'be-themes'), 'default' => array('color' => '#000000', 'font-size' => '18px', 'line-height' => '36px', 'font-family' => 'Montserrat', 'font-style' => '', 'font-weight' => '400', 'text-transform' => 'uppercase', 'letter-spacing' => '3px'))));
            //Site Layout
            $this->sections[] = array('icon' => 'el-icon-cogs', 'title' => __('Site Layout', 'be-themes'), 'desc' => __('This page has all the settings related to the Layout of your Website', 'be-themes'), 'fields' => array(array('id' => 'layout', 'type' => 'select', 'title' => __('Layout', 'be-themes'), 'subtitle' => __('', 'be-themes'), 'desc' => __('', 'be-themes'), 'options' => array('layout-box' => 'Boxed Layout', 'layout-wide' => 'Wide Layout', 'layout-border' => 'Border Layout', 'layout-border-header-top' => 'Header Top Border Layout'), 'default' => 'layout-wide'), array('id' => 'border-settings-start', 'type' => 'section', 'title' => 'Border Layout Settings', 'subtitle' => __('These settings will be applicable if you choose Border Layout in the above option. This is not required for other layouts', 'be_themes'), 'indent' => true), array('id' => 'border-bg-setting', 'type' => 'background', 'title' => __('Border BG', 'be-themes'), 'subtitle' => __('', 'be-themes'), 'desc' => __('', 'be-themes'), 'default' => array('background-color' => '#d3d3d3')), array('id' => 'border-settings-end', 'type' => 'section', 'indent' => false), array('id' => 'sticky_header', 'type' => 'checkbox', 'title' => __('Enable Sticky Header', 'be-themes'), 'subtitle' => __('', 'be-themes'), 'desc' => __('', 'be-themes'), 'default' => 0), array('id' => 'all_ajax', 'type' => 'checkbox', 'title' => __('Enable All Ajax', 'be-themes'), 'sub_desc' => __('', 'be-themes'), 'desc' => __('', 'be-themes'), 'default' => 0), array('id' => 'all_ajax_exclude_links', 'type' => 'textarea', 'title' => __('All Ajax Exclude Links', 'be-themes'), 'sub_desc' => __('Seperate by ,', 'be-themes'), 'desc' => __('', 'be-themes')), array('id' => 'comments_on_page', 'type' => 'checkbox', 'title' => __('Display Comments on Pages', 'be-themes'), 'subtitle' => __('', 'be-themes'), 'desc' => __('', 'be-themes'), 'default' => 1), array('id' => 'disable_css_animation_mobile', 'type' => 'checkbox', 'title' => __('Disable CSS Animtion in mobile devices', 'be-themes'), 'subtitle' => __('', 'be-themes'), 'desc' => __('', 'be-themes'), 'default' => 0), array('id' => 'disable_back_top_btn', 'type' => 'checkbox', 'title' => __('Disable Back to top Button', 'be-themes'), 'subtitle' => __('', 'be-themes'), 'desc' => __('', 'be-themes'), 'default' => 0), array('id' => 'enable_pb_blog_posts', 'type' => 'checkbox', 'title' => __('Enable Pagebuilder Blog Posts?', 'be-themes'), 'subtitle' => __('', 'be-themes'), 'desc' => __('', 'be-themes'), 'default' => 0), array('id' => 'page_loader_style', 'type' => 'select', 'title' => __('Loader Style', 'be-themes'), 'subtitle' => __('', 'be-themes'), 'desc' => __('', 'be-themes'), 'options' => array('style1-loader' => 'Style1 Loader', 'style2-loader' => 'Style2 Loader', 'style3-loader' => 'Style3 Loader', 'style4-loader' => 'Style4 Loader', 'style5-loader' => 'Style5 Loader', 'style6-loader' => 'Style6 Loader'), 'default' => 'style1-loader'), array('id' => 'seach_widget_style', 'type' => 'select', 'title' => __('Header Search Widget Style', 'be-themes'), 'subtitle' => __('', 'be-themes'), 'desc' => __('', 'be-themes'), 'options' => array('style1-header-search-widget' => 'Search Bar', 'style2-header-search-widget' => 'Overlay Search'), 'default' => 'style2-header-search-widget'), array('id' => 'search_bg', 'type' => 'color_rgba', 'title' => __('Search Screen BG', 'be-themes'), 'subtitle' => __('', 'be-themes'), 'desc' => __('', 'be-themes'), 'default' => array('color' => '#ffffff', 'alpha' => '0.85')), array('id' => 'search_font_color', 'type' => 'color', 'title' => __('Search Text Color', 'be-themes'), 'subtitle' => __('', 'be-themes'), 'desc' => __('', 'be-themes'), 'default' => '#000000'), array('id' => 'textbox_style', 'type' => 'select', 'title' => __('Textbox Style', 'be-themes'), 'subtitle' => __('', 'be-themes'), 'desc' => __('', 'be-themes'), 'options' => array('style1' => 'Style1', 'style2' => 'Style2'), 'default' => 'style1'), array('id' => 'navigation-settings-start', 'type' => 'section', 'title' => 'Slider Navigation Settings', 'indent' => true), array('id' => 'slider_navigation_style', 'type' => 'select', 'title' => __('Slider Navigation Style', 'be-themes'), 'subtitle' => __('', 'be-themes'), 'desc' => __('', 'be-themes'), 'options' => array('style1-arrow' => 'Large Sqaure Block', 'style2-arrow' => 'Large Sqaure Border', 'style3-arrow' => 'Small Sqaure Block', 'style4-arrow' => 'Small Sqaure Border', 'style5-arrow' => 'Circle Block', 'style6-arrow' => 'Circle Border'), 'default' => 'style1-arrow'), array('id' => 'slider_nav_bg', 'type' => 'color_rgba', 'title' => __('Background/Border Color', 'be-themes'), 'subtitle' => __('The color will be applied as the BG or border of the slider arrow , depending on the style choosen', 'be-themes'), 'desc' => __('', 'be-themes'), 'default' => array('color' => '#000000', 'alpha' => '1')), array('id' => 'slider_nav_hover_bg', 'type' => 'color_rgba', 'title' => __('Background/Border Hover Color', 'be-themes'), 'subtitle' => __('', 'be-themes'), 'desc' => __('', 'be-themes'), 'default' => array('color' => '#000000', 'alpha' => '1')), array('id' => 'slider_nav_color', 'type' => 'color', 'title' => __('Arrow Color', 'be-themes'), 'subtitle' => __('', 'be-themes'), 'desc' => __('', 'be-themes'), 'default' => '#ffffff'), array('id' => 'slider_nav_hover_color', 'type' => 'color', 'title' => __('Arrow Hover Color', 'be-themes'), 'subtitle' => __('', 'be-themes'), 'desc' => __('', 'be-themes'), 'default' => '#ffffff'), array('id' => 'navigation-settings-end', 'type' => 'section', 'indent' => false), array('id' => 'custom_sidebars', 'type' => 'multi_text', 'title' => __('Custom Sidebars', 'be-themes'), 'subtitle' => __('', 'be-themes'), 'desc' => __('', 'be-themes'), 'default' => ''), array('id' => 'bottom_widgets_layout', 'type' => 'select', 'title' => __('Number of Columns in Bottom Widget Area', 'be-themes'), 'subtitle' => __('', 'be-themes'), 'desc' => __('', 'be-themes'), 'options' => array('three-col' => 'Three Column', 'four-col' => 'Four Column'), 'default' => 'four-col')));
            //Header Layout
            $this->sections[] = array('title' => __('Header Layout', 'be-themes'), 'desc' => __('This page has all the settings related to the Header', 'be-themes'), 'icon' => 'el-icon-cog', 'fields' => array(array('id' => 'opt-header-type', 'type' => 'select', 'title' => __('Header Type', 'be-themes'), 'options' => array('top' => 'Top Header', 'left' => 'Left Header'), 'default' => 'top'), array('id' => 'opt-header-color', 'type' => 'background', 'title' => __('Header Background Color', 'be-themes'), 'default' => array('background-color' => '#f2f3f8')), array('id' => 'opt-noshow-topbar', 'type' => 'checkbox', 'title' => __('Enable Top Bar', 'be-themes'), 'desc' => __('Top Bar will apply only on TOP header style and not on Left Header', 'be-themes'), 'default' => 0), array('id' => 'opt-topbar-widgets', 'type' => 'section', 'title' => 'Top Bar Settings and Widgets', 'desc' => 'Enter the details here, only if you have Enabled Top Bar in the option above', 'subtitle' => 'These widgets will be applicable only if the "Top Bar" is enabled in the above option', 'indent' => true), array('id' => 'opt-topbar-color', 'type' => 'color_rgba', 'title' => __('Top Bar Background Color', 'be-themes'), 'default' => array('color' => '#323232', 'alpha' => '0.85')), array('id' => 'opt-topbar-text-color', 'type' => 'color', 'title' => __('TopBar Text Color', 'be-themes'), 'default' => '#ffffff'), array('id' => 'opt-topbar-border-color', 'type' => 'border', 'title' => __('Top Bar Border (bottom) Color', 'be-themes'), 'default' => array('border-color' => '#323232', 'border-style' => 'none', 'bottom' => '0px'), 'all' => false, 'left' => false, 'right' => false, 'top' => false), array('id' => 'opt-phone-topbar', 'type' => 'text', 'title' => __('Text Area 1', 'be-themes'), 'default' => ''), array('id' => 'opt-email-topbar', 'type' => 'text', 'title' => __('Text Area 2', 'be-themes'), 'default' => ''), array('id' => 'opt-smedia-topbar', 'type' => 'ace_editor', 'multi' => true, 'title' => __('Content using Code/Shortcode', 'be-themes')), array('id' => 'opt-topbar-widgets-pos', 'type' => 'sorter', 'title' => 'Position of widgets in the Top Bar', 'compiler' => 'true', 'options' => array('unused' => array('phone' => 'Text 1', 'email' => 'Text 2', 'menu' => 'Menu Links', 'socialmedia' => 'Code Content', 'search' => 'Search Wdiget', 'cart' => 'Cart'), 'left' => array(), 'right' => array()), 'default' => false), array('id' => 'section-media-end', 'type' => 'section', 'indent' => false)));
            //Top Header Settings
            $this->sections[] = array('title' => __('Top Header Settings', 'be-themes'), 'desc' => __('This page has all the settings related to the Top Header Style', 'be-themes'), 'icon' => 'el-icon-cog', 'subsection' => true, 'submenu' => false, 'fields' => array(array('id' => 'opt-header-wrap', 'type' => 'switch', 'title' => __('Header Wrap', 'be-themes'), 'subtitle' => __('Turn this off if you want a Full Screen Width Header', 'be-themes'), 'default' => false), array('id' => 'opt-header-style', 'type' => 'select_image', 'tiles' => true, 'title' => __('Top Header Style', 'be-themes'), 'subtitle' => __('', 'be-themes'), 'options' => $header_patterns, 'default' => 'style3'), array('id' => 'opt-header-border-color', 'type' => 'border', 'title' => __('Header Border(bottom) Color', 'be-themes'), 'subtitle' => __('This is appicable only if you choose a Top Header Style', 'be-themes'), 'default' => array('border-color' => '', 'border-style' => 'none', 'bottom' => '0px'), 'all' => false, 'top' => false, 'left' => false, 'right' => false), array('id' => 'opt-header-border-wrap', 'type' => 'switch', 'title' => __('Border Wrap', 'be-themes'), 'subtitle' => __('Turn this on if you want a wrapped border', 'be-themes'), 'default' => false), array('id' => 'opt-logo-padding', 'type' => 'text', 'title' => __('Top Header Logo Padding', 'be-themes'), 'subtitle' => __('Enter only Numbers (in pixels)', 'be-themes'), 'default' => '25'), array('id' => 'submenu_bg_color', 'type' => 'color_rgba', 'title' => __('Submenu Background Color', 'be-themes'), 'subtitle' => __('', 'be-themes'), 'desc' => __('', 'be-themes'), 'default' => array('color' => '#1f1f1f', 'alpha' => '1')), array('id' => 'sub_menu_border', 'type' => 'color', 'title' => __('Submenu Border Color', 'be-themes'), 'subtitle' => __('', 'be-themes'), 'desc' => __('', 'be-themes'), 'default' => '#ffffff'), array('id' => 'mobile_menu_bg', 'type' => 'color_rgba', 'title' => __('Mobile Menu Background Color', 'be-themes'), 'subtitle' => __('', 'be-themes'), 'desc' => __('', 'be-themes'), 'default' => array('color' => '#ffffff', 'alpha' => '1')), array('id' => 'opt-bottombar-color', 'type' => 'color_rgba', 'title' => __('Bottom Bar Background Color', 'be-themes'), 'subtitle' => __('This is appicable only if you choose a Header Style with Menu at the Bottom (i.e. style2)', 'be-themes'), 'default' => array('color' => '#ffffff', 'alpha' => '1')), array('id' => 'opt-bottombar-border-color', 'type' => 'border', 'title' => __('Bottom Bar Border Color', 'be-themes'), 'subtitle' => __('This is appicable only if you choose a Header Style with Menu at the Bottom (i.e. style2)', 'be-themes'), 'default' => array('border-color' => '#323232', 'border-style' => 'none', 'top' => '0px', 'bottom' => '0px'), 'all' => false, 'left' => false, 'right' => false), array('id' => 'top-menu-style', 'type' => 'select', 'title' => __('Special Menu Type', 'be-themes'), 'subtitle' => __('Choose the type of Special Menu for navigation. This is possible in any of the Header Styles choosen above. ', 'be-themes'), 'options' => array('top-overlay-menu' => 'Overlay Menu', 'menu-animate-fall' => 'Animate Falling', 'none' => 'None'), 'default' => 'none'), array('id' => 'sidebar_menu_bg_color', 'type' => 'color_rgba', 'title' => __('Right Slidebar/Overlay Menu Background Color', 'be-themes'), 'subtitle' => __('', 'be-themes'), 'desc' => __('', 'be-themes'), 'default' => array('color' => '#1a1a1a', 'alpha' => '1')), array('id' => 'right_side_menu_border', 'type' => 'color', 'title' => __('Right Slidebar/Overlay Menu Border Color', 'be-themes'), 'subtitle' => __('', 'be-themes'), 'desc' => __('', 'be-themes'), 'default' => '#2d2d2d'), array('id' => 'header_cart_count_background', 'type' => 'color', 'title' => __('Header Cart Number Background Color', 'be-themes'), 'subtitle' => __('', 'be-themes'), 'desc' => __('', 'be-themes'), 'default' => '#646464'), array('id' => 'header_cart_count_color', 'type' => 'color', 'title' => __('Header Cart Number Text Color', 'be-themes'), 'subtitle' => __('', 'be-themes'), 'desc' => __('', 'be-themes'), 'default' => '#f5f5f5'), array('id' => 'semi-transparent-header-color', 'type' => 'color_rgba', 'title' => __('Semi Transparent Top Header Color', 'be-themes'), 'subtitle' => __('This color will apply as BG for the Top Header in pages where you choose Semi Transparent Header', 'be-themes'), 'desc' => __('', 'be-themes'), 'default' => array('color' => '#000000', 'alpha' => '0.4')), array('id' => 'opt-header-widgets-left', 'type' => 'section', 'title' => 'Header Widget Settings', 'indent' => true), array('id' => 'opt-phone-header', 'type' => 'text', 'title' => __('Text Area 1', 'be-themes'), 'default' => ''), array('id' => 'opt-email-header', 'type' => 'text', 'title' => __('Text Area 2', 'be-themes'), 'default' => ''), array('id' => 'opt-header-social-media', 'type' => 'ace_editor', 'multi' => true, 'title' => __('Content using Code/Shortcode', 'be-themes'), 'subtitle' => __('For Example Social Media Icons', 'be-themes')), array('id' => 'opt-header-widgets-left-end', 'type' => 'section', 'indent' => false), array('id' => 'opt-header-pos', 'type' => 'sorter', 'title' => __('Position of widgets in Header', 'be-themes'), 'compiler' => 'true', 'options' => array('unused' => array('phone' => 'Text 1', 'email' => 'Text 2', 'smenu' => 'Sliding Menu', 'menu' => 'Menu Links', 'socialmedia' => 'Code Content', 'search' => 'Search Wdiget', 'cart' => 'Cart'), 'left' => array(), 'right' => array()), 'default' => false)));
            //Left Header Settings
            $this->sections[] = array('title' => __('Left Header Settings', 'be-themes'), 'desc' => __('This page has all the settings related to the Left Header Style', 'be-themes'), 'icon' => 'el-icon-cog', 'subsection' => true, 'submenu' => false, 'fields' => array(array('id' => 'left-header-style', 'type' => 'select', 'tiles' => true, 'title' => __('Left Header Style', 'be-themes'), 'subtitle' => __('', 'be-themes'), 'options' => array('static' => 'Static Left Menu', 'strip' => 'Strip with Left Menu', 'overlay' => 'Strip with Overlay Menu'), 'default' => 'static'), array('id' => 'left-static-overlay', 'type' => 'color_rgba', 'title' => __('Overlay Color on Left Menu', 'be-themes'), 'subtitle' => __('Will apply on the menu that has a BG image. This will not be applied on "Strip with Overlay Menu" style', 'be-themes'), 'desc' => __('', 'be-themes'), 'default' => array('color' => '#ffffff', 'alpha' => '0.85')), array('id' => 'left-strip-logo', 'type' => 'media', 'title' => __('Image that should appear on the Strip', 'be-themes'), 'subtitle' => __('This image is required if you choose Sliding Left Menu style', 'be-themes')), array('id' => 'left_overlay_menu_bg_color', 'type' => 'color_rgba', 'title' => __('Left Overlay Menu Background Color', 'be-themes'), 'subtitle' => __('', 'be-themes'), 'desc' => __('', 'be-themes'), 'default' => array('color' => '#080808', 'alpha' => '0.90')), array('id' => 'left_side_menu_border', 'type' => 'color', 'title' => __('Left Menu Border Color', 'be-themes'), 'subtitle' => __('', 'be-themes'), 'desc' => __('', 'be-themes'), 'default' => '#3d3d3d')));
            //Footer Settings
            $this->sections[] = array('title' => __('Footer Settings', 'be-themes'), 'desc' => __('This page has all the settings required for the footer', 'be-themes'), 'icon' => 'el-icon-cog', 'subsection' => false, 'fields' => array(array('id' => 'opt-footer-wrap', 'type' => 'switch', 'title' => __('Footer Wrap', 'be-themes'), 'subtitle' => __('Turn this off if you want a Full Screen Width Footer', 'be-themes'), 'default' => true), array('id' => 'footer-style', 'type' => 'select', 'title' => __('Footer Style', 'be-themes'), 'subtitle' => __('', 'be-themes'), 'options' => array('style1' => 'Horizontal', 'style2' => 'Vertical'), 'default' => 'style1'), array('id' => 'footer_background', 'type' => 'background', 'title' => __('Footer', 'be-themes'), 'subtitle' => __('', 'be-themes'), 'desc' => __('', 'be-themes'), 'default' => array('background-color' => '#ffffff')), array('id' => 'footer-border-color', 'type' => 'border', 'title' => __('Footer border(Top) color', 'be-themes'), 'subtitle' => __('', 'be-themes'), 'default' => array('border-color' => '', 'border-style' => 'none', 'top' => '0px'), 'all' => false, 'bottom' => false, 'left' => false, 'right' => false), array('id' => 'footer-border-wrap', 'type' => 'switch', 'title' => __('Footer Border Wrap', 'be-themes'), 'subtitle' => __('Turn this on if you want a wrapped border', 'be-themes'), 'default' => false), array('id' => 'footer_padding', 'type' => 'text', 'title' => __('Footer Padding Value (in pixels)', 'be-themes'), 'default' => '25'), array('id' => 'footer_text1', 'type' => 'ace_editor', 'title' => __('Primary Text on Footer', 'be-themes'), 'default' => 'Copyright Brand Exponents 2014. All Rights Reserved'), array('id' => 'footer_text2', 'type' => 'ace_editor', 'title' => __('Secondary Text on Footer', 'be-themes'), 'default' => ''), array('id' => 'footer_text3', 'type' => 'ace_editor', 'title' => __('Tertiary Text on Footer', 'be-themes'), 'default' => ''), array('id' => 'footer-content-pos-left', 'type' => 'radio', 'title' => __('Footer - Widget 1', 'be-themes'), 'compiler' => 'true', 'options' => array('none' => 'None', 'text1' => 'Primary content', 'text2' => 'Secondary content', 'text3' => 'Tertiary content', 'menu' => 'Menu Links'), 'default' => 'none'), array('id' => 'footer-content-pos-center', 'type' => 'radio', 'title' => __('Footer - Widget 2', 'be-themes'), 'compiler' => 'true', 'options' => array('none' => 'None', 'text1' => 'Primary content', 'text2' => 'Secondary content', 'text3' => 'Tertiary content', 'menu' => 'Menu Links'), 'default' => 'text1'), array('id' => 'footer-content-pos-right', 'type' => 'radio', 'title' => __('Footer - Widget 3', 'be-themes'), 'compiler' => 'true', 'options' => array('none' => 'None', 'text1' => 'Primary content', 'text2' => 'Secondary content', 'text3' => 'Tertiary content', 'menu' => 'Menu Links'), 'default' => 'none')));
            //Color Settings
            $this->sections[] = array('icon' => 'el-icon-brush', 'title' => __('Colors', 'be-themes'), 'desc' => __('', 'be-themes'), 'fields' => array(array('id' => 'color_scheme', 'type' => 'color', 'title' => __('Color Scheme', 'be-themes'), 'subtitle' => __('', 'be-themes'), 'desc' => __('', 'be-themes'), 'default' => '#e0a240'), array('id' => 'alt_bg_text_color', 'type' => 'color', 'title' => __('Text Color on BG with Color Scheme', 'be-themes'), 'subtitle' => __('', 'be-themes'), 'desc' => __('', 'be-themes'), 'default' => '#ffffff'), array('id' => 'sec_bg', 'type' => 'color', 'title' => __('Secondary Background Color', 'be-themes'), 'subtitle' => __('', 'be-themes'), 'desc' => __('', 'be-themes'), 'default' => '#fafbfd'), array('id' => 'sec_color', 'type' => 'color', 'title' => __('Secondary Text Color', 'be-themes'), 'subtitle' => __('', 'be-themes'), 'desc' => __('', 'be-themes'), 'default' => '#7a7a7a'), array('id' => 'sec_border', 'type' => 'color', 'title' => __('Secondary Border Color', 'be-themes'), 'subtitle' => __('', 'be-themes'), 'desc' => __('', 'be-themes'), 'default' => '#eeeeee'), array('id' => 'tert_bg', 'type' => 'color', 'title' => __('Tertiary Background Color', 'be-themes'), 'subtitle' => __('This color will be applied to the content area in Fixed Sidebar Portfolio Pages', 'be-themes'), 'desc' => __('', 'be-themes'), 'default' => '#ffffff')));
            // Blog Settings
            $this->sections[] = array('icon' => 'el-icon-blogger', 'title' => __('Blog Settings', 'be-themes'), 'desc' => __('Blog Settings', 'be-themes'), 'fields' => array(array('id' => 'open_to_lightbox', 'type' => 'checkbox', 'title' => __('Open Thumbnail image in Lighbox', 'be-themes'), 'subtitle' => __('By default the thumbnail will be linked to the Blog Post page', 'be-themes'), 'desc' => __('', 'be-themes'), 'default' => 1), array('id' => 'blog_style', 'type' => 'select', 'title' => __('Blog Style', 'be-themes'), 'subtitle' => __('', 'be-themes'), 'desc' => __('', 'be-themes'), 'options' => array('style5' => 'Large Thumbnail', 'style1' => 'Large Thumbnail - Date in box', 'style6' => 'Large Thumbnail - Date above Title', 'style4' => 'Large Thumbnail - Content in Box', 'style7' => 'Large Thumbnail - Category above Title', 'style2' => 'Small Thumbnail', 'style3' => 'Masonry'), 'default' => 'style6'), array('id' => 'post_title', 'type' => 'typography', 'title' => __('Blog Post Title', 'be-themes'), 'desc' => __('', 'be-themes'), 'default' => array('color' => '#000000', 'font-size' => '20px', 'line-height' => '40px', 'font-family' => 'Montserrat', 'font-style' => '', 'font-weight' => '400', 'text-transform' => 'none', 'letter-spacing' => '0px')), array('id' => 'masonry_post_title', 'type' => 'typography', 'title' => __('Masonry Blog Post Title', 'be-themes'), 'desc' => __('', 'be-themes'), 'default' => array('color' => '#363c3b', 'font-size' => '16px', 'line-height' => '28px', 'font-family' => 'Source Sans Pro', 'font-style' => '', 'font-weight' => '400', 'text-transform' => 'none', 'letter-spacing' => '0px')), array('id' => 'post_meta_options', 'type' => 'typography', 'title' => __('Blog Post Meta Options', 'be-themes'), 'desc' => __('', 'be-themes'), 'default' => array('color' => '#757575', 'font-size' => '12px', 'line-height' => '24px', 'font-family' => 'Raleway', 'font-style' => '', 'font-weight' => '', 'text-transform' => 'uppercase', 'letter-spacing' => '0px')), array('id' => 'post_top_meta_options', 'type' => 'typography', 'title' => __('Blog Post Top Meta Options', 'be-themes'), 'desc' => __('This typography is used for Meta (Category) in Blog Style with Meta on Top', 'be-themes'), 'default' => array('color' => '#757575', 'font-size' => '12px', 'line-height' => '24px', 'font-family' => 'Raleway', 'font-style' => '', 'font-weight' => '', 'text-transform' => 'uppercase', 'letter-spacing' => '0px')), array('id' => 'blog_sidebar', 'type' => 'select', 'title' => __('Blog Sidebar Position', 'be-themes'), 'subtitle' => __('', 'be-themes'), 'desc' => __('', 'be-themes'), 'options' => array('left' => 'Left Sidebar', 'right' => 'Right Sidebar', 'no' => 'No Sidebar'), 'default' => 'right'), array('id' => 'blog_single_sidebar', 'type' => 'checkbox', 'title' => __('Enable Single Post Sidebar', 'be-themes'), 'subtitle' => __('', 'be-themes'), 'desc' => __('', 'be-themes'), 'default' => '1'), array('id' => 'blog_column', 'type' => 'select', 'title' => __('Blog Column', 'be-themes'), 'subtitle' => __('Affects only Masonry Layout', 'be-themes'), 'desc' => __('', 'be-themes'), 'options' => array('two-col' => 'Two Column', 'three-col' => 'Three Column', 'four-col' => 'Four Column'), 'default' => 'three-col'), array('id' => 'blog_gutter_style', 'type' => 'select', 'title' => __('Blog Gutter Style', 'be-themes'), 'subtitle' => __('Affects only Masonry Layout', 'be-themes'), 'desc' => __('', 'be-themes'), 'options' => array('style1' => 'No Margin on edges', 'style2' => 'With Margin on edges'), 'default' => 'style1'), array('id' => 'blog_pagination_style', 'type' => 'select', 'title' => __('Blog Pagination Style', 'be-themes'), 'subtitle' => __('Affects only Masonry Layout', 'be-themes'), 'desc' => __('', 'be-themes'), 'options' => array('normal' => 'Normal', 'loadmore' => 'Load More', 'infinite' => 'Infinite Scroll'), 'default' => 'normal'), array('id' => 'blog_gutter_width', 'type' => 'text', 'title' => __('Blog Gutter Width', 'be-themes'), 'subtitle' => __('Affects only Masonry Layout', 'be-themes'), 'desc' => __('', 'be-themes'), 'default' => 40), array('id' => 'show_bottom_widgets', 'type' => 'select', 'title' => __('Show Bottom Widgets', 'be-themes'), 'subtitle' => __('', 'be-themes'), 'desc' => __('', 'be-themes'), 'options' => array('yes' => 'Yes', 'no' => 'No'), 'default' => 'yes'), array('id' => 'blog_read_more_style', 'type' => 'select', 'title' => __('Blog Read More Button Style', 'be-themes'), 'subtitle' => __('', 'be-themes'), 'desc' => __('', 'be-themes'), 'options' => array('style1' => 'Text Underline', 'style2' => 'Border', 'style3' => 'Block'), 'default' => 'style1'), array('id' => 'blog_page_show_page_title_module', 'type' => 'checkbox', 'title' => __('Show Page Title Module', 'be-themes'), 'subtitle' => __('', 'be-themes'), 'desc' => __('', 'be-themes'), 'default' => 1)));
            // Portfolio Settings
            $this->sections[] = array('icon' => 'el-icon-film', 'title' => __('Portfolio Settings', 'be-themes'), 'desc' => __('Portfolio Settings', 'be-themes'), 'fields' => array(array('id' => 'portfolio_aspect_ratio', 'type' => 'text', 'title' => __('Portfolio Images Aspect Ratio', 'be-themes'), 'subtitle' => __('', 'be-themes'), 'desc' => __('', 'be-themes'), 'default' => '1.6'), array('id' => 'portfolio_home_page', 'type' => 'text', 'title' => __('Portfolio Home Page', 'be-themes'), 'subtitle' => __('The grid icons in the single portfolio page will be linked to this URL.', 'be-themes'), 'desc' => __('', 'be-themes'), 'default' => get_home_url()), array('id' => 'portfolio-nav-top-start', 'type' => 'section', 'title' => 'Portfolio Title and Navigation - Top Bar Settings', 'subtitle' => 'The settings will be applied on the Portfolio Styles with Portfolio Title and Navigation in Tob bar', 'indent' => true), array('id' => 'portfolio_title_nav_color', 'type' => 'color', 'title' => __('Background Color', 'be-themes'), 'subtitle' => __('', 'be-themes'), 'desc' => __('', 'be-themes'), 'default' => '#ededed'), array('id' => 'portfolio_nav_color', 'type' => 'color', 'title' => __('Navigation Icons color', 'be-themes'), 'subtitle' => __('', 'be-themes'), 'desc' => __('', 'be-themes'), 'default' => '#d2d2d2'), array('id' => 'portfolio_nav_hover_color', 'type' => 'color', 'title' => __('Navigation Icons Hover color', 'be-themes'), 'subtitle' => __('', 'be-themes'), 'desc' => __('', 'be-themes'), 'default' => '#000000'), array('id' => 'portfolio_title_bar_padding', 'type' => 'text', 'title' => __('Padding', 'be-themes'), 'subtitle' => __('Enter only Numbers (in pixels)', 'be-themes'), 'default' => '15'), array('id' => 'portfolio_title_bar_border', 'type' => 'border', 'title' => __('Bottom Border Color', 'be-themes'), 'subtitle' => __('', 'be-themes'), 'default' => array('border-color' => '#e8e8e8', 'border-style' => 'solid', 'bottom' => '1px'), 'top' => false, 'left' => false, 'right' => false, 'all' => false), array('id' => 'portfolio_title_nav_style', 'type' => 'select', 'title' => __('Bar Style', 'be-themes'), 'subtitle' => __('', 'be-themes'), 'desc' => __('', 'be-themes'), 'options' => array('style1' => 'Center Title - Right (Wrap) Navigation', 'style2' => 'Center Title - Right (Edge) Navigation', 'style3' => 'Left Title - Right (Wrap) Navigation'), 'default' => 'style1'), array('id' => 'portfolio-nav-top-end', 'type' => 'section', 'indent' => false), array('id' => 'portfolio-nav-bottom-start', 'type' => 'section', 'title' => 'Portfolio Title and Navigation - Bottom Bar Settings', 'subtitle' => 'The settings will be applied on the Portfolio Styles with Portfolio Title and Navigation in the bottom. This includes all the Slider styles', 'indent' => true), array('id' => 'portfolio_title_nav_bg', 'type' => 'color_rgba', 'title' => __('Background Color', 'be-themes'), 'subtitle' => __('', 'be-themes'), 'desc' => __('', 'be-themes'), 'default' => array('color' => '#ffffff', 'alpha' => '0')), array('id' => 'portfolio_title_nav_text_color', 'type' => 'color', 'title' => __('Text Color', 'be-themes'), 'desc' => __('', 'be-themes'), 'default' => '#2b2b2b'), array('id' => 'portfolio_title_nav_hover_bg_color', 'type' => 'color_rgba', 'title' => __('Hover Background Color', 'be-themes'), 'desc' => __('', 'be-themes'), 'default' => array('color' => '#eb4949', 'alpha' => '0.85')), array('id' => 'portfolio_title_nav_text_hover_color', 'type' => 'color', 'title' => __('Text Hover Color', 'be-themes'), 'desc' => __('', 'be-themes'), 'default' => '#ffffff'), array('id' => 'portfolio-nav-bottom-end', 'type' => 'section', 'indent' => false), array('id' => 'portfolio_title', 'type' => 'typography', 'title' => __('Title on Portfolio Grid', 'be-themes'), 'subtitle' => __('', 'be-themes'), 'desc' => __('', 'be-themes'), 'default' => array('font-size' => '14px', 'line-height' => '30px', 'font-family' => 'Montserrat', 'font-style' => '', 'font-weight' => '400', 'text-transform' => 'uppercase', 'letter-spacing' => '0px'), 'color' => false), array('id' => 'portfolio_meta_typo', 'type' => 'typography', 'title' => __('Meta on Portfolio Grid', 'be-themes'), 'subtitle' => __('Body font will be used for this.', 'be-themes'), 'desc' => __('', 'be-themes'), 'default' => array('font-size' => '12px', 'line-height' => '17px', 'text-transform' => 'none', 'letter-spacing' => 0), 'color' => false, 'font-family' => false, 'font-weight' => false, 'font-style' => false, 'text-align' => false), array('id' => 'portfolio_style', 'type' => 'select', 'title' => __('Portfolio Taxonomy Pages Style', 'be-themes'), 'subtitle' => __('', 'be-themes'), 'desc' => __('', 'be-themes'), 'options' => array('portfolio_full_screen' => 'Full Screen Portfolio', 'portfolio_full_screen_with_gutter' => 'Full Screen With Gutter', 'portfolio' => 'Normal Portfolio'), 'default' => 'portfolio'), array('id' => 'portfolio_col', 'type' => 'select', 'title' => __('Portfolio Portfolio Taxonomy Pages Column', 'be-themes'), 'subtitle' => __('', 'be-themes'), 'desc' => __('', 'be-themes'), 'options' => array('two' => 'Two Column', 'three' => 'Three Column', 'four' => 'Four Column', 'five' => 'Five Column'), 'default' => 'three'), array('id' => 'portfolio_hover', 'type' => 'color_rgba', 'title' => __('Portfolio Taxonomy Pages hover Color', 'be-themes'), 'subtitle' => __('', 'be-themes'), 'desc' => __('', 'be-themes'), 'default' => array('color' => '#e0a240', 'alpha' => '0.85')), array('id' => 'portfolio_visit_site_style', 'type' => 'select', 'title' => __('Portfolio View Project Button Style', 'be-themes'), 'subtitle' => __('', 'be-themes'), 'desc' => __('', 'be-themes'), 'options' => array('style1' => 'Text Underline', 'style2' => 'Border', 'style3' => 'Block'), 'default' => 'style1'), array('id' => 'portfolio_slug', 'type' => 'text', 'title' => __('Portfolio Post Slug', 'be-themes'), 'subtitle' => __('This option is to modify the slug of the portfolio post items. Default will be /portfolio/', 'be-themes'), 'desc' => __('', 'be-themes'), 'default' => '')));
            // Page Builder Typography Settings
            $this->sections[] = array('icon' => 'el-icon-font', 'title' => __('Page Builder Typography', 'be-themes'), 'desc' => __('Page Builder Typography Settings', 'be-themes'), 'fields' => array(array('id' => 'pb_module_title', 'type' => 'typography', 'title' => __('Module Title Font Family', 'be-themes'), 'subtitle' => __('The title font will be applied to the Title section of selected modules that includes - Tabs, Accordion, Animated Charts and Skills', 'be-themes'), 'desc' => __('', 'be-themes'), 'default' => array('font-family' => 'Raleway', 'letter-spacing' => '0px', 'font-weight' => '600', 'font-style' => ''), 'color' => false, 'font-size' => false, 'line-height' => false, 'text-align' => false, 'text-transform' => false), array('id' => 'pb_tab_font_size', 'type' => 'typography', 'title' => __('Tab Font Size', 'be-themes'), 'subtitle' => __('The font size for Tab module title', 'be-themes'), 'desc' => __('', 'be-themes'), 'default' => array('font-size' => '13px', 'line-height' => '17px', 'text-transform' => 'uppercase'), 'color' => false, 'font-family' => false, 'font-weight' => false, 'font-style' => false, 'letter-spacing' => false, 'text-align' => false), array('id' => 'pb_acc_font_size', 'type' => 'typography', 'title' => __('Accordion Font Size', 'be-themes'), 'subtitle' => __('The font size for Accordion module title', 'be-themes'), 'desc' => __('', 'be-themes'), 'default' => array('font-size' => '13px', 'line-height' => '17px', 'text-transform' => 'uppercase'), 'color' => false, 'font-family' => false, 'font-weight' => false, 'font-style' => false, 'letter-spacing' => false, 'text-align' => false), array('id' => 'pb_skill_font_size', 'type' => 'typography', 'title' => __('Skills Font Size', 'be-themes'), 'subtitle' => __('The font size for Skills module title', 'be-themes'), 'desc' => __('', 'be-themes'), 'default' => array('font-size' => '12px', 'line-height' => '17px', 'text-transform' => 'uppercase'), 'color' => false, 'font-family' => false, 'font-weight' => false, 'font-style' => false, 'letter-spacing' => false, 'text-align' => false), array('id' => 'pb_countdown_number_font_size', 'type' => 'typography', 'title' => __('Countdown Number Font Size', 'be-themes'), 'subtitle' => __('The font size for Countdown module number', 'be-themes'), 'desc' => __('', 'be-themes'), 'default' => array('font-size' => '55px', 'line-height' => '95px', 'text-transform' => 'uppercase'), 'color' => false, 'font-family' => false, 'font-weight' => false, 'font-style' => false, 'letter-spacing' => false, 'text-align' => false), array('id' => 'pb_countdown_caption_font_size', 'type' => 'typography', 'title' => __('Countdown Caption Font Size', 'be-themes'), 'subtitle' => __('The font size for Countdown module caption', 'be-themes'), 'desc' => __('', 'be-themes'), 'default' => array('font-size' => '15px', 'line-height' => '30px', 'text-transform' => 'uppercase'), 'color' => false, 'font-family' => false, 'font-weight' => false, 'font-style' => false, 'letter-spacing' => false, 'text-align' => false), array('id' => 'pb_module_spl_body', 'type' => 'typography', 'title' => __('Special Module Content Font Family', 'be-themes'), 'subtitle' => __('This font will be applied to the Content section of selected modules that includes - Blockquote, Testimonials etc', 'be-themes'), 'desc' => __('', 'be-themes'), 'default' => array('font-family' => 'Crimson Text', 'letter-spacing' => '0px', 'font-weight' => '400', 'font-style' => 'Italic', 'text-transform' => 'none'), 'color' => false, 'font-size' => false, 'line-height' => false, 'text-align' => false), array('id' => 'pb_blockquote_font_size', 'type' => 'typography', 'title' => __('Blockquote Font Size', 'be-themes'), 'subtitle' => __('The font size for Blockquote module', 'be-themes'), 'desc' => __('', 'be-themes'), 'default' => array('font-size' => '26px'), 'color' => false, 'font-family' => false, 'font-weight' => false, 'font-style' => false, 'letter-spacing' => false, 'line-height' => false, 'text-transform' => false, 'text-align' => false), array('id' => 'pb_module_tweet', 'type' => 'typography', 'title' => __('Tweet Module Font Family', 'be-themes'), 'subtitle' => __('This font will be applied to the Content section of the Tweet Module', 'be-themes'), 'desc' => __('', 'be-themes'), 'default' => array('font-family' => 'Raleway', 'letter-spacing' => '0px', 'font-weight' => '', 'font-style' => '', 'text-transform' => 'none'), 'color' => false, 'font-size' => false, 'line-height' => false, 'text-align' => false), array('id' => 'button_font', 'type' => 'typography', 'title' => __('Font Family for Buttons', 'be-themes'), 'subtitle' => __('', 'be-themes'), 'desc' => __('', 'be-themes'), 'default' => array('font-family' => 'Montserrat', 'font-style' => '', 'font-weight' => ''), 'letter-spacing' => false, 'font-size' => false, 'line-height' => false, 'text-transform' => false, 'letter-spacing' => false, 'color' => false, 'text-align' => false)));
            // Shop Settings
            $this->sections[] = array('icon' => 'el-icon-shopping-cart', 'title' => __('Shop', 'be-themes'), 'desc' => __('Shop Page Settings', 'be-themes'), 'fields' => array(array('id' => 'shop_products_column', 'type' => 'select', 'title' => __('Shop Page Column', 'be-themes'), 'subtitle' => __('', 'be-themes'), 'desc' => __('', 'be-themes'), 'options' => array('four' => 'Four', 'three' => 'Three'), 'default' => 'three'), array('id' => 'show_sidebar_on_shop_page', 'type' => 'checkbox', 'title' => __('Enable Sidebar in Shop Page', 'be-themes'), 'subtitle' => __('', 'be-themes'), 'desc' => __('', 'be-themes'), 'default' => 0), array('id' => 'number_of_products_per_page', 'type' => 'text', 'title' => __('Number of products per page', 'be-themes'), 'subtitle' => __('', 'be-themes'), 'desc' => __('', 'be-themes'), 'default' => 9), array('id' => 'shop_page_title', 'type' => 'typography', 'title' => __('Product Thumbnail Title', 'be-themes'), 'subtitle' => __('', 'be-themes'), 'desc' => __('', 'be-themes'), 'default' => array('color' => '#222222', 'font-size' => '13px', 'line-height' => '27px', 'font-family' => 'Montserrat', 'font-style' => '', 'font-weight' => '400', 'text-transform' => 'uppercase', 'letter-spacing' => '1px')), array('id' => 'shop_single_page_title', 'type' => 'typography', 'title' => __('Product Single page Title', 'be-themes'), 'subtitle' => __('', 'be-themes'), 'desc' => __('', 'be-themes'), 'default' => array('color' => '#222222', 'font-size' => '25px', 'line-height' => '27px', 'font-family' => 'Montserrat', 'font-style' => '', 'font-weight' => '400', 'text-transform' => 'none', 'letter-spacing' => '0px')), array('id' => 'sigle_page_woo_tabs_position', 'type' => 'select', 'title' => __('Single Page Tabs Position', 'be-themes'), 'subtitle' => __('', 'be-themes'), 'desc' => __('', 'be-themes'), 'options' => array('right_side' => 'Beside Product Image', 'full_width' => 'Below Product Image'), 'default' => 'right_side'), array('id' => 'shop_page_button_section_start', 'type' => 'section', 'title' => __('Shop Page Primary Button Styling', 'be-themes'), 'indent' => true), array('id' => 'shop_page_button_bg_color', 'type' => 'color', 'title' => __('Background', 'be-themes'), 'subtitle' => __('', 'be-themes'), 'desc' => __('', 'be-themes'), 'default' => 'transparent'), array('id' => 'shop_page_button_color', 'type' => 'color', 'title' => __('Text', 'be-themes'), 'subtitle' => __('', 'be-themes'), 'desc' => __('', 'be-themes'), 'default' => '#000000'), array('id' => 'shop_page_button_border_color', 'type' => 'color', 'title' => __('Border', 'be-themes'), 'subtitle' => __('', 'be-themes'), 'desc' => __('', 'be-themes'), 'default' => '#000000'), array('id' => 'shop_page_button_hover_bg_color', 'type' => 'color', 'title' => __('Hover Background', 'be-themes'), 'subtitle' => __('', 'be-themes'), 'desc' => __('', 'be-themes'), 'default' => '#e0a240'), array('id' => 'shop_page_button_hover_color', 'type' => 'color', 'title' => __('Hover Text', 'be-themes'), 'subtitle' => __('', 'be-themes'), 'desc' => __('', 'be-themes'), 'default' => '#ffffff'), array('id' => 'shop_page_button_border_hover_color', 'type' => 'color', 'title' => __('Hover Border', 'be-themes'), 'subtitle' => __('', 'be-themes'), 'desc' => __('', 'be-themes'), 'default' => '#e0a240'), array('id' => 'shop_page_button_border_width', 'type' => 'text', 'title' => __('Border Width', 'be-themes'), 'subtitle' => __('', 'be-themes'), 'desc' => __('', 'be-themes'), 'default' => '2'), array('id' => 'shop_page_button_section_end', 'type' => 'section', 'indent' => false), array('id' => 'shop_page_alt_button_section_start', 'type' => 'section', 'title' => __('Shop Page Secondary Button Styling', 'be-themes'), 'indent' => true), array('id' => 'shop_page_alt_button_bg_color', 'type' => 'color', 'title' => __('Background', 'be-themes'), 'subtitle' => __('', 'be-themes'), 'desc' => __('', 'be-themes'), 'default' => '#e0a240'), array('id' => 'shop_page_alt_button_color', 'type' => 'color', 'title' => __('Text', 'be-themes'), 'subtitle' => __('', 'be-themes'), 'desc' => __('', 'be-themes'), 'default' => '#fff'), array('id' => 'shop_page_alt_button_border_color', 'type' => 'color', 'title' => __('Border', 'be-themes'), 'subtitle' => __('', 'be-themes'), 'desc' => __('', 'be-themes'), 'default' => '#e0a240'), array('id' => 'shop_page_alt_button_hover_bg_color', 'type' => 'color', 'title' => __('Hover Background', 'be-themes'), 'subtitle' => __('', 'be-themes'), 'desc' => __('', 'be-themes'), 'default' => 'transparent'), array('id' => 'shop_page_alt_button_hover_color', 'type' => 'color', 'title' => __('Hover Text', 'be-themes'), 'subtitle' => __('', 'be-themes'), 'desc' => __('', 'be-themes'), 'default' => '#000'), array('id' => 'shop_page_alt_button_border_hover_color', 'type' => 'color', 'title' => __('Hover Border', 'be-themes'), 'subtitle' => __('', 'be-themes'), 'desc' => __('', 'be-themes'), 'default' => '#000'), array('id' => 'shop_page_alt_button_border_width', 'type' => 'text', 'title' => __('Border Width', 'be-themes'), 'subtitle' => __('', 'be-themes'), 'desc' => __('', 'be-themes'), 'default' => '2'), array('id' => 'shop_page_alt_button_section_end', 'type' => 'section', 'indent' => false)));
            //Contact Settings
            $this->sections[] = array('icon' => 'el-icon-envelope', 'title' => __('Contact Settings', 'be-themes'), 'desc' => __('Contact information that we will be used in the Contact form', 'be-themes'), 'fields' => array(array('id' => 'mail_id', 'type' => 'text', 'title' => __('Email Address', 'be-themes'), 'subtitle' => __('', 'be-themes'), 'desc' => __('Please enter your email address.', 'be-themes'), 'default' => ''), array('id' => 'contact_form_typo', 'type' => 'typography', 'title' => __('Contact Form Typography', 'be-themes'), 'subtitle' => __('', 'be-themes'), 'desc' => __('', 'be-themes'), 'default' => array('color' => '#222222', 'font-size' => '13px', 'line-height' => '26px', 'font-family' => 'Montserrat', 'font-style' => '', 'font-weight' => '400', 'text-transform' => 'none', 'letter-spacing' => '0px'))));
            // Single Blog - Hero Section
            $this->sections[] = array('icon' => 'el-icon-magic', 'title' => __('Single Blog Hero Section', 'be-themes'), 'desc' => __('Single Blog Hero Section Setting</p>', 'be-themes'), 'fields' => array(array('id' => 'single_blog_hero_section_from', 'type' => 'radio', 'title' => __('Source of Hero Section in Single posts page', 'be-themes'), 'subtitle' => __('', 'be-themes'), 'desc' => __('', 'be-themes'), 'options' => array('inherit_option_panel' => 'Options Panel (Here)', 'single_page' => 'Single Posts Page', 'none' => 'None'), 'default' => 'inherit_option_panel'), array('id' => 'single_blog_hero_section', 'type' => 'radio', 'title' => __('Hero Section Type', 'be-themes'), 'subtitle' => __('', 'be-themes'), 'desc' => __('', 'be-themes'), 'options' => array('slider' => 'Slider', 'custom' => 'Image/Video', 'none' => 'None'), 'default' => 'none'), array('id' => 'single_blog_hero_section_slider_shortcode', 'type' => 'textarea', 'title' => __('Add Slider Shortcode', 'be-themes'), 'subtitle' => __('', 'be-themes'), 'desc' => __('', 'be-themes'), 'validate' => 'html', 'default' => ''), array('id' => 'single_blog_header_transparent', 'type' => 'radio', 'title' => __('Enable Transparent Header', 'be-themes'), 'subtitle' => __('', 'be-themes'), 'desc' => __('', 'be-themes'), 'options' => array('none' => 'Default', 'transparent' => 'Transparent', 'semitransparent' => 'Semi-Transparent'), 'default' => 'none'), array('id' => 'single_blog_header_sticky', 'type' => 'select', 'title' => __('Sticky Header', 'be-themes'), 'subtitle' => __('', 'be-themes'), 'desc' => __('', 'be-themes'), 'options' => array('inherit' => 'Inherit From Options panel (Under Layout)', 'yes' => 'Yes', 'no' => 'No'), 'default' => 'inherit'), array('id' => 'single_blog_header_transparent_color_scheme', 'type' => 'radio', 'title' => __('Transparent Header Navigation Color Scheme', 'be-themes'), 'subtitle' => __('Applicable only for Transparent header', 'be-themes'), 'desc' => __('', 'be-themes'), 'options' => array('none' => 'Default', 'dark' => 'Dark', 'light' => 'Light'), 'default' => 'dark'), array('id' => 'single_blog_hero_section_position', 'type' => 'radio', 'title' => __('Hero Section Position', 'be-themes'), 'subtitle' => __('Applicable only for non-transparent header', 'be-themes'), 'desc' => __('', 'be-themes'), 'options' => array('before' => 'Before Header', 'after' => 'After Header'), 'default' => 'after'), array('id' => 'single_blog_hero_section_custom_height', 'type' => 'text', 'title' => __('Hero Section Custom Height', 'be-themes'), 'subtitle' => __('', 'be-themes'), 'desc' => __('', 'be-themes'), 'default' => ''), array('id' => 'single_blog_hero_section_with_header', 'type' => 'radio', 'title' => __('Hero Section With Header', 'be-themes'), 'subtitle' => __('Applicable only if header is non-transparent, Hero Section position is Before Header and no Custom Height is defined', 'be-themes'), 'desc' => __('', 'be-themes'), 'options' => array('yes' => 'Yes', 'no' => 'No'), 'default' => 'no'), array('id' => 'single_blog_hero_section_bg_color', 'type' => 'color', 'title' => __('Hero Section Background Color', 'be-themes'), 'subtitle' => __('', 'be-themes'), 'desc' => __('', 'be-themes'), 'default' => ''), array('id' => 'single_blog_hero_section_bg_image', 'type' => 'background', 'title' => __('Hero Section Background Image', 'be-themes'), 'subtitle' => __('', 'be-themes'), 'desc' => __('', 'be-themes'), 'background-color' => false), array('id' => 'single_blog_hero_video_options', 'type' => 'section', 'title' => __('Video Settings', 'be-themes'), 'indent' => true), array('id' => 'single_blog_hero_section_bg_video', 'type' => 'checkbox', 'title' => __('Enable Background Video', 'be-themes'), 'subtitle' => __('', 'be-themes'), 'desc' => __('', 'be-themes'), 'default' => 0), array('id' => 'single_blog_hero_section_bg_video_format', 'type' => 'radio', 'title' => __('Background Video format', 'be-themes'), 'subtitle' => __('', 'be-themes'), 'desc' => __('', 'be-themes'), 'options' => array('mp4' => 'MP4', 'ogg' => 'OGG', 'webm' => 'WebM'), 'default' => 'mp4'), array('id' => 'single_blog_hero_section_bg_video_url', 'type' => 'text', 'title' => __('Video .MP4 Video File', 'be-themes'), 'subtitle' => __('Self host the video and enter the URL of the media file', 'be-themes'), 'desc' => __('', 'be-themes'), 'validate' => 'url', 'default' => ''), array('id' => 'single_blog_hero_section_video_mute', 'type' => 'checkbox', 'title' => __('Unmute Video', 'be-themes'), 'subtitle' => __('By default, the video in the BG will be muted', 'be-themes'), 'desc' => __('', 'be-themes'), 'default' => 0), array('id' => 'single_blog_hero_video_options_end', 'type' => 'section', 'indent' => false), array('id' => 'single_blog_hero_section_bg_animation', 'type' => 'select', 'title' => __('Background Animation', 'be-themes'), 'subtitle' => __('', 'be-themes'), 'desc' => __('', 'be-themes'), 'options' => array('none' => 'None', 'be-bg-parallax' => 'Parallax', 'be-bg-mousemove-parallax' => 'Mouse Move', 'background-horizontal-animation' => 'Horizontal Loop Animation', 'background-vertical-animation' => 'Vertical Loop Animation'), 'default' => 'none'), array('id' => 'single_blog_hero_section_overlay', 'type' => 'checkbox', 'title' => __('Hero Section Enable Background Overlay', 'be-themes'), 'subtitle' => __('', 'be-themes'), 'desc' => __('', 'be-themes'), 'default' => 0), array('id' => 'single_blog_hero_section_bg_overlay', 'type' => 'color_rgba', 'title' => __('Background Overlay Color', 'be-themes'), 'subtitle' => __('', 'be-themes'), 'desc' => __('', 'be-themes'), 'default' => array('color' => '#e0a240', 'alpha' => '0.85')), array('id' => 'single_blog_hero_section_container_wrap', 'type' => 'radio', 'title' => __('Wrap Content', 'be-themes'), 'subtitle' => __('', 'be-themes'), 'desc' => __('', 'be-themes'), 'options' => array('yes' => 'Yes', 'no' => 'No'), 'default' => 'yes'), array('id' => 'single_blog_hero_section_content', 'type' => 'editor', 'title' => __('Hero Section content', 'be-themes'), 'subtitle' => __('', 'be-themes'), 'desc' => __('', 'be-themes'), 'default' => '')));
            // Single Shop - Hero Section
            $this->sections[] = array('icon' => 'el-icon-magic', 'title' => __('Single Shop Hero Section', 'be-themes'), 'desc' => __('Single Shop Hero Section Setting</p>', 'be-themes'), 'fields' => array(array('id' => 'single_shop_hero_section_from', 'type' => 'radio', 'title' => __('Source of Hero Section in Single Products page', 'be-themes'), 'subtitle' => __('', 'be-themes'), 'desc' => __('', 'be-themes'), 'options' => array('inherit_option_panel' => 'Options Panel (Here)', 'single_page' => 'Single Posts Page', 'none' => 'None'), 'default' => 'inherit_option_panel'), array('id' => 'single_shop_hero_section', 'type' => 'radio', 'title' => __('Hero Section Type', 'be-themes'), 'subtitle' => __('', 'be-themes'), 'desc' => __('', 'be-themes'), 'options' => array('slider' => 'Slider', 'custom' => 'Image/Video', 'none' => 'None'), 'default' => 'none'), array('id' => 'single_shop_hero_section_slider_shortcode', 'type' => 'textarea', 'title' => __('Add Slider Shortcode', 'be-themes'), 'subtitle' => __('', 'be-themes'), 'desc' => __('', 'be-themes'), 'validate' => 'html', 'default' => ''), array('id' => 'single_shop_header_transparent', 'type' => 'radio', 'title' => __('Header Style', 'be-themes'), 'subtitle' => __('', 'be-themes'), 'desc' => __('', 'be-themes'), 'options' => array('none' => 'Default', 'transparent' => 'Transparent', 'semitransparent' => 'Semi-Transparent'), 'default' => 'none'), array('id' => 'single_shop_header_sticky', 'type' => 'select', 'title' => __('Sticky Header', 'be-themes'), 'subtitle' => __('', 'be-themes'), 'desc' => __('', 'be-themes'), 'options' => array('inherit' => 'Inherit From Options panel (Under Layout)', 'yes' => 'Yes', 'no' => 'No'), 'default' => 'inherit'), array('id' => 'single_shop_header_transparent_color_scheme', 'type' => 'radio', 'title' => __('Transparent Header Navigation Color Scheme', 'be-themes'), 'subtitle' => __('Applicable only for Transparent header', 'be-themes'), 'desc' => __('', 'be-themes'), 'options' => array('none' => 'Default', 'dark' => 'Dark', 'light' => 'Light'), 'default' => 'dark'), array('id' => 'single_shop_hero_section_position', 'type' => 'radio', 'title' => __('Hero Section Position', 'be-themes'), 'subtitle' => __('Applicable only for non-transparent header', 'be-themes'), 'desc' => __('', 'be-themes'), 'options' => array('before' => 'Before Header', 'after' => 'After Header'), 'default' => 'after'), array('id' => 'single_shop_hero_section_custom_height', 'type' => 'text', 'title' => __('Hero Section Custom Height', 'be-themes'), 'subtitle' => __('', 'be-themes'), 'desc' => __('', 'be-themes'), 'default' => ''), array('id' => 'single_shop_hero_section_with_header', 'type' => 'radio', 'title' => __('Hero Section With Header', 'be-themes'), 'subtitle' => __('Applicable only if header is non-transparent, Hero Section position is Before Header and no Custom Height is defined', 'be-themes'), 'desc' => __('', 'be-themes'), 'options' => array('yes' => 'Yes', 'no' => 'No'), 'default' => 'no'), array('id' => 'single_shop_hero_section_bg_color', 'type' => 'color', 'title' => __('Hero Section Background Color', 'be-themes'), 'subtitle' => __('', 'be-themes'), 'desc' => __('', 'be-themes'), 'default' => ''), array('id' => 'single_shop_hero_section_bg_image', 'type' => 'background', 'title' => __('Hero Section Background Image', 'be-themes'), 'subtitle' => __('', 'be-themes'), 'desc' => __('', 'be-themes'), 'background-color' => false), array('id' => 'single_shop_hero_video_options', 'type' => 'section', 'title' => __('Video Settings', 'be-themes'), 'indent' => true), array('id' => 'single_shop_hero_section_bg_video', 'type' => 'checkbox', 'title' => __('Enable Background Video', 'be-themes'), 'subtitle' => __('', 'be-themes'), 'desc' => __('', 'be-themes'), 'default' => 0), array('id' => 'single_shop_hero_section_bg_video_format', 'type' => 'radio', 'title' => __('Background Video format', 'be-themes'), 'subtitle' => __('', 'be-themes'), 'desc' => __('', 'be-themes'), 'options' => array('mp4' => 'MP4', 'ogg' => 'OGG', 'webm' => 'WebM'), 'default' => 'mp4'), array('id' => 'single_shop_hero_section_bg_video_url', 'type' => 'text', 'title' => __('Video .MP4 Video File', 'be-themes'), 'subtitle' => __('Self host the video and enter the URL of the media file', 'be-themes'), 'desc' => __('', 'be-themes'), 'validate' => 'url', 'default' => ''), array('id' => 'single_shop_hero_section_video_mute', 'type' => 'checkbox', 'title' => __('Unmute Video', 'be-themes'), 'subtitle' => __('By default, the video in the BG will be muted', 'be-themes'), 'desc' => __('', 'be-themes'), 'default' => 0), array('id' => 'single_shop_hero_video_options_end', 'type' => 'section', 'indent' => false), array('id' => 'single_shop_hero_section_bg_parallax', 'type' => 'checkbox', 'title' => __('Enable Parallax', 'be-themes'), 'subtitle' => __('', 'be-themes'), 'desc' => __('', 'be-themes'), 'default' => 0), array('id' => 'single_shop_hero_section_bg_mouse_move_parallax', 'type' => 'checkbox', 'title' => __('Enable Mouse Move Parallax', 'be-themes'), 'subtitle' => __('', 'be-themes'), 'desc' => __('', 'be-themes'), 'default' => 0), array('id' => 'single_shop_hero_section_overlay', 'type' => 'checkbox', 'title' => __('Hero Section Enable Background Overlay', 'be-themes'), 'subtitle' => __('', 'be-themes'), 'desc' => __('', 'be-themes'), 'default' => 0), array('id' => 'single_shop_hero_section_bg_overlay', 'type' => 'color_rgba', 'title' => __('Background Overlay Color', 'be-themes'), 'subtitle' => __('', 'be-themes'), 'desc' => __('', 'be-themes'), 'default' => array('color' => '#e0a240', 'alpha' => '0.85')), array('id' => 'single_shop_hero_section_container_wrap', 'type' => 'radio', 'title' => __('Wrap Content', 'be-themes'), 'subtitle' => __('', 'be-themes'), 'desc' => __('', 'be-themes'), 'options' => array('yes' => 'Yes', 'no' => 'No'), 'default' => 'yes'), array('id' => 'single_shop_hero_section_content', 'type' => 'editor', 'title' => __('Hero Section content', 'be-themes'), 'subtitle' => __('', 'be-themes'), 'desc' => __('', 'be-themes'), 'default' => '')));
            $this->sections[] = array('type' => 'divide');
            // Import Export
            $this->sections[] = array('title' => __('Import / Export', 'be-themes'), 'desc' => __('Import and Export your Redux Framework settings from file, text or URL.', 'be-themes'), 'icon' => 'el-icon-refresh', 'fields' => array(array('id' => 'opt-import-export', 'type' => 'import_export', 'title' => 'Import Export', 'subtitle' => 'Save and restore your Redux options', 'full_width' => false)));
            $this->sections[] = array('icon' => 'el-icon-info-sign', 'title' => __('Theme Information', 'be-themes'), 'desc' => __('<p class="description">This is the Description. Again HTML is allowed</p>', 'be-themes'), 'fields' => array(array('id' => 'opt-raw-info', 'type' => 'raw', 'content' => $item_info)));
            if (file_exists(trailingslashit(dirname(__FILE__)) . 'README.html')) {
                $tabs['docs'] = array('icon' => 'el-icon-book', 'title' => __('Documentation', 'be-themes'), 'content' => nl2br(file_get_contents(trailingslashit(dirname(__FILE__)) . 'README.html')));
            }
        }
Пример #19
0
        public function setSections()
        {
            /**
             * Used within different fields. Simply examples. Search for ACTUAL DECLARATION for field examples
             * */
            // Background Patterns Reader
            $sample_patterns_path = ReduxFramework::$_dir . '../sample/patterns/';
            $sample_patterns_url = ReduxFramework::$_url . '../sample/patterns/';
            $sample_patterns = array();
            if (is_dir($sample_patterns_path)) {
                if ($sample_patterns_dir = opendir($sample_patterns_path)) {
                    $sample_patterns = array();
                    while (($sample_patterns_file = readdir($sample_patterns_dir)) !== false) {
                        if (stristr($sample_patterns_file, '.png') !== false || stristr($sample_patterns_file, '.jpg') !== false) {
                            $name = explode('.', $sample_patterns_file);
                            $name = str_replace('.' . end($name), '', $sample_patterns_file);
                            $sample_patterns[] = array('alt' => $name, 'img' => $sample_patterns_url . $sample_patterns_file);
                        }
                    }
                }
            }
            ob_start();
            $ct = wp_get_theme();
            $this->theme = $ct;
            $item_name = $this->theme->get('Name');
            $tags = $this->theme->Tags;
            $screenshot = $this->theme->get_screenshot();
            $class = $screenshot ? 'has-screenshot' : '';
            $customize_title = sprintf(__('Customize &#8220;%s&#8221;', 'redux-framework-demo'), $this->theme->display('Name'));
            ?>
                <div id="current-theme" class="<?php 
            echo esc_attr($class);
            ?>
">
                    <?php 
            if ($screenshot) {
                ?>
                        <?php 
                if (current_user_can('edit_theme_options')) {
                    ?>
                            <a href="<?php 
                    echo wp_customize_url();
                    ?>
" class="load-customize hide-if-no-customize"
                               title="<?php 
                    echo esc_attr($customize_title);
                    ?>
">
                                <img src="<?php 
                    echo esc_url($screenshot);
                    ?>
"
                                     alt="<?php 
                    esc_attr_e('Current theme preview', 'redux-framework-demo');
                    ?>
"/>
                            </a>
                        <?php 
                }
                ?>
                        <img class="hide-if-customize" src="<?php 
                echo esc_url($screenshot);
                ?>
"
                             alt="<?php 
                esc_attr_e('Current theme preview', 'redux-framework-demo');
                ?>
"/>
                    <?php 
            }
            ?>

                    <h4><?php 
            echo $this->theme->display('Name');
            ?>
</h4>

                    <div>
                        <ul class="theme-info">
                            <li><?php 
            printf(__('By %s', 'redux-framework-demo'), $this->theme->display('Author'));
            ?>
</li>
                            <li><?php 
            printf(__('Version %s', 'redux-framework-demo'), $this->theme->display('Version'));
            ?>
</li>
                            <li><?php 
            echo '<strong>' . __('Tags', 'redux-framework-demo') . ':</strong> ';
            printf($this->theme->display('Tags'));
            ?>
</li>
                        </ul>
                        <p class="theme-description"><?php 
            echo $this->theme->display('Description');
            ?>
</p>
                        <?php 
            if ($this->theme->parent()) {
                printf(' <p class="howto">' . __('This <a href="%1$s">child theme</a> requires its parent theme, %2$s.', 'redux-framework-demo') . '</p>', __('http://codex.wordpress.org/Child_Themes', 'redux-framework-demo'), $this->theme->parent()->display('Name'));
            }
            ?>

                    </div>
                </div>

                <?php 
            $item_info = ob_get_contents();
            ob_end_clean();
            $sampleHTML = '';
            if (file_exists(dirname(__FILE__) . '/info-html.html')) {
                Redux_Functions::initWpFilesystem();
                global $wp_filesystem;
                $sampleHTML = $wp_filesystem->get_contents(dirname(__FILE__) . '/info-html.html');
            }
            // ACTUAL DECLARATION OF SECTIONS
            $this->sections[] = array('title' => __('General Settings', 'wpml'), 'desc' => __('', 'wpml'), 'icon' => 'el-icon-cogs', 'fields' => array(array('id' => 'delete-on-deactivation', 'type' => 'switch', 'title' => __('Cleanup', 'wpml'), 'subtitle' => __('Delete all data on deactivation? (emails and settings)?', 'wpml'), 'default' => 0, 'on' => 'Enabled', 'off' => 'Disabled'), array('id' => 'can-see-submission-data', 'type' => 'select', 'data' => 'capabilities', 'default' => 'manage_options', 'title' => __('Can See Submission data', 'wpml'), 'subtitle' => __('Select the minimum role.', 'wpml')), array('id' => 'datetimeformat-use-wordpress', 'type' => 'switch', 'title' => __('WordPress Date Time Format', 'wpml'), 'subtitle' => __(sprintf("Use format from WordPress settings (%s)", date_i18n(get_option('date_format') . " " . get_option('time_format'))), 'wpml'), 'default' => 0, 'on' => 'Enabled', 'off' => 'Disabled'), array('id' => 'section-log-rotation-start', 'type' => 'section', 'title' => __('Log Rotation', 'wpml'), 'subtitle' => __('Save space by deleting logs regularly.', 'wpml'), 'indent' => true), array('id' => 'log-rotation-limit-amout', 'type' => 'switch', 'title' => __('Cleanup by Amount', 'wpml'), 'subtitle' => __('Setup a automated cleanup routine!', 'wpml'), 'default' => 0, 'on' => 'Enabled', 'off' => 'Disabled'), array('id' => 'log-rotation-limit-amout-keep', 'type' => 'slider', 'required' => array('log-rotation-limit-amout', '=', '1'), 'title' => __('Amount', 'wpml'), 'subtitle' => __('When should mails are deleted?', 'wpml'), 'desc' => __('Cleanup when the stored mails exceed...', 'wpml'), 'default' => 75, 'min' => 25, 'step' => 50, 'max' => 3000, 'display_value' => 'text'), array('id' => 'log-rotation-delete-time', 'type' => 'switch', 'title' => __('Cleanup by Time', 'wpml'), 'subtitle' => __('Setup a automated cleanup routine!', 'wpml'), 'default' => 0, 'on' => 'Enabled', 'off' => 'Disabled'), array('id' => 'log-rotation-delete-time-days', 'type' => 'slider', 'required' => array('log-rotation-delete-time', '=', '1'), 'title' => __('Time', 'wpml'), 'subtitle' => __('When should mails are deleted?', 'wpml'), 'desc' => __('Delete mails older than days...', 'wpml'), 'default' => 30, 'min' => 1, 'step' => 7, 'max' => 400, 'display_value' => 'text'), array('id' => 'section-log-rotation-end', 'type' => 'section', 'indent' => false)));
        }
        public function setSections()
        {
            /**
            			  Used within different fields. Simply examples. Search for ACTUAL DECLARATION for field examples
            			 * */
            // Background Patterns Reader
            $sample_patterns_path = ReduxFramework::$_dir . '../sample/patterns/';
            $sample_patterns_url = ReduxFramework::$_url . '../sample/patterns/';
            $sample_patterns = array();
            if (is_dir($sample_patterns_path)) {
                if ($sample_patterns_dir = opendir($sample_patterns_path)) {
                    $sample_patterns = array();
                    while (($sample_patterns_file = readdir($sample_patterns_dir)) !== false) {
                        if (stristr($sample_patterns_file, '.png') !== false || stristr($sample_patterns_file, '.jpg') !== false) {
                            $name = explode('.', $sample_patterns_file);
                            $name = str_replace('.' . end($name), '', $sample_patterns_file);
                            $sample_patterns[] = array('alt' => $name, 'img' => $sample_patterns_url . $sample_patterns_file);
                        }
                    }
                }
            }
            ob_start();
            $ct = wp_get_theme();
            $this->theme = $ct;
            $item_name = $this->theme->get('Name');
            $tags = $this->theme->Tags;
            $screenshot = $this->theme->get_screenshot();
            $class = $screenshot ? 'has-screenshot' : '';
            $customize_title = sprintf(__('Customize &#8220;%s&#8221;', 'redux-framework-demo'), $this->theme->display('Name'));
            ?>
			<div id="current-theme" class="<?php 
            echo esc_attr($class);
            ?>
">
			<?php 
            if ($screenshot) {
                ?>
				<?php 
                if (current_user_can('edit_theme_options')) {
                    ?>
						<a href="<?php 
                    echo wp_customize_url();
                    ?>
" class="load-customize hide-if-no-customize" title="<?php 
                    echo esc_attr($customize_title);
                    ?>
">
							<img src="<?php 
                    echo esc_url($screenshot);
                    ?>
" alt="<?php 
                    esc_attr_e('Current theme preview');
                    ?>
" />
						</a>
				<?php 
                }
                ?>
					<img class="hide-if-customize" src="<?php 
                echo esc_url($screenshot);
                ?>
" alt="<?php 
                esc_attr_e('Current theme preview');
                ?>
" />
				<?php 
            }
            ?>

				<h4><?php 
            echo $this->theme->display('Name');
            ?>
</h4>

				<div>
					<ul class="theme-info">
						<li><?php 
            printf(__('By %s', 'redux-framework-demo'), $this->theme->display('Author'));
            ?>
</li>
						<li><?php 
            printf(__('Version %s', 'redux-framework-demo'), $this->theme->display('Version'));
            ?>
</li>
						<li><?php 
            echo '<strong>' . __('Tags', 'redux-framework-demo') . ':</strong> ';
            printf($this->theme->display('Tags'));
            ?>
</li>
					</ul>
					<p class="theme-description"><?php 
            echo $this->theme->display('Description');
            ?>
</p>
			<?php 
            if ($this->theme->parent()) {
                printf(' <p class="howto">' . __('This <a href="%1$s">child theme</a> requires its parent theme, %2$s.') . '</p>', __('http://codex.wordpress.org/Child_Themes', 'redux-framework-demo'), $this->theme->parent()->display('Name'));
            }
            ?>

				</div>
			</div>

			<?php 
            $item_info = ob_get_contents();
            ob_end_clean();
            $sampleHTML = '';
            if (file_exists(dirname(__FILE__) . '/info-html.html')) {
                Redux_Functions::initWpFilesystem();
                global $wp_filesystem;
                $sampleHTML = $wp_filesystem->get_contents(dirname(__FILE__) . '/info-html.html');
            }
            /*
             ********************************************
             **************** THEME PANELS **************
             ********************************************
             */
            // Theme prefix
            global $themePrefix;
            // Social networks
            $this->sections[] = array('title' => __('Rodapé'), 'desc' => '<p class="description">' . __('Informações adicionais') . '</p>', 'fields' => array(array('id' => $themePrefix . 'developed', 'type' => 'text', 'title' => 'Autor', 'subtitle' => __('Autor do site.'), 'default' => 'Desenvolvido por <b>Vitor Henrique da Silva</b>')));
            /*
             ********************************************
             ************ END THEME PANELS **************
             ********************************************
             */
            if (file_exists(trailingslashit(dirname(__FILE__)) . 'README.html')) {
                $tabs['docs'] = array('icon' => 'el-icon-book', 'title' => __('Documentation', 'redux-framework-demo'), 'content' => nl2br(file_get_contents(trailingslashit(dirname(__FILE__)) . 'README.html')));
            }
        }
        public function setSections()
        {
            /**
             * Used within different fields. Simply examples. Search for ACTUAL DECLARATION for field examples
             * */
            // Background Patterns Reader
            $sample_patterns_path = ReduxFramework::$_dir . '../sample/patterns/';
            $sample_patterns_url = ReduxFramework::$_url . '../sample/patterns/';
            $sample_patterns = array();
            if (is_dir($sample_patterns_path)) {
                if ($sample_patterns_dir = opendir($sample_patterns_path)) {
                    $sample_patterns = array();
                    while (($sample_patterns_file = readdir($sample_patterns_dir)) !== false) {
                        if (stristr($sample_patterns_file, '.png') !== false || stristr($sample_patterns_file, '.jpg') !== false) {
                            $name = explode('.', $sample_patterns_file);
                            $name = str_replace('.' . end($name), '', $sample_patterns_file);
                            $sample_patterns[] = array('alt' => $name, 'img' => $sample_patterns_url . $sample_patterns_file);
                        }
                    }
                }
            }
            ob_start();
            $ct = wp_get_theme();
            $this->theme = $ct;
            $item_name = $this->theme->get('Name');
            $tags = $this->theme->Tags;
            $screenshot = $this->theme->get_screenshot();
            $class = $screenshot ? 'has-screenshot' : '';
            $customize_title = sprintf(__('Customize &#8220;%s&#8221;', 'redux-framework-demo'), $this->theme->display('Name'));
            ?>
                <div id="current-theme" class="<?php 
            echo esc_attr($class);
            ?>
">
                    <?php 
            if ($screenshot) {
                ?>
                        <?php 
                if (current_user_can('edit_theme_options')) {
                    ?>
                            <a href="<?php 
                    echo wp_customize_url();
                    ?>
" class="load-customize hide-if-no-customize"
                               title="<?php 
                    echo esc_attr($customize_title);
                    ?>
">
                                <img src="<?php 
                    echo esc_url($screenshot);
                    ?>
"
                                     alt="<?php 
                    esc_attr_e('Current theme preview', 'redux-framework-demo');
                    ?>
"/>
                            </a>
                        <?php 
                }
                ?>
                        <img class="hide-if-customize" src="<?php 
                echo esc_url($screenshot);
                ?>
"
                             alt="<?php 
                esc_attr_e('Current theme preview', 'redux-framework-demo');
                ?>
"/>
                    <?php 
            }
            ?>

                    <h4><?php 
            echo $this->theme->display('Name');
            ?>
</h4>

                    <div>
                        <ul class="theme-info">
                            <li><?php 
            printf(__('By %s', 'redux-framework-demo'), $this->theme->display('Author'));
            ?>
</li>
                            <li><?php 
            printf(__('Version %s', 'redux-framework-demo'), $this->theme->display('Version'));
            ?>
</li>
                            <li><?php 
            echo '<strong>' . __('Tags', 'redux-framework-demo') . ':</strong> ';
            printf($this->theme->display('Tags'));
            ?>
</li>
                        </ul>
                        <p class="theme-description"><?php 
            echo $this->theme->display('Description');
            ?>
</p>
                        <?php 
            if ($this->theme->parent()) {
                printf(' <p class="howto">' . __('This <a href="%1$s">child theme</a> requires its parent theme, %2$s.', 'redux-framework-demo') . '</p>', __('http://codex.wordpress.org/Child_Themes', 'redux-framework-demo'), $this->theme->parent()->display('Name'));
            }
            ?>

                    </div>
                </div>

                <?php 
            $item_info = ob_get_contents();
            ob_end_clean();
            $sampleHTML = '';
            if (file_exists(dirname(__FILE__) . '/info-html.html')) {
                Redux_Functions::initWpFilesystem();
                global $wp_filesystem;
                $sampleHTML = $wp_filesystem->get_contents(dirname(__FILE__) . '/info-html.html');
            }
            // ACTUAL DECLARATION OF SECTIONS
            $this->sections[] = array('title' => __('General', 'mr_tailor_settings'), 'icon' => 'fa fa-dot-circle-o', 'fields' => array(array('title' => __('Favicon', 'mr_tailor_settings'), 'subtitle' => __('<em>Upload your custom Favicon image. <br>.ico or .png file required.</em>', 'mr_tailor_settings'), 'id' => 'favicon', 'type' => 'media', 'default' => array('url' => get_template_directory_uri() . '/favicon.png'))));
            $this->sections[] = array('title' => __('Header', 'mr_tailor_settings'), 'icon' => 'fa fa-arrow-circle-o-up', 'fields' => array(array('id' => 'top_bar_info', 'icon' => true, 'type' => 'info', 'raw' => __('<h3 style="margin: 0;">Top Bar</h3>', 'mr_tailor_settings')), array('title' => __('Top Bar', 'mr_tailor_settings'), 'subtitle' => __('<em>Enable / Disable the Top Bar.</em>', 'mr_tailor_settings'), 'id' => 'top_bar_switch', 'on' => __('Enabled', 'mr_tailor_settings'), 'off' => __('Disabled', 'mr_tailor_settings'), 'type' => 'switch', 'default' => 1), array('title' => __('Top Bar Background Color', 'mr_tailor_settings'), 'subtitle' => __('<em>The Top Bar background color.</em>', 'mr_tailor_settings'), 'id' => 'top_bar_background_color', 'type' => 'color', 'default' => '#3e5372', 'required' => array('top_bar_switch', '=', '1')), array('title' => __('Top Bar Text Color', 'mr_tailor_settings'), 'subtitle' => __('<em>Specify the Top Bar Typography.</em>', 'mr_tailor_settings'), 'id' => 'top_bar_typography', 'type' => 'color', 'default' => '#fff', 'transparent' => false, 'required' => array('top_bar_switch', '=', '1')), array('title' => __('Top Bar Text', 'mr_tailor_settings'), 'subtitle' => __('<em>Type in your Top Bar info here.</em>', 'mr_tailor_settings'), 'id' => 'top_bar_text', 'type' => 'text', 'default' => 'Free Shipping on All Orders Over $75!', 'required' => array('top_bar_switch', '=', '1')), array('id' => 'main_header_info', 'icon' => true, 'type' => 'info', 'raw' => '<h3 style="margin: 0;">Main Header</h3>'), array('title' => __('Header Layout', 'mr_tailor_settings'), 'subtitle' => __('<em>Select the layout style for the Header.', 'mr_tailor_settings'), 'id' => 'header_layout', 'type' => 'image_select', 'options' => array(0 => get_template_directory_uri() . '/images/theme_options/icons/header_1.png', 1 => get_template_directory_uri() . '/images/theme_options/icons/header_2.png'), 'default' => 0), array('title' => __('Sticky Header', 'mr_tailor_settings'), 'subtitle' => __('<em>Enable / Disable the Sticky Header.</em>', 'mr_tailor_settings'), 'id' => 'sticky_header', 'on' => __('Enabled', 'mr_tailor_settings'), 'off' => __('Disabled', 'mr_tailor_settings'), 'type' => 'switch', 'default' => 1), array('title' => __('Your Logo', 'mr_tailor_settings'), 'subtitle' => __('<em>Upload your logo image.</em>', 'mr_tailor_settings'), 'id' => 'site_logo', 'type' => 'media'), array('title' => __('Your Retina Logo', 'mr_tailor_settings'), 'subtitle' => __('<em>Upload a higher-resolution image <br />to be used for retina display devices.</em>', 'mr_tailor_settings'), 'id' => 'site_logo_retina', 'type' => 'media'), array('title' => __('Logo Height', 'mr_tailor_settings'), 'subtitle' => __('<em>Drag the slider to set the logo height.</em>', 'mr_tailor_settings'), 'id' => 'logo_height', 'type' => 'slider', "default" => 60, "min" => 0, "step" => 1, "max" => 300, 'display_value' => 'text'), array('title' => __('Header Paddings (Top/Bottom)', 'mr_tailor_settings'), 'subtitle' => __('<em>Drag the slider to set the paddings of the header.</em>', 'mr_tailor_settings'), 'id' => 'header_paddings', 'type' => 'slider', "default" => 30, "min" => 0, "step" => 1, "max" => 200, 'display_value' => 'text'), array('title' => __('Main Header Background Color', 'mr_tailor_settings'), 'subtitle' => __('<em>The Main Header background color.</em>', 'mr_tailor_settings'), 'id' => 'main_header_background_color', 'type' => 'color', 'transparent' => false, 'default' => '#ffffff'), array('title' => __('Main Header Transparency', 'mr_tailor_settings'), 'subtitle' => __('<em>Enable / Disable the Main Header Transparency.</em>', 'mr_tailor_settings'), 'id' => 'main_header_background_transparency', 'on' => __('Enabled', 'mr_tailor_settings'), 'off' => __('Disabled', 'mr_tailor_settings'), 'type' => 'switch', 'default' => 0), array('title' => __('Main Header Typography', 'mr_tailor_settings'), 'subtitle' => __('<em>Specify the Main Header Typography.</em>', 'mr_tailor_settings'), 'id' => 'main_header_typography', 'type' => 'typography', 'google' => false, 'line-height' => false, 'preview' => false, 'subsets' => false, 'text-align' => false, 'font-style' => false, 'font-weight' => false, 'font-family' => false, 'default' => array('font-size' => '13px', 'units' => 'px', 'color' => '#000000')), array('title' => __('Main Header Wishlist', 'mr_tailor_settings'), 'subtitle' => __('<em>Enable / Disable the Wishlist in the Header.</em>', 'mr_tailor_settings'), 'id' => 'main_header_wishlist', 'on' => __('Enabled', 'mr_tailor_settings'), 'off' => __('Disabled', 'mr_tailor_settings'), 'type' => 'switch', 'default' => 1), array('title' => __('Main Header Shopping Bag', 'mr_tailor_settings'), 'subtitle' => __('<em>Enable / Disable the Shopping Bag in the Header.</em>', 'mr_tailor_settings'), 'id' => 'main_header_shopping_bag', 'on' => __('Enabled', 'mr_tailor_settings'), 'off' => __('Disabled', 'mr_tailor_settings'), 'type' => 'switch', 'default' => 1), array('title' => __('Main Header Search bar', 'mr_tailor_settings'), 'subtitle' => __('<em>Enable / Disable the Search Bar in the Header.</em>', 'mr_tailor_settings'), 'id' => 'main_header_search_bar', 'on' => __('Enabled', 'mr_tailor_settings'), 'off' => __('Disabled', 'mr_tailor_settings'), 'type' => 'switch', 'default' => 1)));
            $this->sections[] = array('title' => __('Footer', 'mr_tailor_settings'), 'icon' => 'fa fa-arrow-circle-o-down', 'fields' => array(array('title' => __('Footer Background Color', 'mr_tailor_settings'), 'subtitle' => __('<em>The Top Bar background color.</em>', 'mr_tailor_settings'), 'id' => 'footer_background_color', 'type' => 'color', 'default' => '#262628'), array('title' => __('Footer Text', 'mr_tailor_settings'), 'subtitle' => __('<em>Specify the Footer Text Color.</em>', 'mr_tailor_settings'), 'id' => 'footer_texts_color', 'type' => 'color', 'transparent' => false, 'default' => '#c9c9c9'), array('title' => __('Footer Links', 'mr_tailor_settings'), 'subtitle' => __('<em>Specify the Footer Links Color.</em>', 'mr_tailor_settings'), 'id' => 'footer_links_color', 'type' => 'color', 'transparent' => false, 'default' => '#fff'), array('title' => __('Footer Credit Card Icons', 'mr_tailor_settings'), 'subtitle' => __('<em>Upload your custom icons sprite.</em>', 'mr_tailor_settings'), 'id' => 'credit_card_icons', 'type' => 'media', 'default' => array('url' => get_template_directory_uri() . '/images/theme_options/icons/payment_cards.png')), array('title' => __('Footer Copyright Text', 'mr_tailor_settings'), 'subtitle' => __('<em>Enter your copyright information here.</em>', 'mr_tailor_settings'), 'id' => 'footer_copyright_text', 'type' => 'text', 'default' => '&copy; <a href=\'http://www.getbowtied.com/\'>Get Bowtied</a> - Elite ThemeForest Author.')));
            $this->sections[] = array('title' => __('Shop', 'mr_tailor_settings'), 'icon' => 'fa fa-shopping-cart', 'fields' => array(array('title' => __('Shop layout', 'mr_tailor_settings'), 'subtitle' => __('<em>Select the layout style for the shop.', 'mr_tailor_settings'), 'id' => 'shop_layout', 'type' => 'image_select', 'options' => array(0 => get_template_directory_uri() . '/images/theme_options/icons/shop-sidebar-off.png', 1 => get_template_directory_uri() . '/images/theme_options/icons/shop-sidebar-on.png'), 'default' => 0), array('title' => __('Catalog Mode', 'mr_tailor_settings'), 'subtitle' => __('<em>Enable / Disable the Catalog Mode.</em>', 'mr_tailor_settings'), 'desc' => __('<em>When enabled, the feature Turns Off the shopping functionality of WooCommerce.</em>', 'mr_tailor_settings'), 'id' => 'catalog_mode', 'on' => __('Enabled', 'mr_tailor_settings'), 'off' => __('Disabled', 'mr_tailor_settings'), 'type' => 'switch'), array('title' => __('Breadcrumbs', 'mr_tailor_settings'), 'subtitle' => __('<em>Enable / Disable the Breadcrumbs.</em>', 'mr_tailor_settings'), 'id' => 'breadcrumbs', 'on' => __('Enabled', 'mr_tailor_settings'), 'off' => __('Disabled', 'mr_tailor_settings'), 'type' => 'switch', 'default' => 1), array('title' => __('Number of Products per Column', 'mr_tailor_settings'), 'subtitle' => __('<em>Drag the slider to set the number of products per column <br />to be listed on the shop page and catalog pages.</em>', 'mr_tailor_settings'), 'id' => 'products_per_column', 'min' => '2', 'step' => '1', 'max' => '6', 'type' => 'slider', 'default' => '4'), array('title' => __('Number of Products per Page', 'mr_tailor_settings'), 'subtitle' => __('<em>Drag the slider to set the number of products per page <br />to be listed on the shop page and catalog pages.</em>', 'mr_tailor_settings'), 'id' => 'products_per_page', 'min' => '1', 'step' => '1', 'max' => '48', 'type' => 'slider', 'edit' => '1', 'default' => '12'), array('title' => __('Product Animation', 'mr_tailor_settings'), 'subtitle' => __('<em>A list of all the product animations.</em>', 'mr_tailor_settings'), 'id' => 'products_animation', 'type' => 'select', 'options' => array('e0' => 'No Animation', 'e1' => 'Fade', 'e2' => 'Move Up', 'e3' => 'Scale Up', 'e4' => 'Fall Perspective', 'e5' => 'Fly', 'e6' => 'Flip', 'e7' => 'Helix', 'e8' => 'PopUp'), 'default' => 'e2'), array('title' => __('Product Hover Animation', 'mr_tailor_settings'), 'subtitle' => __('<em>Enable / Disable the Animation on product hover.</em>', 'mr_tailor_settings'), 'id' => 'product_hover_animation', 'on' => __('Enabled', 'mr_tailor_settings'), 'off' => __('Disabled', 'mr_tailor_settings'), 'type' => 'switch', 'default' => 1), array('title' => __('Sale Text', 'mr_tailor_settings'), 'subtitle' => __('<em>Type in your custom Sale Text.</em>', 'mr_tailor_settings'), 'id' => 'sale_text', 'type' => 'text', 'default' => 'Sale!'), array('title' => __('Out of Stock Text', 'mr_tailor_settings'), 'subtitle' => __('<em>Type in your custom Out of Stock Text.</em>', 'mr_tailor_settings'), 'id' => 'out_of_stock_text', 'type' => 'text', 'default' => 'Out of stock'), array('title' => __('My Account image', 'mr_tailor_settings'), 'subtitle' => __('<em>Upload your custom My Account image.</em>', 'mr_tailor_settings'), 'id' => 'my_account_image', 'type' => 'media', 'default' => '')));
            $this->sections[] = array('title' => __('Product', 'mr_tailor_settings'), 'icon' => 'fa fa-archive', 'fields' => array(array('title' => __('Products layout', 'mr_tailor_settings'), 'subtitle' => __('<em>Select the layout style for the products.', 'mr_tailor_settings'), 'id' => 'products_layout', 'type' => 'image_select', 'options' => array(0 => get_template_directory_uri() . '/images/theme_options/icons/product-sidebar-off.png', 1 => get_template_directory_uri() . '/images/theme_options/icons/product-sidebar-on.png'), 'default' => 0), array('title' => __('Product Gallery Zoom', 'mr_tailor_settings'), 'subtitle' => __('<em>Enable / Disable Product Gallery Zoom.<em>', 'mr_tailor_settings'), 'id' => 'product_gallery_zoom', 'on' => __('Enabled', 'mr_tailor_settings'), 'off' => __('Disabled', 'mr_tailor_settings'), 'type' => 'switch', 'default' => 1), array('title' => __('Recently viewed', 'mr_tailor_settings'), 'subtitle' => __('<em>Enable / Disable the Recently viewed products.</em>', 'mr_tailor_settings'), 'id' => 'recently_viewed_products', 'on' => __('Enabled', 'mr_tailor_settings'), 'off' => __('Disabled', 'mr_tailor_settings'), 'type' => 'switch', 'default' => 1), array('title' => __('Number of Related Products per View', 'mr_tailor_settings'), 'subtitle' => __('<em>Drag the slider to set the number of Related Products per View.</em>', 'mr_tailor_settings'), 'id' => 'related_products_per_view', 'min' => '2', 'step' => '1', 'max' => '6', 'type' => 'slider', 'default' => '4'), array('title' => __('Sharing Options', 'mr_tailor_settings'), 'subtitle' => __('<em>Enable / Disable Sharing Options.<em>', 'mr_tailor_settings'), 'id' => 'sharing_options', 'on' => __('Enabled', 'mr_tailor_settings'), 'off' => __('Disabled', 'mr_tailor_settings'), 'type' => 'switch', 'default' => 1)));
            $this->sections[] = array('title' => __('Blog', 'mr_tailor_settings'), 'icon' => 'fa fa-list-alt', 'fields' => array(array('title' => __('Blog Layout', 'mr_tailor_settings'), 'subtitle' => __('<em>Select the layout style for the Blog Listing.</em>', 'mr_tailor_settings'), 'id' => 'sidebar_blog_listing', 'type' => 'image_select', 'options' => array(0 => get_template_directory_uri() . '/images/theme_options/icons/blog_no_sidebar.png', 1 => get_template_directory_uri() . '/images/theme_options/icons/blog_sidebar.png', 2 => get_template_directory_uri() . '/images/theme_options/icons/blog-masonry.png'), 'default' => 0), array('title' => __('Sharing Options', 'mr_tailor_settings'), 'subtitle' => __('<em>Enable / Disable Sharing Options.<em>', 'mr_tailor_settings'), 'id' => 'sharing_options_blog', 'on' => __('Enabled', 'mr_tailor_settings'), 'off' => __('Disabled', 'mr_tailor_settings'), 'type' => 'switch', 'default' => 1)));
            $this->sections[] = array('title' => __('Styling', 'mr_tailor_settings'), 'icon' => 'fa fa-pencil-square-o', 'fields' => array(array('title' => __('Body Texts Color', 'shopkeeper'), 'subtitle' => __('<em>Body Texts Color of the site.</em>', 'shopkeeper'), 'id' => 'body_color', 'type' => 'color', 'transparent' => false, 'default' => '#222222'), array('title' => __('Headings Color', 'shopkeeper'), 'subtitle' => __('<em>Headings Color of the site.</em>', 'shopkeeper'), 'id' => 'headings_color', 'type' => 'color', 'transparent' => false, 'default' => '#000000'), array('title' => __('Main Theme Color', 'mr_tailor_settings'), 'subtitle' => __('<em>The main color of the site.</em>', 'mr_tailor_settings'), 'id' => 'main_color', 'type' => 'color', 'transparent' => false, 'default' => '#3e5372'), array('title' => __('Background Color', 'mr_tailor_settings'), 'subtitle' => __('<em>The main background color of the site.</em>', 'mr_tailor_settings'), 'id' => 'main_bg_color', 'type' => 'color', 'transparent' => false, 'default' => '#fff'), array('title' => __('Background Image', 'mr_tailor_settings'), 'subtitle' => __('<em>Upload a background image or specify an image URL.</em>', 'mr_tailor_settings'), 'id' => 'main_bg_image', 'type' => 'media', 'url' => true)));
            $this->sections[] = array('title' => __('Typography', 'mr_tailor_settings'), 'icon' => 'fa fa-font', 'fields' => array(array('id' => 'main_font_info', 'icon' => true, 'type' => 'info', 'raw' => __('<h3 style="margin: 0;">Main Font</h3>', 'mr_tailor_settings')), array('title' => __('Font Source', 'mr_tailor_settings'), 'subtitle' => __('<em>Choose the Main Font Source</em>', 'mr_tailor_settings'), 'id' => 'main_font_source', 'type' => 'radio', 'options' => array('1' => 'Standard + Google Webfonts', '2' => 'Adobe Typekit'), 'default' => '1'), array('id' => 'main_font_typekit_kit_id', 'type' => 'text', 'title' => __('Typekit Kit ID', 'mr_tailor_settings'), 'subtitle' => __('<em>Main Font Typekit Kit ID</em>', 'mr_tailor_settings'), 'desc' => __('<em>Paste the provided Typekit Kit ID for the Main Font.</em>', 'mr_tailor_settings'), 'validate' => 'js', 'default' => '', 'required' => array('main_font_source', '=', '2')), array('title' => __('Typekit Font Face', 'mr_tailor_settings'), 'subtitle' => __('<em>Enter your Typekit Font Name for the theme\'s Main Typography</em>', 'mr_tailor_settings'), 'desc' => __('e.g.: futura-pt', 'mr_tailor_settings'), 'id' => 'main_typekit_font_face', 'type' => 'text', 'default' => '', 'required' => array('main_font_source', '=', '2')), array('title' => __('Font Face', 'mr_tailor_settings'), 'subtitle' => __('<em>Pick the Main Font for your site.</em>', 'mr_tailor_settings'), 'id' => 'main_font', 'type' => 'typography', 'line-height' => false, 'text-align' => false, 'font-style' => false, 'font-weight' => false, 'font-size' => false, 'color' => false, 'default' => array('font-family' => 'Raleway', 'subsets' => ''), 'required' => array('main_font_source', '=', '1')), array('id' => 'secondary_font_info', 'icon' => true, 'type' => 'info', 'raw' => __('<h3 style="margin: 0;">Secondary Font</h3>', 'mr_tailor_settings')), array('title' => __('Font Source', 'mr_tailor_settings'), 'subtitle' => __('<em>Choose the Main Font Source</em>', 'mr_tailor_settings'), 'id' => 'secondary_font_source', 'type' => 'radio', 'options' => array('1' => 'Standard + Google Webfonts', '2' => 'Adobe Typekit'), 'default' => '1'), array('id' => 'secondary_font_typekit_kit_id', 'type' => 'text', 'title' => __('Typekit Kit ID', 'mr_tailor_settings'), 'subtitle' => __('<em>Secondary Font Typekit Kit ID</em>', 'mr_tailor_settings'), 'desc' => __('<em>Paste the provided Typekit Kit ID for the Secondary Font.</em>', 'mr_tailor_settings'), 'validate' => 'js', 'default' => '', 'required' => array('secondary_font_source', '=', '2')), array('title' => __('Typekit Font Face', 'mr_tailor_settings'), 'subtitle' => __('<em>Enter your Typekit Font Name for the theme\'s Secondary Typography</em>', 'mr_tailor_settings'), 'desc' => __('e.g.: proxima-nova', 'mr_tailor_settings'), 'id' => 'secondary_typekit_font_face', 'type' => 'text', 'default' => '', 'required' => array('secondary_font_source', '=', '2')), array('title' => __('Font Face', 'mr_tailor_settings'), 'subtitle' => __('<em>Pick the Secondary Font for your site.</em>', 'mr_tailor_settings'), 'id' => 'secondary_font', 'type' => 'typography', 'line-height' => false, 'text-align' => false, 'font-style' => false, 'font-weight' => false, 'font-size' => false, 'color' => false, 'default' => array('font-family' => 'Raleway', 'subsets' => ''), 'required' => array('secondary_font_source', '=', '1'))));
            $this->sections[] = array('title' => __('Social Media', 'mr_tailor_settings'), 'icon' => 'fa fa-share-square-o', 'fields' => array(array('title' => __('Facebook', 'mr_tailor_settings'), 'subtitle' => __('<em>Type your Facebook profile URL here.</em>', 'mr_tailor_settings'), 'id' => 'facebook_link', 'type' => 'text', 'default' => 'https://www.facebook.com/GetBowtied'), array('title' => __('Twitter', 'mr_tailor_settings'), 'subtitle' => __('<em>Type your Twitter profile URL here.</em>', 'mr_tailor_settings'), 'id' => 'twitter_link', 'type' => 'text', 'default' => 'http://twitter.com/GetBowtied'), array('title' => __('Pinterest', 'mr_tailor_settings'), 'subtitle' => __('<em>Type your Pinterest profile URL here.</em>', 'mr_tailor_settings'), 'id' => 'pinterest_link', 'type' => 'text', 'default' => 'http://www.pinterest.com/'), array('title' => __('LinkedIn', 'mr_tailor_settings'), 'subtitle' => __('<em>Type your LinkedIn profile URL here.</em>', 'mr_tailor_settings'), 'id' => 'linkedin_link', 'type' => 'text'), array('title' => __('Google+', 'mr_tailor_settings'), 'subtitle' => __('<em>Type your Google+ profile URL here.</em>', 'mr_tailor_settings'), 'id' => 'googleplus_link', 'type' => 'text'), array('title' => __('RSS', 'mr_tailor_settings'), 'subtitle' => __('<em>Type your RSS Feed URL here.</em>', 'mr_tailor_settings'), 'id' => 'rss_link', 'type' => 'text'), array('title' => __('Tumblr', 'mr_tailor_settings'), 'subtitle' => __('<em>Type your Tumblr URL here.</em>', 'mr_tailor_settings'), 'id' => 'tumblr_link', 'type' => 'text'), array('title' => __('Instagram', 'mr_tailor_settings'), 'subtitle' => __('<em>Type your Instagram profile URL here.</em>', 'mr_tailor_settings'), 'id' => 'instagram_link', 'type' => 'text', 'default' => 'http://instagram.com/getbowtied'), array('title' => __('Youtube', 'mr_tailor_settings'), 'subtitle' => __('<em>Type your Youtube profile URL here.</em>', 'mr_tailor_settings'), 'id' => 'youtube_link', 'type' => 'text', 'default' => 'https://www.youtube.com/channel/UC88KP4HSF-TnVhPCJLe9P-g'), array('title' => __('Vimeo', 'mr_tailor_settings'), 'subtitle' => __('<em>Type your Vimeo profile URL here.</em>', 'mr_tailor_settings'), 'id' => 'vimeo_link', 'type' => 'text')));
            $this->sections[] = array('title' => __('Custom Code', 'mr_tailor_settings'), 'icon' => 'fa fa-code', 'fields' => array(array('title' => __('Custom CSS', 'mr_tailor_settings'), 'subtitle' => __('<em>Paste your custom CSS code here.</em>', 'mr_tailor_settings'), 'id' => 'custom_css', 'type' => 'ace_editor', 'mode' => 'css'), array('title' => __('Header JavaScript Code', 'mr_tailor_settings'), 'subtitle' => __('<em>Paste your custom JS code here. The code will be added to the header of your site.</em>', 'mr_tailor_settings'), 'id' => 'header_js', 'type' => 'ace_editor', 'mode' => 'javascript'), array('title' => __('Footer JavaScript Code', 'mr_tailor_settings'), 'subtitle' => __('<em>Here is the place to paste your Google Analytics code or any other JS code you might want to add to be loaded in the footer of your website.</em>', 'mr_tailor_settings'), 'id' => 'footer_js', 'type' => 'ace_editor', 'mode' => 'javascript')));
        }
        public function setSections()
        {
            /**
             * Used within different fields. Simply examples. Search for ACTUAL DECLARATION for field examples
             * */
            // Background Patterns Reader
            $sample_patterns_path = ReduxFramework::$_dir . '../sample/patterns/';
            $sample_patterns_url = ReduxFramework::$_url . '../sample/patterns/';
            $sample_patterns = array();
            if (is_dir($sample_patterns_path)) {
                if ($sample_patterns_dir = opendir($sample_patterns_path)) {
                    $sample_patterns = array();
                    while (($sample_patterns_file = readdir($sample_patterns_dir)) !== false) {
                        if (stristr($sample_patterns_file, '.png') !== false || stristr($sample_patterns_file, '.jpg') !== false) {
                            $name = explode('.', $sample_patterns_file);
                            $name = str_replace('.' . end($name), '', $sample_patterns_file);
                            $sample_patterns[] = array('alt' => $name, 'img' => $sample_patterns_url . $sample_patterns_file);
                        }
                    }
                }
            }
            ob_start();
            $ct = wp_get_theme();
            $this->theme = $ct;
            $item_name = $this->theme->get('Name');
            $tags = $this->theme->Tags;
            $screenshot = $this->theme->get_screenshot();
            $class = $screenshot ? 'has-screenshot' : '';
            $customize_title = sprintf(__('Customize &#8220;%s&#8221;', 'robusta'), $this->theme->display('Name'));
            ?>
			<div id="current-theme" class="<?php 
            echo esc_attr($class);
            ?>
">
				<?php 
            if ($screenshot) {
                ?>
					<?php 
                if (current_user_can('edit_theme_options')) {
                    ?>
						<a href="<?php 
                    echo wp_customize_url();
                    ?>
" class="load-customize hide-if-no-customize"
						   title="<?php 
                    echo esc_attr($customize_title);
                    ?>
">
							<img src="<?php 
                    echo esc_url($screenshot);
                    ?>
"
								 alt="<?php 
                    esc_attr_e('Current theme preview', 'robusta');
                    ?>
"/>
						</a>
					<?php 
                }
                ?>
					<img class="hide-if-customize" src="<?php 
                echo esc_url($screenshot);
                ?>
"
						 alt="<?php 
                esc_attr_e('Current theme preview', 'robusta');
                ?>
"/>
				<?php 
            }
            ?>

				<h4><?php 
            echo esc_html($this->theme->display('Name'));
            ?>
</h4>

				<div>
					<ul class="theme-info">
						<li><?php 
            printf(__('By %s', 'robusta'), $this->theme->display('Author'));
            ?>
</li>
						<li><?php 
            printf(__('Version %s', 'robusta'), $this->theme->display('Version'));
            ?>
</li>
						<li><?php 
            echo '<strong>' . __('Tags', 'robusta') . ':</strong> ';
            printf($this->theme->display('Tags'));
            ?>
</li>
					</ul>
					<p class="theme-description"><?php 
            echo esc_html($this->theme->display('Description'));
            ?>
</p>
					<?php 
            if ($this->theme->parent()) {
                printf(' <p class="howto">' . __('This <a href="%1$s">child theme</a> requires its parent theme, %2$s.', 'robusta') . '</p>', __('http://codex.wordpress.org/Child_Themes', 'robusta'), $this->theme->parent()->display('Name'));
            }
            ?>

				</div>
			</div>

			<?php 
            $item_info = ob_get_contents();
            ob_end_clean();
            $sampleHTML = '';
            if (file_exists(dirname(__FILE__) . '/info-html.html')) {
                Redux_Functions::initWpFilesystem();
                global $wp_filesystem;
                $sampleHTML = $wp_filesystem->get_contents(dirname(__FILE__) . '/info-html.html');
            }
            $of_options_fontsize = array("8px" => "8px", "9px" => "9px", "10px" => "10px", "11px" => "11px", "12px" => "12px", "13px" => "13px", "14px" => "14px", "15px" => "15px", "16px" => "16px", "17px" => "17px", "18px" => "18px", "19px" => "19px", "20px" => "20px", "21px" => "21px", "22px" => "22px", "23px" => "23px", "24px" => "24px", "25px" => "25px", "26px" => "26px", "27px" => "27px", "28px" => "28px", "29px" => "29px", "30px" => "30px", "31px" => "31px", "32px" => "32px", "33px" => "33px", "34px" => "34px", "35px" => "35px", "36px" => "36px", "37px" => "37px", "38px" => "38px", "39px" => "39px", "40px" => "40px");
            $of_options_font = array("1" => "Google Font", "2" => "Standard Font", "3" => "Custom Font");
            //Google font API
            $of_options_google_font = array();
            if (is_admin()) {
                $results = '';
                $whitelist = array('127.0.0.1', '::1');
                if (!in_array($_SERVER['REMOTE_ADDR'], $whitelist)) {
                    $results = wp_remote_get('https://www.googleapis.com/webfonts/v1/webfonts?sort=alpha&key=AIzaSyDnf-ujK_DUCihfvzqdlBokan6zbnrJbi0');
                    if (!is_wp_error($results)) {
                        $results = json_decode($results['body']);
                        if (isset($results->items)) {
                            foreach ($results->items as $font) {
                                $of_options_google_font[$font->family] = $font->family;
                            }
                        }
                    }
                }
            }
            //Standard Fonts
            $of_options_standard_fonts = array('Arial, Helvetica, sans-serif' => 'Arial, Helvetica, sans-serif', "'Arial Black', Gadget, sans-serif" => "'Arial Black', Gadget, sans-serif", "'Bookman Old Style', serif" => "'Bookman Old Style', serif", "'Comic Sans MS', cursive" => "'Comic Sans MS', cursive", "Courier, monospace" => "Courier, monospace", "Garamond, serif" => "Garamond, serif", "Georgia, serif" => "Georgia, serif", "Impact, Charcoal, sans-serif" => "Impact, Charcoal, sans-serif", "'Lucida Console', Monaco, monospace" => "'Lucida Console', Monaco, monospace", "'Lucida Sans Unicode', 'Lucida Grande', sans-serif" => "'Lucida Sans Unicode', 'Lucida Grande', sans-serif", "'MS Sans Serif', Geneva, sans-serif" => "'MS Sans Serif', Geneva, sans-serif", "'MS Serif', 'New York', sans-serif" => "'MS Serif', 'New York', sans-serif", "'Palatino Linotype', 'Book Antiqua', Palatino, serif" => "'Palatino Linotype', 'Book Antiqua', Palatino, serif", "Tahoma, Geneva, sans-serif" => "Tahoma, Geneva, sans-serif", "'Times New Roman', Times, serif" => "'Times New Roman', Times, serif", "'Trebuchet MS', Helvetica, sans-serif" => "'Trebuchet MS', Helvetica, sans-serif", "Verdana, Geneva, sans-serif" => "Verdana, Geneva, sans-serif");
            // Custom Font
            $fonts = array();
            $of_options_custom_fonts = array();
            $font_path = get_template_directory() . "/fonts";
            if (!($handle = opendir($font_path))) {
                $fonts = array();
            } else {
                while (false !== ($file = readdir($handle))) {
                    if (strpos($file, ".ttf") !== false || strpos($file, ".eot") !== false || strpos($file, ".svg") !== false || strpos($file, ".woff") !== false) {
                        $fonts[] = $file;
                    }
                }
            }
            closedir($handle);
            foreach ($fonts as $font) {
                $font_name = str_replace(array('.ttf', '.eot', '.svg', '.woff'), '', $font);
                $of_options_custom_fonts[$font_name] = $font_name;
            }
            /* remove dup item */
            $of_options_custom_fonts = array_unique($of_options_custom_fonts);
            /*Sidebar option*/
            $of_options_sidebar = array("Main Sidebar" => "Main Sidebar", "Blog Left Sidebar" => "Blog Left Sidebar", "Blog Right Sidebar" => "Blog Right Sidebar", "Custom Sidebar 1" => "Custom Sidebar 1", "Custom Sidebar 2" => "Custom Sidebar 2", "Custom Sidebar 3" => "Custom Sidebar 3", "Custom Sidebar 4" => "Custom Sidebar 4");
            /*General Setting*/
            $this->sections[] = array('title' => __('General Setting', 'robusta'), 'desc' => __('', 'robusta'), 'icon' => 'el-icon-cogs', 'fields' => array(array('id' => 'tb_less', 'type' => 'switch', 'title' => __('Less Design', 'robusta'), 'subtitle' => __('Use the less design features.', 'robusta'), 'default' => false), array('id' => 'tb_smoothscroll', 'type' => 'switch', 'title' => __('Smoothscroll', 'robusta'), 'subtitle' => __('Use the smoothscroll in your site.', 'robusta'), 'default' => false), array('id' => 'tb_background', 'type' => 'background', 'title' => __('Body Background', 'robusta'), 'subtitle' => __('Body background with image, color, etc.', 'robusta'), 'default' => array('background-color' => '#ffffff')), array('id' => 'tb_google_analytic', 'type' => 'switch', 'title' => __('Google Analytic', 'robusta'), 'subtitle' => __('Use the Google Analytic in your site.', 'robusta'), 'default' => false), array('id' => 'tb_tracking_id', 'type' => 'text', 'title' => __('Tracking ID', 'robusta'), 'subtitle' => __('Please, enter Tracking ID.', 'robusta'), 'required' => array('tb_google_analytic', "=", 1), 'default' => '')));
            /*Logo*/
            $this->sections[] = array('title' => __('Logo', 'robusta'), 'desc' => __('', 'robusta'), 'icon' => 'el-icon-viadeo', 'fields' => array(array('id' => 'tb_favicon_image', 'type' => 'media', 'url' => true, 'title' => __('Favicon Image', 'robusta'), 'subtitle' => __('Select an image file for your favicon.', 'robusta'), 'default' => array('url' => URI_PATH . '/favicon.ico')), array('id' => 'tb_logo_image_hv1', 'type' => 'media', 'url' => true, 'title' => __('Logo Image Heder 1', 'robusta'), 'subtitle' => __('Select an image file for your logo.', 'robusta'), 'default' => array('url' => URI_PATH . '/assets/images/logo-v1.png')), array('id' => 'tb_logo_image_hv2', 'type' => 'media', 'url' => true, 'title' => __('Logo Image Heder 2', 'robusta'), 'subtitle' => __('Select an image file for your logo.', 'robusta'), 'default' => array('url' => URI_PATH . '/assets/images/logo-v2.png'))));
            /*Header*/
            $this->sections[] = array('title' => __('Header', 'robusta'), 'desc' => __('', 'robusta'), 'icon' => 'el-icon-file-edit', 'fields' => array(array('id' => 'tb_header_layout', 'type' => 'image_select', 'title' => __('Header Layout', 'robusta'), 'subtitle' => __('Select header layout in your site.', 'robusta'), 'options' => array('header-v1' => array('alt' => 'Header V1', 'img' => URI_PATH . '/assets/images/headers/header-v1.png'), 'header-v2' => array('alt' => 'Header V2', 'img' => URI_PATH . '/assets/images/headers/header-v2.png')), 'default' => 'header-v1'), array('id' => 'tb_header_stick', 'type' => 'switch', 'title' => __('Header Stick', 'robusta'), 'subtitle' => __('Enable header stick.', 'robusta'), 'default' => false), array('id' => 'tb_manage_location', 'type' => 'select', 'title' => __('Manage Location', 'robusta'), 'subtitle' => __('Select manage location of menu in this header.', 'robusta'), 'options' => array('' => 'Auto Navigation', 'main_navigation' => 'Main Navigation', 'secondary_navigation' => 'Secondary Navigation'), 'default' => '')));
            /*Menu Header V1*/
            $this->sections[] = array('title' => __('Menu Header V1', 'robusta'), 'desc' => __('', 'robusta'), 'icon' => 'el-icon-list');
            $this->sections[] = array('title' => __('First Level', 'robusta'), 'desc' => __('', 'robusta'), 'icon' => '', 'subsection' => true, 'fields' => array(array('id' => 'tb_first_level_font_hv1', 'type' => 'typography', 'title' => __('Font Options', 'robusta'), 'google' => true, 'font-backup' => true, 'letter-spacing' => true, 'output' => array('.ro-header-v1 .ro-menu-list > ul > li > a, .ro-header-v2 .ro-menu-list > ul > li > a'), 'units' => 'px', 'subtitle' => __('Typography option with each property can be called individually.', 'robusta'), 'default' => array('color' => '#fff', 'font-style' => '400', 'font-family' => 'Montserrat', 'google' => true, 'font-size' => '12px', 'line-height' => '61px', 'letter-spacing' => '1.6px')), array('id' => 'tb_first_level_padding_hv1', 'title' => __('Padding', 'robusta'), 'subtitle' => __('Please, Enter padding.', 'robusta'), 'type' => 'spacing', 'mode' => 'padding', 'units' => array('px'), 'output' => array('.ro-header-v1 .ro-menu-list > ul > li > a'), 'default' => array('padding-top' => '0px', 'padding-right' => '15px', 'padding-bottom' => '0px', 'padding-left' => '15px', 'units' => 'px'))));
            $this->sections[] = array('title' => __('Sub Level', 'robusta'), 'desc' => __('', 'robusta'), 'icon' => '', 'subsection' => true, 'fields' => array(array('id' => 'tb_sub_level_font_hv1', 'type' => 'typography', 'title' => __('Font Options', 'robusta'), 'google' => true, 'font-backup' => true, 'letter-spacing' => true, 'output' => array('.ro-header-v1 .ro-menu-list > ul > li.menu-item-has-children > ul > li a'), 'units' => 'px', 'subtitle' => __('Typography option with each property can be called individually.', 'robusta'), 'default' => array('color' => '#fff', 'font-style' => '400', 'font-family' => 'Montserrat', 'google' => true, 'font-size' => '12px', 'line-height' => '26.4px', 'letter-spacing' => '1.6px')), array('id' => 'tb_sub_level_padding_hv1', 'title' => __('Padding', 'robusta'), 'subtitle' => __('Please, Enter padding.', 'robusta'), 'type' => 'spacing', 'mode' => 'padding', 'units' => array('px'), 'output' => array('.ro-header-v1 .ro-menu-list > ul > li.menu-item-has-children > ul > li > a'), 'default' => array('padding-top' => '10px', 'padding-right' => '10px', 'padding-bottom' => '10px', 'padding-left' => '20px', 'units' => 'px'))));
            /*Menu Header V2*/
            $this->sections[] = array('title' => __('Menu Header V2', 'robusta'), 'desc' => __('', 'robusta'), 'icon' => 'el-icon-list');
            $this->sections[] = array('title' => __('First Level', 'robusta'), 'desc' => __('', 'robusta'), 'icon' => '', 'subsection' => true, 'fields' => array(array('id' => 'tb_first_level_font_hv2', 'type' => 'typography', 'title' => __('Font Options', 'robusta'), 'google' => true, 'font-backup' => true, 'letter-spacing' => true, 'output' => array('.ro-header-v2 .ro-menu-list > ul > li > a'), 'units' => 'px', 'subtitle' => __('Typography option with each property can be called individually.', 'robusta'), 'default' => array('color' => '#202020', 'font-style' => '400', 'font-family' => 'Montserrat', 'google' => true, 'font-size' => '12px', 'line-height' => '101px', 'letter-spacing' => '1.6px')), array('id' => 'tb_first_level_padding_hv2', 'title' => __('Padding', 'robusta'), 'subtitle' => __('Please, Enter padding.', 'robusta'), 'type' => 'spacing', 'mode' => 'padding', 'units' => array('px'), 'output' => array('.ro-header-v2 .ro-menu-list > ul > li > a'), 'default' => array('padding-top' => '0px', 'padding-right' => '15px', 'padding-bottom' => '0px', 'padding-left' => '15px', 'units' => 'px'))));
            $this->sections[] = array('title' => __('Sub Level', 'robusta'), 'desc' => __('', 'robusta'), 'icon' => '', 'subsection' => true, 'fields' => array(array('id' => 'tb_sub_level_font_hv2', 'type' => 'typography', 'title' => __('Font Options', 'robusta'), 'google' => true, 'font-backup' => true, 'letter-spacing' => true, 'output' => array('.ro-header-v2 .ro-menu-list > ul > li.menu-item-has-children > ul > li a'), 'units' => 'px', 'subtitle' => __('Typography option with each property can be called individually.', 'robusta'), 'default' => array('color' => '#fff', 'font-style' => '400', 'font-family' => 'Montserrat', 'google' => true, 'font-size' => '12px', 'line-height' => '26.4px', 'letter-spacing' => '1.6px')), array('id' => 'tb_sub_level_padding_hv2', 'title' => __('Padding', 'robusta'), 'subtitle' => __('Please, Enter padding.', 'robusta'), 'type' => 'spacing', 'mode' => 'padding', 'units' => array('px'), 'output' => array('.ro-header-v2 .ro-menu-list > ul > li.menu-item-has-children > ul > li > a'), 'default' => array('padding-top' => '10px', 'padding-right' => '10px', 'padding-bottom' => '10px', 'padding-left' => '20px', 'units' => 'px'))));
            /*Footer*/
            $this->sections[] = array('title' => __('Footer', 'robusta'), 'desc' => __('', 'robusta'), 'icon' => 'el-icon-file-edit');
            $this->sections[] = array('title' => __('Footer Top', 'robusta'), 'desc' => __('', 'robusta'), 'icon' => '', 'subsection' => true, 'fields' => array(array('id' => 'tb_footer_top_margin', 'title' => __('Margin', 'robusta'), 'subtitle' => __('Please, Enter margin.', 'robusta'), 'type' => 'spacing', 'mode' => 'margin', 'units' => array('px'), 'output' => array('.ro-footer .ro-footer-top'), 'default' => array('margin-top' => '0px', 'margin-right' => '0px', 'margin-bottom' => '0px', 'margin-left' => '0px', 'units' => 'px')), array('id' => 'tb_footer_top_padding', 'title' => __('Padding', 'robusta'), 'subtitle' => __('Please, Enter padding.', 'robusta'), 'type' => 'spacing', 'units' => array('px'), 'output' => array('.ro-footer .ro-footer-top'), 'default' => array('padding-top' => '0px', 'padding-right' => '0px', 'padding-bottom' => '0px', 'padding-left' => '0px', 'units' => 'px')), array('id' => 'tb_footer_top_column', 'type' => 'select', 'title' => __('Footer Top Columns', 'robusta'), 'subtitle' => __('Select column of footer top.', 'robusta'), 'options' => array('1' => '1 Column', '2' => '2 Columns', '3' => '3 Columns', '4' => '4 Columns'), 'default' => '4'), array('id' => 'tb_footer_top_col1', 'type' => 'text', 'title' => __('Footer Top Column 1', 'robusta'), 'subtitle' => __('Please, Enter class bootstrap and extra class. Ex: col-xs-12 col-sm-6 col-md-3 col-lg-3 el-class.', 'robusta'), 'default' => 'col-xs-12 col-sm-6 col-md-3 col-lg-3', 'required' => array('tb_footer_top_column', '>=', '1')), array('id' => 'tb_footer_top_col2', 'type' => 'text', 'title' => __('Footer Top Column 2', 'robusta'), 'subtitle' => __('Please, Enter class bootstrap and extra class. Ex: col-xs-12 col-sm-6 col-md-3 col-lg-3 el-class.', 'robusta'), 'default' => 'col-xs-12 col-sm-6 col-md-3 col-lg-3', 'required' => array('tb_footer_top_column', '>=', '2')), array('id' => 'tb_footer_top_col3', 'type' => 'text', 'title' => __('Footer Top Column 3', 'robusta'), 'subtitle' => __('Please, Enter class bootstrap and extra class. Ex: col-xs-12 col-sm-6 col-md-3 col-lg-3 el-class.', 'robusta'), 'default' => 'col-xs-12 col-sm-6 col-md-3 col-lg-3', 'required' => array('tb_footer_top_column', '>=', '3')), array('id' => 'tb_footer_top_col4', 'type' => 'text', 'title' => __('Footer Top Column 4', 'robusta'), 'subtitle' => __('Please, Enter class bootstrap and extra class. Ex: col-xs-12 col-sm-6 col-md-3 col-lg-3 el-class.', 'robusta'), 'default' => 'col-xs-12 col-sm-6 col-md-3 col-lg-3', 'required' => array('tb_footer_top_column', '>=', '4'))));
            $this->sections[] = array('title' => __('Footer Bottom', 'robusta'), 'desc' => __('', 'robusta'), 'icon' => '', 'subsection' => true, 'fields' => array(array('id' => 'tb_footer_bottom_margin', 'title' => __('Margin', 'robusta'), 'subtitle' => __('Please, Enter margin.', 'robusta'), 'type' => 'spacing', 'mode' => 'margin', 'units' => array('px'), 'output' => array('.ro-footer .ro-footer-bottom'), 'default' => array('margin-top' => '0px', 'margin-right' => '0px', 'margin-bottom' => '0px', 'margin-left' => '0px', 'units' => 'px')), array('id' => 'tb_footer_bottom_padding', 'title' => __('Padding', 'robusta'), 'subtitle' => __('Please, Enter padding.', 'robusta'), 'type' => 'spacing', 'units' => array('px'), 'output' => array('.ro-footer .ro-footer-bottom'), 'default' => array('padding-top' => '30px', 'padding-right' => '0px', 'padding-bottom' => '30px', 'padding-left' => '0px', 'units' => 'px')), array('id' => 'tb_footer_bottom_column', 'type' => 'select', 'title' => __('Footer Bottom Columns', 'robusta'), 'subtitle' => __('Select column of footer bottom.', 'robusta'), 'options' => array('1' => '1 Column', '2' => '2 Columns'), 'default' => '2'), array('id' => 'tb_footer_bottom_col1', 'type' => 'text', 'title' => __('Footer Bottom Column 1', 'robusta'), 'subtitle' => __('Please, Enter class bootstrap and extra class. Ex: col-xs-12 col-sm-6 col-md-6 col-lg-6 el-class.', 'robusta'), 'default' => 'col-xs-12 col-sm-6 col-md-6 col-lg-6', 'required' => array('tb_footer_bottom_column', '>=', '1')), array('id' => 'tb_footer_bottom_col2', 'type' => 'text', 'title' => __('Footer Bottom Column 2', 'robusta'), 'subtitle' => __('Please, Enter class bootstrap and extra class. Ex: col-xs-12 col-sm-6 col-md-6 col-lg-6 el-class.', 'robusta'), 'default' => 'col-xs-12 col-sm-6 col-md-6 col-lg-6', 'required' => array('tb_footer_bottom_column', '>=', '2'))));
            $this->sections[] = array('title' => __('Footer Dark Styling', 'robusta'), 'desc' => __('', 'robusta'), 'icon' => '', 'subsection' => true, 'fields' => array(array('id' => 'tb_footer_top_bg', 'type' => 'background', 'title' => __('Footer Top Background', 'robusta'), 'subtitle' => __('background with image, color, etc.', 'robusta'), 'default' => array('background-color' => '#000000'), 'output' => array('.ro-footer .ro-footer-top')), array('id' => 'tb_footer_top_text_color', 'type' => 'color', 'title' => __('Footer Top Text Color', 'robusta'), 'subtitle' => __('Controls the text color. (default: #EEEEEE).', 'robusta'), 'default' => '#EEEEEE', 'validate' => 'color', 'output' => array('.ro-footer .ro-footer-top')), array('id' => 'tb_footer_top_heading_color', 'type' => 'color', 'title' => __('Footer Top Heading Color', 'robusta'), 'subtitle' => __('Controls the headings color. (default: #FFFFFF).', 'robusta'), 'default' => '#FFFFFF', 'validate' => 'color', 'output' => array('.ro-footer .ro-footer-top h1,.ro-footer .ro-footer-top h2,.ro-footer .ro-footer-top h3,.ro-footer .ro-footer-top h4,.ro-footer .ro-footer-top h5,.ro-footer .ro-footer-top h6')), array('id' => 'tb_footer_top_link_color', 'type' => 'link_color', 'title' => __('Footer Top Links Color', 'robusta'), 'subtitle' => __('Controls the link color. (default: #FFFFFF).', 'robusta'), 'default' => array('regular' => '#FFFFFF', 'hover' => '#FFFFFF', 'active' => '#FFFFFF', 'visited' => '#FFFFFF'), 'output' => array('.ro-footer .ro-footer-top a')), array('id' => 'tb_footer_bottom_bg', 'type' => 'background', 'title' => __('Footer Bottom Background', 'robusta'), 'subtitle' => __('background with image, color, etc.', 'robusta'), 'default' => array('background-color' => '#000000'), 'output' => array('.ro-footer .ro-footer-bottom')), array('id' => 'tb_footer_bottom_text_color', 'type' => 'color', 'title' => __('Footer Bottom Text Color', 'robusta'), 'subtitle' => __('Controls the text color. (default: #EEEEEE).', 'robusta'), 'default' => '#EEEEEE', 'validate' => 'color', 'output' => array('.ro-footer .ro-footer-bottom')), array('id' => 'tb_footer_bottom_heading_color', 'type' => 'color', 'title' => __('Footer Bottom Heading Color', 'robusta'), 'subtitle' => __('Controls the headings color. (default: #CCCCCC).', 'robusta'), 'default' => '#CCCCCC', 'validate' => 'color', 'output' => array('.ro-footer .ro-footer-bottom h1,.ro-footer .ro-footer-bottom h2,.ro-footer .ro-footer-bottom h3,.ro-footer .ro-footer-bottom h4,.ro-footer .ro-footer-bottom h5,.ro-footer .ro-footer-bottom h6')), array('id' => 'tb_footer_bottom_link_color', 'type' => 'link_color', 'title' => __('Footer Bottom Links Color', 'robusta'), 'subtitle' => __('Controls the link color. (default: #FFFFFF).', 'robusta'), 'default' => array('regular' => '#FFFFFF', 'hover' => '#FFFFFF', 'active' => '#FFFFFF', 'visited' => '#FFFFFF'), 'output' => array('.ro-footer .ro-footer-bottom a'))));
            $this->sections[] = array('title' => __('Footer White Styling', 'robusta'), 'desc' => __('', 'robusta'), 'icon' => '', 'subsection' => true, 'fields' => array(array('id' => 'tb_footer_white_top_bg', 'type' => 'background', 'title' => __('Footer Top Background', 'robusta'), 'subtitle' => __('background with image, color, etc.', 'robusta'), 'default' => array('background-color' => '#ffffff'), 'output' => array('.ro-footer.footer-white .ro-footer-top')), array('id' => 'tb_footer_white_top_text_color', 'type' => 'color', 'title' => __('Footer Top Text Color', 'robusta'), 'subtitle' => __('Controls the text color. (default: #EEEEEE).', 'robusta'), 'default' => '#444444', 'validate' => 'color', 'output' => array('.ro-footer.footer-white .ro-footer-top')), array('id' => 'tb_footer_white_top_heading_color', 'type' => 'color', 'title' => __('Footer Top Heading Color', 'robusta'), 'subtitle' => __('Controls the headings color. (default: #FFFFFF).', 'robusta'), 'default' => '#222222', 'validate' => 'color', 'output' => array('.ro-footer.footer-white .ro-footer-top h1,.ro-footer .ro-footer-top h2,.ro-footer .ro-footer-top h3,.ro-footer .ro-footer-top h4,.ro-footer .ro-footer-top h5,.ro-footer .ro-footer-top h6')), array('id' => 'tb_footer_white_top_link_color', 'type' => 'link_color', 'title' => __('Footer Top Links Color', 'robusta'), 'subtitle' => __('Controls the link color. (default: #FFFFFF).', 'robusta'), 'default' => array('regular' => '#222222', 'hover' => '#222222', 'active' => '#222222', 'visited' => '#222222'), 'output' => array('.ro-footer.footer-white .ro-footer-top a')), array('id' => 'tb_footer_white_bottom_bg', 'type' => 'background', 'title' => __('Footer Bottom Background', 'robusta'), 'subtitle' => __('background with image, color, etc.', 'robusta'), 'default' => array('background-color' => '#000000'), 'output' => array('.ro-footer.footer-white .ro-footer-bottom')), array('id' => 'tb_footer_white_bottom_text_color', 'type' => 'color', 'title' => __('Footer Bottom Text Color', 'robusta'), 'subtitle' => __('Controls the text color. (default: #EEEEEE).', 'robusta'), 'default' => '#EEEEEE', 'validate' => 'color', 'output' => array('.ro-footer.footer-white .ro-footer-bottom')), array('id' => 'tb_footer_white_bottom_heading_color', 'type' => 'color', 'title' => __('Footer Bottom Heading Color', 'robusta'), 'subtitle' => __('Controls the headings color. (default: #CCCCCC).', 'robusta'), 'default' => '#CCCCCC', 'validate' => 'color', 'output' => array('.ro-footer.footer-white .ro-footer-bottom h1,.ro-footer .ro-footer-bottom h2,.ro-footer .ro-footer-bottom h3,.ro-footer .ro-footer-bottom h4,.ro-footer .ro-footer-bottom h5,.ro-footer .ro-footer-bottom h6')), array('id' => 'tb_footer_white_bottom_link_color', 'type' => 'link_color', 'title' => __('Footer Bottom Links Color', 'robusta'), 'subtitle' => __('Controls the link color. (default: #FFFFFF).', 'robusta'), 'default' => array('regular' => '#FFFFFF', 'hover' => '#FFFFFF', 'active' => '#FFFFFF', 'visited' => '#FFFFFF'), 'output' => array('.ro-footer.footer-white .ro-footer-bottom a'))));
            /*Styling Setting*/
            $this->sections[] = array('title' => __('Styling Options', 'robusta'), 'desc' => __('', 'robusta'), 'icon' => 'el-icon-tint', 'fields' => array(array('id' => 'tb_primary_color', 'type' => 'color', 'title' => __('Primary Color', 'robusta'), 'subtitle' => __('Controls several items, ex: link hovers, highlights, and more. (default: #FF2B42).', 'robusta'), 'default' => '#FF2B42', 'validate' => 'color'), array('id' => 'tb_secondary_color', 'type' => 'color', 'title' => __('Secondary Color', 'robusta'), 'subtitle' => __('Controls several items, ex: link hovers, highlights, and more. (default: #222222).', 'robusta'), 'default' => '#222222', 'validate' => 'color')));
            /*Typography Setting*/
            $this->sections[] = array('title' => __('Typography', 'robusta'), 'desc' => __('', 'robusta'), 'icon' => 'el-icon-font', 'fields' => array(array('id' => 'tb_body_font', 'type' => 'typography', 'title' => __('Body Font Options', 'robusta'), 'google' => true, 'font-backup' => true, 'letter-spacing' => true, 'output' => array('body'), 'units' => 'px', 'subtitle' => __('Typography option with each property can be called individually.', 'robusta'), 'default' => array('color' => '#333333', 'font-style' => '400', 'font-family' => 'Raleway', 'google' => true, 'font-size' => '14px', 'line-height' => '28px', 'letter-spacing' => '0.48px')), array('id' => 'tb_h1_font', 'type' => 'typography', 'title' => __('H1 Font Options', 'robusta'), 'google' => true, 'font-backup' => true, 'letter-spacing' => true, 'output' => array('body h1, .ro-font-size-1'), 'units' => 'px', 'subtitle' => __('Typography option with each property can be called individually.', 'robusta'), 'default' => array('color' => '#222222', 'font-style' => '400', 'font-family' => 'Montserrat', 'google' => true, 'font-size' => '45px', 'line-height' => '58.5px', 'letter-spacing' => '1.6px')), array('id' => 'tb_h2_font', 'type' => 'typography', 'title' => __('H2 Font Options', 'robusta'), 'google' => true, 'font-backup' => true, 'letter-spacing' => true, 'output' => array('body h2, .ro-font-size-2'), 'units' => 'px', 'subtitle' => __('Typography option with each property can be called individually.', 'robusta'), 'default' => array('color' => '#222222', 'font-style' => '400', 'font-family' => 'Montserrat', 'google' => true, 'font-size' => '30px', 'line-height' => '39px', 'letter-spacing' => '1.6px')), array('id' => 'tb_h3_font', 'type' => 'typography', 'title' => __('H3 Font Options', 'robusta'), 'google' => true, 'font-backup' => true, 'letter-spacing' => true, 'output' => array('body h3, .ro-font-size-3'), 'units' => 'px', 'subtitle' => __('Typography option with each property can be called individually.', 'robusta'), 'default' => array('color' => '#222222', 'font-style' => '400', 'font-family' => 'Montserrat', 'google' => true, 'font-size' => '24px', 'line-height' => '31.2px', 'letter-spacing' => '1.6px')), array('id' => 'tb_h4_font', 'type' => 'typography', 'title' => __('H4 Font Options', 'robusta'), 'google' => true, 'font-backup' => true, 'letter-spacing' => true, 'output' => array('body h4, .ro-font-size-4'), 'units' => 'px', 'subtitle' => __('Typography option with each property can be called individually.', 'robusta'), 'default' => array('color' => '#222222', 'font-style' => '400', 'font-family' => 'Montserrat', 'google' => true, 'font-size' => '20px', 'line-height' => '26px', 'letter-spacing' => '1.6px')), array('id' => 'tb_h5_font', 'type' => 'typography', 'title' => __('H5 Font Options', 'robusta'), 'google' => true, 'font-backup' => true, 'letter-spacing' => true, 'output' => array('body h5, .ro-font-size-5'), 'units' => 'px', 'subtitle' => __('Typography option with each property can be called individually.', 'robusta'), 'default' => array('color' => '#222222', 'font-style' => '400', 'font-family' => 'Montserrat', 'google' => true, 'font-size' => '18px', 'line-height' => '23.4px', 'letter-spacing' => '1.6px')), array('id' => 'tb_h6_font', 'type' => 'typography', 'title' => __('H6 Font Options', 'robusta'), 'google' => true, 'font-backup' => true, 'letter-spacing' => true, 'output' => array('body h6, .ro-font-size-6'), 'units' => 'px', 'subtitle' => __('Typography option with each property can be called individually.', 'robusta'), 'default' => array('color' => '#222222', 'font-style' => '400', 'font-family' => 'Montserrat', 'google' => true, 'font-size' => '16px', 'line-height' => '20.8px', 'letter-spacing' => '1.6px')), array('id' => 'tb_h7_font', 'type' => 'typography', 'title' => __('H7 Font Options', 'robusta'), 'google' => true, 'font-backup' => true, 'letter-spacing' => true, 'output' => array('body h7, .ro-font-size-7'), 'units' => 'px', 'subtitle' => __('Typography option with each property can be called individually.', 'robusta'), 'default' => array('color' => '#222222', 'font-style' => '400', 'font-family' => 'Montserrat', 'google' => true, 'font-size' => '14px', 'line-height' => '18.2px', 'letter-spacing' => '1.6px')), array('id' => 'tb_h8_font', 'type' => 'typography', 'title' => __('H8 Font Options', 'robusta'), 'google' => true, 'font-backup' => true, 'letter-spacing' => true, 'output' => array('body h8, .ro-font-size-8'), 'units' => 'px', 'subtitle' => __('Typography option with each property can be called individually.', 'robusta'), 'default' => array('color' => '#222222', 'font-style' => '400', 'font-family' => 'Montserrat', 'google' => true, 'font-size' => '13px', 'line-height' => '16.9px', 'letter-spacing' => '1.6px'))));
            /*Title Bar Setting*/
            $this->sections[] = array('title' => __('Title Bar', 'robusta'), 'desc' => __('', 'robusta'), 'icon' => 'el-icon-livejournal', 'fields' => array(array('id' => 'tb_title_bar_margin', 'type' => 'spacing', 'output' => array('.ro-blog-title-bar, .ro-page-title-shop'), 'mode' => 'margin', 'units' => array('em', 'px'), 'title' => __('Margin', 'robusta'), 'subtitle' => __('Please, Enter margin of title bar.', 'robusta'), 'default' => array('margin-top' => '0px', 'margin-right' => '0px', 'margin-bottom' => '60px', 'margin-left' => '0px', 'units' => 'px')), array('id' => 'tb_title_bar_padding', 'type' => 'spacing', 'output' => array('.ro-blog-title-bar, .ro-page-title-shop'), 'mode' => 'padding', 'units' => array('em', 'px'), 'title' => __('Padding', 'robusta'), 'subtitle' => __('Please, Enter padding of title bar.', 'robusta'), 'default' => array('padding-top' => '180px', 'padding-right' => '0px', 'padding-bottom' => '70px', 'padding-left' => '0px', 'units' => 'px')), array('id' => 'tb_title_bar_bg', 'type' => 'background', 'title' => __('Background', 'robusta'), 'subtitle' => __('background with image, color, etc.', 'robusta'), 'output' => array('.ro-blog-title-bar, .ro-page-title-shop'), 'default' => array('background-color' => '#222222', 'background-repeat' => 'no-repeat', 'background-position' => 'center center', 'background-size' => 'cover', 'background-image' => URI_PATH . '/assets/images/bg_title_bar.jpg')), array('id' => 'tb_title_bar_heading_color', 'type' => 'color', 'title' => __('Title Bar Heading Color', 'robusta'), 'subtitle' => __('Controls the headings color of title bar. (default: #ffffff).', 'robusta'), 'output' => array('.ro-blog-title-bar h2, .woocommerce .ro-page-title-shop h2'), 'default' => '#ffffff', 'validate' => 'color'), array('id' => 'tb_title_bar_link_color', 'type' => 'link_color', 'title' => __('Title Bar Link Color', 'robusta'), 'subtitle' => __('Controls the links color of title bar. (default: #ffffff).', 'robusta'), 'output' => array('.ro-blog-title-bar a, .woocommerce .ro-page-title-shop a'), 'default' => array('regular' => '#ffffff', 'hover' => '#ff2b42', 'active' => '#ff2b42', 'visited' => '#ff2b42')), array('id' => 'tb_title_bar_text_color', 'type' => 'color', 'title' => __('Title Bar Text Color', 'robusta'), 'subtitle' => __('Controls the text color of title bar. (default: #ffffff).', 'robusta'), 'output' => array('.ro-blog-title-bar , .woocommerce .ro-page-title-shop nav'), 'default' => '#ffffff', 'validate' => 'color'), array('id' => 'tb_page_breadcrumb_delimiter', 'type' => 'text', 'title' => __('Delimiter', 'robusta'), 'subtitle' => __('Please, Enter Delimiter of page breadcrumb in title bar.', 'robusta'), 'default' => '/')));
            /*Post Setting*/
            $this->sections[] = array('title' => __('Post Setting', 'robusta'), 'desc' => __('', 'robusta'), 'icon' => 'el-icon-file-edit', 'fields' => array());
            $this->sections[] = array('title' => __('Title Bar', 'robusta'), 'desc' => __('', 'robusta'), 'icon' => '', 'subsection' => true, 'fields' => array(array('id' => 'tb_post_show_page_title', 'type' => 'switch', 'title' => __('Show Page Title', 'robusta'), 'subtitle' => __('Show page title in page title bar.', 'robusta'), 'default' => true), array('id' => 'tb_post_show_page_breadcrumb', 'type' => 'switch', 'title' => __('Show Page Breadcrumb', 'robusta'), 'subtitle' => __('Show page breadcrumb in page title bar.', 'robusta'), 'default' => true)));
            $this->sections[] = array('title' => __('Blog Post', 'robusta'), 'desc' => __('', 'robusta'), 'icon' => '', 'subsection' => true, 'fields' => array(array('id' => 'tb_blog_layout', 'type' => 'image_select', 'title' => __('Select Layout', 'robusta'), 'subtitle' => __('Select layout of blog.', 'robusta'), 'options' => array('2cl' => array('alt' => '2cl', 'img' => URI_PATH_ADMIN . '/assets/images/2cl.png'), '2cr' => array('alt' => '2cr', 'img' => URI_PATH_ADMIN . '/assets/images/2cr.png')), 'default' => '2cr'), array('id' => 'tb_blog_left_sidebar', 'type' => 'select', 'title' => __('Sidebar Left', 'robusta'), 'subtitle' => __('Select sidebar left in blog.', 'robusta'), 'options' => $of_options_sidebar, 'default' => 'Main Sidebar', 'required' => array('tb_blog_layout', '=', '2cl')), array('id' => 'tb_blog_left_sidebar_col', 'type' => 'text', 'title' => __('Sidebar Left Column', 'robusta'), 'subtitle' => __('Please, Enter class bootstrap and extra class. Ex: col-xs-12 col-sm-6 col-md-3 col-lg-3 el-class.', 'robusta'), 'default' => 'col-xs-12 col-sm-4 col-md-3 col-lg-3', 'required' => array('tb_blog_layout', '=', '2cl')), array('id' => 'tb_blog_content_col', 'type' => 'text', 'title' => __('Content Column', 'robusta'), 'subtitle' => __('Please, Enter class bootstrap and extra class. Ex: col-xs-12 col-sm-6 col-md-3 col-lg-3 el-class.', 'robusta'), 'default' => 'col-xs-12 col-sm-8 col-md-9 col-lg-9'), array('id' => 'tb_blog_right_sidebar', 'type' => 'select', 'title' => __('Sidebar Right', 'robusta'), 'subtitle' => __('Select sidebar right in blog.', 'robusta'), 'options' => $of_options_sidebar, 'default' => 'Main Sidebar', 'required' => array('tb_blog_layout', '=', '2cr')), array('id' => 'tb_blog_right_siedebar_col', 'type' => 'text', 'title' => __('Sidebar Right Column', 'robusta'), 'subtitle' => __('Please, Enter class bootstrap and extra class. Ex: col-xs-12 col-sm-6 col-md-3 col-lg-3 el-class.', 'robusta'), 'default' => 'col-xs-12 col-sm-4 col-md-3 col-lg-3', 'required' => array('tb_blog_layout', '=', '2cr')), array('id' => 'tb_blog_show_post_image', 'type' => 'switch', 'title' => __('Show Featured Image', 'robusta'), 'subtitle' => __('Show or not featured image of post in blog.', 'robusta'), 'default' => true), array('id' => 'tb_blog_show_post_title', 'type' => 'switch', 'title' => __('Show Title', 'robusta'), 'subtitle' => __('Show or not title of post in blog.', 'robusta'), 'default' => true), array('id' => 'tb_blog_show_post_meta', 'type' => 'switch', 'title' => __('Show Meta', 'robusta'), 'subtitle' => __('Show or not meta of post in blog.', 'robusta'), 'default' => true), array('id' => 'tb_blog_show_post_excerpt', 'type' => 'switch', 'title' => __('Show Excerpt', 'robusta'), 'subtitle' => __('Show or not excerpt of post in blog.', 'robusta'), 'default' => true), array('id' => 'tb_blog_post_readmore_text', 'type' => 'text', 'title' => __('Read More Text', 'robusta'), 'subtitle' => __('Enter text of label button read more in blog.', 'robusta'), 'default' => 'Read More')));
            $this->sections[] = array('title' => __('Single Post', 'robusta'), 'desc' => __('', 'robusta'), 'icon' => '', 'subsection' => true, 'fields' => array(array('id' => 'tb_post_layout', 'type' => 'image_select', 'title' => __('Select Layout', 'robusta'), 'subtitle' => __('Select layout of single blog.', 'robusta'), 'options' => array('2cl' => array('alt' => '2cl', 'img' => URI_PATH_ADMIN . '/assets/images/2cl.png'), '2cr' => array('alt' => '2cr', 'img' => URI_PATH_ADMIN . '/assets/images/2cr.png')), 'default' => '2cr'), array('id' => 'tb_post_left_sidebar', 'type' => 'select', 'title' => __('Sidebar Left', 'robusta'), 'subtitle' => __('Select sidebar left in blog.', 'robusta'), 'options' => $of_options_sidebar, 'default' => 'Main Sidebar', 'required' => array('tb_post_layout', '=', '2cl')), array('id' => 'tb_post_left_sidebar_col', 'type' => 'text', 'title' => __('Left Sidebar Column', 'robusta'), 'subtitle' => __('Please, Enter class bootstrap and extra class. Ex: col-xs-12 col-sm-6 col-md-3 col-lg-3 el-class.', 'robusta'), 'default' => 'col-xs-12 col-sm-4 col-md-3 col-lg-3', 'required' => array('tb_post_layout', '=', '2cl')), array('id' => 'tb_post_content_col', 'type' => 'text', 'title' => __('Content Column', 'robusta'), 'subtitle' => __('Please, Enter class bootstrap and extra class. Ex: col-xs-12 col-sm-6 col-md-3 col-lg-3 el-class.', 'robusta'), 'default' => 'col-xs-12 col-sm-8 col-md-9 col-lg-9'), array('id' => 'tb_post_right_sidebar', 'type' => 'select', 'title' => __('Sidebar Right', 'robusta'), 'subtitle' => __('Select sidebar right in blog.', 'robusta'), 'options' => $of_options_sidebar, 'default' => 'Main Sidebar', 'required' => array('tb_blog_layout', '=', '2cr')), array('id' => 'tb_post_right_siedebar_col', 'type' => 'text', 'title' => __('Right Sidebar Column', 'robusta'), 'subtitle' => __('Please, Enter class bootstrap and extra class. Ex: col-xs-12 col-sm-6 col-md-3 col-lg-3 el-class.', 'robusta'), 'default' => 'col-xs-12 col-sm-4 col-md-3 col-lg-3', 'required' => array('tb_blog_layout', '=', '2cr')), array('id' => 'tb_post_show_post_image', 'type' => 'switch', 'title' => __('Show Featured Image', 'robusta'), 'subtitle' => __('Show or not featured image of post on your single blog.', 'robusta'), 'default' => true), array('id' => 'tb_post_show_post_title', 'type' => 'switch', 'title' => __('Show Title', 'robusta'), 'subtitle' => __('Show or not title of post on your single blog.', 'robusta'), 'default' => true), array('id' => 'tb_post_show_post_meta', 'type' => 'switch', 'title' => __('Show Meta', 'robusta'), 'subtitle' => __('Show or not meta of post on your single blog.', 'robusta'), 'default' => true), array('id' => 'tb_post_show_post_desc', 'type' => 'switch', 'title' => __('Show Description', 'robusta'), 'subtitle' => __('Show or not description of post on your single blog.', 'robusta'), 'default' => true), array('id' => 'tb_post_show_post_nav', 'type' => 'switch', 'title' => __('Show Navigation', 'robusta'), 'subtitle' => __('Show or not post navigation on your single blog.', 'robusta'), 'default' => true), array('id' => 'tb_post_show_post_tags', 'type' => 'switch', 'title' => __('Show Tags', 'robusta'), 'subtitle' => __('Show or not post tags on your single blog.', 'robusta'), 'default' => true), array('id' => 'tb_post_show_post_author', 'type' => 'switch', 'title' => __('Show Author', 'robusta'), 'subtitle' => __('Show or not post author on your single blog.', 'robusta'), 'default' => true), array('id' => 'tb_post_show_post_comment', 'type' => 'switch', 'title' => __('Show Comment', 'robusta'), 'subtitle' => __('Show or not post comment on your single blog.', 'robusta'), 'default' => true)));
            /*Page Setting*/
            $this->sections[] = array('title' => __('Page Setting', 'robusta'), 'desc' => __('', 'robusta'), 'icon' => 'el-icon-list-alt', 'fields' => array(array('id' => 'tb_page_show_page_title', 'type' => 'switch', 'title' => __('Show Page Title', 'robusta'), 'subtitle' => __('Show page title in page title bar.', 'robusta'), 'default' => true), array('id' => 'tb_page_show_page_breadcrumb', 'type' => 'switch', 'title' => __('Show Page Breadcrumb', 'robusta'), 'subtitle' => __('Show page breadcrumb in page title bar.', 'robusta'), 'default' => true), array('id' => 'tb_page_show_page_comment', 'type' => 'switch', 'title' => __('Show Page Comment', 'robusta'), 'subtitle' => __('Show or not page comment on your page.', 'robusta'), 'default' => true)));
            /*Custom CSS*/
            $this->sections[] = array('title' => __('Custom CSS', 'robusta'), 'desc' => __('', 'robusta'), 'icon' => 'el-icon-css', 'fields' => array(array('id' => 'custom_css_code', 'type' => 'ace_editor', 'title' => __('Custom CSS Code', 'robusta'), 'subtitle' => __('Quickly add some CSS to your theme by adding it to this block..', 'robusta'), 'mode' => 'css', 'theme' => 'monokai', 'default' => '')));
            /*Import / Export*/
            $this->sections[] = array('title' => __('Import / Export', 'robusta'), 'desc' => __('Import and Export your Redux Framework settings from file, text or URL.', 'robusta'), 'icon' => 'el-icon-refresh', 'fields' => array(array('id' => 'tb_import_export', 'type' => 'import_export', 'title' => 'Import Export', 'subtitle' => 'Save and restore your Redux options', 'full_width' => false), array('id' => 'tb_import', 'type' => 'js_button', 'title' => 'Import sample data', 'subtitle' => '<a class="button-secondary" id="import" href="javascript:void(0);">Import</a><p class="import-message"></p>')));
        }
        public function setSections()
        {
            /**
                          Used within different fields. Simply examples. Search for ACTUAL DECLARATION for field examples
                         * */
            // Background Patterns Reader
            $sample_patterns_path = ReduxFramework::$_dir . '../sample/patterns/';
            $sample_patterns_url = ReduxFramework::$_url . '../sample/patterns/';
            $sample_patterns = array();
            if (is_dir($sample_patterns_path)) {
                if ($sample_patterns_dir = opendir($sample_patterns_path)) {
                    $sample_patterns = array();
                    while (($sample_patterns_file = readdir($sample_patterns_dir)) !== false) {
                        if (stristr($sample_patterns_file, '.png') !== false || stristr($sample_patterns_file, '.jpg') !== false) {
                            $name = explode('.', $sample_patterns_file);
                            $name = str_replace('.' . end($name), '', $sample_patterns_file);
                            $sample_patterns[] = array('alt' => $name, 'img' => $sample_patterns_url . $sample_patterns_file);
                        }
                    }
                }
            }
            ob_start();
            $ct = wp_get_theme();
            $this->theme = $ct;
            $item_name = $this->theme->get('Name');
            $tags = $this->theme->Tags;
            $screenshot = $this->theme->get_screenshot();
            $class = $screenshot ? 'has-screenshot' : '';
            $customize_title = sprintf(__('Customize &#8220;%s&#8221;', 'redux-framework'), $this->theme->display('Name'));
            ?>
            <div id="current-theme" class="<?php 
            echo esc_attr($class);
            ?>
">
            <?php 
            if ($screenshot) {
                ?>
                <?php 
                if (current_user_can('edit_theme_options')) {
                    ?>
                        <a href="<?php 
                    echo wp_customize_url();
                    ?>
" class="load-customize hide-if-no-customize" title="<?php 
                    echo esc_attr($customize_title);
                    ?>
">
                            <img src="<?php 
                    echo esc_url($screenshot);
                    ?>
" alt="<?php 
                    esc_attr_e('Current theme preview', 'roadthemes');
                    ?>
" />
                        </a>
                <?php 
                }
                ?>
                    <img class="hide-if-customize" src="<?php 
                echo esc_url($screenshot);
                ?>
" alt="<?php 
                esc_attr_e('Current theme preview', 'roadthemes');
                ?>
" />
                <?php 
            }
            ?>

                <h4><?php 
            echo $this->theme->display('Name');
            ?>
</h4>

                <div>
                    <ul class="theme-info">
                        <li><?php 
            printf(__('By %s', 'redux-framework'), $this->theme->display('Author'));
            ?>
</li>
                        <li><?php 
            printf(__('Version %s', 'redux-framework'), $this->theme->display('Version'));
            ?>
</li>
                        <li><?php 
            echo '<strong>' . __('Tags', 'redux-framework') . ':</strong> ';
            printf($this->theme->display('Tags'));
            ?>
</li>
                    </ul>
                    <p class="theme-description"><?php 
            echo $this->theme->display('Description');
            ?>
</p>
            <?php 
            if ($this->theme->parent()) {
                printf(' <p class="howto">' . __('This <a href="%1$s">child theme</a> requires its parent theme, %2$s.') . '</p>', __('http://codex.wordpress.org/Child_Themes', 'redux-framework'), $this->theme->parent()->display('Name'));
            }
            ?>

                </div>
            </div>

            <?php 
            $item_info = ob_get_contents();
            ob_end_clean();
            $sampleHTML = '';
            if (file_exists(dirname(__FILE__) . '/info-html.html')) {
                Redux_Functions::initWpFilesystem();
                global $wp_filesystem;
                $sampleHTML = $wp_filesystem->get_contents(dirname(__FILE__) . '/info-html.html');
            }
            // General
            $this->sections[] = array('title' => __('General', 'redux-framework'), 'desc' => __('General theme options', 'redux-framework'), 'icon' => 'el-icon-cog', 'fields' => array(array('id' => 'logo_main', 'type' => 'media', 'title' => __('Logo', 'redux-framework'), 'compiler' => 'true', 'mode' => false, 'desc' => __('Upload logo here.', 'redux-framework')), array('id' => 'logo_footer', 'type' => 'media', 'title' => __('Logo Footer', 'redux-framework'), 'compiler' => 'true', 'mode' => false, 'desc' => __('Upload logo here.', 'redux-framework')), array('id' => 'opt-favicon', 'type' => 'media', 'title' => __('Favicon', 'redux-framework'), 'compiler' => 'true', 'mode' => false, 'desc' => __('Upload favicon here.', 'redux-framework')), array('id' => 'image_error', 'type' => 'media', 'title' => __('Image 404', 'redux-framework'), 'subtitle' => __('Image for error 404 page', 'redux-framework'), 'compiler' => 'true', 'mode' => false)));
            // Background
            $this->sections[] = array('title' => __('Background', 'redux-framework'), 'desc' => __('Use this section to upload background images, select background color', 'redux-framework'), 'icon' => 'el-icon-picture', 'fields' => array(array('id' => 'background_opt', 'type' => 'background', 'output' => array('body'), 'title' => __('Body Background', 'redux-framework'), 'subtitle' => __('Body background with image, color. Only work with box layout', 'redux-framework'), 'default' => '#ffffff')));
            // Colors
            $this->sections[] = array('title' => __('Colors', 'redux-framework'), 'desc' => __('Color options', 'redux-framework'), 'icon' => 'el-icon-tint', 'fields' => array(array('id' => 'primary_color', 'type' => 'color', 'title' => __('Primary Color', 'redux-framework'), 'subtitle' => __('Pick a color for primary color (default: #c38749).', 'redux-framework'), 'transparent' => false, 'default' => '#c38749', 'validate' => 'color'), array('id' => 'sale_color', 'type' => 'color', 'title' => __('Sale Label BG Color', 'redux-framework'), 'subtitle' => __('Pick a color for bg sale label (default: #c38749).', 'redux-framework'), 'transparent' => false, 'default' => '#c38749', 'validate' => 'color'), array('id' => 'saletext_color', 'type' => 'color', 'title' => __('Sale Label Text Color', 'redux-framework'), 'subtitle' => __('Pick a color for sale label text (default: #ffffff).', 'redux-framework'), 'transparent' => false, 'default' => '#ffffff', 'validate' => 'color'), array('id' => 'rate_color', 'type' => 'color', 'title' => __('Rating Star Color', 'redux-framework'), 'subtitle' => __('Pick a color for star of rating (default: #c38749).', 'redux-framework'), 'transparent' => false, 'default' => '#c38749', 'validate' => 'color')));
            //Header
            $this->sections[] = array('title' => __('Header', 'redux-framework'), 'desc' => __('Header options', 'redux-framework'), 'icon' => 'el-icon-tasks', 'fields' => array(array('id' => 'header_layout', 'type' => 'select', 'title' => __('Header Layout', 'redux-framework'), 'customizer_only' => false, 'options' => array('default' => 'Default', 'second' => 'Second'), 'default' => 'default'), array('id' => 'welcome_message', 'type' => 'text', 'title' => __('Welcome message', 'redux-framework'), 'default' => 'Default welcome message'), array('id' => 'slider_alias', 'type' => 'text', 'title' => __('Slider Alias', 'redux-framework'), 'subtitle' => __('Enter the slider alias', 'redux-framework'), 'default' => 'home-slider1'), array('id' => 'mobile_menu_label', 'type' => 'text', 'title' => __('Mobile menu label', 'redux-framework'), 'subtitle' => __('The label for mobile menu (example: Menu, Go to...', 'redux-framework'), 'default' => 'Menu')));
            //Footer
            $this->sections[] = array('title' => __('Footer', 'redux-framework'), 'desc' => __('Footer options', 'redux-framework'), 'icon' => 'el-icon-cog', 'fields' => array(array('id' => 'product_tag_title', 'type' => 'text', 'title' => __('Product tag title', 'redux-framework'), 'default' => 'Tags Populares'), array('id' => 'twitter_widget_title', 'type' => 'text', 'title' => __('Twitter widget title', 'redux-framework'), 'default' => 'Ultimos Tweets'), array('id' => 'twitter_username', 'type' => 'text', 'title' => __('Twitter Username', 'redux-framework'), 'default' => 'roadthemes'), array('id' => 'copyright', 'type' => 'editor', 'title' => __('Copyright information', 'redux-framework'), 'subtitle' => __('HTML tags allowed: a, br, em, strong', 'redux-framework'), 'default' => 'Copyright © 2014 <a href="http://www.roadthemes.com/">Roadthemes.</a> All Rights Reserved', 'args' => array('teeny' => true, 'textarea_rows' => 5, 'media_buttons' => false)), array('id' => 'payment_icons', 'type' => 'editor', 'title' => __('Payment icons', 'redux-framework'), 'subtitle' => __('HTML tags allowed: a, img', 'redux-framework'), 'default' => '', 'args' => array('teeny' => true, 'textarea_rows' => 5, 'media_buttons' => true))));
            $this->sections[] = array('icon' => 'el-icon-website', 'title' => __('Menus', 'redux-framework'), 'subsection' => true, 'fields' => array(array('id' => 'footer_menu1', 'type' => 'select', 'data' => 'menus', 'title' => __('Menu #1', 'redux-framework'), 'subtitle' => __('Select a menu', 'redux-framework')), array('id' => 'footer_menu2', 'type' => 'select', 'data' => 'menus', 'title' => __('Menu #2', 'redux-framework'), 'subtitle' => __('Select a menu', 'redux-framework')), array('id' => 'footer_menu3', 'type' => 'select', 'data' => 'menus', 'title' => __('Menu #3', 'redux-framework'), 'subtitle' => __('Select a menu', 'redux-framework')), array('id' => 'footer_menu4', 'type' => 'select', 'data' => 'menus', 'title' => __('Menu #4', 'redux-framework'), 'subtitle' => __('Select a menu', 'redux-framework')), array('id' => 'footer_menu_bottom', 'type' => 'select', 'data' => 'menus', 'title' => __('Menu Bottom', 'redux-framework'), 'subtitle' => __('Select a menu', 'redux-framework'))));
            // Products shortcode
            $this->sections[] = array('icon' => 'el-icon-website', 'title' => __('Products Shortcode', 'redux-framework'), 'subsection' => true, 'fields' => array(array('id' => 'product_shortcode1_title', 'type' => 'text', 'title' => __('Product shortcode title #1', 'redux-framework'), 'default' => 'Top rated'), array('id' => 'product_shortcode1', 'type' => 'text', 'title' => __('Product shortcode #1', 'redux-framework'), 'default' => '[top_rated_products per_page="2"]'), array('id' => 'product_shortcode2_title', 'type' => 'text', 'title' => __('Product shortcode title #2', 'redux-framework'), 'default' => 'best seller'), array('id' => 'product_shortcode2', 'type' => 'text', 'title' => __('Product shortcode #2', 'redux-framework'), 'default' => '[best_selling_products per_page="2"]')));
            //Fonts
            $this->sections[] = array('title' => __('Fonts', 'redux-framework'), 'desc' => __('Fonts options', 'redux-framework'), 'icon' => 'el-icon-font', 'fields' => array(array('id' => 'bodyfont', 'type' => 'typography', 'title' => __('Body font', 'redux-framework'), 'google' => true, 'font-backup' => true, 'subsets' => false, 'text-align' => false, 'all_styles' => true, 'output' => array('body'), 'units' => 'px', 'subtitle' => __('Main body font.', 'redux-framework'), 'default' => array('color' => '#848484', 'font-weight' => '400', 'font-family' => 'Raleway', 'google' => true, 'font-size' => '13px', 'line-height' => '20px')), array('id' => 'headingfont', 'type' => 'typography', 'title' => __('Heading font', 'redux-framework'), 'google' => true, 'font-backup' => false, 'subsets' => false, 'font-size' => false, 'line-height' => false, 'text-align' => false, 'all_styles' => true, 'units' => 'px', 'subtitle' => __('Heading font.', 'redux-framework'), 'default' => array('color' => '#252525', 'font-weight' => '700', 'font-family' => 'Montserrat', 'google' => true)), array('id' => 'menufont', 'type' => 'typography', 'title' => __('Menu font', 'redux-framework'), 'google' => true, 'font-backup' => false, 'subsets' => false, 'font-size' => false, 'line-height' => false, 'text-align' => false, 'all_styles' => true, 'units' => 'px', 'subtitle' => __('Menu font.', 'redux-framework'), 'default' => array('color' => '#252525', 'font-style' => '700', 'font-family' => 'Montserrat', 'google' => true))));
            // Layout
            $this->sections[] = array('title' => __('Layout', 'redux-framework'), 'desc' => __('Select page layout: Box or Full Width', 'redux-framework'), 'icon' => 'el-icon-align-justify', 'fields' => array(array('id' => 'page_layout', 'type' => 'select', 'multi' => false, 'title' => __('Page Layout', 'redux-framework'), 'options' => array('full' => 'Full Width', 'box' => 'Box'), 'default' => 'full'), array('id' => 'preset_option', 'type' => 'select', 'title' => __('Preset', 'redux-framework'), 'subtitle' => __('Select a preset to quickly apply pre-defined colors and fonts', 'redux-framework'), 'customizer_only' => false, 'options' => array('1' => 'Use options', '2' => 'Preset 2', '3' => 'Preset 3', '4' => 'Preset 4'), 'default' => '1'), array('id' => 'enable_sswitcher', 'type' => 'switch', 'title' => __('Show Style Switcher', 'redux-framework'), 'subtitle' => __('The style switcher is only for preview on front-end', 'redux-framework'), 'default' => false)));
            //Brand logos
            $this->sections[] = array('title' => __('Brand Logos', 'redux-framework'), 'desc' => __('Upload brand logos and links', 'redux-framework'), 'icon' => 'el-icon-briefcase', 'fields' => array(array('id' => 'brand_title', 'type' => 'text', 'title' => __('Brand title', 'redux-framework'), 'default' => 'Our Brands'), array('id' => 'brandnumber', 'type' => 'slider', 'title' => __('Number of logos per page', 'redux-framework'), 'desc' => __('Number of logos per page, default value: 6', 'redux-framework'), "default" => 6, "min" => 1, "step" => 1, "max" => 12, 'display_value' => 'text'), array('id' => 'brandscroll', 'type' => 'switch', 'title' => __('Auto scroll', 'redux-framework'), 'default' => true), array('id' => 'brandscrollnumber', 'type' => 'slider', 'title' => __('Scroll amount', 'redux-framework'), 'desc' => __('Number of logos to scroll one time, default value: 2', 'redux-framework'), "default" => 2, "min" => 1, "step" => 1, "max" => 12, 'display_value' => 'text'), array('id' => 'brandpause', 'type' => 'slider', 'title' => __('Pause in (seconds)', 'redux-framework'), 'desc' => __('Pause time, default value: 3000', 'redux-framework'), "default" => 3000, "min" => 1000, "step" => 500, "max" => 10000, 'display_value' => 'text'), array('id' => 'brandanimate', 'type' => 'slider', 'title' => __('Animate in (seconds)', 'redux-framework'), 'desc' => __('Animate time, default value: 2000', 'redux-framework'), "default" => 2000, "min" => 300, "step" => 100, "max" => 5000, 'display_value' => 'text'), array('id' => 'brand_logos', 'type' => 'slides', 'title' => __('Logos', 'redux-framework'), 'desc' => __('Upload logo image and enter logo link.', 'redux-framework'), 'placeholder' => array('title' => __('Title', 'redux-framework'), 'description' => __('Description', 'redux-framework'), 'url' => __('Link', 'redux-framework')))));
            //Categories carousel
            $this->sections[] = array('title' => __('Categories carousel', 'redux-framework'), 'desc' => __('Upload category images and links', 'redux-framework'), 'icon' => 'el-icon-random', 'fields' => array(array('id' => 'catenumber', 'type' => 'slider', 'title' => __('Number of categories per page', 'redux-framework'), 'desc' => __('Number of categories per page, default value: 4', 'redux-framework'), "default" => 4, "min" => 1, "step" => 1, "max" => 8, 'display_value' => 'text'), array('id' => 'catescroll', 'type' => 'switch', 'title' => __('Auto scroll', 'redux-framework'), 'default' => true), array('id' => 'catescrollnumber', 'type' => 'slider', 'title' => __('Scroll amount', 'redux-framework'), 'desc' => __('Number of categories to scroll one time, default value: 1', 'redux-framework'), "default" => 1, "min" => 1, "step" => 1, "max" => 4, 'display_value' => 'text'), array('id' => 'catepause', 'type' => 'slider', 'title' => __('Pause in (seconds)', 'redux-framework'), 'desc' => __('Pause time, default value: 3000', 'redux-framework'), "default" => 3000, "min" => 1000, "step" => 500, "max" => 10000, 'display_value' => 'text'), array('id' => 'cateanimate', 'type' => 'slider', 'title' => __('Animate in (seconds)', 'redux-framework'), 'desc' => __('Animate time, default value: 2000', 'redux-framework'), "default" => 2000, "min" => 300, "step" => 100, "max" => 5000, 'display_value' => 'text'), array('id' => 'cate_images', 'type' => 'slides', 'title' => __('Categories', 'redux-framework'), 'desc' => __('Upload image and enter category link.', 'redux-framework'), 'placeholder' => array('title' => __('Title', 'redux-framework'), 'description' => __('Description', 'redux-framework'), 'url' => __('Link', 'redux-framework')))));
            // Sidebar
            $this->sections[] = array('title' => __('Sidebar', 'redux-framework'), 'desc' => __('Sidebar options', 'redux-framework'), 'icon' => 'el-icon-cog', 'fields' => array(array('id' => 'sidebar_pos', 'type' => 'radio', 'title' => __('Main Sidebar Position', 'redux-framework'), 'subtitle' => __('Sidebar on category page', 'redux-framework'), 'options' => array('left' => 'Left', 'right' => 'Right'), 'default' => 'left'), array('id' => 'sidebarse_pos', 'type' => 'radio', 'title' => __('Secondary Sidebar Position', 'redux-framework'), 'subtitle' => __('Sidebar on pages', 'redux-framework'), 'options' => array('left' => 'Left', 'right' => 'Right'), 'default' => 'left'), array('id' => 'sidebarblog_pos', 'type' => 'radio', 'title' => __('Blog Sidebar Position', 'redux-framework'), 'subtitle' => __('Sidebar on Blog pages', 'redux-framework'), 'options' => array('left' => 'Left', 'right' => 'Right'), 'default' => 'right')));
            // Product
            $this->sections[] = array('title' => __('Product', 'redux-framework'), 'desc' => __('Use this section to select options for product', 'redux-framework'), 'icon' => 'el-icon-tags', 'fields' => array(array('id' => 'shop_layout', 'type' => 'select', 'title' => __('Shop Layout', 'redux-framework'), 'customizer_only' => false, 'options' => array('sidebar' => 'Sidebar', 'fullwidth' => 'Full Width'), 'default' => 'sidebar'), array('id' => 'default_view', 'type' => 'select', 'title' => __('Shop default view', 'redux-framework'), 'customizer_only' => false, 'options' => array('grid-view' => 'Grid View', 'list-view' => 'List View'), 'default' => 'grid-view'), array('id' => 'product_per_page', 'type' => 'slider', 'title' => __('Products per page', 'redux-framework'), 'subtitle' => __('Amount of products per page on category page', 'redux-framework'), "default" => 12, "min" => 4, "step" => 1, "max" => 48, 'display_value' => 'text'), array('id' => 'product_per_row', 'type' => 'slider', 'title' => __('Product columns', 'redux-framework'), 'subtitle' => __('Amount of product columns on category page', 'redux-framework'), 'desc' => __('Only works with: 1, 2, 3, 4, 6', 'redux-framework'), "default" => 3, "min" => 1, "step" => 1, "max" => 6, 'display_value' => 'text'), array('id' => 'product_per_row_fw', 'type' => 'slider', 'title' => __('Product columns on full width shop', 'redux-framework'), 'subtitle' => __('Amount of product columns on full width category page', 'redux-framework'), 'desc' => __('Only works with: 1, 2, 3, 4, 6', 'redux-framework'), "default" => 4, "min" => 1, "step" => 1, "max" => 6, 'display_value' => 'text'), array('id' => 'second_image', 'type' => 'switch', 'title' => __('Use secondary product image', 'redux-framework'), 'default' => false), array('id' => 'related_title', 'type' => 'text', 'title' => __('Related products title', 'redux-framework'), 'default' => 'Related Products'), array('id' => 'related_amount', 'type' => 'slider', 'title' => __('Number of related products', 'redux-framework'), "default" => 6, "min" => 4, "step" => 1, "max" => 16, 'display_value' => 'text'), array('id' => 'upsells_title', 'type' => 'text', 'title' => __('Up-Sells title', 'redux-framework'), 'default' => 'Up-Sells'), array('id' => 'crosssells_title', 'type' => 'text', 'title' => __('Cross-Sells title', 'redux-framework'), 'default' => 'Cross-Sells'), array('id' => 'detail_link_text', 'type' => 'text', 'title' => __('View details text', 'redux-framework'), 'default' => 'View details'), array('id' => 'quickview_link_text', 'type' => 'text', 'title' => __('View all features text', 'redux-framework'), 'desc' => __('This is the text on quick view box', 'redux-framework'), 'default' => 'See all features'), array('id' => 'share_head_code', 'type' => 'textarea', 'title' => __('ShareThis/AddThis head tag', 'redux-framework'), 'desc' => __('Paste your ShareThis or AddThis head tag here', 'redux-framework-demo'), 'default' => ''), array('id' => 'share_code', 'type' => 'textarea', 'title' => __('ShareThis/AddThis code', 'redux-framework'), 'desc' => __('Paste your ShareThis or AddThis code here', 'redux-framework-demo'), 'default' => '')));
            // Blog options
            $this->sections[] = array('title' => __('Blog', 'redux-framework'), 'desc' => __('Use this section to select options for blog', 'redux-framework'), 'icon' => 'el-icon-file', 'fields' => array(array('id' => 'blog_header_text', 'type' => 'text', 'title' => __('Blog header text', 'redux-framework'), 'default' => 'Blog'), array('id' => 'blog_layout', 'type' => 'select', 'title' => __('Blog Layout', 'redux-framework'), 'customizer_only' => false, 'options' => array('nosidebar' => 'No Sidebar', 'sidebar' => 'Sidebar'), 'default' => 'nosidebar'), array('id' => 'readmore_text', 'type' => 'text', 'title' => __('Read more text', 'redux-framework'), 'default' => 'read more'), array('id' => 'excerpt_length', 'type' => 'slider', 'title' => __('Excerpt length on blog page', 'redux-framework'), "default" => 22, "min" => 10, "step" => 2, "max" => 120, 'display_value' => 'text'), array('id' => 'blogscroll', 'type' => 'switch', 'title' => __('Latest posts auto scroll', 'redux-framework'), 'default' => false), array('id' => 'blogpause', 'type' => 'slider', 'title' => __('Pause in (seconds)', 'redux-framework'), 'desc' => __('Pause time, default value: 3000', 'redux-framework'), "default" => 3000, "min" => 1000, "step" => 500, "max" => 10000, 'display_value' => 'text'), array('id' => 'bloganimate', 'type' => 'slider', 'title' => __('Animate in (seconds)', 'redux-framework'), 'desc' => __('Animate time, default value: 2000', 'redux-framework'), "default" => 2000, "min" => 300, "step" => 100, "max" => 5000, 'display_value' => 'text')));
            // Contact Map
            $this->sections[] = array('title' => __('Contact Map', 'redux-framework'), 'desc' => __('Use this section to select options for Google Map on contact page', 'redux-framework'), 'icon' => 'el-icon-map-marker', 'fields' => array(array('id' => 'enable_map', 'type' => 'switch', 'title' => __('Show map', 'redux-framework'), 'subtitle' => __('Show map on contact page', 'redux-framework'), 'default' => true), array('id' => 'address_by', 'type' => 'radio', 'title' => __('Locate by', 'redux-framework'), 'subtitle' => __('Locate marker by address or coordinate', 'redux-framework'), 'options' => array('address' => 'Address', 'coordinate' => 'Coordinate'), 'default' => 'address'), array('id' => 'map_desc', 'type' => 'editor', 'title' => __('Map description', 'redux-framework'), 'subtitle' => __('The text on map popup', 'redux-framework'), 'default' => '', 'args' => array('teeny' => true, 'textarea_rows' => 5, 'media_buttons' => false)), array('id' => 'map_lat', 'type' => 'text', 'title' => __('Latitude', 'redux-framework'), 'default' => '51.50657'), array('id' => 'map_long', 'type' => 'text', 'title' => __('Longtitude', 'redux-framework'), 'default' => '-0.13408'), array('id' => 'map_address', 'type' => 'text', 'title' => __('Address', 'redux-framework'), 'default' => 'Pall Mall, London England'), array('id' => 'map_zoom', 'type' => 'slider', 'title' => __('Zoom level', 'redux-framework'), "default" => 17, "min" => 0, "step" => 1, "max" => 21, 'display_value' => 'text'), array('id' => 'map_marker', 'type' => 'media', 'title' => __('Marker', 'redux-framework'), 'compiler' => 'true', 'mode' => false, 'desc' => __('Upload marker image here, the image size is 32x47 pixels.', 'redux-framework'))));
            // Custom CSS
            $this->sections[] = array('title' => __('Custom CSS', 'redux-framework'), 'desc' => __('Add your Custom CSS code', 'redux-framework'), 'icon' => 'el-icon-pencil', 'fields' => array(array('id' => 'custom_css', 'type' => 'ace_editor', 'title' => __('CSS Code', 'redux-framework'), 'subtitle' => __('Paste your CSS code here.', 'redux-framework'), 'mode' => 'css', 'theme' => 'monokai', 'default' => "")));
            // Less Compiler
            $this->sections[] = array('title' => __('Less Compiler', 'redux-framework'), 'desc' => __('Turn on this option to apply all theme options. Turn of when you have finished changing theme options and your site is ready.', 'redux-framework'), 'icon' => 'el-icon-wrench', 'fields' => array(array('id' => 'enable_less', 'type' => 'switch', 'title' => __('Enable Less Compiler', 'redux-framework'), 'default' => true)));
            $theme_info = '<div class="redux-framework-section-desc">';
            $theme_info .= '<p class="redux-framework-theme-data description theme-uri">' . __('<strong>Theme URL:</strong> ', 'redux-framework') . '<a href="' . $this->theme->get('ThemeURI') . '" target="_blank">' . $this->theme->get('ThemeURI') . '</a></p>';
            $theme_info .= '<p class="redux-framework-theme-data description theme-author">' . __('<strong>Author:</strong> ', 'redux-framework') . $this->theme->get('Author') . '</p>';
            $theme_info .= '<p class="redux-framework-theme-data description theme-version">' . __('<strong>Version:</strong> ', 'redux-framework') . $this->theme->get('Version') . '</p>';
            $theme_info .= '<p class="redux-framework-theme-data description theme-description">' . $this->theme->get('Description') . '</p>';
            $tabs = $this->theme->get('Tags');
            if (!empty($tabs)) {
                $theme_info .= '<p class="redux-framework-theme-data description theme-tags">' . __('<strong>Tags:</strong> ', 'redux-framework') . implode(', ', $tabs) . '</p>';
            }
            $theme_info .= '</div>';
            $this->sections[] = array('title' => __('Import / Export', 'redux-framework'), 'desc' => __('Import and Export your Redux Framework settings from file, text or URL.', 'redux-framework'), 'icon' => 'el-icon-refresh', 'fields' => array(array('id' => 'opt-import-export', 'type' => 'import_export', 'title' => 'Import Export', 'subtitle' => 'Save and restore your Redux options', 'full_width' => false)));
            $this->sections[] = array('icon' => 'el-icon-info-sign', 'title' => __('Theme Information', 'redux-framework'), 'fields' => array(array('id' => 'opt-raw-info', 'type' => 'raw', 'content' => $item_info)));
        }
Пример #24
0
        public function setSections()
        {
            /**
                          Used within different fields. Simply examples. Search for ACTUAL DECLARATION for field examples
                         * */
            // Background Patterns Reader
            $sample_patterns_path = ReduxFramework::$_dir . '../sample/patterns/';
            $sample_patterns_url = ReduxFramework::$_url . '../sample/patterns/';
            $sample_patterns = array();
            if (is_dir($sample_patterns_path)) {
                if ($sample_patterns_dir = opendir($sample_patterns_path)) {
                    $sample_patterns = array();
                    while (($sample_patterns_file = readdir($sample_patterns_dir)) !== false) {
                        if (stristr($sample_patterns_file, '.png') !== false || stristr($sample_patterns_file, '.jpg') !== false) {
                            $name = explode('.', $sample_patterns_file);
                            $name = str_replace('.' . end($name), '', $sample_patterns_file);
                            $sample_patterns[] = array('alt' => $name, 'img' => $sample_patterns_url . $sample_patterns_file);
                        }
                    }
                }
            }
            ob_start();
            $ct = wp_get_theme();
            $this->theme = $ct;
            $item_name = $this->theme->get('Name');
            $tags = $this->theme->Tags;
            $screenshot = $this->theme->get_screenshot();
            $class = $screenshot ? 'has-screenshot' : '';
            $customize_title = sprintf(__('Customize &#8220;%s&#8221;', 'redux-framework-demo'), $this->theme->display('Name'));
            ?>
            <div id="current-theme" class="<?php 
            echo esc_attr($class);
            ?>
">
            <?php 
            if ($screenshot) {
                ?>
                <?php 
                if (current_user_can('edit_theme_options')) {
                    ?>
                        <a href="<?php 
                    echo wp_customize_url();
                    ?>
" class="load-customize hide-if-no-customize" title="<?php 
                    echo esc_attr($customize_title);
                    ?>
">
                            <img src="<?php 
                    echo esc_url($screenshot);
                    ?>
" alt="<?php 
                    esc_attr_e('Current theme preview');
                    ?>
" />
                        </a>
                <?php 
                }
                ?>
                    <img class="hide-if-customize" src="<?php 
                echo esc_url($screenshot);
                ?>
" alt="<?php 
                esc_attr_e('Current theme preview');
                ?>
" />
                <?php 
            }
            ?>

                <h4><?php 
            echo $this->theme->display('Name');
            ?>
</h4>

                <div>
                    <ul class="theme-info">
                        <li><?php 
            printf(__('By %s', 'redux-framework-demo'), $this->theme->display('Author'));
            ?>
</li>
                        <li><?php 
            printf(__('Version %s', 'redux-framework-demo'), $this->theme->display('Version'));
            ?>
</li>
                        <li><?php 
            echo '<strong>' . __('Tags', 'redux-framework-demo') . ':</strong> ';
            printf($this->theme->display('Tags'));
            ?>
</li>
                    </ul>
                    <p class="theme-description"><?php 
            echo $this->theme->display('Description');
            ?>
</p>
            <?php 
            if ($this->theme->parent()) {
                printf(' <p class="howto">' . __('This <a href="%1$s">child theme</a> requires its parent theme, %2$s.') . '</p>', __('http://codex.wordpress.org/Child_Themes', 'redux-framework-demo'), $this->theme->parent()->display('Name'));
            }
            ?>

                </div>
            </div>

            <?php 
            $item_info = ob_get_contents();
            ob_end_clean();
            $sampleHTML = '';
            if (file_exists(dirname(__FILE__) . '/info-html.html')) {
                Redux_Functions::initWpFilesystem();
                global $wp_filesystem;
                $sampleHTML = $wp_filesystem->get_contents(dirname(__FILE__) . '/info-html.html');
            }
            $imagepath = get_template_directory_uri() . '/images/';
            // ACTUAL DECLARATION OF SECTIONS
            $this->sections[] = array('title' => __('General Settings', 'redux-framework-demo'), 'desc' => '', 'icon' => 'el-icon-home', 'fields' => array(array('id' => 'logo', 'type' => 'media', 'url' => true, 'title' => __('Logo', 'redux-framework-demo'), 'compiler' => 'true', 'default' => array('url' => 'http://s.wordpress.org/style/images/codeispoetry.png')), array('id' => 'favicon', 'type' => 'media', 'url' => true, 'title' => __('Favicon', 'redux-framework-demo'), 'compiler' => 'true', 'default' => array('url' => '')), array('id' => 'apple_icon', 'type' => 'media', 'url' => true, 'title' => __('Apple Touch Icon', 'redux-framework-demo'), 'compiler' => 'true', 'desc' => __('Upload your Apple touch icon 57x57.', 'redux-framework-demo')), array('id' => 'apple_icon_57', 'type' => 'media', 'url' => true, 'title' => __('Apple Touch Icon 57x57', 'redux-framework-demo'), 'compiler' => 'true', 'desc' => __('Upload your Apple touch icon 57x57.', 'redux-framework-demo')), array('id' => 'apple_icon_72', 'type' => 'media', 'url' => true, 'title' => __('Apple Touch Icon 72x72', 'redux-framework-demo'), 'compiler' => 'true', 'desc' => __('Upload your Apple touch icon 72x72.', 'redux-framework-demo')), array('id' => 'apple_icon_114', 'type' => 'media', 'url' => true, 'title' => __('Apple Touch Icon 114x114', 'redux-framework-demo'), 'compiler' => 'true', 'desc' => __('Upload your Apple touch icon 114x114.', 'redux-framework-demo')), array('id' => 'apple_icon_144', 'type' => 'media', 'url' => true, 'title' => __('Apple Touch Icon 144x144', 'redux-framework-demo'), 'compiler' => 'true', 'desc' => __('Upload your Apple touch icon 144x144.', 'redux-framework-demo')), array('id' => 'opt-divide', 'type' => 'divide'), array('id' => '404_text', 'type' => 'editor', 'title' => __('404 Text', 'redux-framework-demo'), 'subtitle' => __('You can use the following shortcodes in your footer text: [wp-url] [site-url] [theme-url] [login-url] [logout-url] [site-title] [site-tagline] [current-year]', 'redux-framework-demo'), 'default' => "This is Photoshop's version  of Lorem Ipsum. Proin gravida nibh vel velit auctor aliquet. Aenean sollicitudin, lorem quis bibendum auctor, nisi elit consequat ipsum,"), array('id' => 'is-effect-scroll', 'type' => 'switch', 'title' => __('Enable Effect Scroll', 'redux-framework-demo'), 'default' => true), array('id' => 'is-back-to-top', 'type' => 'switch', 'title' => __('Enable Back to Top button', 'redux-framework-demo'), 'default' => true)));
            $path_image = PGL_FRAMEWORK_URI . 'admin/images/';
            $this->sections[] = array('icon' => 'el-icon-website', 'title' => __('Styling Options', 'redux-framework-demo'), 'fields' => array(array('id' => 'style_layout', 'type' => 'button_set', 'title' => __('Layout Style', 'redux-framework-demo'), 'desc' => __('Choose Your Layout Style.', 'redux-framework-demo'), 'options' => array('wide' => 'Wide', 'boxed' => 'Boxed'), 'default' => 'wide'), array('id' => 'style_body_background', 'type' => 'background', 'output' => array('body'), 'required' => array('style_layout', '=', 'boxed'), 'title' => __('Body Background', 'redux-framework-demo'), 'default' => array('background-color' => '#ddd')), array('id' => 'style_main_color', 'type' => 'image_select', 'compiler' => true, 'title' => __('Main Color', 'redux-framework-demo'), 'options' => array('#dd4e4e' => array('img' => $path_image . '06.jpg'), '#1abc9c' => array('img' => $path_image . '01.jpg'), '#3598db' => array('img' => $path_image . '02.jpg'), '#c2a772' => array('img' => $path_image . '03.jpg'), '#36c877' => array('img' => $path_image . '04.jpg'), '#e99b1f' => array('img' => $path_image . '05.jpg'), '#a57bcd' => array('img' => $path_image . '07.jpg'), '#e9bf1d' => array('img' => $path_image . '08.jpg'), 'custom' => array('img' => $path_image . '09.jpg')), 'default' => '#dd4e4e'), array('id' => 'style_main_custom', 'type' => 'color', 'title' => __('Main Color Custom', 'redux-framework-demo'), 'default' => '#FFFFFF', 'validate' => 'color', 'transparent' => false, 'required' => array('style_main_color', '=', 'custom'), 'subtitle' => __('Select your themes alternative color scheme.', 'redux-framework-demo')), array('id' => 'opt-divide', 'type' => 'divide'), array('id' => 'custom-css', 'type' => 'ace_editor', 'title' => __('CSS Code', 'redux-framework-demo'), 'subtitle' => __('Paste your CSS code here.', 'redux-framework-demo'), 'mode' => 'css', 'theme' => 'monokai', 'desc' => 'Possible modes can be found at <a href="http://ace.c9.io" target="_blank">http://ace.c9.io/</a>.', 'default' => ""), array('id' => 'custom-js', 'type' => 'ace_editor', 'title' => __('JS Code', 'redux-framework-demo'), 'subtitle' => __('Paste your JS code here.', 'redux-framework-demo'), 'mode' => 'js', 'theme' => 'monokai', 'desc' => 'Possible modes can be found at <a href="http://ace.c9.io" target="_blank">http://ace.c9.io/</a>.', 'default' => "")));
            $this->sections[] = array('icon' => 'el-icon-font', 'title' => __('Fonts Options', 'redux-framework-demo'), 'subsection' => true, 'fields' => array(array('id' => 'font-main', 'type' => 'typography', 'title' => __('Main Font', 'redux-framework-demo'), 'google' => true, 'font-backup' => false, 'font-style' => false, 'text-align' => false, 'line-height' => false, 'color' => false, 'font-size' => true, 'units' => 'px', 'font_family_clear' => true, 'output' => array('body'), 'default' => array('font-size' => '15px'))));
            $this->sections[] = array('icon' => 'el-icon-qrcode', 'title' => __('Header Settings', 'redux-framework-demo'), 'fields' => array(array('id' => 'header', 'type' => 'image_select', 'compiler' => true, 'title' => __('Header Layout', 'redux-framework-demo'), 'subtitle' => __('Images for layout header.', 'redux-framework-demo'), 'options' => array('1' => array('alt' => 'Header Style 1', 'img' => $imagepath . 'headers/header-1.png'), '2' => array('alt' => 'Header Style 2', 'img' => $imagepath . 'headers/header-2.png'), '3' => array('alt' => 'Header Style 3', 'img' => $imagepath . 'headers/header-3.png'), '4' => array('alt' => 'Header Style 4', 'img' => $imagepath . 'headers/header-4.png')), 'default' => '1'), array('id' => 'header_topbar_text', 'type' => 'textarea', 'required' => array('header', '=', '4'), 'title' => __('Text Topbar Left', 'redux-framework-demo'), 'default' => 'Free Shipping and Returns'), array('id' => 'header-is-switch-language', 'type' => 'switch', 'title' => __('Enable Switch Languages', 'redux-framework-demo'), 'default' => true), array('id' => 'header-is-cart', 'type' => 'switch', 'title' => __('Enable Cart Header', 'redux-framework-demo'), 'default' => true), array('id' => 'header-is-user', 'type' => 'switch', 'title' => __('Enable User Header', 'redux-framework-demo'), 'default' => true), array('id' => 'header-is-search', 'type' => 'switch', 'title' => __('Enable Search Header', 'redux-framework-demo'), 'default' => true)));
            $this->sections[] = array('title' => __('Header Sticky', 'redux-framework-demo'), 'subsection' => true, 'fields' => array(array('id' => 'header-is-sticky', 'type' => 'switch', 'title' => __('Enable Header Sticky', 'redux-framework-demo'), 'default' => true), array('id' => 'header-is-cart-sticky', 'type' => 'switch', 'title' => __('Enable Cart Header', 'redux-framework-demo'), 'default' => true, 'required' => array('header-is-sticky', '=', '1')), array('id' => 'header-is-user-sticky', 'type' => 'switch', 'title' => __('Enable User Header', 'redux-framework-demo'), 'default' => false, 'required' => array('header-is-sticky', '=', '1')), array('id' => 'header-is-search-sticky', 'type' => 'switch', 'title' => __('Enable Search Header', 'redux-framework-demo'), 'default' => true, 'required' => array('header-is-sticky', '=', '1'))));
            $footers_type = get_posts(array('posts_per_page' => -1, 'post_type' => 'footer'));
            $footers_option = array();
            foreach ($footers_type as $key => $value) {
                $footers_option[$value->ID] = $value->post_title;
            }
            $this->sections[] = array('icon' => 'el-icon-list-alt', 'title' => __('Footer Settings', 'redux-framework-demo'), 'fields' => array(array('id' => 'is-footer-custom', 'type' => 'switch', 'title' => __('Enable Footer Customize', 'redux-framework-demo'), 'default' => false), array('id' => 'footer', 'type' => 'select', 'required' => array('is-footer-custom', '=', '1'), 'title' => __('Footer Item', 'redux-framework-demo'), 'options' => $footers_option, 'default' => '')));
            $this->sections[] = array('icon' => 'el-icon-bold', 'title' => __('Blog Setting', 'redux-framework-demo'), 'fields' => array(array('id' => 'blog-layout', 'type' => 'image_select', 'title' => __('Images Option for Layout', 'redux-framework-demo'), 'subtitle' => __('No validation can be done on this field type', 'redux-framework-demo'), 'desc' => __('This uses some of the built in images, you can use them for layout options.', 'redux-framework-demo'), 'options' => array('1' => array('alt' => '1 Column', 'img' => ReduxFramework::$_url . 'assets/img/1col.png'), '2' => array('alt' => '2 Column Left', 'img' => ReduxFramework::$_url . 'assets/img/2cl.png'), '3' => array('alt' => '2 Column Right', 'img' => ReduxFramework::$_url . 'assets/img/2cr.png'), '4' => array('alt' => '3 Column Middle', 'img' => ReduxFramework::$_url . 'assets/img/3cm.png'), '5' => array('alt' => '3 Column Left', 'img' => ReduxFramework::$_url . 'assets/img/3cl.png'), '6' => array('alt' => '3 Column Right', 'img' => ReduxFramework::$_url . 'assets/img/3cr.png')), 'default' => '1'), array('id' => 'blog-left-sidebar', 'type' => 'select', 'title' => __('Sidebar Left', 'redux-framework-demo'), 'data' => 'sidebars', 'default' => 'sidebar-left'), array('id' => 'blog-right-sidebar', 'type' => 'select', 'title' => __('Sidebar Right', 'redux-framework-demo'), 'data' => 'sidebars', 'default' => 'sidebar-right')));
            $this->sections[] = array('icon' => ' el-icon-rss', 'title' => __('SEO Settings', 'redux-framework-demo'), 'fields' => array(array('id' => 'is-seo', 'type' => 'switch', 'title' => __('Enable SEO options', 'redux-framework-demo'), 'default' => true), array('id' => 'seo-keywords', 'type' => 'textarea', 'required' => array('is-seo', '=', '1'), 'title' => __('SEO Keywords', 'redux-framework-demo'), 'desc' => 'Paste your SEO Keywords. This will be added into the meta tag keywords in header.', 'default' => ''), array('id' => 'seo-description', 'type' => 'textarea', 'required' => array('is-seo', '=', '1'), 'title' => __('SEO Description', 'redux-framework-demo'), 'desc' => 'Paste your SEO Description. This will be added into the meta tag description in header.', 'default' => '')));
            $this->sections[] = array('icon' => 'el-icon-shopping-cart', 'title' => __('Woocommerce Settings', 'redux-framework-demo'), 'fields' => array(array('id' => 'woo-is-quickview', 'type' => 'switch', 'title' => __('Enable QuickView', 'redux-framework-demo'), 'default' => true), array('id' => 'woo-is-effect-thumbnail', 'type' => 'switch', 'title' => __('Enable Effect Image', 'redux-framework-demo'), 'default' => true), array('id' => 'woo-effect-thumbnail-skin', 'type' => 'select', 'required' => array('woo-is-effect-thumbnail', '=', '1'), 'title' => __('Effect Skin', 'redux-framework-demo'), 'options' => array('we-fade' => 'Fade', 'we-bottom-to-top' => 'Bottom to Top', 'we-flip-horizontal' => 'Flip Horizontal', 'we-flip-vertical' => 'Flip Vertical'), 'default' => 'we-bottom-to-top'), array('id' => 'woo-is-effect-add-cart', 'type' => 'switch', 'title' => __('Enable Effect Fly Add to Cart', 'redux-framework-demo'), 'default' => true)));
            $this->sections[] = array('title' => __('Product Archives', 'redux-framework-demo'), 'subsection' => true, 'fields' => array(array('id' => 'woo-shop-layout', 'type' => 'image_select', 'compiler' => true, 'title' => __('Shop Layout', 'redux-framework-demo'), 'subtitle' => __('Select main content and sidebar alignment. Choose between 1, 2 or 3 column layout.', 'redux-framework-demo'), 'options' => array('1' => array('alt' => '1 Column', 'img' => ReduxFramework::$_url . 'assets/img/1col.png'), '2' => array('alt' => '2 Column Left', 'img' => ReduxFramework::$_url . 'assets/img/2cl.png'), '3' => array('alt' => '2 Column Right', 'img' => ReduxFramework::$_url . 'assets/img/2cr.png')), 'default' => '2'), array('id' => 'woo-shop-sidebar', 'type' => 'select', 'title' => __('Shop Sidebar', 'redux-framework-demo'), 'data' => 'sidebars', 'default' => 'sidebar-left'), array('id' => 'woo-shop-number', 'type' => 'text', 'title' => __('Shop show products', 'redux-framework-demo'), 'desc' => __('To Change number of products displayed per page.', 'redux-framework-demo'), 'validate' => 'numeric', 'default' => '10'), array('id' => 'woo-shop-column', 'type' => 'select', 'title' => __('Shop Columns', 'redux-framework-demo'), 'options' => array('1' => '1 Column', '2' => '2 Columns', '3' => '3 Columns', '4' => '4 Columns', '6' => '6 Columns'), 'default' => '4')));
            $this->sections[] = array('title' => __('Product Details', 'redux-framework-demo'), 'subsection' => true, 'fields' => array(array('id' => 'woo-single-layout', 'type' => 'image_select', 'compiler' => true, 'title' => __('Single Layout', 'redux-framework-demo'), 'subtitle' => __('Select main content and sidebar alignment. Choose between 1, 2 or 3 column layout.', 'redux-framework-demo'), 'options' => array('1' => array('alt' => '1 Column', 'img' => ReduxFramework::$_url . 'assets/img/1col.png'), '2' => array('alt' => '2 Column Left', 'img' => ReduxFramework::$_url . 'assets/img/2cl.png'), '3' => array('alt' => '2 Column Right', 'img' => ReduxFramework::$_url . 'assets/img/2cr.png')), 'default' => '2'), array('id' => 'woo-single-sidebar', 'type' => 'select', 'title' => __('Single Sidebar', 'redux-framework-demo'), 'data' => 'sidebars', 'default' => 'sidebar-left'), array('id' => 'woo-related-number', 'type' => 'text', 'title' => __('Related show products', 'redux-framework-demo'), 'desc' => __('To Change number of products displayed related.', 'redux-framework-demo'), 'validate' => 'numeric', 'default' => '4'), array('id' => 'woo-related-column', 'type' => 'select', 'title' => __('Related Columns', 'redux-framework-demo'), 'options' => array('1' => '1 Column', '2' => '2 Columns', '3' => '3 Columns', '4' => '4 Columns', '6' => '6 Columns'), 'default' => '4'), array('id' => 'woo-upsells-number', 'type' => 'text', 'title' => __('Upsells show products', 'redux-framework-demo'), 'desc' => __('To Change number of products displayed up-sell.', 'redux-framework-demo'), 'validate' => 'numeric', 'default' => '4'), array('id' => 'woo-upsells-column', 'type' => 'select', 'title' => __('Upsells Columns', 'redux-framework-demo'), 'options' => array('1' => '1 Column', '2' => '2 Columns', '3' => '3 Columns', '4' => '4 Columns', '6' => '6 Columns'), 'default' => '4'), array('id' => 'woo-cross-sells-number', 'type' => 'text', 'title' => __('Cross Sells show products', 'redux-framework-demo'), 'desc' => __('To Change number of products displayed cross sells.', 'redux-framework-demo'), 'validate' => 'numeric', 'default' => '4'), array('id' => 'woo-cross-sells-column', 'type' => 'select', 'title' => __('Cross Sells Columns', 'redux-framework-demo'), 'options' => array('1' => '1 Column', '2' => '2 Columns', '3' => '3 Columns', '4' => '4 Columns', '6' => '6 Columns'), 'default' => '4')));
            $this->sections[] = array('icon' => 'el-icon-lines', 'title' => __('Megamenu Settings', 'redux-framework-demo'), 'fields' => array(array('id' => 'megamenu-menu', 'type' => 'select', 'title' => __('Mega Menu', 'redux-framework-demo'), 'data' => 'menu', 'desc' => 'Select a menu to configure Megamenu for the menu items in the selected menu.'), array('id' => 'megamenu-vertical-menu', 'type' => 'select', 'title' => __('Mega Vertical Menu', 'redux-framework-demo'), 'data' => 'menu', 'desc' => 'Select a menu to configure Vertical Megamenu for the menu items in the selected menu.'), array('id' => 'megamenu-animation', 'type' => 'select', 'title' => __('Animation', 'redux-framework-demo'), 'options' => array('effect-none' => 'None', 'bottom-to-top' => 'Bottom to top'), 'desc' => 'Select animation for Megamenu.', 'default' => 'effect-none'), array('id' => 'megamenu-duration', 'type' => 'text', 'title' => __('Duration', 'redux-framework-demo'), 'desc' => __('Animation effect duration for dropdown of Megamenu (in miliseconds).', 'redux-framework-demo'), 'validate' => 'numeric', 'default' => '400')));
            $this->sections[] = array('type' => 'divide');
            $this->sections[] = array('title' => __('Import / Export', 'redux-framework-demo'), 'desc' => __('Import and Export your Redux Framework settings from file, text or URL.', 'redux-framework-demo'), 'icon' => 'el-icon-refresh', 'fields' => array(array('id' => 'opt-import-export', 'type' => 'import_export', 'title' => 'Import Export', 'subtitle' => 'Save and restore your Redux options', 'full_width' => false)));
            if (file_exists(trailingslashit(dirname(__FILE__)) . 'README.html')) {
                $tabs['docs'] = array('icon' => 'el-icon-book', 'title' => __('Documentation', 'redux-framework-demo'), 'content' => nl2br(file_get_contents(trailingslashit(dirname(__FILE__)) . 'README.html')));
            }
        }
Пример #25
0
 static function init()
 {
     // Windows-proof constants: replace backward by forward slashes. Thanks to: @peterbouwmeester
     self::$_dir = trailingslashit(Redux_Helpers::cleanFilePath(dirname(__FILE__)));
     $wp_content_dir = trailingslashit(Redux_Helpers::cleanFilePath(WP_CONTENT_DIR));
     $wp_content_dir = trailingslashit(str_replace('//', '/', $wp_content_dir));
     $relative_url = str_replace($wp_content_dir, '', self::$_dir);
     self::$wp_content_url = trailingslashit(Redux_Helpers::cleanFilePath(is_ssl() ? str_replace('http://', 'https://', WP_CONTENT_URL) : WP_CONTENT_URL));
     self::$_url = self::$wp_content_url . $relative_url;
     // See if Redux is a plugin or not
     if (strpos(Redux_Helpers::cleanFilePath(__FILE__), Redux_Helpers::cleanFilePath(get_stylesheet_directory())) !== false) {
         self::$_is_plugin = false;
     }
     // Create our private upload directory
     $upload = wp_upload_dir();
     self::$_upload_dir = Redux_Helpers::cleanFilePath($upload['basedir']) . '/redux/';
     self::$_upload_url = Redux_Helpers::cleanFilePath($upload['baseurl']) . '/redux/';
     // Ensure it exists
     if (!is_dir(self::$_upload_dir)) {
         global $wp_filesystem;
         // Init wp_filesystem
         Redux_Functions::initWpFilesystem();
         // Create the directory
         $wp_filesystem->mkdir(self::$_upload_dir);
     }
 }
Пример #26
0
        public function setSections()
        {
            /**
                          Used within different fields. Simply examples. Search for ACTUAL DECLARATION for field examples
                         * */
            // Background Patterns Reader
            $sample_patterns_path = ReduxFramework::$_dir . '../sample/patterns/';
            $sample_patterns_url = ReduxFramework::$_url . '../sample/patterns/';
            $sample_patterns = array();
            if (is_dir($sample_patterns_path)) {
                if ($sample_patterns_dir = opendir($sample_patterns_path)) {
                    $sample_patterns = array();
                    while (($sample_patterns_file = readdir($sample_patterns_dir)) !== false) {
                        if (stristr($sample_patterns_file, '.png') !== false || stristr($sample_patterns_file, '.jpg') !== false) {
                            $name = explode('.', $sample_patterns_file);
                            $name = str_replace('.' . end($name), '', $sample_patterns_file);
                            $sample_patterns[] = array('alt' => $name, 'img' => $sample_patterns_url . $sample_patterns_file);
                        }
                    }
                }
            }
            ob_start();
            $ct = wp_get_theme();
            $this->theme = $ct;
            $item_name = $this->theme->get('Name');
            $tags = $this->theme->Tags;
            $screenshot = $this->theme->get_screenshot();
            $class = $screenshot ? 'has-screenshot' : '';
            $customize_title = sprintf(__('Customize &#8220;%s&#8221;', 'chairman'), $this->theme->display('Name'));
            ?>
            <div id="current-theme" class="<?php 
            echo esc_attr($class);
            ?>
">
            <?php 
            if ($screenshot) {
                ?>
                <?php 
                if (current_user_can('edit_theme_options')) {
                    ?>
                        <a href="<?php 
                    echo wp_customize_url();
                    ?>
" class="load-customize hide-if-no-customize" title="<?php 
                    echo esc_attr($customize_title);
                    ?>
">
                            <img src="<?php 
                    echo esc_url($screenshot);
                    ?>
" alt="<?php 
                    esc_attr_e('Current theme preview', 'chairman');
                    ?>
" />
                        </a>
                <?php 
                }
                ?>
                    <img class="hide-if-customize" src="<?php 
                echo esc_url($screenshot);
                ?>
" alt="<?php 
                esc_attr_e('Current theme preview', 'chairman');
                ?>
" />
                <?php 
            }
            ?>

                <h4><?php 
            echo '' . $this->theme->display('Name');
            ?>
</h4>

                <div>
                    <ul class="theme-info">
                        <li><?php 
            printf(__('By %s', 'chairman'), $this->theme->display('Author'));
            ?>
</li>
                        <li><?php 
            printf(__('Version %s', 'chairman'), $this->theme->display('Version'));
            ?>
</li>
                        <li><?php 
            echo '<strong>' . __('Tags', 'chairman') . ':</strong> ';
            printf($this->theme->display('Tags'));
            ?>
</li>
                    </ul>
                    <p class="theme-description"><?php 
            echo '' . $this->theme->display('Description');
            ?>
</p>
            <?php 
            if ($this->theme->parent()) {
                printf(' <p class="howto">' . __('This <a href="%1$s">child theme</a> requires its parent theme, %2$s.', 'chairman') . '</p>', __('http://codex.wordpress.org/Child_Themes', 'chairman'), $this->theme->parent()->display('Name'));
            }
            ?>

                </div>
            </div>

            <?php 
            $item_info = ob_get_contents();
            ob_end_clean();
            $sampleHTML = '';
            if (file_exists(dirname(__FILE__) . '/info-html.html')) {
                Redux_Functions::initWpFilesystem();
                global $wp_filesystem;
                $sampleHTML = $wp_filesystem->get_contents(dirname(__FILE__) . '/info-html.html');
            }
            // General
            $this->sections[] = array('title' => esc_html__('General', 'chairman'), 'desc' => esc_html__('General theme options', 'chairman'), 'icon' => 'el-icon-cog', 'fields' => array(array('id' => 'logo_main', 'type' => 'media', 'title' => esc_html__('Logo', 'chairman'), 'compiler' => 'true', 'mode' => false, 'desc' => esc_html__('Upload logo here.', 'chairman')), array('id' => 'opt-favicon', 'type' => 'media', 'title' => esc_html__('Favicon', 'chairman'), 'compiler' => 'true', 'mode' => false, 'desc' => esc_html__('Upload favicon here.', 'chairman')), array('id' => 'background_opt', 'type' => 'background', 'output' => array('body'), 'title' => esc_html__('Body background', 'chairman'), 'subtitle' => esc_html__('Upload image or select color. Only work with box layout', 'chairman'), 'default' => '#f2f2f2'), array('id' => 'page_content_background', 'type' => 'background', 'output' => array('.main-container'), 'title' => esc_html__('Page content background', 'chairman'), 'subtitle' => esc_html__('Select background for page content (default: #ffffff).', 'chairman'), 'default' => '#ffffff'), array('id' => 'border_color', 'type' => 'border', 'title' => esc_html__('Border Option', 'chairman'), 'subtitle' => esc_html__('Only color validation can be done on this field type', 'chairman'), 'default' => array('border-color' => '#e1e1e1')), array('id' => 'back_to_top', 'type' => 'switch', 'title' => esc_html__('Back To Top', 'chairman'), 'desc' => esc_html__('Show back to top button on all pages', 'chairman'), 'default' => true)));
            // Colors
            $this->sections[] = array('title' => esc_html__('Colors', 'chairman'), 'desc' => esc_html__('Color options', 'chairman'), 'icon' => 'el-icon-tint', 'fields' => array(array('id' => 'primary_color', 'type' => 'color', 'title' => esc_html__('Primary Color', 'chairman'), 'subtitle' => esc_html__('Pick a color for primary color (default: #fbaf5d).', 'chairman'), 'transparent' => false, 'default' => '#fbaf5d', 'validate' => 'color'), array('id' => 'sale_color', 'type' => 'color', 'title' => esc_html__('Sale Label BG Color', 'chairman'), 'subtitle' => esc_html__('Pick a color for bg sale label (default: #ee9c9c).', 'chairman'), 'transparent' => true, 'default' => '#ee9c9c', 'validate' => 'color'), array('id' => 'saletext_color', 'type' => 'color', 'title' => esc_html__('Sale Label Text Color', 'chairman'), 'subtitle' => esc_html__('Pick a color for sale label text (default: #ffffff).', 'chairman'), 'transparent' => false, 'default' => '#ffffff', 'validate' => 'color'), array('id' => 'rate_color', 'type' => 'color', 'title' => esc_html__('Rating Star Color', 'chairman'), 'subtitle' => esc_html__('Pick a color for star of rating (default: #323334).', 'chairman'), 'transparent' => false, 'default' => '#323334', 'validate' => 'color'), array('id' => 'link_color', 'type' => 'link_color', 'title' => esc_html__('Link Color', 'chairman'), 'subtitle' => esc_html__('Pick a color for link (default: #fbaf5d).', 'chairman'), 'default' => array('regular' => '#a43d21', 'hover' => '#ee9c9c', 'active' => '#ee9c9c', 'visited' => '#ee9c9c')), array('id' => 'text_selected_bg', 'type' => 'color', 'title' => esc_html__('Text selected background', 'chairman'), 'subtitle' => esc_html__('Select background for selected text (default: #91b2c3).', 'chairman'), 'transparent' => false, 'default' => '#91b2c3', 'validate' => 'color'), array('id' => 'text_selected_color', 'type' => 'color', 'title' => esc_html__('Text selected color', 'chairman'), 'subtitle' => esc_html__('Select color for selected text (default: #ffffff).', 'chairman'), 'transparent' => false, 'default' => '#ffffff', 'validate' => 'color')));
            //Header
            $this->sections[] = array('title' => esc_html__('Header', 'chairman'), 'desc' => esc_html__('Header options', 'chairman'), 'icon' => 'el-icon-tasks', 'fields' => array(array('id' => 'header_layout', 'type' => 'select', 'title' => esc_html__('Header Layout', 'chairman'), 'customizer_only' => false, 'options' => array('default' => 'Default', 'landing' => 'Landing', 'furniture1' => 'Furniture1', 'furniture2' => 'Furniture2', 'portfolio1' => 'Portfolio1', 'corporate1' => 'Corporate1', 'corporate2' => 'Corporate2', 'corporate3' => 'Corporate3', 'construction1' => 'Construction1', 'construction2' => 'Construction2', 'blog1' => 'Blog1', 'blog2' => 'Blog2', 'blog3' => 'Blog3', 'event1' => 'Event1', 'event2' => 'Event2', 'medician1' => 'Medician1'), 'default' => 'default'), array('id' => 'header_bg', 'type' => 'background', 'output' => array('.header'), 'title' => esc_html__('Header background', 'chairman'), 'subtitle' => esc_html__('Upload image or select color.', 'chairman'), 'default' => '#333'), array('id' => 'header_color', 'type' => 'color', 'output' => array('.header'), 'title' => esc_html__('Header text color', 'chairman'), 'subtitle' => esc_html__('Pick a color for top bar text color (default: #323334).', 'chairman'), 'transparent' => false, 'default' => '#323334', 'validate' => 'color'), array('id' => 'header_link_color', 'type' => 'link_color', 'title' => esc_html__('Header link color', 'chairman'), 'subtitle' => esc_html__('Pick a color for header link color (default: #323334).', 'chairman'), 'default' => array('regular' => '#323334', 'hover' => '#fbaf5d', 'active' => '#fbaf5d', 'visited' => '#fbaf5d'))));
            $this->sections[] = array('icon' => 'el-icon-website', 'title' => esc_html__('Social Icons 2', 'chairman'), 'subsection' => true, 'fields' => array(array('id' => 'social_icons2', 'type' => 'sortable', 'title' => esc_html__('Social Icons 2', 'chairman'), 'subtitle' => esc_html__('Enter social links', 'chairman'), 'desc' => esc_html__('Drag/drop to re-arrange', 'chairman'), 'mode' => 'text', 'options' => array('facebook' => '', 'twitter' => '', 'instagram' => '', 'tumblr' => '', 'pinterest' => '', 'google-plus' => '', 'linkedin' => '', 'behance' => '', 'dribbble' => '', 'youtube' => '', 'vimeo' => '', 'rss' => ''), 'default' => array('facebook' => 'https://www.facebook.com/', 'twitter' => 'https://twitter.com/', 'instagram' => '', 'tumblr' => '', 'pinterest' => 'https://www.pinterest.com/', 'google-plus' => 'https://plus.google.com/', 'linkedin' => '', 'behance' => '', 'dribbble' => 'https://dribbble.com/', 'youtube' => '', 'vimeo' => '', 'rss' => ''))));
            $this->sections[] = array('icon' => 'el-icon-website', 'title' => esc_html__('Sticky header', 'chairman'), 'subsection' => true, 'fields' => array(array('id' => 'sticky_header', 'type' => 'switch', 'title' => esc_html__('Use sticky header', 'chairman'), 'default' => true), array('id' => 'header_sticky_bg', 'type' => 'color_rgba', 'title' => esc_html__('Header sticky background', 'chairman'), 'subtitle' => 'Set color and alpha channel', 'output' => array('background-color' => '.header-sticky.ontop'), 'default' => array('color' => '#fdfdfd', 'alpha' => 1), 'options' => array('show_input' => true, 'show_initial' => true, 'show_alpha' => true, 'show_palette' => true, 'show_palette_only' => false, 'show_selection_palette' => true, 'max_palette_size' => 10, 'allow_empty' => true, 'clickout_fires_change' => false, 'choose_text' => 'Choose', 'cancel_text' => 'Cancel', 'show_buttons' => true, 'use_extended_classes' => true, 'palette' => null, 'input_text' => 'Select Color'))));
            $this->sections[] = array('icon' => 'el-icon-website', 'title' => esc_html__('Top Bar', 'chairman'), 'subsection' => true, 'fields' => array(array('id' => 'topbar_bg', 'type' => 'background', 'output' => array('.top-bar'), 'title' => esc_html__('Top bar background', 'chairman'), 'subtitle' => esc_html__('Upload image or select color.', 'chairman'), 'default' => array('background-color' => '#323334')), array('id' => 'topbar_color', 'type' => 'color', 'output' => array('.top-bar'), 'title' => esc_html__('Top bar text color', 'chairman'), 'subtitle' => esc_html__('Pick a color for top bar text color (default: #9d9d9e).', 'chairman'), 'transparent' => false, 'default' => '#9d9d9e', 'validate' => 'color'), array('id' => 'topbar_link_color', 'type' => 'link_color', 'output' => array('.top-bar a'), 'title' => esc_html__('Top bar link color', 'chairman'), 'subtitle' => esc_html__('Pick a color for top bar link color (default: #9d9d9e).', 'chairman'), 'default' => array('regular' => '#9d9d9e', 'hover' => '#fbaf5d', 'active' => '#fbaf5d', 'visited' => '#fbaf5d')), array('id' => 'blog_header', 'type' => 'editor', 'title' => esc_html__('Blog Header', 'chairman'), 'subtitle' => esc_html__('HTML tags allowed: a, label, img, br, em, strong, p, ul, li', 'chairman'), 'default' => '', 'args' => array('teeny' => true, 'textarea_rows' => 10)), array('id' => 'login', 'type' => 'select', 'data' => 'menus', 'title' => esc_html__('Login', 'chairman'), 'subtitle' => esc_html__('Select a menu', 'chairman'))));
            $this->sections[] = array('icon' => 'el-icon-website', 'title' => esc_html__('Menu', 'chairman'), 'subsection' => true, 'fields' => array(array('id' => 'top_menu', 'type' => 'select', 'data' => 'menus', 'title' => esc_html__('Top Menu', 'chairman'), 'subtitle' => esc_html__('Select a menu', 'chairman')), array('id' => 'mobile_menu_label', 'type' => 'text', 'title' => esc_html__('Mobile menu label', 'chairman'), 'subtitle' => esc_html__('The label for mobile menu (example: Menu, Go to...', 'chairman'), 'default' => 'Menu'), array('id' => 'sub_menu_bg', 'type' => 'color', 'title' => esc_html__('Submenu background', 'chairman'), 'subtitle' => esc_html__('Pick a color for sub menu bg (default: #ffffff).', 'chairman'), 'transparent' => false, 'default' => '#ffffff', 'validate' => 'color'), array('id' => 'sub_menu_color', 'type' => 'color', 'title' => esc_html__('Submenu color', 'chairman'), 'subtitle' => esc_html__('Pick a color for sub menu color (default: #a9a9a9).', 'chairman'), 'transparent' => false, 'default' => '#a9a9a9', 'validate' => 'color')));
            //Footer
            $this->sections[] = array('title' => esc_html__('Footer', 'chairman'), 'desc' => esc_html__('Footer options', 'chairman'), 'icon' => 'el-icon-cog', 'fields' => array(array('id' => 'footer_layout', 'type' => 'select', 'title' => esc_html__('Footer Layout', 'chairman'), 'customizer_only' => false, 'options' => array('default' => 'Default', 'landing' => 'Landing', 'furniture1' => 'Furniture1', 'furniture2' => 'Furniture2', 'portfolio1' => 'Portfolio1', 'blog1' => 'Blog1', 'event1' => 'Event1', 'event2' => 'Event2'), 'default' => 'default'), array('id' => 'footer_bg', 'type' => 'background', 'output' => array('.footer'), 'title' => esc_html__('Footer background', 'chairman'), 'subtitle' => esc_html__('Upload image or select color.', 'chairman'), 'default' => array('background-color' => '#323334')), array('id' => 'footer_color', 'type' => 'color', 'output' => array('.footer'), 'title' => esc_html__('Footer text color', 'chairman'), 'subtitle' => esc_html__('Pick a color for top bar text color (default: #848484).', 'chairman'), 'transparent' => false, 'default' => '#848484', 'validate' => 'color'), array('id' => 'footer_link_color', 'type' => 'link_color', 'output' => array('.footer a'), 'title' => esc_html__('Footer link color', 'chairman'), 'subtitle' => esc_html__('Pick a color for footer link color (default: #848484).', 'chairman'), 'default' => array('regular' => '#848484', 'hover' => '#fbaf5d', 'active' => '#fbaf5d', 'visited' => '#fbaf5d')), array('id' => 'logo_footer', 'type' => 'media', 'title' => esc_html__('Footer Logo', 'chairman'), 'compiler' => 'true', 'mode' => false, 'desc' => esc_html__('Upload logo here.', 'chairman')), array('id' => 'copyright', 'type' => 'editor', 'title' => esc_html__('Copyright information', 'chairman'), 'subtitle' => esc_html__('HTML tags allowed: a, br, em, strong', 'chairman'), 'default' => 'COPYRIGHT 2015 ROADTHEMES. ALL RIGHTS RESERVED', 'args' => array('teeny' => true, 'textarea_rows' => 5, 'media_buttons' => false)), array('id' => 'payment_icons', 'type' => 'editor', 'title' => esc_html__('Payment icons', 'chairman'), 'subtitle' => esc_html__('HTML tags allowed: a, img', 'chairman'), 'default' => '', 'args' => array('teeny' => true, 'textarea_rows' => 5, 'media_buttons' => true))));
            $this->sections[] = array('icon' => 'el-icon-website', 'title' => esc_html__('Newsletter', 'chairman'), 'subsection' => true, 'fields' => array(array('id' => 'newsletter_title', 'type' => 'text', 'title' => esc_html__('Newsletter title', 'chairman'), 'default' => 'Newsletter'), array('id' => 'newsletter_form', 'type' => 'text', 'title' => esc_html__('Newsletter form ID', 'chairman'), 'subtitle' => esc_html__('The form ID of MailPoet plugin.', 'chairman'), 'validate' => 'numeric', 'msg' => 'Please enter a form ID', 'default' => '1')));
            $this->sections[] = array('icon' => 'el-icon-website', 'title' => esc_html__('Social Icons', 'chairman'), 'subsection' => true, 'fields' => array(array('id' => 'social_title', 'type' => 'text', 'title' => esc_html__('Social title', 'chairman'), 'default' => 'Follow us on'), array('id' => 'social_icons', 'type' => 'sortable', 'title' => esc_html__('Social Icons', 'chairman'), 'subtitle' => esc_html__('Enter social links', 'chairman'), 'desc' => esc_html__('Drag/drop to re-arrange', 'chairman'), 'mode' => 'text', 'options' => array('facebook' => '', 'twitter' => '', 'instagram' => '', 'tumblr' => '', 'pinterest' => '', 'google-plus' => '', 'linkedin' => '', 'behance' => '', 'dribbble' => '', 'youtube' => '', 'vimeo' => '', 'rss' => ''), 'default' => array('facebook' => 'https://www.facebook.com/', 'twitter' => 'https://twitter.com/', 'instagram' => '', 'tumblr' => '', 'pinterest' => 'https://www.pinterest.com/', 'google-plus' => 'https://plus.google.com/', 'linkedin' => '', 'behance' => '', 'dribbble' => 'https://dribbble.com/', 'youtube' => '', 'vimeo' => '', 'rss' => ''))));
            $this->sections[] = array('icon' => 'el-icon-website', 'title' => esc_html__('About Us', 'chairman'), 'subsection' => true, 'fields' => array(array('id' => 'about_us_title', 'type' => 'text', 'title' => esc_html__('About Us title', 'chairman'), 'default' => 'About Us'), array('id' => 'about_us', 'type' => 'textarea', 'title' => esc_html__('About Us', 'chairman'), 'subtitle' => esc_html__('HTML tags allowed: a, img, br, em, strong, p, ul, li', 'chairman'), 'default' => ''), array('id' => 'portfolio1_about_us', 'type' => 'textarea', 'title' => esc_html__('Portfolio1 About Us', 'chairman'), 'subtitle' => esc_html__('HTML tags allowed: a, img, br, em, strong, p, ul, li', 'chairman'), 'default' => '')));
            $this->sections[] = array('icon' => 'el-icon-website', 'title' => esc_html__('Contact Us', 'chairman'), 'subsection' => true, 'fields' => array(array('id' => 'contact_us_title', 'type' => 'text', 'title' => esc_html__('Contact Us title', 'chairman'), 'default' => 'Contact Us'), array('id' => 'contact_us', 'type' => 'textarea', 'title' => esc_html__('Contact Us', 'chairman'), 'subtitle' => esc_html__('HTML tags allowed: a, img, br, em, strong, p, ul, li', 'chairman'), 'default' => '')));
            $this->sections[] = array('icon' => 'el-icon-website', 'title' => esc_html__('Menus', 'chairman'), 'subsection' => true, 'fields' => array(array('id' => 'footer_menu1', 'type' => 'select', 'data' => 'menus', 'title' => esc_html__('Menu #1', 'chairman'), 'subtitle' => esc_html__('Select a menu', 'chairman')), array('id' => 'footer_menu2', 'type' => 'select', 'data' => 'menus', 'title' => esc_html__('Menu #2', 'chairman'), 'subtitle' => esc_html__('Select a menu', 'chairman')), array('id' => 'menu_blog1', 'type' => 'select', 'data' => 'menus', 'title' => esc_html__('Menu Blog1', 'chairman'), 'subtitle' => esc_html__('Select a menu', 'chairman')), array('id' => 'menu_restaurant1', 'type' => 'select', 'data' => 'menus', 'title' => esc_html__('Menu Restaurant1', 'chairman'), 'subtitle' => esc_html__('Select a menu', 'chairman'))));
            //Fonts
            $this->sections[] = array('title' => esc_html__('Fonts', 'chairman'), 'desc' => esc_html__('Fonts options', 'chairman'), 'icon' => 'el-icon-font', 'fields' => array(array('id' => 'bodyfont', 'type' => 'typography', 'title' => esc_html__('Body font', 'chairman'), 'google' => true, 'font-backup' => true, 'subsets' => false, 'text-align' => false, 'all_styles' => true, 'output' => array('body'), 'units' => 'px', 'subtitle' => esc_html__('Main body font.', 'chairman'), 'default' => array('color' => '#838383', 'font-weight' => '400', 'font-family' => 'Lato', 'google' => true, 'font-size' => '14px', 'line-height' => '24px')), array('id' => 'headingfont', 'type' => 'typography', 'title' => esc_html__('Heading font', 'chairman'), 'google' => true, 'font-backup' => false, 'subsets' => false, 'font-size' => false, 'line-height' => false, 'text-align' => false, 'all_styles' => true, 'units' => 'px', 'subtitle' => esc_html__('Heading font.', 'chairman'), 'default' => array('color' => '#353535', 'font-weight' => '600', 'font-family' => 'Raleway', 'google' => true)), array('id' => 'menufont', 'type' => 'typography', 'title' => esc_html__('Menu font', 'chairman'), 'google' => true, 'font-backup' => false, 'subsets' => false, 'font-size' => true, 'line-height' => false, 'text-align' => false, 'all_styles' => true, 'units' => 'px', 'subtitle' => esc_html__('Menu font.', 'chairman'), 'default' => array('color' => '#323334', 'font-weight' => '700', 'font-family' => 'Raleway', 'font-size' => '13px', 'google' => true)), array('id' => 'pricefont', 'type' => 'typography', 'title' => esc_html__('Price font', 'chairman'), 'google' => true, 'font-backup' => false, 'subsets' => false, 'font-size' => true, 'line-height' => false, 'text-align' => false, 'all_styles' => true, 'units' => 'px', 'subtitle' => esc_html__('Price font.', 'chairman'), 'default' => array('color' => '#616161', 'font-weight' => '700', 'font-family' => 'Lato', 'font-size' => '14px', 'google' => true))));
            // Layout
            $this->sections[] = array('title' => esc_html__('Layout', 'chairman'), 'desc' => esc_html__('Select page layout: Box or Full Width', 'chairman'), 'icon' => 'el-icon-align-justify', 'fields' => array(array('id' => 'page_layout', 'type' => 'select', 'multi' => false, 'title' => esc_html__('Page Layout', 'chairman'), 'options' => array('full' => 'Full Width', 'box' => 'Box'), 'default' => 'full'), array('id' => 'box_layout_width', 'type' => 'slider', 'title' => esc_html__('Box layout width', 'chairman'), 'desc' => esc_html__('Box layout width in pixels, default value: 1200', 'chairman'), "default" => 1200, "min" => 960, "step" => 1, "max" => 1920, 'display_value' => 'text'), array('id' => 'preset_option', 'type' => 'select', 'title' => esc_html__('Preset', 'chairman'), 'subtitle' => esc_html__('Select a preset to quickly apply pre-defined colors and fonts', 'chairman'), 'customizer_only' => false, 'options' => array('1' => 'Use options', '2' => 'Preset 2', '3' => 'Preset 3', '4' => 'Preset 4', '5' => 'Preset 5', '6' => 'Preset 6'), 'default' => '1'), array('id' => 'enable_sswitcher', 'type' => 'switch', 'title' => esc_html__('Show Style Switcher', 'chairman'), 'subtitle' => esc_html__('The style switcher is only for preview on front-end', 'chairman'), 'default' => false)));
            //Brand logos
            $this->sections[] = array('title' => esc_html__('Brand Logos', 'chairman'), 'desc' => esc_html__('Upload brand logos and links', 'chairman'), 'icon' => 'el-icon-briefcase', 'fields' => array(array('id' => 'brandscroll', 'type' => 'switch', 'title' => esc_html__('Auto scroll', 'chairman'), 'default' => true), array('id' => 'brandscrollnumber', 'type' => 'slider', 'title' => esc_html__('Scroll amount', 'chairman'), 'desc' => esc_html__('Number of logos to scroll one time, default value: 2', 'chairman'), "default" => 2, "min" => 1, "step" => 1, "max" => 12, 'display_value' => 'text'), array('id' => 'brandpause', 'type' => 'slider', 'title' => esc_html__('Pause in (seconds)', 'chairman'), 'desc' => esc_html__('Pause time, default value: 3000', 'chairman'), "default" => 3000, "min" => 1000, "step" => 500, "max" => 10000, 'display_value' => 'text'), array('id' => 'brandanimate', 'type' => 'slider', 'title' => esc_html__('Animate in (seconds)', 'chairman'), 'desc' => esc_html__('Animate time, default value: 2000', 'chairman'), "default" => 2000, "min" => 300, "step" => 100, "max" => 5000, 'display_value' => 'text'), array('id' => 'brand_logos', 'type' => 'slides', 'title' => esc_html__('Logos', 'chairman'), 'desc' => esc_html__('Upload logo image and enter logo link.', 'chairman'), 'placeholder' => array('title' => esc_html__('Title', 'chairman'), 'description' => esc_html__('Description', 'chairman'), 'url' => esc_html__('Link', 'chairman')))));
            // Sidebar
            $this->sections[] = array('title' => esc_html__('Sidebar', 'chairman'), 'desc' => esc_html__('Sidebar options', 'chairman'), 'icon' => 'el-icon-cog', 'fields' => array(array('id' => 'sidebarshop_pos', 'type' => 'radio', 'title' => esc_html__('Shop Sidebar Position', 'chairman'), 'subtitle' => esc_html__('Sidebar on shop page', 'chairman'), 'options' => array('left' => 'Left', 'right' => 'Right'), 'default' => 'left'), array('id' => 'sidebarse_pos', 'type' => 'radio', 'title' => esc_html__('Pages Sidebar Position', 'chairman'), 'subtitle' => esc_html__('Sidebar on pages', 'chairman'), 'options' => array('left' => 'Left', 'right' => 'Right'), 'default' => 'left'), array('id' => 'sidebarblog_pos', 'type' => 'radio', 'title' => esc_html__('Blog Sidebar Position', 'chairman'), 'subtitle' => esc_html__('Sidebar on Blog pages', 'chairman'), 'options' => array('left' => 'Left', 'right' => 'Right'), 'default' => 'right')));
            // Product
            $this->sections[] = array('title' => esc_html__('Product', 'chairman'), 'desc' => esc_html__('Use this section to select options for product', 'chairman'), 'icon' => 'el-icon-tags', 'fields' => array(array('id' => 'shop_layout', 'type' => 'select', 'title' => esc_html__('Shop Layout', 'chairman'), 'options' => array('sidebar' => 'Sidebar', 'fullwidth' => 'Full Width'), 'default' => 'fullwidth'), array('id' => 'default_view', 'type' => 'select', 'title' => esc_html__('Shop default view', 'chairman'), 'options' => array('grid-view' => 'Grid View', 'list-view' => 'List View'), 'default' => 'grid-view'), array('id' => 'product_per_page', 'type' => 'slider', 'title' => esc_html__('Products per page', 'chairman'), 'subtitle' => esc_html__('Amount of products per page on category page', 'chairman'), "default" => 12, "min" => 4, "step" => 1, "max" => 48, 'display_value' => 'text'), array('id' => 'product_per_row', 'type' => 'slider', 'title' => esc_html__('Product columns', 'chairman'), 'subtitle' => esc_html__('Amount of product columns on category page', 'chairman'), 'desc' => esc_html__('Only works with: 1, 2, 3, 4, 6', 'chairman'), "default" => 3, "min" => 1, "step" => 1, "max" => 6, 'display_value' => 'text'), array('id' => 'product_per_row_fw', 'type' => 'slider', 'title' => esc_html__('Product columns on full width shop', 'chairman'), 'subtitle' => esc_html__('Amount of product columns on full width category page', 'chairman'), 'desc' => esc_html__('Only works with: 1, 2, 3, 4, 6', 'chairman'), "default" => 4, "min" => 1, "step" => 1, "max" => 6, 'display_value' => 'text'), array('id' => 'second_image', 'type' => 'switch', 'title' => esc_html__('Use secondary product image', 'chairman'), 'desc' => esc_html__('Show the secondary image when hover on product on list', 'chairman'), 'default' => false), array('id' => 'upsells_title', 'type' => 'text', 'title' => esc_html__('Up-Sells title', 'chairman'), 'default' => 'Up-Sells'), array('id' => 'crosssells_title', 'type' => 'text', 'title' => esc_html__('Cross-Sells title', 'chairman'), 'default' => 'Cross-Sells')));
            $this->sections[] = array('icon' => 'el-icon-website', 'title' => esc_html__('Product page', 'chairman'), 'subsection' => true, 'fields' => array(array('id' => 'related_title', 'type' => 'text', 'title' => esc_html__('Related products title', 'chairman'), 'default' => 'Related Products'), array('id' => 'related_amount', 'type' => 'slider', 'title' => esc_html__('Number of related products', 'chairman'), "default" => 4, "min" => 1, "step" => 1, "max" => 16, 'display_value' => 'text'), array('id' => 'upsells_title', 'type' => 'text', 'title' => esc_html__('Up-Sells title', 'chairman'), 'default' => 'Up-Sells'), array('id' => 'share_head_code', 'type' => 'textarea', 'title' => esc_html__('ShareThis/AddThis head tag', 'chairman'), 'desc' => esc_html__('Paste your ShareThis or AddThis head tag here', 'chairman'), 'default' => ''), array('id' => 'share_code', 'type' => 'textarea', 'title' => esc_html__('ShareThis/AddThis code', 'chairman'), 'desc' => esc_html__('Paste your ShareThis or AddThis code here', 'chairman'), 'default' => '')));
            $this->sections[] = array('icon' => 'el-icon-website', 'title' => esc_html__('Quick View', 'chairman'), 'subsection' => true, 'fields' => array(array('id' => 'detail_link_text', 'type' => 'text', 'title' => esc_html__('View details text', 'chairman'), 'default' => 'View details'), array('id' => 'quickview_link_text', 'type' => 'text', 'title' => esc_html__('View all features text', 'chairman'), 'desc' => esc_html__('This is the text on quick view box', 'chairman'), 'default' => 'See all features')));
            // Blog options
            $this->sections[] = array('title' => esc_html__('Blog', 'chairman'), 'desc' => esc_html__('Use this section to select options for blog', 'chairman'), 'icon' => 'el-icon-file', 'fields' => array(array('id' => 'blog_header_bg', 'type' => 'background', 'output' => array('.blog-header-title'), 'title' => esc_html__('Blog Header background', 'chairman'), 'subtitle' => esc_html__('Upload image or select color.', 'chairman'), 'default' => array('background-color' => '#fbaf5d')), array('id' => 'blog_header_text', 'type' => 'text', 'title' => esc_html__('Blog header text', 'chairman'), 'default' => 'Blog'), array('id' => 'blog_slider_alias', 'type' => 'text', 'title' => esc_html__('Blog slider alias', 'chairman'), 'default' => ''), array('id' => 'blog_layout', 'type' => 'select', 'title' => esc_html__('Blog Layout', 'chairman'), 'options' => array('largeimage' => 'Large Image', 'nosidebar' => 'No Sidebar', 'sidebar' => 'Sidebar', 'grid' => 'Grid'), 'default' => 'sidebar'), array('id' => 'readmore_text', 'type' => 'text', 'title' => esc_html__('Read more text', 'chairman'), 'default' => 'read more'), array('id' => 'excerpt_length', 'type' => 'slider', 'title' => esc_html__('Excerpt length on blog page', 'chairman'), "default" => 22, "min" => 10, "step" => 2, "max" => 120, 'display_value' => 'text')));
            $this->sections[] = array('icon' => 'el-icon-website', 'title' => esc_html__('Latest posts carousel', 'chairman'), 'subsection' => true, 'fields' => array(array('id' => 'blogscroll', 'type' => 'switch', 'title' => esc_html__('Latest posts auto scroll', 'chairman'), 'default' => false), array('id' => 'blogpause', 'type' => 'slider', 'title' => esc_html__('Pause in (seconds)', 'chairman'), 'desc' => esc_html__('Pause time, default value: 3000', 'chairman'), "default" => 3000, "min" => 1000, "step" => 500, "max" => 10000, 'display_value' => 'text'), array('id' => 'bloganimate', 'type' => 'slider', 'title' => esc_html__('Animate in (seconds)', 'chairman'), 'desc' => esc_html__('Animate time, default value: 2000', 'chairman'), "default" => 2000, "min" => 300, "step" => 100, "max" => 5000, 'display_value' => 'text')));
            // Testimonials options
            $this->sections[] = array('title' => esc_html__('Testimonials', 'chairman'), 'desc' => esc_html__('Use this section to select options for Testimonials', 'chairman'), 'icon' => 'el-icon-comment', 'fields' => array(array('id' => 'testiscroll', 'type' => 'switch', 'title' => esc_html__('Auto scroll', 'chairman'), 'default' => false), array('id' => 'testipause', 'type' => 'slider', 'title' => esc_html__('Pause in (seconds)', 'chairman'), 'desc' => esc_html__('Pause time, default value: 3000', 'chairman'), "default" => 3000, "min" => 1000, "step" => 500, "max" => 10000, 'display_value' => 'text'), array('id' => 'testianimate', 'type' => 'slider', 'title' => esc_html__('Animate in (seconds)', 'chairman'), 'desc' => esc_html__('Animate time, default value: 2000', 'chairman'), "default" => 2000, "min" => 300, "step" => 100, "max" => 5000, 'display_value' => 'text')));
            // Error 404 page
            $this->sections[] = array('title' => esc_html__('Error 404 Page', 'chairman'), 'desc' => esc_html__('Error 404 page options', 'chairman'), 'icon' => 'el-icon-cog', 'fields' => array(array('id' => 'background_error', 'type' => 'background', 'output' => array('body.error404'), 'title' => esc_html__('Error 404 background', 'chairman'), 'subtitle' => esc_html__('Upload image or select color.', 'chairman'), 'default' => '#f2f2f2')));
            // Custom CSS
            $this->sections[] = array('title' => esc_html__('Custom CSS', 'chairman'), 'desc' => esc_html__('Add your Custom CSS code', 'chairman'), 'icon' => 'el-icon-pencil', 'fields' => array(array('id' => 'custom_css', 'type' => 'ace_editor', 'title' => esc_html__('CSS Code', 'chairman'), 'subtitle' => esc_html__('Paste your CSS code here.', 'chairman'), 'mode' => 'css', 'theme' => 'monokai', 'default' => "")));
            // Less Compiler
            $this->sections[] = array('title' => esc_html__('Less Compiler', 'chairman'), 'desc' => esc_html__('Turn on this option to apply all theme options. Turn of when you have finished changing theme options and your site is ready.', 'chairman'), 'icon' => 'el-icon-wrench', 'fields' => array(array('id' => 'enable_less', 'type' => 'switch', 'title' => esc_html__('Enable Less Compiler', 'chairman'), 'default' => true)));
            $theme_info = '<div class="redux-framework-section-desc">';
            $theme_info .= '<p class="redux-framework-theme-data description theme-uri">' . esc_html__('<strong>Theme URL:</strong> ', 'chairman') . '<a href="' . $this->theme->get('ThemeURI') . '" target="_blank">' . $this->theme->get('ThemeURI') . '</a></p>';
            $theme_info .= '<p class="redux-framework-theme-data description theme-author">' . esc_html__('<strong>Author:</strong> ', 'chairman') . $this->theme->get('Author') . '</p>';
            $theme_info .= '<p class="redux-framework-theme-data description theme-version">' . esc_html__('<strong>Version:</strong> ', 'chairman') . $this->theme->get('Version') . '</p>';
            $theme_info .= '<p class="redux-framework-theme-data description theme-description">' . $this->theme->get('Description') . '</p>';
            $tabs = $this->theme->get('Tags');
            if (!empty($tabs)) {
                $theme_info .= '<p class="redux-framework-theme-data description theme-tags">' . esc_html__('<strong>Tags:</strong> ', 'chairman') . implode(', ', $tabs) . '</p>';
            }
            $theme_info .= '</div>';
            $this->sections[] = array('title' => esc_html__('Import / Export', 'chairman'), 'desc' => esc_html__('Import and Export your Redux Framework settings from file, text or URL.', 'chairman'), 'icon' => 'el-icon-refresh', 'fields' => array(array('id' => 'opt-import-export', 'type' => 'import_export', 'title' => 'Import Export', 'subtitle' => 'Save and restore your Redux options', 'full_width' => false)));
            $this->sections[] = array('icon' => 'el-icon-info-sign', 'title' => esc_html__('Theme Information', 'chairman'), 'fields' => array(array('id' => 'opt-raw-info', 'type' => 'raw', 'content' => $item_info)));
        }
        public function setSections()
        {
            /**
             * Used within different fields. Simply examples. Search for ACTUAL DECLARATION for field examples
             * */
            // Background Patterns Reader
            $sample_patterns_path = ReduxFramework::$_dir . '../sample/patterns/';
            $sample_patterns_url = ReduxFramework::$_url . '../sample/patterns/';
            $sample_patterns = array();
            if (is_dir($sample_patterns_path)) {
                if ($sample_patterns_dir = opendir($sample_patterns_path)) {
                    $sample_patterns = array();
                    while (($sample_patterns_file = readdir($sample_patterns_dir)) !== false) {
                        if (stristr($sample_patterns_file, '.png') !== false || stristr($sample_patterns_file, '.jpg') !== false) {
                            $name = explode('.', $sample_patterns_file);
                            $name = str_replace('.' . end($name), '', $sample_patterns_file);
                            $sample_patterns[] = array('alt' => $name, 'img' => $sample_patterns_url . $sample_patterns_file);
                        }
                    }
                }
            }
            ob_start();
            $ct = wp_get_theme();
            $this->theme = $ct;
            $item_name = $this->theme->get('Name');
            $tags = $this->theme->Tags;
            $screenshot = $this->theme->get_screenshot();
            $class = $screenshot ? 'has-screenshot' : '';
            $customize_title = sprintf(__('Customize &#8220;%s&#8221;', 'redux-framework-demo'), $this->theme->display('Name'));
            ?>
                <div id="current-theme" class="<?php 
            echo esc_attr($class);
            ?>
">
                    <?php 
            if ($screenshot) {
                ?>
                        <?php 
                if (current_user_can('edit_theme_options')) {
                    ?>
                            <a href="<?php 
                    echo wp_customize_url();
                    ?>
" class="load-customize hide-if-no-customize"
                               title="<?php 
                    echo esc_attr($customize_title);
                    ?>
">
                                <img src="<?php 
                    echo esc_url($screenshot);
                    ?>
"
                                     alt="<?php 
                    esc_attr_e('Current theme preview', 'redux-framework-demo');
                    ?>
"/>
                            </a>
                        <?php 
                }
                ?>
                        <img class="hide-if-customize" src="<?php 
                echo esc_url($screenshot);
                ?>
"
                             alt="<?php 
                esc_attr_e('Current theme preview', 'redux-framework-demo');
                ?>
"/>
                    <?php 
            }
            ?>

                    <h4><?php 
            echo $this->theme->display('Name');
            ?>
</h4>

                    <div>
                        <ul class="theme-info">
                            <li><?php 
            printf(__('By %s', 'redux-framework-demo'), $this->theme->display('Author'));
            ?>
</li>
                            <li><?php 
            printf(__('Version %s', 'redux-framework-demo'), $this->theme->display('Version'));
            ?>
</li>
                            <li><?php 
            echo '<strong>' . __('Tags', 'redux-framework-demo') . ':</strong> ';
            printf($this->theme->display('Tags'));
            ?>
</li>
                        </ul>
                        <p class="theme-description"><?php 
            echo $this->theme->display('Description');
            ?>
</p>
                        <?php 
            if ($this->theme->parent()) {
                printf(' <p class="howto">' . __('This <a href="%1$s">child theme</a> requires its parent theme, %2$s.', 'redux-framework-demo') . '</p>', __('http://codex.wordpress.org/Child_Themes', 'redux-framework-demo'), $this->theme->parent()->display('Name'));
            }
            ?>

                    </div>
                </div>

                <?php 
            $item_info = ob_get_contents();
            ob_end_clean();
            $sampleHTML = '';
            if (file_exists(dirname(__FILE__) . '/info-html.html')) {
                Redux_Functions::initWpFilesystem();
                global $wp_filesystem;
                $sampleHTML = $wp_filesystem->get_contents(dirname(__FILE__) . '/info-html.html');
            }
            // ACTUAL DECLARATION OF SECTIONS
            $this->sections[] = array('title' => __('Home Settings', 'redux-framework-demo'), 'desc' => __('Redux Framework was created with the developer in mind. It allows for any theme developer to have an advanced theme panel with most of the features a developer would need. For more information check out the Github repo at: <a href="https://github.com/ReduxFramework/Redux-Framework">https://github.com/ReduxFramework/Redux-Framework</a>', 'redux-framework-demo'), 'icon' => 'el el-home', 'fields' => array(array('id' => 'opt-web-fonts', 'type' => 'media', 'title' => __('Web Fonts', 'redux-framework-demo'), 'compiler' => 'true', 'mode' => false, 'desc' => __('Basic media uploader with disabled URL input field.', 'redux-framework-demo'), 'subtitle' => __('Upload any media using the WordPress native uploader', 'redux-framework-demo'), 'hint' => array('content' => 'This is a <b>hint</b> tool-tip for the webFonts field.<br/><br/>Add any HTML based text you like here.')), array('id' => 'section-media-checkbox', 'type' => 'switch', 'title' => __('Section Show', 'redux-framework-demo'), 'subtitle' => __('With the "section" field you can create indent option sections.', 'redux-framework-demo')), array('id' => 'section-media-start', 'type' => 'section', 'title' => __('Media Options', 'redux-framework-demo'), 'subtitle' => __('With the "section" field you can create indent option sections.', 'redux-framework-demo'), 'indent' => true, 'required' => array('section-media-checkbox', "=", 1)), array('id' => 'opt-media', 'type' => 'media', 'url' => true, 'title' => __('Media w/ URL', 'redux-framework-demo'), 'compiler' => 'true', 'desc' => __('Basic media uploader with disabled URL input field.', 'redux-framework-demo'), 'subtitle' => __('Upload any media using the WordPress native uploader', 'redux-framework-demo'), 'default' => array('url' => 'http://s.wordpress.org/style/images/codeispoetry.png')), array('id' => 'section-media-end', 'type' => 'section', 'indent' => false, 'required' => array('section-media-checkbox', "=", 1)), array('id' => 'media-no-url', 'type' => 'media', 'title' => __('Media w/o URL', 'redux-framework-demo'), 'desc' => __('This represents the minimalistic view. It does not have the preview box or the display URL in an input box. ', 'redux-framework-demo'), 'subtitle' => __('Upload any media using the WordPress native uploader', 'redux-framework-demo')), array('id' => 'media-no-preview', 'type' => 'media', 'preview' => false, 'title' => __('Media No Preview', 'redux-framework-demo'), 'desc' => __('This represents the minimalistic view. It does not have the preview box or the display URL in an input box. ', 'redux-framework-demo'), 'subtitle' => __('Upload any media using the WordPress native uploader', 'redux-framework-demo')), array('id' => 'opt-gallery', 'type' => 'gallery', 'title' => __('Add/Edit Gallery', 'redux-framework-demo'), 'subtitle' => __('Create a new Gallery by selecting existing or uploading new images using the WordPress native uploader', 'redux-framework-demo'), 'desc' => __('This is the description field, again good for additional info.', 'redux-framework-demo')), array('id' => 'opt-slider-label', 'type' => 'slider', 'title' => __('Slider Example 1', 'redux-framework-demo'), 'subtitle' => __('This slider displays the value as a label.', 'redux-framework-demo'), 'desc' => __('Slider description. Min: 1, max: 500, step: 1, default value: 250', 'redux-framework-demo'), 'default' => 250, 'min' => 1, 'step' => 1, 'max' => 500, 'display_value' => 'label'), array('id' => 'opt-slider-text', 'type' => 'slider', 'title' => __('Slider Example 2 with Steps (5)', 'redux-framework-demo'), 'subtitle' => __('This example displays the value in a text box', 'redux-framework-demo'), 'desc' => __('Slider description. Min: 0, max: 300, step: 5, default value: 75', 'redux-framework-demo'), 'default' => 75, 'min' => 0, 'step' => 5, 'max' => 300, 'display_value' => 'text'), array('id' => 'opt-slider-select', 'type' => 'slider', 'title' => __('Slider Example 3 with two sliders', 'redux-framework-demo'), 'subtitle' => __('This example displays the values in select boxes', 'redux-framework-demo'), 'desc' => __('Slider description. Min: 0, max: 500, step: 5, slider 1 default value: 100, slider 2 default value: 300', 'redux-framework-demo'), 'default' => array(1 => 100, 2 => 300), 'min' => 0, 'step' => 5, 'max' => '500', 'display_value' => 'select', 'handles' => 2), array('id' => 'opt-slider-float', 'type' => 'slider', 'title' => __('Slider Example 4 with float values', 'redux-framework-demo'), 'subtitle' => __('This example displays float values', 'redux-framework-demo'), 'desc' => __('Slider description. Min: 0, max: 1, step: .1, default value: .5', 'redux-framework-demo'), 'default' => 0.5, 'min' => 0, 'step' => 0.1, 'max' => 1, 'resolution' => 0.1, 'display_value' => 'text'), array('id' => 'opt-spinner', 'type' => 'spinner', 'title' => __('JQuery UI Spinner Example 1', 'redux-framework-demo'), 'desc' => __('JQuery UI spinner description. Min:20, max: 100, step:20, default value: 40', 'redux-framework-demo'), 'default' => '40', 'min' => '20', 'step' => '20', 'max' => '100'), array('id' => 'switch-on', 'type' => 'switch', 'title' => __('Switch On', 'redux-framework-demo'), 'subtitle' => __('Look, it\'s on!', 'redux-framework-demo'), 'default' => true), array('id' => 'switch-off', 'type' => 'switch', 'title' => __('Switch Off', 'redux-framework-demo'), 'subtitle' => __('Look, it\'s on!', 'redux-framework-demo'), 'default' => false), array('id' => 'switch-parent', 'type' => 'switch', 'title' => __('Switch - Nested Children, Enable to show', 'redux-framework-demo'), 'subtitle' => __('Look, it\'s on! Also hidden child elements!', 'redux-framework-demo'), 'default' => 0, 'on' => 'Enabled', 'off' => 'Disabled'), array('id' => 'switch-child1', 'type' => 'switch', 'required' => array('switch-parent', '=', '1'), 'title' => __('Switch - This and the next switch required for patterns to show', 'redux-framework-demo'), 'subtitle' => __('Also called a "fold" parent.', 'redux-framework-demo'), 'desc' => __('Items set with a fold to this ID will hide unless this is set to the appropriate value.', 'redux-framework-demo'), 'default' => false), array('id' => 'switch-child2', 'type' => 'switch', 'required' => array('switch-parent', '=', '1'), 'title' => __('Switch2 - Enable the above switch and this one for patterns to show', 'redux-framework-demo'), 'subtitle' => __('Also called a "fold" parent.', 'redux-framework-demo'), 'desc' => __('Items set with a fold to this ID will hide unless this is set to the appropriate value.', 'redux-framework-demo'), 'default' => false), array('id' => 'opt-patterns', 'type' => 'image_select', 'tiles' => true, 'required' => array(array('switch-child1', 'equals', 1), array('switch-child2', 'equals', 1)), 'title' => __('Images Option (with pattern=>true)', 'redux-framework-demo'), 'subtitle' => __('Select a background pattern.', 'redux-framework-demo'), 'default' => 0, 'options' => $sample_patterns), array('id' => 'opt-homepage-layout', 'type' => 'sorter', 'title' => 'Layout Manager Advanced', 'subtitle' => 'You can add multiple drop areas or columns.', 'compiler' => 'true', 'options' => array('enabled' => array('highlights' => 'Highlights', 'slider' => 'Slider', 'staticpage' => 'Static Page', 'services' => 'Services'), 'disabled' => array(), 'backup' => array()), 'limits' => array('disabled' => 1, 'backup' => 2)), array('id' => 'opt-homepage-layout-2', 'type' => 'sorter', 'title' => 'Homepage Layout Manager', 'desc' => 'Organize how you want the layout to appear on the homepage', 'compiler' => 'true', 'options' => array('disabled' => array('highlights' => 'Highlights', 'slider' => 'Slider'), 'enabled' => array('staticpage' => 'Static Page', 'services' => 'Services'))), array('id' => 'opt-slides', 'type' => 'slides', 'title' => __('Slides Options', 'redux-framework-demo'), 'subtitle' => __('Unlimited slides with drag and drop sortings.', 'redux-framework-demo'), 'desc' => __('This field will store all slides values into a multidimensional array to use into a foreach loop.', 'redux-framework-demo'), 'placeholder' => array('title' => __('This is a title', 'redux-framework-demo'), 'description' => __('Description Here', 'redux-framework-demo'), 'url' => __('Give us a link!', 'redux-framework-demo'))), array('id' => 'opt-presets', 'type' => 'image_select', 'presets' => true, 'title' => __('Preset', 'redux-framework-demo'), 'subtitle' => __('This allows you to set a json string or array to override multiple preferences in your theme.', 'redux-framework-demo'), 'default' => 0, 'desc' => __('This allows you to set a json string or array to override multiple preferences in your theme.', 'redux-framework-demo'), 'options' => array('1' => array('alt' => 'Preset 1', 'img' => ReduxFramework::$_url . '../sample/presets/preset1.png', 'presets' => array('switch-on' => 1, 'switch-off' => 1, 'switch-parent' => 1)), '2' => array('alt' => 'Preset 2', 'img' => ReduxFramework::$_url . '../sample/presets/preset2.png', 'presets' => '{"opt-slider-label":"1", "opt-slider-text":"10"}'))), array('id' => 'opt-typography', 'type' => 'typography', 'title' => __('Typography', 'redux-framework-demo'), 'google' => true, 'font-backup' => true, 'all_styles' => true, 'output' => array('h2.site-description, .entry-title'), 'compiler' => array('h2.site-description-compiler'), 'units' => 'px', 'subtitle' => __('Typography option with each property can be called individually.', 'redux-framework-demo'), 'default' => array('color' => '#333', 'font-style' => '700', 'font-family' => 'Abel', 'google' => true, 'font-size' => '33px', 'line-height' => '40px'))));
            $this->sections[] = array('type' => 'divide');
            $this->sections[] = array('icon' => 'el el-cogs', 'title' => __('General Settings', 'redux-framework-demo'), 'fields' => array(array('id' => 'opt-layout', 'type' => 'image_select', 'compiler' => true, 'title' => __('Main Layout', 'redux-framework-demo'), 'subtitle' => __('Select main content and sidebar alignment. Choose between 1, 2 or 3 column layout.', 'redux-framework-demo'), 'options' => array('1' => array('alt' => '1 Column', 'img' => ReduxFramework::$_url . 'assets/img/1col.png'), '2' => array('alt' => '2 Column Left', 'img' => ReduxFramework::$_url . 'assets/img/2cl.png'), '3' => array('alt' => '2 Column Right', 'img' => ReduxFramework::$_url . 'assets/img/2cr.png'), '4' => array('alt' => '3 Column Middle', 'img' => ReduxFramework::$_url . 'assets/img/3cm.png'), '5' => array('alt' => '3 Column Left', 'img' => ReduxFramework::$_url . 'assets/img/3cl.png'), '6' => array('alt' => '3 Column Right', 'img' => ReduxFramework::$_url . 'assets/img/3cr.png')), 'default' => '2'), array('id' => 'opt-textarea', 'type' => 'textarea', 'required' => array('layout', 'equals', '1'), 'title' => __('Tracking Code', 'redux-framework-demo'), 'subtitle' => __('Paste your Google Analytics (or other) tracking code here. This will be added into the footer template of your theme.', 'redux-framework-demo'), 'validate' => 'js', 'desc' => 'Validate that it\'s javascript!'), array('id' => 'opt-ace-editor-css', 'type' => 'ace_editor', 'title' => __('CSS Code', 'redux-framework-demo'), 'subtitle' => __('Paste your CSS code here.', 'redux-framework-demo'), 'mode' => 'css', 'theme' => 'monokai', 'desc' => 'Possible modes can be found at <a href="http://ace.c9.io" target="_blank">http://ace.c9.io/</a>.', 'default' => "#header{\nmargin: 0 auto;\n}"), array('id' => 'opt-editor', 'type' => 'editor', 'title' => __('Footer Text', 'redux-framework-demo'), 'subtitle' => __('You can use the following shortcodes in your footer text: [wp-url] [site-url] [theme-url] [login-url] [logout-url] [site-title] [site-tagline] [current-year]', 'redux-framework-demo'), 'default' => 'Powered by Redux Framework.'), array('id' => 'password', 'type' => 'password', 'username' => true, 'title' => 'SMTP Account')));
            $this->sections[] = array('icon' => 'el el-website', 'title' => __('Styling Options', 'redux-framework-demo'), 'subsection' => true, 'fields' => array(array('id' => 'opt-select-stylesheet', 'type' => 'select', 'title' => __('Theme Stylesheet', 'redux-framework-demo'), 'subtitle' => __('Select your themes alternative color scheme.', 'redux-framework-demo'), 'options' => array('default.css' => 'default.css', 'color1.css' => 'color1.css'), 'default' => 'default.css'), array('id' => 'opt-color-background', 'type' => 'color', 'output' => array('.site-title'), 'title' => __('Body Background Color', 'redux-framework-demo'), 'subtitle' => __('Pick a background color for the theme (default: #fff).', 'redux-framework-demo'), 'default' => '#FFFFFF', 'validate' => 'color'), array('id' => 'opt-background', 'type' => 'background', 'output' => array('body'), 'title' => __('Body Background', 'redux-framework-demo'), 'subtitle' => __('Body background with image, color, etc.', 'redux-framework-demo')), array('id' => 'opt-color-footer', 'type' => 'color', 'title' => __('Footer Background Color', 'redux-framework-demo'), 'subtitle' => __('Pick a background color for the footer (default: #dd9933).', 'redux-framework-demo'), 'default' => '#dd9933', 'validate' => 'color'), array('id' => 'opt-color-rgba', 'type' => 'color_rgba', 'title' => __('Color RGBA', 'redux-framework-demo'), 'subtitle' => __('Gives you the RGBA color.', 'redux-framework-demo'), 'default' => array('color' => '#7e33dd', 'alpha' => '.8'), 'output' => array('body'), 'mode' => 'background', 'validate' => 'colorrgba'), array('id' => 'opt-color-header', 'type' => 'color_gradient', 'title' => __('Header Gradient Color Option', 'redux-framework-demo'), 'subtitle' => __('Only color validation can be done on this field type', 'redux-framework-demo'), 'desc' => __('This is the description field, again good for additional info.', 'redux-framework-demo'), 'default' => array('from' => '#1e73be', 'to' => '#00897e')), array('id' => 'opt-link-color', 'type' => 'link_color', 'title' => __('Links Color Option', 'redux-framework-demo'), 'subtitle' => __('Only color validation can be done on this field type', 'redux-framework-demo'), 'desc' => __('This is the description field, again good for additional info.', 'redux-framework-demo'), 'default' => array('regular' => '#aaa', 'hover' => '#bbb', 'active' => '#ccc')), array('id' => 'opt-header-border', 'type' => 'border', 'title' => __('Header Border Option', 'redux-framework-demo'), 'subtitle' => __('Only color validation can be done on this field type', 'redux-framework-demo'), 'output' => array('.site-header'), 'desc' => __('This is the description field, again good for additional info.', 'redux-framework-demo'), 'default' => array('border-color' => '#1e73be', 'border-style' => 'solid', 'border-top' => '3px', 'border-right' => '3px', 'border-bottom' => '3px', 'border-left' => '3px')), array('id' => 'opt-spacing', 'type' => 'spacing', 'output' => array('.site-header'), 'mode' => 'margin', 'all' => true, 'title' => __('Padding/Margin Option', 'redux-framework-demo'), 'subtitle' => __('Allow your users to choose the spacing or margin they want.', 'redux-framework-demo'), 'desc' => __('You can enable or disable any piece of this field. Top, Right, Bottom, Left, or Units.', 'redux-framework-demo'), 'default' => array('margin-top' => '1px', 'margin-right' => '2px', 'margin-bottom' => '3px', 'margin-left' => '4px')), array('id' => 'opt-dimensions', 'type' => 'dimensions', 'units' => 'em', 'units_extended' => 'true', 'title' => __('Dimensions (Width/Height) Option', 'redux-framework-demo'), 'subtitle' => __('Allow your users to choose width, height, and/or unit.', 'redux-framework-demo'), 'desc' => __('You can enable or disable any piece of this field. Width, Height, or Units.', 'redux-framework-demo'), 'default' => array('width' => 200, 'height' => 100)), array('id' => 'opt-typography-body', 'type' => 'typography', 'title' => __('Body Font', 'redux-framework-demo'), 'subtitle' => __('Specify the body font properties.', 'redux-framework-demo'), 'google' => true, 'default' => array('color' => '#dd9933', 'font-size' => '30px', 'font-family' => 'Arial,Helvetica,sans-serif', 'font-weight' => 'Normal')), array('id' => 'opt-custom-css', 'type' => 'textarea', 'title' => __('Custom CSS', 'redux-framework-demo'), 'subtitle' => __('Quickly add some CSS to your theme by adding it to this block.', 'redux-framework-demo'), 'desc' => __('This field is even CSS validated!', 'redux-framework-demo'), 'validate' => 'css'), array('id' => 'opt-custom-html', 'type' => 'textarea', 'title' => __('Custom HTML', 'redux-framework-demo'), 'subtitle' => __('Just like a text box widget.', 'redux-framework-demo'), 'desc' => __('This field is even HTML validated!', 'redux-framework-demo'), 'validate' => 'html')));
            /**
             *  Note here I used a 'heading' in the sections array construct
             *  This allows you to use a different title on your options page
             * instead of reusing the 'title' value.  This can be done on any
             * section - kp
             */
            $this->sections[] = array('icon' => 'el el-bullhorn', 'title' => __('Field Validation', 'redux-framework-demo'), 'heading' => __('Validate ALL fields within Redux.', 'redux-framework-demo'), 'desc' => __('<p class="description">This is the Description. Again HTML is allowed2</p>', 'redux-framework-demo'), 'fields' => array(array('id' => 'opt-text-email', 'type' => 'text', 'title' => __('Text Option - Email Validated', 'redux-framework-demo'), 'subtitle' => __('This is a little space under the Field Title in the Options table, additional info is good in here.', 'redux-framework-demo'), 'desc' => __('This is the description field, again good for additional info.', 'redux-framework-demo'), 'validate' => 'email', 'msg' => 'custom error message', 'default' => '*****@*****.**'), array('id' => 'opt-text-post-type', 'type' => 'text', 'title' => __('Text Option with Data Attributes', 'redux-framework-demo'), 'subtitle' => __('You can also pass an options array if you want. Set the default to whatever you like.', 'redux-framework-demo'), 'desc' => __('This is the description field, again good for additional info.', 'redux-framework-demo'), 'data' => 'post_type'), array('id' => 'opt-multi-text', 'type' => 'multi_text', 'title' => __('Multi Text Option - Color Validated', 'redux-framework-demo'), 'validate' => 'color', 'subtitle' => __('If you enter an invalid color it will be removed. Try using the text "blue" as a color.  ;)', 'redux-framework-demo'), 'desc' => __('This is the description field, again good for additional info.', 'redux-framework-demo')), array('id' => 'opt-text-url', 'type' => 'text', 'title' => __('Text Option - URL Validated', 'redux-framework-demo'), 'subtitle' => __('This must be a URL.', 'redux-framework-demo'), 'desc' => __('This is the description field, again good for additional info.', 'redux-framework-demo'), 'validate' => 'url', 'default' => 'http://reduxframework.com'), array('id' => 'opt-text-numeric', 'type' => 'text', 'title' => __('Text Option - Numeric Validated', 'redux-framework-demo'), 'subtitle' => __('This must be numeric.', 'redux-framework-demo'), 'desc' => __('This is the description field, again good for additional info.', 'redux-framework-demo'), 'validate' => 'numeric', 'default' => '0'), array('id' => 'opt-text-comma-numeric', 'type' => 'text', 'title' => __('Text Option - Comma Numeric Validated', 'redux-framework-demo'), 'subtitle' => __('This must be a comma separated string of numerical values.', 'redux-framework-demo'), 'desc' => __('This is the description field, again good for additional info.', 'redux-framework-demo'), 'validate' => 'comma_numeric', 'default' => '0'), array('id' => 'opt-text-no-special-chars', 'type' => 'text', 'title' => __('Text Option - No Special Chars Validated', 'redux-framework-demo'), 'subtitle' => __('This must be a alpha numeric only.', 'redux-framework-demo'), 'desc' => __('This is the description field, again good for additional info.', 'redux-framework-demo'), 'validate' => 'no_special_chars', 'default' => '0'), array('id' => 'opt-text-str_replace', 'type' => 'text', 'title' => __('Text Option - Str Replace Validated', 'redux-framework-demo'), 'subtitle' => __('You decide.', 'redux-framework-demo'), 'desc' => __('This field\'s default value was changed by a filter hook!', 'redux-framework-demo'), 'validate' => 'str_replace', 'str' => array('search' => ' ', 'replacement' => 'thisisaspace'), 'default' => 'This is the default.'), array('id' => 'opt-text-preg_replace', 'type' => 'text', 'title' => __('Text Option - Preg Replace Validated', 'redux-framework-demo'), 'subtitle' => __('You decide.', 'redux-framework-demo'), 'desc' => __('This is the description field, again good for additional info.', 'redux-framework-demo'), 'validate' => 'preg_replace', 'preg' => array('pattern' => '/[^a-zA-Z_ -]/s', 'replacement' => 'no numbers'), 'default' => '0'), array('id' => 'opt-text-custom_validate', 'type' => 'text', 'title' => __('Text Option - Custom Callback Validated', 'redux-framework-demo'), 'subtitle' => __('You decide.', 'redux-framework-demo'), 'desc' => __('This is the description field, again good for additional info.', 'redux-framework-demo'), 'validate_callback' => 'redux_validate_callback_function', 'default' => '0'), array('id' => 'opt-text-custom_validate-class', 'type' => 'text', 'title' => __('Text Option - Custom Callback Validated - Class', 'redux-framework-demo'), 'subtitle' => __('You decide.', 'redux-framework-demo'), 'desc' => __('This is the description field, again good for additional info.', 'redux-framework-demo'), 'validate_callback' => array($this, 'validate_callback_function'), 'default' => '0'), array('id' => 'opt-textarea-no-html', 'type' => 'textarea', 'title' => __('Textarea Option - No HTML Validated', 'redux-framework-demo'), 'subtitle' => __('All HTML will be stripped', 'redux-framework-demo'), 'desc' => __('This is the description field, again good for additional info.', 'redux-framework-demo'), 'validate' => 'no_html', 'default' => 'No HTML is allowed in here.'), array('id' => 'opt-textarea-html', 'type' => 'textarea', 'title' => __('Textarea Option - HTML Validated', 'redux-framework-demo'), 'subtitle' => __('HTML Allowed (wp_kses)', 'redux-framework-demo'), 'desc' => __('This is the description field, again good for additional info.', 'redux-framework-demo'), 'validate' => 'html', 'default' => 'HTML is allowed in here.'), array('id' => 'opt-textarea-some-html', 'type' => 'textarea', 'title' => __('Textarea Option - HTML Validated Custom', 'redux-framework-demo'), 'subtitle' => __('Custom HTML Allowed (wp_kses)', 'redux-framework-demo'), 'desc' => __('This is the description field, again good for additional info.', 'redux-framework-demo'), 'validate' => 'html_custom', 'default' => '<p>Some HTML is allowed in here.</p>', 'allowed_html' => array('')), array('id' => 'opt-textarea-js', 'type' => 'textarea', 'title' => __('Textarea Option - JS Validated', 'redux-framework-demo'), 'subtitle' => __('JS will be escaped', 'redux-framework-demo'), 'desc' => __('This is the description field, again good for additional info.', 'redux-framework-demo'), 'validate' => 'js')));
            $this->sections[] = array('icon' => 'el el-check', 'title' => __('Radio/Checkbox Fields', 'redux-framework-demo'), 'desc' => __('<p class="description">This is the Description. Again HTML is allowed</p>', 'redux-framework-demo'), 'fields' => array(array('id' => 'opt-checkbox', 'type' => 'checkbox', 'title' => __('Checkbox Option', 'redux-framework-demo'), 'subtitle' => __('No validation can be done on this field type', 'redux-framework-demo'), 'desc' => __('This is the description field, again good for additional info.', 'redux-framework-demo'), 'default' => '1'), array('id' => 'opt-multi-check', 'type' => 'checkbox', 'title' => __('Multi Checkbox Option', 'redux-framework-demo'), 'subtitle' => __('No validation can be done on this field type', 'redux-framework-demo'), 'desc' => __('This is the description field, again good for additional info.', 'redux-framework-demo'), 'options' => array('1' => 'Opt 1', '2' => 'Opt 2', '3' => 'Opt 3'), 'default' => array('1' => '1', '2' => '0', '3' => '0')), array('id' => 'opt-checkbox-data', 'type' => 'checkbox', 'title' => __('Multi Checkbox Option (with menu data)', 'redux-framework-demo'), 'subtitle' => __('No validation can be done on this field type', 'redux-framework-demo'), 'desc' => __('This is the description field, again good for additional info.', 'redux-framework-demo'), 'data' => 'menu'), array('id' => 'opt-checkbox-sidebar', 'type' => 'checkbox', 'title' => __('Multi Checkbox Option (with sidebar data)', 'redux-framework-demo'), 'subtitle' => __('No validation can be done on this field type', 'redux-framework-demo'), 'desc' => __('This is the description field, again good for additional info.', 'redux-framework-demo'), 'data' => 'sidebars'), array('id' => 'opt-radio', 'type' => 'radio', 'title' => __('Radio Option', 'redux-framework-demo'), 'subtitle' => __('No validation can be done on this field type', 'redux-framework-demo'), 'desc' => __('This is the description field, again good for additional info.', 'redux-framework-demo'), 'options' => array('1' => 'Opt 1', '2' => 'Opt 2', '3' => 'Opt 3'), 'default' => '2'), array('id' => 'opt-radio-data', 'type' => 'radio', 'title' => __('Multi Checkbox Option (with menu data)', 'redux-framework-demo'), 'subtitle' => __('No validation can be done on this field type', 'redux-framework-demo'), 'desc' => __('This is the description field, again good for additional info.', 'redux-framework-demo'), 'data' => 'menu'), array('id' => 'opt-image-select', 'type' => 'image_select', 'title' => __('Images Option', 'redux-framework-demo'), 'subtitle' => __('No validation can be done on this field type', 'redux-framework-demo'), 'desc' => __('This is the description field, again good for additional info.', 'redux-framework-demo'), 'options' => array('1' => array('title' => 'Opt 1', 'img' => 'images/align-none.png'), '2' => array('title' => 'Opt 2', 'img' => 'images/align-left.png'), '3' => array('title' => 'Opt 3', 'img' => 'images/align-center.png'), '4' => array('title' => 'Opt 4', 'img' => 'images/align-right.png')), 'default' => '2'), array('id' => 'opt-image-select-layout', 'type' => 'image_select', 'title' => __('Images Option for Layout', 'redux-framework-demo'), 'subtitle' => __('No validation can be done on this field type', 'redux-framework-demo'), 'desc' => __('This uses some of the built in images, you can use them for layout options.', 'redux-framework-demo'), 'options' => array('1' => array('alt' => '1 Column', 'img' => ReduxFramework::$_url . 'assets/img/1col.png'), '2' => array('alt' => '2 Column Left', 'img' => ReduxFramework::$_url . 'assets/img/2cl.png'), '3' => array('alt' => '2 Column Right', 'img' => ReduxFramework::$_url . 'assets/img/2cr.png'), '4' => array('alt' => '3 Column Middle', 'img' => ReduxFramework::$_url . 'assets/img/3cm.png'), '5' => array('alt' => '3 Column Left', 'img' => ReduxFramework::$_url . 'assets/img/3cl.png'), '6' => array('alt' => '3 Column Right', 'img' => ReduxFramework::$_url . 'assets/img/3cr.png')), 'default' => '2'), array('id' => 'opt-sortable', 'type' => 'sortable', 'title' => __('Sortable Text Option', 'redux-framework-demo'), 'subtitle' => __('Define and reorder these however you want.', 'redux-framework-demo'), 'desc' => __('This is the description field, again good for additional info.', 'redux-framework-demo'), 'label' => true, 'options' => array('si1' => 'Item 1', 'si2' => 'Item 2', 'si3' => 'Item 3')), array('id' => 'opt-check-sortable', 'type' => 'sortable', 'mode' => 'checkbox', 'title' => __('Sortable Text Option', 'redux-framework-demo'), 'subtitle' => __('Define and reorder these however you want.', 'redux-framework-demo'), 'desc' => __('This is the description field, again good for additional info.', 'redux-framework-demo'), 'options' => array('si1' => false, 'si2' => true, 'si3' => false))));
            $this->sections[] = array('icon' => 'el el-list-alt', 'title' => __('Select Fields', 'redux-framework-demo'), 'desc' => __('<p class="description">This is the Description. Again HTML is allowed</p>', 'redux-framework-demo'), 'fields' => array(array('id' => 'opt-select', 'type' => 'select', 'title' => __('Select Option', 'redux-framework-demo'), 'subtitle' => __('No validation can be done on this field type', 'redux-framework-demo'), 'desc' => __('This is the description field, again good for additional info.', 'redux-framework-demo'), 'options' => array('1' => 'Opt 1', '2' => 'Opt 2', '3' => 'Opt 3'), 'default' => '2'), array('id' => 'opt-select-optgroup', 'type' => 'select', 'title' => __('Select Option with optgroup', 'redux-framework-demo'), 'subtitle' => __('No validation can be done on this field type', 'redux-framework-demo'), 'desc' => __('This is the description field, again good for additional info.', 'redux-framework-demo'), 'options' => array('Group 1' => array('1' => 'Opt 1', '2' => 'Opt 2', '3' => 'Opt 3'), 'Group 2' => array('4' => 'Opt 4', '5' => 'Opt 5', '6' => 'Opt 6'), '7' => 'Opt 7', '8' => 'Opt 8', '9' => 'Opt 9'), 'default' => '2'), array('id' => 'opt-multi-select', 'type' => 'select', 'multi' => true, 'title' => __('Multi Select Option', 'redux-framework-demo'), 'subtitle' => __('No validation can be done on this field type', 'redux-framework-demo'), 'desc' => __('This is the description field, again good for additional info.', 'redux-framework-demo'), 'options' => array('1' => 'Opt 1', '2' => 'Opt 2', '3' => 'Opt 3'), 'default' => array('2', '3')), array('id' => 'opt-select-image', 'type' => 'select_image', 'title' => __('Select Image', 'redux-framework-demo'), 'subtitle' => __('A preview of the selected image will appear underneath the select box.', 'redux-framework-demo'), 'options' => $sample_patterns, 'default' => 'tree_bark.png'), array('id' => 'opt-info', 'type' => 'info', 'desc' => __('You can easily add a variety of data from WordPress.', 'redux-framework-demo')), array('id' => 'opt-select-categories', 'type' => 'select', 'data' => 'categories', 'title' => __('Categories Select Option', 'redux-framework-demo'), 'subtitle' => __('No validation can be done on this field type', 'redux-framework-demo'), 'desc' => __('This is the description field, again good for additional info.', 'redux-framework-demo')), array('id' => 'opt-select-categories-multi', 'type' => 'select', 'data' => 'categories', 'multi' => true, 'title' => __('Categories Multi Select Option', 'redux-framework-demo'), 'subtitle' => __('No validation can be done on this field type', 'redux-framework-demo'), 'desc' => __('This is the description field, again good for additional info.', 'redux-framework-demo')), array('id' => 'opt-select-pages', 'type' => 'select', 'data' => 'pages', 'title' => __('Pages Select Option', 'redux-framework-demo'), 'subtitle' => __('No validation can be done on this field type', 'redux-framework-demo'), 'desc' => __('This is the description field, again good for additional info.', 'redux-framework-demo')), array('id' => 'opt-multi-select-pages', 'type' => 'select', 'data' => 'pages', 'multi' => true, 'title' => __('Pages Multi Select Option', 'redux-framework-demo'), 'subtitle' => __('No validation can be done on this field type', 'redux-framework-demo'), 'desc' => __('This is the description field, again good for additional info.', 'redux-framework-demo')), array('id' => 'opt-select-tags', 'type' => 'select', 'data' => 'tags', 'title' => __('Tags Select Option', 'redux-framework-demo'), 'subtitle' => __('No validation can be done on this field type', 'redux-framework-demo'), 'desc' => __('This is the description field, again good for additional info.', 'redux-framework-demo')), array('id' => 'opt-multi-select-tags', 'type' => 'select', 'data' => 'tags', 'multi' => true, 'title' => __('Tags Multi Select Option', 'redux-framework-demo'), 'subtitle' => __('No validation can be done on this field type', 'redux-framework-demo'), 'desc' => __('This is the description field, again good for additional info.', 'redux-framework-demo')), array('id' => 'opt-select-menus', 'type' => 'select', 'data' => 'menus', 'title' => __('Menus Select Option', 'redux-framework-demo'), 'subtitle' => __('No validation can be done on this field type', 'redux-framework-demo'), 'desc' => __('This is the description field, again good for additional info.', 'redux-framework-demo')), array('id' => 'opt-multi-select-menus', 'type' => 'select', 'data' => 'menu', 'multi' => true, 'title' => __('Menus Multi Select Option', 'redux-framework-demo'), 'subtitle' => __('No validation can be done on this field type', 'redux-framework-demo'), 'desc' => __('This is the description field, again good for additional info.', 'redux-framework-demo')), array('id' => 'opt-select-post-type', 'type' => 'select', 'data' => 'post_type', 'title' => __('Post Type Select Option', 'redux-framework-demo'), 'subtitle' => __('No validation can be done on this field type', 'redux-framework-demo'), 'desc' => __('This is the description field, again good for additional info.', 'redux-framework-demo')), array('id' => 'opt-multi-select-post-type', 'type' => 'select', 'data' => 'post_type', 'multi' => true, 'title' => __('Post Type Multi Select Option', 'redux-framework-demo'), 'subtitle' => __('No validation can be done on this field type', 'redux-framework-demo'), 'desc' => __('This is the description field, again good for additional info.', 'redux-framework-demo')), array('id' => 'opt-multi-select-sortable', 'type' => 'select', 'data' => 'post_type', 'multi' => true, 'sortable' => true, 'title' => __('Post Type Multi Select Option + Sortable', 'redux-framework-demo'), 'subtitle' => __('This field also has sortable enabled!', 'redux-framework-demo'), 'desc' => __('This is the description field, again good for additional info.', 'redux-framework-demo')), array('id' => 'opt-select-posts', 'type' => 'select', 'data' => 'post', 'title' => __('Posts Select Option2', 'redux-framework-demo'), 'subtitle' => __('No validation can be done on this field type', 'redux-framework-demo'), 'desc' => __('This is the description field, again good for additional info.', 'redux-framework-demo')), array('id' => 'opt-multi-select-posts', 'type' => 'select', 'data' => 'post', 'multi' => true, 'title' => __('Posts Multi Select Option', 'redux-framework-demo'), 'subtitle' => __('No validation can be done on this field type', 'redux-framework-demo'), 'desc' => __('This is the description field, again good for additional info.', 'redux-framework-demo')), array('id' => 'opt-select-roles', 'type' => 'select', 'data' => 'roles', 'title' => __('User Role Select Option', 'redux-framework-demo'), 'subtitle' => __('No validation can be done on this field type', 'redux-framework-demo'), 'desc' => __('This is the description field, again good for additional info.', 'redux-framework-demo')), array('id' => 'opt-select-capabilities', 'type' => 'select', 'data' => 'capabilities', 'multi' => true, 'title' => __('Capabilities Select Option', 'redux-framework-demo'), 'subtitle' => __('No validation can be done on this field type', 'redux-framework-demo'), 'desc' => __('This is the description field, again good for additional info.', 'redux-framework-demo')), array('id' => 'opt-select-elusive', 'type' => 'select', 'data' => 'elusive-icons', 'title' => __('Elusive Icons Select Option', 'redux-framework-demo'), 'subtitle' => __('No validation can be done on this field type', 'redux-framework-demo'), 'desc' => __('Here\'s a list of all the elusive icons by name and icon.', 'redux-framework-demo'))));
            $theme_info = '<div class="redux-framework-section-desc">';
            $theme_info .= '<p class="redux-framework-theme-data description theme-uri">' . __('<strong>Theme URL:</strong> ', 'redux-framework-demo') . '<a href="' . $this->theme->get('ThemeURI') . '" target="_blank">' . $this->theme->get('ThemeURI') . '</a></p>';
            $theme_info .= '<p class="redux-framework-theme-data description theme-author">' . __('<strong>Author:</strong> ', 'redux-framework-demo') . $this->theme->get('Author') . '</p>';
            $theme_info .= '<p class="redux-framework-theme-data description theme-version">' . __('<strong>Version:</strong> ', 'redux-framework-demo') . $this->theme->get('Version') . '</p>';
            $theme_info .= '<p class="redux-framework-theme-data description theme-description">' . $this->theme->get('Description') . '</p>';
            $tabs = $this->theme->get('Tags');
            if (!empty($tabs)) {
                $theme_info .= '<p class="redux-framework-theme-data description theme-tags">' . __('<strong>Tags:</strong> ', 'redux-framework-demo') . implode(', ', $tabs) . '</p>';
            }
            $theme_info .= '</div>';
            if (file_exists(dirname(__FILE__) . '/../README.md')) {
                $this->sections['theme_docs'] = array('icon' => 'el el-list-alt', 'title' => __('Documentation', 'redux-framework-demo'), 'fields' => array(array('id' => '17', 'type' => 'raw', 'markdown' => true, 'content' => file_get_contents(dirname(__FILE__) . '/../README.md'))));
            }
            // You can append a new section at any time.
            $this->sections[] = array('icon' => 'el el-eye-open', 'title' => __('Additional Fields', 'redux-framework-demo'), 'desc' => __('<p class="description">This is the Description. Again HTML is allowed</p>', 'redux-framework-demo'), 'fields' => array(array('id' => 'opt-datepicker', 'type' => 'date', 'title' => __('Date Option', 'redux-framework-demo'), 'subtitle' => __('No validation can be done on this field type', 'redux-framework-demo'), 'desc' => __('This is the description field, again good for additional info.', 'redux-framework-demo')), array('id' => 'opt-divide', 'type' => 'divide'), array('id' => 'opt-button-set', 'type' => 'button_set', 'title' => __('Button Set Option', 'redux-framework-demo'), 'subtitle' => __('No validation can be done on this field type', 'redux-framework-demo'), 'desc' => __('This is the description field, again good for additional info.', 'redux-framework-demo'), 'options' => array('1' => 'Opt 1', '2' => 'Opt 2', '3' => 'Opt 3'), 'default' => '2'), array('id' => 'opt-button-set-multi', 'type' => 'button_set', 'title' => __('Button Set, Multi Select', 'redux-framework-demo'), 'subtitle' => __('No validation can be done on this field type', 'redux-framework-demo'), 'desc' => __('This is the description field, again good for additional info.', 'redux-framework-demo'), 'multi' => true, 'options' => array('1' => 'Opt 1', '2' => 'Opt 2', '3' => 'Opt 3'), 'default' => array('2', '3')), array('id' => 'opt-info-field', 'type' => 'info', 'desc' => __('This is the info field, if you want to break sections up.', 'redux-framework-demo')), array('id' => 'opt-info-warning', 'type' => 'info', 'style' => 'warning', 'title' => __('This is a title.', 'redux-framework-demo'), 'desc' => __('This is an info field with the warning style applied and a header.', 'redux-framework-demo')), array('id' => 'opt-info-success', 'type' => 'info', 'style' => 'success', 'icon' => 'el el-info-circle', 'title' => __('This is a title.', 'redux-framework-demo'), 'desc' => __('This is an info field with the success style applied, a header and an icon.', 'redux-framework-demo')), array('id' => 'opt-info-critical', 'type' => 'info', 'style' => 'critical', 'icon' => 'el el-info-circle', 'title' => __('This is a title.', 'redux-framework-demo'), 'desc' => __('This is an info field with the critical style applied, a header and an icon.', 'redux-framework-demo')), array('id' => 'opt-raw_info', 'type' => 'info', 'required' => array('18', 'equals', array('1', '2')), 'raw_html' => true, 'desc' => $sampleHTML), array('id' => 'opt-info-normal', 'type' => 'info', 'notice' => true, 'title' => __('This is a title.', 'redux-framework-demo'), 'desc' => __('This is an info notice field with the normal style applied, a header and an icon.', 'redux-framework-demo')), array('id' => 'opt-notice-info', 'type' => 'info', 'notice' => true, 'style' => 'info', 'title' => __('This is a title.', 'redux-framework-demo'), 'desc' => __('This is an info notice field with the info style applied, a header and an icon.', 'redux-framework-demo')), array('id' => 'opt-notice-warning', 'type' => 'info', 'notice' => true, 'style' => 'warning', 'icon' => 'el el-info-circle', 'title' => __('This is a title.', 'redux-framework-demo'), 'desc' => __('This is an info notice field with the warning style applied, a header and an icon.', 'redux-framework-demo')), array('id' => 'opt-notice-success', 'type' => 'info', 'notice' => true, 'style' => 'success', 'icon' => 'el el-info-circle', 'title' => __('This is a title.', 'redux-framework-demo'), 'desc' => __('This is an info notice field with the success style applied, a header and an icon.', 'redux-framework-demo')), array('id' => 'opt-notice-critical', 'type' => 'info', 'notice' => true, 'style' => 'critical', 'icon' => 'el el-info-circle', 'title' => __('This is a title.', 'redux-framework-demo'), 'desc' => __('This is an notice field with the critical style applied, a header and an icon.', 'redux-framework-demo')), array('id' => 'opt-custom-callback', 'type' => 'callback', 'title' => __('Custom Field Callback', 'redux-framework-demo'), 'subtitle' => __('This is a completely unique field type', 'redux-framework-demo'), 'desc' => __('This is created with a callback function, so anything goes in this field. Make sure to define the function though.', 'redux-framework-demo'), 'callback' => 'redux_my_custom_field'), array('id' => 'opt-custom-callback-class', 'type' => 'callback', 'title' => __('Custom Field Callback - Class', 'redux-framework-demo'), 'subtitle' => __('This is a completely unique field type', 'redux-framework-demo'), 'desc' => __('This is created with a callback function, so anything goes in this field. Make sure to define the function though.', 'redux-framework-demo'), 'callback' => array('Redux_Framework_sample_config', 'class_field_callback')), array('id' => 'opt-customizer-only-in-section', 'type' => 'select', 'title' => __('Customizer Only Option', 'redux-framework-demo'), 'subtitle' => __('The subtitle is NOT visible in customizer', 'redux-framework-demo'), 'desc' => __('The field desc is NOT visible in customizer.', 'redux-framework-demo'), 'customizer_only' => true, 'options' => array('1' => 'Opt 1', '2' => 'Opt 2', '3' => 'Opt 3'), 'default' => '2')));
            $this->sections[] = array('icon' => 'el el-list-alt', 'title' => __('Customizer Only', 'redux-framework-demo'), 'desc' => __('<p class="description">This Section should be visible only in Customizer</p>', 'redux-framework-demo'), 'customizer_only' => true, 'fields' => array(array('id' => 'opt-customizer-only', 'type' => 'select', 'title' => __('Customizer Only Option', 'redux-framework-demo'), 'subtitle' => __('The subtitle is NOT visible in customizer', 'redux-framework-demo'), 'desc' => __('The field desc is NOT visible in customizer.', 'redux-framework-demo'), 'customizer_only' => true, 'options' => array('1' => 'Opt 1', '2' => 'Opt 2', '3' => 'Opt 3'), 'default' => '2')));
            $this->sections[] = array('title' => __('WPML Example', 'redux-framework-demo'), 'desc' => __('These fields can be fully translated by WPML (WordPress Multi-Language). This serves as an example for you to implement. For extra details look at our <a href="http://docs.reduxframework.com/core/advanced/wpml-integration/" target="_blank">WPML Implementation</a> documentation.', 'redux-framework-demo'), 'icon' => 'el el-home', 'fields' => array(array('id' => 'wpml-text', 'type' => 'textarea', 'title' => __('WPML Text', 'redux-framework-demo'), 'desc' => __('This string can be translated via WPML.', 'redux-framework-demo')), array('id' => 'wpml-multicheck', 'type' => 'checkbox', 'title' => __('WPML Multi Checkbox', 'redux-framework-demo'), 'desc' => __('You can literally translate the values via key.', 'redux-framework-demo'), 'options' => array('1' => 'Option 1', '2' => 'Option 2', '3' => 'Option 3'))));
            $this->sections[] = array('title' => __('Import / Export', 'redux-framework-demo'), 'desc' => __('Import and Export your Redux Framework settings from file, text or URL.', 'redux-framework-demo'), 'icon' => 'el el-refresh', 'fields' => array(array('id' => 'opt-import-export', 'type' => 'import_export', 'title' => 'Import Export', 'subtitle' => 'Save and restore your Redux options', 'full_width' => false)));
            $this->sections[] = array('type' => 'divide');
            $this->sections[] = array('icon' => 'el el-info-circle', 'title' => __('Theme Information', 'redux-framework-demo'), 'desc' => __('<p class="description">This is the Description. Again HTML is allowed</p>', 'redux-framework-demo'), 'fields' => array(array('id' => 'opt-raw-info', 'type' => 'raw', 'content' => $item_info)));
            if (file_exists(trailingslashit(dirname(__FILE__)) . 'README.html')) {
                $tabs['docs'] = array('icon' => 'el el-book', 'title' => __('Documentation', 'redux-framework-demo'), 'content' => nl2br(file_get_contents(trailingslashit(dirname(__FILE__)) . 'README.html')));
            }
        }
Пример #28
0
 /**
  *
  *   Construct the google array from the stored JSON/HTML
  *
  */
 function getGoogleArray()
 {
     global $wp_filesystem;
     // Is already present?
     if (isset($this->parent->fonts['google']) && !empty($this->parent->fonts['google'])) {
         return;
     }
     // Weekly update
     if (isset($this->field['update_weekly']) && $this->field['update_weekly'] === true && $this->field['google'] === true && !empty($this->parent->args['google_api_key'])) {
         if (file_exists($this->google_json)) {
             // Keep the fonts updated weekly
             $weekback = strtotime(date('jS F Y', time() + 60 * 60 * 24 * -7));
             $last_updated = filemtime($this->google_json);
             if ($last_updated < $weekback) {
                 unlink($this->google_json);
             }
         }
     }
     // Initialize the Wordpress filesystem, no more using file_put_contents function
     Redux_Functions::initWpFilesystem();
     if (!file_exists($this->google_json)) {
         $result = wp_remote_get(apply_filters('redux-google-fonts-api-url', 'https://www.googleapis.com/webfonts/v1/webfonts?key=') . $this->parent->args['google_api_key'], array('sslverify' => false));
         if (!is_wp_error($result) && $result['response']['code'] == 200) {
             $result = json_decode($result['body']);
             foreach ($result->items as $font) {
                 $this->parent->googleArray[$font->family] = array('variants' => $this->getVariants($font->variants), 'subsets' => $this->getSubsets($font->subsets));
             }
             if (!empty($this->parent->googleArray)) {
                 $wp_filesystem->put_contents($this->google_json, json_encode($this->parent->googleArray), FS_CHMOD_FILE);
             }
         }
         //if
     }
     if (!isset($this->parent->fonts['google']) || empty($this->parent->fonts['google'])) {
         $fonts = json_decode($wp_filesystem->get_contents($this->google_json), true);
         // Fallback if file_get_contents won't work for wordpress. MEDIATEMPLE
         if (empty($fonts)) {
             $fonts = Redux_Helpers::curlRead($this->google_json);
         }
         if (isset($fonts) && !empty($fonts) && is_array($fonts) && $fonts != false) {
             $this->parent->fonts['google'] = $fonts;
             $this->parent->googleArray = $fonts;
             // optgroup
             $this->parent->font_groups['google'] = array('text' => __('Google Webfonts', 'redux-framework'), 'children' => array());
             // options
             foreach ($this->parent->fonts['google'] as $font => $extra) {
                 $this->parent->font_groups['google']['children'][] = array('id' => $font, 'text' => $font, 'data-google' => 'true');
             }
         }
     }
 }
 */
if (!class_exists('Redux')) {
    return;
}
// This is your option name where all the Redux data is stored.
$opt_name = "shopstyler";
// This line is only for altering the demo. Can be easily removed.
//$opt_name = apply_filters( 'redux_demo/opt_name', $opt_name );
/*
 *
 * --> Used within different fields. Simply examples. Search for ACTUAL DECLARATION for field examples
 *
 */
$sampleHTML = '';
if (file_exists(dirname(__FILE__) . '/info-html.html')) {
    Redux_Functions::initWpFilesystem();
    global $wp_filesystem;
    $sampleHTML = $wp_filesystem->get_contents(dirname(__FILE__) . '/info-html.html');
}
// Background Patterns Reader
$sample_patterns_path = ReduxFramework::$_dir . '../sample/patterns/';
$sample_patterns_url = ReduxFramework::$_url . '../sample/patterns/';
$sample_patterns = array();
if (is_dir($sample_patterns_path)) {
    if ($sample_patterns_dir = opendir($sample_patterns_path)) {
        $sample_patterns = array();
        while (($sample_patterns_file = readdir($sample_patterns_dir)) !== false) {
            if (stristr($sample_patterns_file, '.png') !== false || stristr($sample_patterns_file, '.jpg') !== false) {
                $name = explode('.', $sample_patterns_file);
                $name = str_replace('.' . end($name), '', $sample_patterns_file);
                $sample_patterns[] = array('alt' => $name, 'img' => $sample_patterns_url . $sample_patterns_file);
Пример #30
0
        public function setSections()
        {
            /**
             * Used within different fields. Simply examples. Search for ACTUAL DECLARATION for field examples
             * */
            // Background Patterns Reader
            $sample_patterns_path = get_stylesheet_directory() . '/images/pattern/';
            $sample_patterns_url = get_stylesheet_directory_uri() . '/images/pattern/';
            $sample_patterns = array();
            if (is_dir($sample_patterns_path)) {
                if ($sample_patterns_dir = opendir($sample_patterns_path)) {
                    $sample_patterns = array();
                    while (($sample_patterns_file = readdir($sample_patterns_dir)) !== false) {
                        if (stristr($sample_patterns_file, '.png') !== false || stristr($sample_patterns_file, '.jpg') !== false) {
                            $name = explode('.', $sample_patterns_file);
                            $name = str_replace('.' . end($name), '', $sample_patterns_file);
                            $sample_patterns[] = array('alt' => $name, 'img' => $sample_patterns_url . $sample_patterns_file);
                        }
                    }
                }
            }
            ob_start();
            $ct = wp_get_theme();
            $this->theme = $ct;
            $item_name = $this->theme->get('Name');
            $tags = $this->theme->Tags;
            $screenshot = $this->theme->get_screenshot();
            $class = $screenshot ? 'has-screenshot' : '';
            $customize_title = sprintf(__('Customize &#8220;%s&#8221;', IDZ_LANG), $this->theme->display('Name'));
            ?>
                <div id="current-theme" class="<?php 
            echo esc_attr($class);
            ?>
">
                    <?php 
            if ($screenshot) {
                ?>
                        <?php 
                if (current_user_can('edit_theme_options')) {
                    ?>
                            <a href="<?php 
                    echo wp_customize_url();
                    ?>
" class="load-customize hide-if-no-customize"
                               title="<?php 
                    echo esc_attr($customize_title);
                    ?>
">
                                <img src="<?php 
                    echo esc_url($screenshot);
                    ?>
"
                                     alt="<?php 
                    esc_attr_e('Current theme preview', IDZ_LANG);
                    ?>
"/>
                            </a>
                        <?php 
                }
                ?>
                        <img class="hide-if-customize" src="<?php 
                echo esc_url($screenshot);
                ?>
"
                             alt="<?php 
                esc_attr_e('Current theme preview', IDZ_LANG);
                ?>
"/>
                    <?php 
            }
            ?>

                    <h4><?php 
            echo $this->theme->display('Name');
            ?>
</h4>

                    <div>
                        <ul class="theme-info">
                            <li><?php 
            printf(__('By %s', IDZ_LANG), $this->theme->display('Author'));
            ?>
</li>
                            <li><?php 
            printf(__('Version %s', IDZ_LANG), $this->theme->display('Version'));
            ?>
</li>
                            <li><?php 
            echo '<strong>' . __('Tags', IDZ_LANG) . ':</strong> ';
            printf($this->theme->display('Tags'));
            ?>
</li>
                        </ul>
                        <p class="theme-description"><?php 
            echo $this->theme->display('Description');
            ?>
</p>
                        <?php 
            if ($this->theme->parent()) {
                printf(' <p class="howto">' . __('This <a href="%1$s">child theme</a> requires its parent theme, %2$s.', IDZ_LANG) . '</p>', __('http://codex.wordpress.org/Child_Themes', IDZ_LANG), $this->theme->parent()->display('Name'));
            }
            ?>

                    </div>
                </div>

                <?php 
            $item_info = ob_get_contents();
            ob_end_clean();
            $sampleHTML = '';
            if (file_exists(dirname(__FILE__) . '/info-html.html')) {
                Redux_Functions::initWpFilesystem();
                global $wp_filesystem;
                $sampleHTML = $wp_filesystem->get_contents(dirname(__FILE__) . '/info-html.html');
            }
            $this->sections[] = array('icon' => 'el-icon-cogs', 'title' => __('General', IDZ_LANG), 'fields' => array(array('id' => 'header_logo', 'type' => 'media', 'url' => true, 'title' => __('Header Logo', IDZ_LANG), 'desc' => __('Upload your logo for header section here', IDZ_LANG), 'compiler' => 'true', 'default' => array('url' => IDZ_IMAGEURI . 'logo.png')), array('id' => 'favicon', 'type' => 'media', 'url' => true, 'title' => __('Favicon', IDZ_LANG), 'subtitle' => __('Upload your favicon for your site here', IDZ_LANG), 'compiler' => 'true', 'default' => array('url' => IDZ_IMAGEURI . 'favicon.ico')), array('id' => 'page_not_found_text', 'type' => 'textarea', 'title' => __('404 Text', IDZ_LANG), 'desc' => __('Enter your 404 (Page Not Found) Text here, HTML tags are allowed.', IDZ_LANG), 'default' => 'Page Not Found!', 'validate' => 'html')));
            $this->sections[] = array('icon' => 'el-icon-folder-open', 'title' => __('Header', IDZ_LANG), 'fields' => array(array('id' => 'header_style', 'type' => 'select', 'title' => __('General Header Style', IDZ_LANG), 'subtitle' => __('Please select one as your default header style, this setting will overwrite "Header Style" option from the page meta boxes', IDZ_LANG), 'options' => array('none' => 'None', 'default' => 'Default', 'style2' => 'Style 2', 'style3' => 'Style 3'), 'default' => 'none'), array('id' => 'header_style_blog', 'type' => 'select', 'title' => __('Header Style for Blog', IDZ_LANG), 'subtitle' => __('Please select one as your default header style for archive, category, search and single pages', IDZ_LANG), 'options' => array('default' => 'Default', 'style2' => 'Style 2', 'style3' => 'Style 3'), 'default' => 'default'), array('id' => 'header_info', 'type' => 'info', 'style' => 'info', 'desc' => __('Header Info Setting', IDZ_LANG)), array('id' => 'header_topmenu_opt', 'type' => 'switch', 'title' => __('Top Menu', IDZ_LANG), 'subtitle' => __('Enable or disable top menu in header top left section', IDZ_LANG), 'default' => true), array('id' => 'header_social_opt', 'type' => 'switch', 'title' => __('Social Profile', IDZ_LANG), 'subtitle' => __('Enable or disable Social Profile in header top right section', IDZ_LANG), 'default' => true), array('id' => 'header_contact_opt', 'type' => 'switch', 'title' => __('Header Contact', IDZ_LANG), 'subtitle' => __('Enable or disable header contact info', IDZ_LANG), 'default' => true), array('id' => 'header_searchbox_opt', 'type' => 'switch', 'title' => __('Search Box', IDZ_LANG), 'subtitle' => __('Enable or disable Search Box in navigation section', IDZ_LANG), 'default' => true)));
            $this->sections[] = array('title' => __('Blog', IDZ_LANG), 'desc' => __('General options for blog page.', IDZ_LANG), 'icon' => 'el-icon-calendar', 'fields' => array(array('id' => 'blog_layout', 'type' => 'image_select', 'title' => __('Blog Layout', IDZ_LANG), 'subtitle' => __('Select default layot for blog page', IDZ_LANG), 'options' => array('right-sidebar' => array('alt' => 'Sidebar Right', 'img' => ReduxFramework::$_url . 'assets/img/2cr.png'), 'left-sidebar' => array('alt' => 'Sidebar Left', 'img' => ReduxFramework::$_url . 'assets/img/2cl.png'), 'no-sidebar' => array('alt' => 'No Sidebar', 'img' => ReduxFramework::$_url . 'assets/img/1col.png')), 'default' => 'sidebar-right'), array('id' => 'blog_title', 'type' => 'text', 'title' => __('Blog Title', IDZ_LANG), 'subtitle' => __('Will be used in single post.', IDZ_LANG)), array('id' => 'blog_readmore', 'type' => 'text', 'title' => __('Read More Text', IDZ_LANG), 'subtitle' => __('Replace read more text in blog posts.', IDZ_LANG)), array('id' => 'blog_author', 'type' => 'switch', 'title' => __('Author Box', IDZ_LANG), 'subtitle' => __('Enable or disable author box info', IDZ_LANG), 'default' => true), array('id' => 'blog_comment', 'type' => 'switch', 'title' => __('Comment', IDZ_LANG), 'subtitle' => __('Enable or disable comment section', IDZ_LANG), 'default' => true), array('id' => 'blog_date', 'type' => 'switch', 'title' => __('Post Date', IDZ_LANG), 'subtitle' => __('Enable or disable date post info', IDZ_LANG), 'default' => true), array('id' => 'blog_cat', 'type' => 'switch', 'title' => __('Post Category', IDZ_LANG), 'subtitle' => __('Enable or disable category post info', IDZ_LANG), 'default' => true), array('id' => 'blog_fblike', 'type' => 'switch', 'title' => __('Facebook Like Button', IDZ_LANG), 'subtitle' => __('Enable or disable Facebook like button', IDZ_LANG), 'default' => true), array('id' => 'blog_social_share', 'type' => 'switch', 'title' => __('Social Sharing', IDZ_LANG), 'subtitle' => __('Enable or disable social sharing button', IDZ_LANG), 'default' => true)));
            $this->sections[] = array('title' => __('Portfolio', IDZ_LANG), 'desc' => __('Portfolio Settings', IDZ_LANG), 'icon' => 'el-icon-picture', 'fields' => array(array('id' => 'portfolio_related_info', 'type' => 'info', 'title' => __('Related Portfolio Options.', IDZ_LANG), 'desc' => __('This setting applies to related portfolio section.', IDZ_LANG)), array('id' => 'portfolio_related', 'type' => 'switch', 'title' => __('Related Portfolio', IDZ_LANG), 'subtitle' => __('Enable/disable related portfolio items in single portfolio page.', IDZ_LANG), 'default' => true), array('id' => 'portfolio_column', 'type' => 'image_select', 'title' => __('Portfolio Archive/Category Layout', IDZ_LANG), 'subtitle' => __('Select the layout for only the archive/category pages.', IDZ_LANG), 'options' => array('2' => array('alt' => '2 Column', 'img' => ReduxFramework::$_url . 'assets/img/2-col-portfolio.png'), '3' => array('alt' => '3 Column', 'img' => ReduxFramework::$_url . 'assets/img/3-col-portfolio.png'), '4' => array('alt' => '4 Column', 'img' => ReduxFramework::$_url . 'assets/img/4-col-portfolio.png')), 'default' => '3'), array('id' => 'portfolio_order', 'type' => 'select', 'title' => __('Portfolio Item Order', IDZ_LANG), 'subtitle' => __('Select default order parameter for portfolio item', IDZ_LANG), 'options' => array('author' => 'author', 'date' => 'date', 'title' => 'title', 'modified' => 'modified', 'menu_order' => 'menu_order', 'parent' => 'parent', 'ID' => 'ID', 'rand' => 'rand'), 'default' => 'date'), array('id' => 'portfolio_reverse_order', 'type' => 'select', 'title' => __('Portfolio Reverse Order', IDZ_LANG), 'subtitle' => __('Select default order reverse parameter for portfolio item', IDZ_LANG), 'options' => array('ASC' => 'ASC', 'DESC' => 'DESC'), 'default' => 'date'), array('id' => 'portfolio_title', 'type' => 'switch', 'title' => __('Portfolio Title', IDZ_LANG), 'subtitle' => __('Enable or disable portfolio title', IDZ_LANG), 'default' => true), array('id' => 'portfolio_description', 'type' => 'switch', 'title' => __('Portfolio Description', IDZ_LANG), 'subtitle' => __('Enable or disable portfolio description/excerpt', IDZ_LANG), 'default' => true), array('id' => 'portfolio_zoom', 'type' => 'switch', 'title' => __('Portfolio Zoom', IDZ_LANG), 'subtitle' => __('Enable or disable portfolio popup window', IDZ_LANG), 'default' => true), array('id' => 'portfolio_link', 'type' => 'switch', 'title' => __('Portfolio URL', IDZ_LANG), 'subtitle' => __('Enable or disable portfolio custom URL', IDZ_LANG), 'default' => true), array('id' => 'portfolio_related_title', 'type' => 'text', 'title' => __('Related Portfolio Title', IDZ_LANG), 'subtitle' => '', 'default' => 'Related Portfolio'), array('id' => 'portfolio_related_subtitle', 'type' => 'textarea', 'title' => __('Related Portfolio Subtitle', IDZ_LANG), 'subtitle' => '', 'default' => '')));
            // ACTUAL DECLARATION OF SECTIONS
            $this->sections[] = array('title' => __('Sidebar', IDZ_LANG), 'desc' => '', 'icon' => 'el-icon-file-new-alt', 'fields' => array(array('id' => 'sidebar_widget', 'type' => 'multi_text', 'title' => __('Generate a new sidebar', IDZ_LANG), 'subtitle' => __('Type the name of the new sidebar widget area', IDZ_LANG))));
            $this->sections[] = array('title' => __('Contact', IDZ_LANG), 'icon' => 'el-icon-comment-alt', 'fields' => array(array('id' => 'office_address', 'type' => 'textarea', 'title' => __('Office Address', IDZ_LANG), 'subtitle' => __('Enter your office address here.', IDZ_LANG)), array('id' => 'phone_number', 'type' => 'text', 'title' => __('Phone', IDZ_LANG), 'subtitle' => __('Enter your phone number here.', IDZ_LANG)), array('id' => 'phone_number2', 'type' => 'text', 'title' => __('Additional Phone Number', IDZ_LANG), 'subtitle' => __('Enter your additioanl phone number here.', IDZ_LANG)), array('id' => 'email_address', 'type' => 'text', 'title' => __('E-mail', IDZ_LANG), 'subtitle' => __('Enter your e-mail address here.', IDZ_LANG), 'validate' => 'email', 'msg' => 'Invalid e-mail address!'), array('id' => 'email_address2', 'type' => 'text', 'title' => __('Additioanl E-mail', IDZ_LANG), 'subtitle' => __('Enter your additonal e-mail address here.', IDZ_LANG), 'validate' => 'email', 'msg' => 'Invalid e-mail address!')));
            $this->sections[] = array('icon' => 'el-icon-group', 'title' => __('Social Profile', IDZ_LANG), 'subsection' => true, 'fields' => array(array('id' => 'twitter_id', 'type' => 'text', 'title' => __('Twitter ID', IDZ_LANG), 'subtitle' => __('Please input your twitter username. default : imediapixel', IDZ_LANG)), array('id' => 'facebook_url', 'type' => 'text', 'title' => __('Facebook', IDZ_LANG), 'desc' => __('Please add your Facebook profile URL here.', IDZ_LANG)), array('id' => 'google_plus_url', 'type' => 'text', 'title' => __('Google+', IDZ_LANG), 'desc' => __('Please add your Google+ profile URL here.', IDZ_LANG)), array('id' => 'instagram_url', 'type' => 'text', 'title' => __('Instagram', IDZ_LANG), 'desc' => __('Please add your Instagram profile URL here.', IDZ_LANG)), array('id' => 'linkedin_url', 'type' => 'text', 'title' => __('Linkedin', IDZ_LANG), 'desc' => __('Please add your Linkedin profile URL here.', IDZ_LANG))));
            $this->sections[] = array('icon' => 'el-icon-brush', 'title' => __('Styling', IDZ_LANG), 'subsection' => false, 'fields' => array(array('id' => 'demo_switcher', 'type' => 'switch', 'title' => __('Demo Switcher', IDZ_LANG), 'subtitle' => __('Enable/Disable Switcher (for demo only).', IDZ_LANG), 'default' => 0), array('id' => 'responsive_option', 'type' => 'switch', 'title' => __('Responsive Layout', IDZ_LANG), 'subtitle' => __('Activate the responsive layout. If enabled, the website will change its shape for mobile devices.', IDZ_LANG), 'default' => 1), array('id' => 'color_skin', 'type' => 'select', 'title' => __('Theme Stylesheet', IDZ_LANG), 'subtitle' => __('Select a predefined color scheme. They`re located in `/css/theme/` folder.', IDZ_LANG), 'options' => array('default.css' => 'default.css', 'blue.css' => 'blue.css', 'emerald.css' => 'emerald.css', 'grey.css' => 'grey.css', 'green.css' => 'green.css', 'orange.css' => 'orange.css', 'purple.css' => 'purple.css', 'red.css' => 'red.css', 'yellow.css' => 'yellow.css'), 'default' => 'default.css'), array('id' => 'color_scheme', 'type' => 'color', 'title' => __('Select Color Skin', IDZ_LANG), 'subtitle' => __('Please select color scheme for your theme.', IDZ_LANG), 'default' => '', 'transparent' => false, 'validate' => 'color'), array('id' => 'boxed_layout', 'type' => 'switch', 'title' => __('Boxed Layout', IDZ_LANG), 'subtitle' => __('Enable/Disabled boxed layout.', IDZ_LANG), 'default' => 0), array('id' => 'body_color', 'type' => 'color', 'title' => __('Body Background Color', IDZ_LANG), 'subtitle' => __('Please select a color for background color.', IDZ_LANG), 'default' => '', 'transparent' => false, 'validate' => 'color', 'required' => array('boxed_layout', '=', '1')), array('id' => 'background_pattern', 'type' => 'image_select', 'title' => __('Pattern Background', IDZ_LANG), 'tiles' => true, 'subtitle' => __('Select a default background pattern ', IDZ_LANG), 'options' => $sample_patterns, 'width' => 45, 'height' => 36, 'default' => get_stylesheet_directory_uri() . '/images/bg/default-pattern.png', 'required' => array('boxed_layout', '=', '1')), array('id' => 'background_custom', 'type' => 'background', 'title' => __('Custom Background', IDZ_LANG), 'subtitle' => __('Add your own background image.', IDZ_LANG), 'desc' => __('This is the description field, again good for additional info.', IDZ_LANG), 'default' => '', 'background-color' => false, 'required' => array('boxed_layout', '=', '1')), array('id' => 'idz_custom_css', 'type' => 'textarea', 'title' => __('Custom CSS', IDZ_LANG), 'subtitle' => __('Quickly add some CSS to your theme by adding it to this block.', IDZ_LANG), 'validate' => 'css')));
            $this->sections[] = array('icon' => 'el-icon-fontsize', 'title' => __('Typography', IDZ_LANG), 'fields' => array(array('id' => 'body_font', 'type' => 'typography', 'output' => array('html body'), 'title' => __('Body Font Options', IDZ_LANG), 'subtitle' => __('Select font options for the body', IDZ_LANG), 'google' => true, 'font-backup' => true, 'font-weight' => true, 'text-align' => false, 'subsets' => true, 'default' => array('google' => true, 'color' => '#939292', 'font-size' => '16px', 'font-family' => 'Open Sans', 'line-height' => '28px', 'font-style' => '400')), array('id' => 'menu_font', 'type' => 'typography', 'output' => array('.idz-menu a'), 'title' => __('Menu Font Options', IDZ_LANG), 'subtitle' => __('Select font options for the main menu.', IDZ_LANG), 'google' => true, 'font-backup' => true, 'text-align' => false, 'subsets' => true, 'font-weight' => true, 'default' => array('google' => true, 'color' => '#fff', 'font-size' => '14px', 'font-family' => 'Roboto', 'line-height' => '17px', 'font-weight' => '700')), array('id' => 'heading_h1_font', 'type' => 'typography', 'output' => array('html h1'), 'title' => __('H1 Font Options', IDZ_LANG), 'subtitle' => __('Select font options for Heading 1.', IDZ_LANG), 'google' => true, 'font-backup' => true, 'text-align' => false, 'subsets' => true, 'font-weight' => true, 'default' => array('google' => true, 'color' => '#353535', 'font-size' => '42px', 'font-family' => 'Roboto', 'line-height' => '52px', 'font-weight' => '700')), array('id' => 'heading_h2_font', 'type' => 'typography', 'output' => array('html h2'), 'title' => __('H2 Font Options', IDZ_LANG), 'subtitle' => __('Select font options for Heading 2.', IDZ_LANG), 'google' => true, 'font-backup' => true, 'text-align' => false, 'subsets' => true, 'font-weight' => true, 'default' => array('google' => true, 'color' => '#353535', 'font-size' => '32px', 'font-family' => 'Roboto', 'line-height' => '42px', 'font-weight' => '700')), array('id' => 'heading_h3_font', 'type' => 'typography', 'output' => array('html h3'), 'title' => __('H3 Font Options', IDZ_LANG), 'subtitle' => __('Select font options for Heading 3.', IDZ_LANG), 'google' => true, 'font-backup' => true, 'text-align' => false, 'subsets' => true, 'font-weight' => true, 'default' => array('google' => true, 'color' => '#353535', 'font-size' => '24px', 'font-family' => 'Roboto', 'line-height' => '34px', 'font-weight' => '700')), array('id' => 'heading_h4_font', 'type' => 'typography', 'output' => array('html h4'), 'title' => __('H4 Font Options', IDZ_LANG), 'subtitle' => __('Select font options for Heading 4.', IDZ_LANG), 'google' => true, 'font-backup' => true, 'text-align' => false, 'subsets' => true, 'font-weight' => true, 'default' => array('google' => true, 'color' => '#353535', 'font-size' => '22px', 'font-family' => 'Roboto', 'line-height' => '32px', 'font-weight' => '700')), array('id' => 'heading_h5_font', 'type' => 'typography', 'output' => array('html h5'), 'title' => __('H5 Font Options', IDZ_LANG), 'subtitle' => __('Select font options for Heading 5.', IDZ_LANG), 'google' => true, 'font-backup' => true, 'text-align' => false, 'subsets' => true, 'font-weight' => true, 'default' => array('google' => true, 'color' => '#353535', 'font-size' => '16px', 'font-family' => 'Roboto', 'line-height' => '26px', 'font-weight' => '700')), array('id' => 'heading_h6_font', 'type' => 'typography', 'output' => array('html h6'), 'title' => __('H6 Font Options', IDZ_LANG), 'subtitle' => __('Select font options for Heading 6.', IDZ_LANG), 'google' => true, 'font-backup' => true, 'text-align' => false, 'subsets' => true, 'font-weight' => true, 'default' => array('google' => true, 'color' => '#353535', 'font-size' => '11px', 'font-family' => 'Roboto', 'line-height' => '21px', 'font-weight' => '700'))));
            $this->sections[] = array('title' => __('Footer', IDZ_LANG), 'icon' => 'el-icon-road', 'fields' => array(array('id' => 'footer_logo', 'type' => 'media', 'url' => true, 'title' => __('Footer Logo', IDZ_LANG), 'subtitle' => __('Upload your logo for footer section here', IDZ_LANG), 'compiler' => 'true', 'default' => array('url' => IDZ_IMAGEURI . '/logo-footer.png')), array('id' => 'footer_text', 'type' => 'textarea', 'title' => __('Footer Text', IDZ_LANG), 'subtitle' => __('Add your additional footer text here, eg. Site Copyright, etc', IDZ_LANG)), array('id' => 'footer_info', 'type' => 'info', 'style' => 'info', 'desc' => __('Footer Setting', IDZ_LANG)), array('id' => 'footer_text_opt', 'type' => 'switch', 'title' => __('Footer Text', IDZ_LANG), 'subtitle' => __('Enable or disable footer text / site copyright', IDZ_LANG), 'default' => true), array('id' => 'footer_menu_opt', 'type' => 'switch', 'title' => __('Footer Menu', IDZ_LANG), 'subtitle' => __('Enable or disable footer navigation', IDZ_LANG), 'default' => true)));
            $this->sections[] = array('title' => __('Import / Export', IDZ_LANG), 'desc' => __('Import and Export your Redux Framework settings from file, text or URL.', IDZ_LANG), 'icon' => 'el-icon-refresh', 'fields' => array(array('id' => 'opt_import_export', 'type' => 'import_export', 'title' => 'Import Export', 'subtitle' => 'Save and restore your Redux options', 'full_width' => false)));
            $this->sections[] = array('icon' => 'el-icon-info-sign', 'title' => __('Theme Information', IDZ_LANG), 'desc' => __(' ', IDZ_LANG), 'fields' => array(array('id' => 'opt_raw_info', 'type' => 'raw', 'content' => $item_info)));
        }