Пример #1
0
function bizz_layout_tabs_type($option = '')
{
    global $wp_version;
    $layout_tabs = '';
    if ($option == 'is_archive') {
        // Post type archives (3.1+ only)
        if (version_compare($wp_version, '3.0.9', '>=')) {
            $post_types = get_post_types(array(), 'objects');
            $post_typex = array();
            $i = 0;
            if ($post_types) {
                foreach ($post_types as $post_type) {
                    $pt_labels = $post_type->labels;
                    if ($post_type->name == 'revision' || $post_type->name == 'nav_menu_item' || $post_type->name == 'page' || $post_type->name == 'attachment' || $post_type->name == 'bizz_widget' || $post_type->name == 'bizz_grid') {
                        continue;
                    }
                    $post_typex[$i]['tab'] = 'is_archive';
                    $post_typex[$i]['subtab'] = $post_type->name;
                    $post_typex[$i]['condition'] = 'is_pt_archive';
                    $post_typex[$i]['id'] = $post_type->name;
                    $post_typex[$i]['name'] = 'Post type: ' . $pt_labels->name;
                    $post_typex[$i]['tree'] = bizz_layout_archive('is_archive', $post_type->name);
                    $layout_tabs = $post_typex;
                    $i++;
                }
            }
        }
    } elseif ($option == 'is_single') {
        $post_types = get_post_types(array(), 'objects');
        $post_typex = array();
        $i = 0;
        if ($post_types) {
            foreach ($post_types as $post_type) {
                $pt_labels = $post_type->labels;
                if ($post_type->name == 'revision' || $post_type->name == 'nav_menu_item' || $post_type->name == 'bizz_widget' || $post_type->name == 'bizz_grid') {
                    continue;
                }
                $post_typex[$i]['tab'] = 'is_single';
                $post_typex[$i]['subtab'] = $post_type->name;
                $post_typex[$i]['condition'] = 'is_singular';
                $post_typex[$i]['id'] = $post_type->name;
                $post_typex[$i]['name'] = 'Post type: ' . $pt_labels->name;
                if (isset($_REQUEST['condition']) && ($_REQUEST['condition'] == 'is_singular' && $_REQUEST['id'] == $post_type->name || $_REQUEST['condition'] == 'is_single' && isset($_REQUEST['subtab']) && $_REQUEST['subtab'] == $post_type->name)) {
                    $post_typex[$i]['tree'] = bizz_layout_single('is_single', $post_type->name);
                } else {
                    $post_typex[$i]['tree'] = array('ajax' => array('tab' => 'ajaxed'));
                }
                $post_typex[$i]['tab_id'] = $post_type->name;
                $layout_tabs = $post_typex;
                $i++;
            }
        }
    } elseif ($option == 'is_page_template') {
        $templates = get_page_templates();
        $post_typex = array();
        $i = 0;
        if ($templates) {
            foreach ($templates as $template_name => $template_filename) {
                $post_typex[$i]['tab'] = 'is_page_template';
                $post_typex[$i]['subtab'] = $template_name;
                $post_typex[$i]['condition'] = 'is_page_template';
                $post_typex[$i]['id'] = $template_filename;
                $post_typex[$i]['name'] = 'Page template: ' . $template_name;
                $layout_tabs = $post_typex;
                $i++;
            }
        }
    }
    return $layout_tabs;
}
Пример #2
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;
    }
}