function save_content_layout($op) { global $wpdb; $layout = op_get_var($op, 'option'); if ($layout == 'current') { return; } $content_layout = array(); if ($layout != 'blank') { if ($result = $wpdb->get_var($wpdb->prepare("SELECT layout FROM `{$wpdb->prefix}optimizepress_predefined_layouts` WHERE id=%d", $layout))) { $content_layout = unserialize(base64_decode($result)); } } op_page_update_layout($content_layout, 'body'); }
function op_page_set_saved_settings($result, $keep_options = array()) { $get_layout = true; $merge_scripts = false; $layout_settings = unserialize(base64_decode($result->settings)); foreach ($keep_options as $keep) { if ($keep == 'content') { $get_layout = false; } elseif ($keep == 'scripts') { $merge_scripts = true; } elseif ($keep == 'color_scheme') { if (isset($layout_settings['color_scheme_advanced'])) { unset($layout_settings['color_scheme_advanced']); } if (isset($layout_settings['color_scheme_template'])) { unset($layout_settings['color_scheme_template']); } } elseif (isset($layout_settings[$keep])) { unset($layout_settings[$keep]); } } foreach ($layout_settings as $option => $settings) { if (!empty($settings)) { $settings = unserialize(base64_decode($settings)); $current = op_page_option($option); if ($option == 'scripts') { if ($merge_scripts === true) { $new_scripts = array(); $script_opts = array('header', 'footer', 'css'); foreach ($script_opts as $opt) { $cur = op_get_var($current, $opt, array()); $new = op_get_var($settings, $opt, array()); foreach ($new as $n) { $cur[] = $n; } $new_scripts[$opt] = $cur; } $current = $new_scripts; } else { $current = $settings; } } else { if (is_array($current) && is_array($settings)) { $current = array_merge($current, $settings); } else { $current = $settings; } } op_update_page_option($option, $current); } } if ($get_layout === true) { $layouts = unserialize(base64_decode($result->layouts)); if (is_array($layouts)) { foreach ($layouts as $type => $layout) { op_page_update_layout($layout, $type); } } } }
function _save_layout($content_layout, $type) { $new_layout = array(); if ($content_layout !== false && count($content_layout) > 0) { foreach ($content_layout as $row) { $new_row = array('row_class' => isset($row['row_class']) ? $row['row_class'] : '', 'row_style' => isset($row['row_style']) ? $row['row_style'] : '', 'row_data_style' => isset($row['row_data_style']) ? $row['row_data_style'] : '', 'children' => array()); if (isset($row['children']) && count($row['children']) > 0) { foreach ($row['children'] as $col) { $new_col = array('col_class' => $col['object']['col_class'], 'children' => array()); if (!empty($col['object']['children']) && count($col['object']['children']) > 0) { foreach ($col['object']['children'] as $child) { switch ($child['type']) { case 'subcolumn': $subcol['type'] = 'subcolumn'; $subcol['subcol_class'] = $child['subcol_class']; $subcol['children'] = array(); if (!empty($child['children']) && count($child['children']) > 0) { $nr = 0; foreach ($child['children'] as $kid) { $subcol['children'][$nr]['type'] = 'element'; // $subcol['children'][$nr]['object'] = isset($kid['object']) ? str_replace('$', '/$', addslashes(stripslashes($kid['object']))) : ''; $subcol['children'][$nr]['object'] = isset($kid['object']) ? addslashes(stripslashes($kid['object'])) : ''; $subcol['children'][$nr]['element_class'] = isset($kid['object']) ? $kid['element_class'] : ''; $subcol['children'][$nr]['element_data_style'] = isset($kid['object']) ? $kid['element_data_style'] : ''; $nr++; } } $new_col['children'][] = $subcol; break; case 'element': $element['type'] = 'element'; // $element['object'] = isset($child['object']) ? str_replace('$', '/$', addslashes(stripslashes($child['object']))) : ''; $element['object'] = isset($child['object']) ? addslashes(stripslashes($child['object'])) : ''; $element['element_class'] = isset($child['element_class']) ? $child['element_class'] : ''; $element['element_data_style'] = isset($child['element_data_style']) ? $child['element_data_style'] : ''; $new_col['children'][] = $element; break; } } } $new_row['children'][] = $new_col; } } $new_layout[] = $new_row; } } op_page_update_layout($new_layout, $type); }