function embedWidget()
{
    global $wpdb;
    $tz = get_option('timezone_string');
    if (empty($tz)) {
        $tz = 'UTC';
    }
    date_default_timezone_set($tz);
    $theme_name = getThemeFileName();
    echo "<link rel='stylesheet' id='ignitiondeck-iframe-css'  href='" . plugins_url('/ignitiondeck-iframe.css?ver=3.1.3', __FILE__) . "' type='text/css' media='all' />";
    if (isset($_GET['product_no'])) {
        $project_id = $_GET['product_no'];
    }
    if (!empty($project_id)) {
        $deck = new Deck($project_id);
        $the_deck = $deck->the_deck();
        $post_id = $deck->get_project_postid();
        $project_desc = get_post_meta($post_id, "ign_project_description", true);
        $project_desc = get_post_meta($post_id, "ign_project_description", true);
        //GETTING the main settings of ignitiondeck
        $settings = getSettings();
        $logo_on = true;
        if (is_id_pro() && $settings->id_widget_logo_on !== '1') {
            $logo_on = false;
        }
        //GETTING project URL
        $product_url = getProjectURLfromType($project_id);
        require 'languages/text_variables.php';
        include 'templates/_embedWidget.php';
    }
    exit;
}
function id_projectGrid($attrs)
{
    ob_start();
    if (isset($attrs['columns'])) {
        $wide = $attrs['columns'];
    } else {
        $wide = 3;
    }
    $width = 90 / $wide;
    $margin = 10 / ($wide - 1);
    if (isset($attrs['max'])) {
        $max = $attrs['max'];
    } else {
        $max = null;
    }
    // project category
    if (isset($attrs['category'])) {
        $category = $attrs['category'];
        $args = array('post_type' => 'ignition_product', 'tax_query' => array(array('taxonomy' => 'project_category', 'field' => 'id', 'terms' => $category)));
    } else {
        // in case category isn't defined, query args must contain post type
        $args['post_type'] = 'ignition_product';
    }
    if (isset($max)) {
        $args['posts_per_page'] = $max;
    }
    // --> Custom args - START
    // orderby possible values - days_left, percent_raised, funds_raised, rand, title, date (default)
    if (isset($attrs['orderby'])) {
        if ($attrs['orderby'] == 'days_left') {
            $args['orderby'] = 'meta_value_num';
            $args['meta_key'] = 'ign_days_left';
        } else {
            if ($attrs['orderby'] == 'percent_raised') {
                $args['orderby'] = 'meta_value_num';
                $args['meta_key'] = 'ign_percent_raised';
            } else {
                if ($attrs['orderby'] == 'funds_raised') {
                    $args['orderby'] = 'meta_value_num';
                    $args['meta_key'] = 'ign_fund_raised';
                } else {
                    // reserved for later use
                    $args['orderby'] = $attrs['orderby'];
                }
            }
        }
    }
    // order possible values = ASC, DESC (default)
    if (isset($attrs['order'])) {
        $args['order'] = $attrs['order'];
    }
    // author (single name)
    if (isset($attrs['author'])) {
        $args['author_name'] = $attrs['author'];
    }
    // --> Custom args - END
    // moved this block before the query call
    require 'languages/text_variables.php';
    $custom = false;
    if (isset($attrs['deck'])) {
        $deck_id = $attrs['deck'];
        $settings = Deck::get_deck_attrs($deck_id);
        if (!empty($settings)) {
            $attrs = unserialize($settings->attributes);
            $custom = true;
        }
    }
    // start the actual query, which will also output decks
    $posts = get_posts($args);
    $project_ids = array();
    echo '<div class="ignitiondeck"><div class="grid_wrap" data-wide="' . $wide . '">';
    $i = 1;
    foreach ($posts as $post) {
        $post_id = $post->ID;
        $project_id = get_post_meta($post_id, 'ign_project_id', true);
        // no more "pass" checks are required, because the query gets all proper projects in proper order and settings
        $deck = new Deck($project_id);
        $mini_deck = $deck->mini_deck();
        $post_id = $deck->get_project_postid();
        $status = get_post_status($post_id);
        $custom = apply_filters('idcf_custom_deck', $custom, $post_id);
        $attrs = apply_filters('idcf_deck_attrs', isset($attrs) ? $attrs : null, $post_id);
        if (strtoupper($status) == 'PUBLISH') {
            $settings = getSettings();
            echo '<div class="grid_item" style="float: left; margin: 0 ' . $margin . '% ' . $margin . '% 0; width: ' . $width . '%;">';
            include 'templates/_miniWidget.php';
            echo '</div>';
            $i++;
        }
    }
    // end with query and continue with original code
    echo '</div></div>';
    echo '<br style="clear: both"/>';
    $grid = ob_get_contents();
    ob_end_clean();
    return $grid;
}
示例#3
0
<?php

$options = get_option('fivehundred_theme_settings');
if (isset($options['home'])) {
    $project_id = $options['home'];
    if (class_exists('Deck')) {
        //$id = getPostbyProductID($project_id);
        $deck = new Deck($project_id);
        $id = $deck->get_project_postid();
        $the_deck = $deck->the_deck();
        $levels = $the_deck->level_data;
        //$levels = the_levels($id);
        $type = get_post_meta($id, 'ign_project_type', true);
        $end_type = get_post_meta($id, 'ign_end_type', true);
        //$project = new ID_Project($project_id);
        $days_left = $deck->days_left();
        $permalink_structure = get_option('permalink_structure');
        if (empty($permalink_structure)) {
            $url_suffix = '&';
        } else {
            $url_suffix = '?';
        }
        $url = get_permalink($id) . $url_suffix . 'purchaseform=500&prodid=' . $project_id;
        //getPurchaseURLfromType($project_id, 'purchaseform');
        /*$custom_order = get_post_meta($id, 'custom_level_order', true);
        		if ($custom_order) {
        			usort($levels, 'fh_level_sort');
        		}*/
    }
}
if (isset($levels)) {