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; }
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; }
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); }
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; } }