示例#1
0
function bizz_get_all_widget_logic()
{
    global $themeid;
    // query available widgets
    $args = array('post_type' => 'bizz_widget', 'nopaging' => true, 'orderby' => 'modified', 'order' => 'ASC', 'post_status' => 'publish');
    $get_widgets = get_posts($args);
    foreach ($get_widgets as $get_widget) {
        $registered_theme = $get_widget->post_content_filtered;
        $current_theme = $themeid;
        if (isset($registered_theme) && ($registered_theme == $themeid || $registered_theme == '')) {
            # different theme?
            $widgetlogic = bizz_reverse_escape($get_widget->post_content);
            $widgetlogic = unserialize($widgetlogic);
            $widgetlogic_id = $widgetlogic['widget-id'];
            $get_widgetlogic[$widgetlogic_id] = $widgetlogic;
        }
    }
    // build available widget logic
    $widgetlogic_list_args = isset($get_widgetlogic) ? $get_widgetlogic : false;
    return $widgetlogic_list_args;
}
示例#2
0
function bizz_html_grid_logic($condition_logic)
{
    global $bizz_registered_grids, $themeid;
    $args = array('order' => 'ASC', 'orderby' => 'modified', 'post_type' => 'bizz_grid', 'nopaging' => true, 'post_status' => 'publish', 'output' => ARRAY_A, 'nopaging' => true);
    $bizz_old_grids = get_posts($args);
    foreach ($bizz_old_grids as $grids) {
        !isset($_condition) ? $_condition = $grids->post_excerpt . ',' : ($_condition .= $grids->post_excerpt . ',');
        !isset($_item) ? $_item = $grids->post_title . ',' : ($_item .= $grids->post_title . ',');
    }
    if (!empty($bizz_old_grids)) {
        $_condition = substr_replace($_condition, "", -1);
        // remove last comma
        $_condition = explode(",", $_condition);
        $_item = substr_replace($_item, "", -1);
        // remove last comma
        $_item = explode(",", $_item);
        /* Define which templates are active: (array)conditions, (array)items, condition, item */
        $level_one = bizz_is_template($_condition, $_item, $condition_logic['bizz_condition'], $condition_logic['bizz_item']);
        $level_two_one = bizz_is_template($_condition, $_item, $condition_logic['bizz_subtabsub'], $condition_logic['bizz_item']);
        $level_two_two = bizz_is_template($_condition, $_item, $condition_logic['bizz_subtabsub'], $condition_logic['bizz_subtab']);
        $level_three = bizz_is_template($_condition, $_item, $condition_logic['bizz_subtab'], $condition_logic['bizz_item']);
        $level_four = bizz_is_template($_condition, $_item, $condition_logic['bizz_tab'], 'all');
        $level_five = in_array('is_index', $_condition) && in_array('all', $_item);
        // list condition and item for current template
        if ($level_one) {
            $this_condition = $condition_logic['bizz_condition'];
            $this_item = $condition_logic['bizz_item'];
            // print_r( 'level one<br/>' );
        } elseif ($level_two_one) {
            $this_condition = $condition_logic['bizz_subtabsub'];
            $this_item = $_item[array_search($condition_logic['bizz_subtab'], $_item)];
            // print_r( 'level two<br/>' );
        } elseif ($level_two_two) {
            $this_condition = $condition_logic['bizz_subtabsub'];
            $this_item = $_item[array_search($condition_logic['bizz_subtab'], $_item)];
            // print_r( 'level two<br/>' );
        } elseif ($level_three) {
            $this_condition = $condition_logic['bizz_subtab'];
            $this_item = $_item[array_search($condition_logic['bizz_subtab'], $_condition)];
            // print_r( 'level three<br/>' );
        } elseif ($level_four) {
            $this_condition = $condition_logic['bizz_tab'];
            $this_item = $_item[array_search($condition_logic['bizz_tab'], $_condition)];
            // print_r( 'level four<br/>' );
        } elseif ($level_five) {
            $this_condition = 'is_index';
            $this_item = $_item[array_search('is_index', $_condition)];
            // print_r( 'level five<br/>' );
        }
        if (isset($this_condition)) {
            foreach ($bizz_old_grids as $grids) {
                if ($grids->post_excerpt == $this_condition && $grids->post_title == $this_item) {
                    $_layout = bizz_reverse_escape($grids->post_content);
                    $_layout = unserialize($_layout);
                    $_theme = $grids->post_content_filtered;
                }
            }
        }
        if (isset($_layout)) {
            $old_containers = $_layout;
        } else {
            $old_containers = $bizz_registered_grids;
        }
        // unset customized & unregistered containers / areas
        $array_keys1 = isset($old_containers) && is_array($old_containers) ? array_keys($old_containers) : '';
        $array_keys2 = isset($bizz_registered_grids) && is_array($bizz_registered_grids) ? array_keys($bizz_registered_grids) : '';
        $array_keys_match = is_array($array_keys1) && is_array($array_keys2) ? array_diff($array_keys1, $array_keys2) : '';
        if (!empty($array_keys_match)) {
            foreach ((array) $array_keys_match as $value) {
                unset($old_containers[$value]);
            }
            #unset unregistered areas
        }
        // check if arrays match (different theme?)
        $registered_theme = isset($_theme) ? $_theme : '';
        $current_theme = $themeid;
        if ($registered_theme != $current_theme && $registered_theme != '') {
            $old_containers = $bizz_registered_grids;
        }
    }
    if (empty($old_containers)) {
        $bizz_registered_grids = $bizz_registered_grids;
    } else {
        $array1 = $bizz_registered_grids;
        $array2 = $old_containers;
        $array3 = bizz_array_merge_recursive_distinct($array1, $array2);
        $array4 = array_merge($array2, $array3);
        $bizz_registered_grids = $array4;
        // saved grid
    }
    return $bizz_registered_grids;
}
示例#3
0
function bizz_define_theme_options()
{
    global $options, $design, $opt, $optd;
    $theme_options = get_option('bizzthemes_options');
    # get theme options
    // options by default
    $default_options = array();
    foreach ($options as $key => $value) {
        if (isset($value['id']) && isset($value['std'])) {
            $default_options[$value['id']] = $value['std'];
        }
    }
    // options saved
    if (!empty($theme_options)) {
        $theme_options = bizz_reverse_escape($theme_options);
        $opt = stripslashes_deep($theme_options);
    } else {
        $opt = stripslashes_deep($default_options);
    }
    // parse not set options
    $opt = wp_parse_args($opt, $default_options);
    // Pull design options from database
    $theme_optionsd = get_option('bizzthemes_design');
    # get design options
    // options by default
    $default_optionsd = array();
    foreach ($design as $key => $value) {
        if (isset($value['id']) && isset($value['std'])) {
            unset($value['std']['border-position']);
            $default_optionsd[$value['id']] = $value['std'];
        }
    }
    // options saved
    if (!empty($theme_optionsd)) {
        $theme_optionsd = bizz_reverse_escape($theme_optionsd);
        $optd = stripslashes_deep($theme_optionsd);
    } else {
        $optd = stripslashes_deep($default_optionsd);
        update_option('bizzthemes_design', $optd);
        bizz_generate_css();
        // updates layout.css file
    }
    // parse not set options
    $optd = wp_parse_args($optd, $default_optionsd);
}
示例#4
0
function bizz_ajax_callback()
{
    global $wpdb, $bizz_registered_grids, $themeid;
    switch ($_POST['type']) {
        case 'bizz-grids':
            // update containers
            $data = $_POST['data'];
            parse_str($data, $output);
            print_r($output);
            // new grids
            $containers = array();
            foreach ($output as $key => $value) {
                $containers[$key] = $value;
                $_condition = $value['condition'];
                $_item = $value['item'];
            }
            $bizz_new_grid = $containers;
            $bizz_new_grid = serialize($bizz_new_grid);
            $bizz_new_grid = mysql_real_escape_string($bizz_new_grid);
            // saved grids
            $args = array('post_type' => 'bizz_grid', 'numberposts' => -1, 'orderby' => 'date', 'order' => 'DESC', 'post_status' => 'publish');
            $bizz_old_grids = get_posts($args);
            foreach ($bizz_old_grids as $grids) {
                if ($grids->post_excerpt == $_condition && $grids->post_title == $_item) {
                    $bizz_old_grid_id = $grids->ID;
                    $bizz_old_grid_content = unserialize($grids->post_content);
                }
            }
            // manage grids options
            if (!empty($bizz_old_grid_id)) {
                // default grid
                foreach ($bizz_registered_grids as $key => $value) {
                    $default_grids[$key] = $value;
                    unset($default_grids[$key]['container']);
                    unset($default_grids[$key]['grids']);
                }
                // saved grid
                $bizz_saved_grids = $bizz_new_grid;
                $bizz_saved_grids = bizz_reverse_escape($bizz_saved_grids);
                $bizz_saved_grids = unserialize($bizz_saved_grids);
                foreach ($bizz_saved_grids as $key => $value) {
                    $saved_grids[$key] = $value;
                    unset($saved_grids[$key]['condition']);
                    unset($saved_grids[$key]['item']);
                }
                // Update or delete
                if ($default_grids === $saved_grids) {
                    # delete post object
                    wp_delete_post($bizz_old_grid_id);
                } else {
                    # update post object
                    $update_post = array();
                    $update_post['ID'] = $bizz_old_grid_id;
                    $update_post['post_content'] = $bizz_new_grid;
                    $update_post['post_content_filtered'] = $themeid;
                    // Update the post inside database
                    wp_update_post($update_post);
                }
            } else {
                // Create post object
                $args = array('post_type' => 'bizz_grid', 'post_title' => $_item, 'post_excerpt' => $_condition, 'post_content' => $bizz_new_grid, 'post_content_filtered' => $themeid, 'ping_status' => get_option('default_ping_status'), 'post_status' => 'publish');
                // Insert the post into database
                wp_insert_post($args);
            }
            die;
            break;
        case 'bizz-widgetlogic-delete':
            // get ajax data
            $data = $_POST['data'];
            parse_str($data, $output);
            print_r($output);
            // new widgetlogic
            $widgetlogics = array();
            foreach ($output as $key => $value) {
                if ($key == 'widget-id' || $key == 'condition' || $key == 'item' || $key == 'parent') {
                    $widgetlogics[$key] = $value;
                }
            }
            $bizz_new_widget = $widgetlogics;
            // saved widgets
            $args = array('post_type' => 'bizz_widget', 'numberposts' => -1, 'post_status' => 'publish');
            $bizz_old_widgets = get_posts($args);
            foreach ($bizz_old_widgets as $widgets) {
                $old_widget_id = unserialize($widgets->post_content);
                if ($old_widget_id['widget-id'] == $bizz_new_widget['widget-id']) {
                    // delete widget post
                    wp_delete_post($widgets->ID, true);
                }
            }
            die;
            break;
        case 'bizz-widgetlogic':
            // get ajax data
            $data = $_POST['data'];
            parse_str($data, $output);
            print_r($output);
            // new widgetlogic
            $widgetlogics = array();
            foreach ($output as $key => $value) {
                $_condition = $key['condition'];
                $_item = $key['item'];
                $_id = $key['widget-id'];
                if ($key == 'widget-id' || $key == 'condition' || $key == 'item' || $key == 'parent' || $key == 'show') {
                    $widgetlogics[$key] = $value;
                }
            }
            $bizz_new_widget = $widgetlogics;
            // saved widgets
            $args = array('post_type' => 'bizz_widget', 'numberposts' => -1, 'orderby' => 'date', 'order' => 'DESC', 'post_status' => 'publish');
            $bizz_old_widgets = get_posts($args);
            foreach ($bizz_old_widgets as $widgets) {
                $old_widget_content = unserialize($widgets->post_content);
                if ($old_widget_content['widget-id'] == $bizz_new_widget['widget-id'] && $old_widget_content['condition'] == $bizz_new_widget['condition'] && $old_widget_content['item'] == $bizz_new_widget['item']) {
                    $bizz_old_widget_id = $widgets->ID;
                    $bizz_old_widget_content = unserialize($widgets->post_content);
                }
            }
            // save widget post
            if (!empty($bizz_old_widget_id)) {
                // Update post object
                $update_post = array();
                $update_post['ID'] = $bizz_old_widget_id;
                $update_post['post_content'] = serialize($bizz_new_widget);
                $update_post['post_content_filtered'] = $themeid;
                // Update the post inside database
                wp_update_post($update_post);
            } else {
                // Create post object
                $args = array('post_type' => 'bizz_widget', 'post_title' => $bizz_new_widget['item'], 'post_excerpt' => $bizz_new_widget['condition'], 'post_content' => serialize($bizz_new_widget), 'post_content_filtered' => $themeid, 'ping_status' => get_option('default_ping_status'), 'post_status' => 'publish');
                // Insert the post into database
                wp_insert_post($args);
            }
            die;
            break;
        case 'bizz-sidebars-backup':
            // backup sidebars_widgets
            $saved_sidebars = get_option('sidebars_widgets');
            update_option($themeid . '_sidebars_widgets', $saved_sidebars);
            die;
            break;
        case 'bizz-design':
            $opts = array();
            $opts['themeid'] = $themeid;
            $data = $_POST['data'];
            parse_str($data, $output);
            print_r($output);
            foreach ($output as $key => $value) {
                if ($value != '') {
                    if (is_string($value)) {
                        $opts[$key] = mysql_real_escape_string($value);
                    } else {
                        $opts[$key] = $value;
                    }
                }
            }
            // end foreach
            // Update/SAVE Options into MySQL Array
            update_option('bizzthemes_design', $opts);
            bizz_generate_css();
            // updates layout.css file
            die;
            break;
        case 'bizz-all':
            $opts = array();
            $opts['themeid'] = $themeid;
            $data = $_POST['data'];
            parse_str($data, $output);
            print_r($output);
            foreach ($output as $key => $value) {
                if ($value != '') {
                    if (is_string($value)) {
                        $opts[$key] = mysql_real_escape_string($value);
                    } else {
                        $opts[$key] = $value;
                    }
                }
            }
            // end foreach
            // Update/SAVE Options into MySQL Array
            update_option('bizzthemes_options', $opts);
            die;
            break;
        case 'upload':
            $clickedID = $_POST['data'];
            // Acts as the name
            $filename = $_FILES[$clickedID];
            $override['test_form'] = false;
            $override['action'] = 'wp_handle_upload';
            $uploaded_file = wp_handle_upload($filename, $override);
            echo $uploaded_file['url'];
            die;
            break;
        case 'bizz-info-layout':
            $opts = array();
            $opts['themeid'] = $themeid;
            $opts['box'] = 'hidden';
            // Update/SAVE Options into MySQL Array
            update_option('bizzthemes_info_layout', $opts);
            die;
            break;
        case 'bizz-treeview':
            $data = $_POST['data'];
            parse_str($data, $output);
            foreach ($output as $key => $value) {
                $post_type = $key;
            }
            $single_posts = bizz_layout_single('is_single', $post_type);
            $can_paginate = bizz_layout_single('is_single', $post_type, 2);
            if (!empty($single_posts)) {
                $single_posts = bizz_tabs_list($single_posts);
                print_r($single_posts);
                if (!empty($can_paginate)) {
                    print_r('<div class="paginateme linkedp" rel="2" title="Click to load more posts">Page <span>2</span></div>');
                    print_r('<div class="ajax-loader"><!----></div>');
                }
            } else {
                print_r('<ul class="treeview"><li class="menu-tab last">' . __('No posts found.', 'bizzthemes') . '</li></ul>');
            }
            die;
            break;
        case 'bizz-treeview-paginateme':
            $single_posts = bizz_layout_single('is_single', $_POST['data'], $_POST['paged'] + 1);
            $can_paginate = bizz_layout_single('is_single', $_POST['data'], $_POST['paged'] + 1);
            if (!empty($single_posts)) {
                $single_posts = bizz_tabs_list($single_posts);
                print_r($single_posts);
                if (!empty($can_paginate)) {
                    print_r('<div class="paginateme linkedp" rel="' . ($_POST['paged'] + 1) . '" title="Click to load more posts">Page <span>' . ($_POST['paged'] + 1) . '</span></div>');
                    print_r('<div class="ajax-loader"><!----></div>');
                }
            } else {
                print_r('<ul class="treeview"><li class="menu-tab last">' . __('No posts found.', 'bizzthemes') . '</li></ul>');
            }
            die;
            break;
        case 'bizz-info-recover':
            $saved_themesidebars = get_option($themeid . '_sidebars_widgets');
            $data = $_POST['data'];
            if (isset($data) && $data == 'recover_yes') {
                update_option('sidebars_widgets', $saved_themesidebars);
                echo __('Your widgetized sidebars have been successfully recovered.', 'bizzthemes');
            } elseif (isset($data) && $data == 'recover_no') {
                delete_option($themeid . '_sidebars_widgets');
                echo __('Your widgetized sidebars backup has been removed.', 'bizzthemes');
            }
            die;
            break;
    }
}