Exemple #1
0
function arras_flush_options()
{
    global $arras_options;
    $arras_options = new Options();
    $arras_options->get_options();
    if (!get_option('arras_options')) {
        $arras_options->default_options();
    }
}
Exemple #2
0
function thesis_get_option($option_name)
{
    $thesis_options = new Options();
    $thesis_options->get_options();
    return $thesis_options->{$option_name};
}
Exemple #3
0
    public function get_tiles($posts = array(), $opts = array())
    {
        //
        // SETUP
        //
        // This is a double-up when called from the shortcode, but makes the
        // method more reliable.
        $opts = shortcode_atts($this->options->get_options(), $opts);
        /**
         * Set the variables in the instance
         */
        $wp_tiles_id = "wp_tiles_" . $this->tiles_id;
        $this->tiles_id++;
        /**
         *  Cleanup grids and set names
         */
        $opts['grids'] = $this->get_grids($opts['grids']);
        $grid_pretty_names = array_keys($opts['grids']);
        $opts['grids'] = $this->sanitize_grid_keys($opts['grids']);
        $grid_names = array_combine(array_keys($opts['grids']), $grid_pretty_names);
        $small_screen_grids = $this->get_grids($opts['small_screen_grid']);
        $opts['small_screen_grid'] = end($small_screen_grids);
        //
        // GET POSTS
        //
        if (!$posts) {
            $posts = array();
        }
        // Is $posts a query?
        if (is_array($posts) && (empty($posts) || count(array_filter(array_keys($posts), 'is_string')))) {
            if (isset($posts['posts_per_page']) && 'auto' === $posts['posts_per_page']) {
                $posts_in_grid = $this->get_posts_in_grid(reset($opts['grids']));
                $posts['posts_per_page'] = $posts_in_grid ? $posts_in_grid : 10;
            }
            // Automatically set paged var if tile pagination is on
            if ($opts['pagination']) {
                $paged_query_var = is_front_page() ? get_query_var('page') : get_query_var('paged');
                $posts['paged'] = $paged_query_var ? $paged_query_var : 1;
            }
            $posts = new \WP_Query(apply_filters('wp_tiles_get_posts_query', $posts));
        }
        // Is posts a WP_Query or Network_Query or similar? (enables pagination)
        $wp_query = false;
        if (is_object($posts) && isset($posts->posts) && isset($posts->max_num_pages)) {
            $wp_query = $posts;
            $posts = $wp_query->posts;
        }
        if (empty($posts)) {
            return false;
        }
        //
        // OPTIONS
        //
        $opts['byline_color'] = $this->options->get_byline_color($opts);
        $opts['colors'] = $this->options->get_colors($opts);
        /**
         * Make sure carousel module isn't loaded in vain
         */
        if ('carousel' == $opts['link'] && (!class_exists('No_Jetpack_Carousel') && !class_exists('Jetpack_Carousel'))) {
            $opts['link'] = 'thickbox';
        }
        /**
         * Pagination
         */
        // Only allow pagination when we have a WP Query
        $opts['next_query'] = false;
        $next_page = false;
        if ($wp_query) {
            $max_page = $wp_query->max_num_pages;
            $current_page = intval($wp_query->get('paged', 1));
            if ($current_page < 1) {
                $current_page = 1;
            }
            $next_page = $current_page + 1;
            if ($next_page > $max_page) {
                $next_page = false;
            }
            // If AJAX pagination, sign the query and pass it to JS
            if ($next_page && 'ajax' == $opts['pagination']) {
                $next_query = $wp_query->query;
                $max_page = $wp_query->max_num_pages;
                if ($next_page <= $max_page) {
                    $next_query['paged'] = $next_page;
                    $opts['next_query'] = array('query' => $next_query, 'action' => Ajax::ACTION_GET_POSTS, '_ajax_nonce' => $this->ajax->get_query_nonce($next_query));
                    $opts['ajaxurl'] = admin_url('admin-ajax.php');
                }
            }
        }
        /**
         * Pass the required info to the JS
         */
        $this->add_data_for_js($wp_tiles_id, $opts);
        //
        // RENDER HTML
        //
        /**
         * Get the classes
         */
        $classes = array('top' == $opts['byline_align'] ? 'wp-tiles-byline-align-top' : 'wp-tiles-byline-align-bottom');
        if (!empty($opts['byline_effect']) && in_array($opts['byline_effect'], $this->options->get_allowed_byline_effects())) {
            $classes = array_merge($classes, array('wp-tiles-byline-animated', 'wp-tiles-byline-' . $opts['byline_effect']));
        }
        if (!empty($opts['image_effect']) && in_array($opts['image_effect'], $this->options->get_allowed_image_effects())) {
            $classes = array_merge($classes, array('wp-tiles-image-animated', 'wp-tiles-image-' . $opts['image_effect']));
        }
        /**
         * Set extra container classes for major CSS changes
         */
        //$opts['extra_classes'] = $opts['extra_classes_grid_selector'] = array();
        //Legacy styles?
        if (apply_filters('wp_tiles_use_legacy_styles', $this->options->get_option('legacy_styles'))) {
            $opts['extra_classes'][] = $opts['extra_classes_grid_selector'][] = 'wp-tiles-legacy';
        }
        // Full width experiment
        if ($opts['full_width']) {
            $opts['extra_classes'][] = 'wp-tiles-full-width';
        }
        $opts['extra_classes'] = implode(' ', apply_filters('wp_tiles_container_classes', $opts['extra_classes']));
        $opts['extra_classes_grid_selector'] = implode(' ', apply_filters('wp_tiles_grid_selector_classes', $opts['extra_classes_grid_selector']));
        if (!empty($opts['extra_classes'])) {
            $opts['extra_classes'] = ' ' . $opts['extra_classes'];
        }
        if (!empty($opts['extra_classes_grid_selector'])) {
            $opts['extra_classes_grid_selector'] = ' ' . $opts['extra_classes_grid_selector'];
        }
        /**
         * Render the template
         *
         * POLICY: Though the PHP should remain readable at all times, getting clean
         * HTML output is nice. To strive to get clean HTML output, WP Tiles starts 8
         * spaces (2 tabs) from the wall, and leaves an empty line between each line
         * of HTML. Remeber that ?> strips a following newline, so always leave an
         * empty line after ?>.
         */
        ob_start();
        if (count($grid_names) > 1) {
            ?>

        <div id="<?php 
            echo $wp_tiles_id;
            ?>
-templates" class="wp-tiles-templates<?php 
            echo $opts['extra_classes_grid_selector'];
            ?>
">

            <ul class="wp-tiles-template-selector">
            <?php 
            foreach ($grid_names as $slug => $name) {
                ?>

                <li class="wp-tiles-template" data-grid="<?php 
                echo $slug;
                ?>
"><?php 
                echo $name;
                ?>
</li>
            <?php 
            }
            ?>

            </ul>

        </div>
        <?php 
        }
        ?>

        <div class="wp-tiles-container<?php 
        echo $opts['extra_classes'];
        ?>
">
        <?php 
        if ('carousel' == $opts['link']) {
            ?>

            <?php 
            echo apply_filters('gallery_style', '<div id="' . $wp_tiles_id . '" class="wp-tiles-grid gallery ' . implode(' ', $classes) . '">');
            ?>
        <?php 
        } else {
            ?>

            <div id="<?php 
            echo $wp_tiles_id;
            ?>
" class="wp-tiles-grid <?php 
            echo implode(' ', $classes);
            ?>
">
        <?php 
        }
        ?>
                <?php 
        $this->render_tile_html($posts, $opts);
        ?>

            </div>

        </div>
        <?php 
        /**
         * Pagination
         **/
        if ($next_page && 'ajax' === $opts['pagination'] && $opts['next_query']) {
            ?>

        <nav class="wp-tiles-pagination wp-tiles-pagination-ajax" id="<?php 
            echo $wp_tiles_id;
            ?>
-pagination">
            <a href="<?php 
            next_posts($max_page, true);
            ?>
"><?php 
            echo apply_filters('wp_tiles_load_more_text', __('Load More', 'wp-tiles'));
            ?>
</a>
        </nav>
        <?php 
        } elseif ('prev_next' === $opts['pagination']) {
            ?>
            <?php 
            wp_tiles_prev_next_nav($wp_query, $wp_tiles_id);
            ?>

        <?php 
        } elseif ('paging' === $opts['pagination']) {
            ?>
            <?php 
            wp_tiles_paging_nav($wp_query, $wp_tiles_id);
            ?>

        <?php 
        }
        $out = ob_get_contents();
        ob_end_clean();
        return $out;
    }
Exemple #4
0
function thesis_upgrade_design_options()
{
    // Retrieve Design Options and Design Options defaults
    $design_options = new Design();
    $design_options->get_design_options();
    $default_design_options = new Design();
    $default_design_options->default_design_options();
    // Retrieve Thesis Options and Thesis Options defaults
    $thesis_options = new Options();
    $thesis_options->get_options();
    $default_options = new Options();
    $default_options->default_options();
    if (isset($design_options->teasers) && !is_array($design_options->teasers)) {
        unset($design_options->teasers);
    }
    if (isset($design_options->feature_box_condition)) {
        $feature_box = $design_options->feature_box;
        unset($design_options->feature_box);
    }
    if (isset($thesis_options->multimedia_box)) {
        $multimedia_box = $thesis_options->multimedia_box;
    }
    // Ubiquitous options upgrade code
    foreach ($default_design_options as $option_name => $value) {
        if (!isset($design_options->{$option_name})) {
            $design_options->{$option_name} = $value;
        }
    }
    // 1.6b niceness
    if (!isset($design_options->nav['link']['parent'])) {
        $design_options->nav['link']['parent'] = $default_design_options->nav['link']['parent'];
    }
    if (!isset($design_options->nav['background']['parent'])) {
        $design_options->nav['background']['parent'] = $default_design_options->nav['background']['parent'];
    }
    // Version-specific upgrade code
    if (isset($design_options->font_sizes)) {
        foreach ($design_options->fonts as $area => $family) {
            $design_options->fonts['families'][$area] = $family ? $family : false;
        }
        foreach ($design_options->font_sizes as $area => $size) {
            $design_options->fonts['sizes'][$area] = $size;
        }
    }
    if (isset($design_options->num_columns)) {
        $design_options->layout['columns'] = $design_options->num_columns;
    }
    if (isset($design_options->widths)) {
        $design_options->layout['widths']['content'] = $design_options->widths['content'] ? $design_options->widths['content'] : 480;
        $design_options->layout['widths']['sidebar_1'] = $design_options->widths['sidebar_1'] ? $design_options->widths['sidebar_1'] : 195;
        $design_options->layout['widths']['sidebar_2'] = $design_options->widths['sidebar_2'] ? $design_options->widths['sidebar_2'] : 195;
    }
    if (isset($design_options->column_order)) {
        $design_options->layout['order'] = $design_options->column_order;
    }
    if (isset($design_options->html_framework)) {
        $design_options->layout['framework'] = $design_options->html_framework ? $design_options->html_framework : 'page';
    }
    if (isset($design_options->page_padding)) {
        $design_options->layout['page_padding'] = $design_options->page_padding;
    }
    if (isset($design_options->teaser_options) && isset($design_options->teaser_content)) {
        foreach ($design_options->teaser_content as $teaser_area) {
            $new_teaser_options[$teaser_area]['name'] = $design_options->teasers['options'][$teaser_area]['name'];
            $new_teaser_options[$teaser_area]['show'] = (bool) $design_options->teaser_options[$teaser_area];
        }
        if ($new_teaser_options) {
            $design_options->teasers['options'] = $new_teaser_options;
        }
    }
    if (isset($design_options->teaser_date)) {
        $design_options->teasers['date']['format'] = $design_options->teaser_date ? $design_options->teaser_date : 'standard';
    }
    if (isset($design_options->teaser_date_custom)) {
        $design_options->teasers['date']['custom'] = $design_options->teaser_date_custom ? $design_options->teaser_date_custom : 'F j, Y';
    }
    if (isset($design_options->teaser_font_sizes)) {
        foreach ($design_options->teaser_font_sizes as $teaser_area => $size) {
            $design_options->teasers['font_sizes'][$teaser_area] = $size;
        }
    }
    if (isset($design_options->teaser_link_text)) {
        $design_options->teasers['link_text'] = $design_options->teaser_link_text ? $design_options->teaser_link_text : false;
    }
    if (isset($feature_box)) {
        $design_options->feature_box['position'] = $feature_box;
        if (isset($design_options->feature_box_condition)) {
            $design_options->feature_box['status'] = $design_options->feature_box_condition;
        }
        if (isset($design_options->feature_box_after_post)) {
            $design_options->feature_box['after_post'] = $design_options->feature_box_after_post;
        }
    }
    // Multimedia box
    if (isset($multimedia_box) && is_array($multimedia_box)) {
        foreach ($multimedia_box as $item => $value) {
            $design_options->multimedia_box[$item] = $value;
        }
    } elseif (isset($multimedia_box)) {
        $design_options->multimedia_box['status'] = $multimedia_box;
        unset($thesis_options->multimedia_box);
        if ($thesis_options->image_alt_tags) {
            foreach ($thesis_options->image_alt_tags as $image_name => $alt_text) {
                if ($alt_text != '') {
                    $design_options->multimedia_box['alt_tags'][$image_name] = $alt_text;
                }
            }
            unset($thesis_options->image_alt_tags);
        }
        if ($thesis_options->image_link_urls) {
            foreach ($thesis_options->image_link_urls as $image_name => $link_url) {
                if ($link_url != '') {
                    $design_options->multimedia_box['link_urls'][$image_name] = $link_url;
                }
            }
            unset($thesis_options->image_link_urls);
        }
        if ($thesis_options->video_code) {
            $design_options->multimedia_box['video'] = $thesis_options->video_code;
            unset($thesis_options->video_code);
        }
        if ($thesis_options->custom_code) {
            $design_options->multimedia_box['code'] = $thesis_options->custom_code;
            unset($thesis_options->custom_code);
        }
    }
    // 1.6 Multimedia box style upgrades
    if (!isset($multimedia_box['color'])) {
        $design_options->multimedia_box['color'] = $default_design_options->multimedia_box['color'];
    }
    if (!isset($multimedia_box['background'])) {
        $design_options->multimedia_box['background']['image'] = $default_design_options->multimedia_box['background']['image'];
        $design_options->multimedia_box['background']['video'] = $default_design_options->multimedia_box['background']['video'];
        $design_options->multimedia_box['background']['code'] = $default_design_options->multimedia_box['background']['code'];
    }
    // Post images and thumbnails
    if (isset($design_options->post_image_horizontal)) {
        $thesis_options->image['post']['x'] = $design_options->post_image_horizontal;
    }
    if (isset($design_options->post_image_vertical)) {
        $thesis_options->image['post']['y'] = $design_options->post_image_vertical;
    }
    if (isset($design_options->post_image_frame)) {
        $thesis_options->image['post']['frame'] = $design_options->post_image_frame;
    }
    if (isset($design_options->post_image_single)) {
        $thesis_options->image['post']['single'] = $design_options->post_image_single;
    }
    if (isset($design_options->post_image_archives)) {
        $thesis_options->image['post']['archives'] = $design_options->post_image_archives;
    }
    if (isset($design_options->thumb_horizontal)) {
        $thesis_options->image['thumb']['x'] = $design_options->thumb_horizontal;
    }
    if (isset($design_options->thumb_vertical)) {
        $thesis_options->image['thumb']['y'] = $design_options->thumb_vertical;
    }
    if (isset($design_options->thumb_frame)) {
        $thesis_options->image['thumb']['frame'] = $design_options->thumb_frame;
    }
    if (isset($design_options->thumb_size)) {
        $thesis_options->image['thumb']['width'] = $design_options->thumb_size['width'];
        $thesis_options->image['thumb']['height'] = $design_options->thumb_size['height'];
    }
    // Preserve old font variables
    if ($design_options->font_body) {
        $design_options->fonts['families']['body'] = $design_options->font_body;
    }
    if ($design_options->font_content_subheads_family) {
        $design_options->fonts['families']['subheads'] = $design_options->font_content_subheads_family;
    }
    if ($design_options->font_nav_family) {
        $design_options->fonts['families']['nav_menu'] = $design_options->font_nav_family;
    }
    if ($design_options->font_header_family) {
        $design_options->fonts['families']['header'] = $design_options->font_header_family;
    }
    if ($design_options->font_header_tagline_family) {
        $design_options->fonts['families']['tagline'] = $design_options->font_header_tagline_family;
    }
    if ($design_options->font_headlines_family) {
        $design_options->fonts['families']['headlines'] = $design_options->font_headlines_family;
    }
    if ($design_options->font_bylines_family) {
        $design_options->fonts['families']['bylines'] = $design_options->font_bylines_family;
    }
    if ($design_options->font_multimedia_family) {
        $design_options->fonts['families']['multimedia_box'] = $design_options->font_multimedia_family;
    }
    if ($design_options->font_sidebars_family) {
        $design_options->fonts['families']['sidebars'] = $design_options->font_sidebars_family;
    }
    if ($design_options->font_sidebars_headings_family) {
        $design_options->fonts['families']['sidebar_headings'] = $design_options->font_sidebars_headings_family;
    }
    if ($design_options->font_footer_family) {
        $design_options->fonts['families']['footer'] = $design_options->font_footer_family;
    }
    // Preserve old font size variables
    if ($design_options->font_content_size) {
        $design_options->fonts['sizes']['content'] = $design_options->font_content_size;
    }
    if ($design_options->font_nav_size) {
        $design_options->fonts['sizes']['nav_menu'] = $design_options->font_nav_size;
    }
    if ($design_options->font_header_size) {
        $design_options->fonts['sizes']['header'] = $design_options->font_header_size;
    }
    if ($design_options->font_headlines_size) {
        $design_options->fonts['sizes']['headlines'] = $design_options->font_headlines_size;
    }
    if ($design_options->font_bylines_size) {
        $design_options->fonts['sizes']['bylines'] = $design_options->font_bylines_size;
    }
    if ($design_options->font_multimedia_size) {
        $design_options->fonts['sizes']['multimedia_box'] = $design_options->font_multimedia_size;
    }
    if ($design_options->font_sidebars_size) {
        $design_options->fonts['sizes']['sidebars'] = $design_options->font_sidebars_size;
    }
    if ($design_options->font_footer_size) {
        $design_options->fonts['sizes']['footer'] = $design_options->font_footer_size;
    }
    // Preserve old width settings
    if ($design_options->num_columns == 3 && $design_options->width_content_3) {
        $design_options->layout['widths']['content'] = $design_options->width_content_3;
    } elseif ($design_options->num_columns == 2 && $design_options->width_content_2) {
        $design_options->layout['widths']['content'] = $design_options->width_content_2;
        $design_options->layout['widths']['sidebar_1'] = $design_options->width_sidebar;
    } elseif ($design_options->num_columns == 3 && $design_options->width_content_1) {
        $design_options->layout['widths']['content'] = $design_options->width_content_1;
    }
    // Clean up the $design_options->fonts array from 1.5b r3 to 1.5
    foreach ($design_options->fonts as $type => $value) {
        if ($type == 'families' || $type == 'sizes') {
            $new_fonts_array[$type] = $value;
        }
    }
    $design_options->fonts = $new_fonts_array;
    foreach ($design_options as $option_name => $value) {
        if (!isset($default_design_options->{$option_name})) {
            unset($design_options->{$option_name});
        }
        // Has this option been nuked? If so, kill it!
    }
    update_option('thesis_design_options', $design_options);
    // Save upgraded options
    update_option('thesis_options', $thesis_options);
    thesis_generate_css();
}