Example #1
0
 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');
 }
Example #2
0
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);
            }
        }
    }
}
Example #3
0
 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);
 }