Ejemplo n.º 1
0
 function save_advanced($op)
 {
     $advanced = op_page_option('color_scheme_advanced');
     $advanced = is_array($advanced) ? $advanced : array();
     $typography = op_typography_elements();
     $current_typography = op_page_option('typography');
     if (!is_array($current_typography)) {
         $current_typography = op_page_config('default_config', 'typography');
         if (!is_array($current_typography)) {
             $current_typography = array();
         }
     }
     if (!isset($current_typography['color_elements'])) {
         $current_typography['color_elements'] = array();
     }
     $elements = array('page' => array('link_color' => 'link_color', 'link_hover_color' => 'link_hover_color'), 'footer' => array('text_color' => 'footer_text_color', 'link_color' => 'footer_link_color', 'link_hover_color' => 'footer_link_hover_color'), 'feature_area' => array('text_color' => 'feature_text_color', 'link_color' => 'feature_link_color', 'link_hover_color' => 'feature_link_hover_color'));
     $options = $this->_advanced_sections();
     foreach ($options as $section => $settings) {
         $vals = op_get_var($op, $section, array());
         if (!isset($advanced[$section])) {
             $advanced[$section] = array();
         }
         $start_color = '';
         foreach ($settings['elements'] as $name => $options) {
             $tmp = op_get_var($vals, $name);
             //Check if this is a gradient. If so, and the bottom color is empty, set to first color
             if (strstr($name, '_start')) {
                 $start_color = $tmp;
             }
             if (strstr($name, '_end') && empty($tmp)) {
                 $tmp = $start_color;
             }
             if (isset($options['text_decoration'])) {
                 $newtmp = array('color' => op_get_var($tmp, 'color'), 'text_decoration' => op_get_var($tmp, 'text_decoration'));
             } else {
                 $newtmp = $tmp;
             }
             $advanced[$section][$name] = $newtmp;
             if (isset($elements[$section])) {
                 if (isset($elements[$section][$name])) {
                     $current_typography['color_elements'][$elements[$section][$name]] = $newtmp;
                 }
             }
         }
     }
     op_update_page_option('typography', $current_typography);
     /*$options = array(
     			'header' => array('nav_bar_start','nav_bar_end','nav_bar_link'),
     			'feature_area' => array('feature_start','feature_end'),
     			'footer' => array('footer_start','footer_end'),
     			'page' => array('repeating_bg','bg_color','link_color')
     		);
     
     		foreach($options as $name => $fields){
     			$vals = op_get_var($op,$name,array());
     			if(!isset($advanced[$name])){
     				$advanced[$name] = array();
     			}
     			foreach($fields as $f){
     				$advanced[$name][$f] = op_get_var($vals,$f);
     			}
     		}*/
     op_update_page_option('color_scheme_advanced', $advanced);
 }
Ejemplo n.º 2
0
 function save_features()
 {
     //opLog('POST: ' . print_r($_POST, true));
     //opLog('OPTIONS :' . print_r($this->options, true));
     $font_options = op_page_option('feature_area', 'settings', 'font_options');
     if (!is_array($font_options)) {
         $font_options = array();
     }
     if ($this->enabled && count($this->options) > 0) {
         foreach ($this->options as $name => $options) {
             if ($name == 'template') {
                 continue;
             }
             $op = op_post('feature_area', $name);
             $mod_options = op_get_var($options, 'mod_options', array());
             $module = op_mod($options['module'], op_get_var($options, 'module_type', 'blog'))->save_settings(array('feature_area', $name), $mod_options, $op, true, true);
             if ($options['module'] == 'content_fields') {
                 if (isset($module[0])) {
                     $font_options[$name] = $module[1];
                     $module = $module[0];
                 }
             }
             op_update_page_option('feature_area', 'settings', $name, $module);
         }
     }
     op_update_page_option('feature_area', 'settings', 'font_options', $font_options);
 }
Ejemplo n.º 3
0
 function save_size_color($op)
 {
     $theme_option = op_page_option('feature_area', 'type');
     $size_color = op_page_option('size_color');
     $size_color = $size_color === false ? array() : $size_color;
     $size_color['box_color_start'] = op_get_var($op, 'box_color_start', op_default_page_option($theme_option, 'size_color', 'box_color_start'));
     $size_color['box_color_end'] = op_get_var($op, 'box_color_end', op_default_page_option($theme_option, 'size_color', 'box_color_end'));
     $size_color['box_width'] = op_get_var($op, 'box_width', op_default_page_option($theme_option, 'size_color', 'box_width'));
     op_update_page_option('size_color', $size_color);
 }
Ejemplo n.º 4
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);
            }
        }
    }
}
Ejemplo n.º 5
0
 function save_landing_bg($op)
 {
     $landing = op_page_option('landing_bg');
     $landing = $landing === false ? array() : $landing;
     $landing['image'] = op_get_var($op, 'image', op_default_page_option('landing_bg', 'image'));
     op_update_page_option('landing_bg', $landing);
 }
Ejemplo n.º 6
0
 function save_step_4()
 {
     $op_fonts = new OptimizePress_Fonts();
     $op = $_POST['op'];
     foreach ($this->sections as $name => $section) {
         $sections = $section['object']->sections();
         foreach ($sections as $section_name => $section_section) {
             if (is_array($section_section)) {
                 if (isset($section_section['save_action'])) {
                     call_user_func_array($section_section['save_action'], array(op_get_var($op, $section_name, array())));
                 }
                 if (isset($section_section['module'])) {
                     $mod_ops = op_get_var($op, $section_name, array());
                     $opts = op_get_var($section_section, 'options', array());
                     op_mod($section_section['module'], op_get_var($section_section, 'module_type', 'blog'))->save_settings($section_name, $opts, $mod_ops);
                 }
             }
         }
     }
     //Set this page's typography settings to be that of the defaults
     $default_typography = op_default_option('default_typography');
     if (!empty($default_typography) && isset($default_typography['font_elements'])) {
         foreach ($default_typography['font_elements'] as $typography) {
             $op_fonts->add_font($typography['font']);
         }
         op_update_page_option('typography', $default_typography);
     }
     if (op_has_error()) {
         $this->error = __('There was a problem processing the form, please review the errors below', OP_SN);
     }
     /* else {
     			$this->notification = __('Your page settings have been updated.',OP_SN);
     		}*/
     $this->_redirect();
 }
Ejemplo n.º 7
0
 /**
  * AJAX calls this function to save membership section of Live editor
  * @return void
  */
 function save_membership()
 {
     global $wpdb;
     $this->check_nonce();
     $this->init_page();
     $postId = $wpdb->escape($_POST['page_id']);
     if (defined("WS_PLUGIN__OPTIMIZEMEMBER_VERSION")) {
         c_ws_plugin__optimizemember_meta_box_saves::save_meta_boxes($postId);
     }
     // saving membership pages options
     $op = op_post('op');
     $current = op_page_option('membership', 'layout');
     // this happens only if we have something to save (it is a membership page!)
     if (!empty($op['pageType']['type']) && $op['pageType']['type'] == 'product') {
         update_post_meta($op['pageId'], 'type', 'product');
         op_update_page_option('membership', 'layout', $op['page']['preset_option']);
         // change title and slug
         $post = array('ID' => $op['pageId'], 'post_title' => $op['product']['name'], 'post_name' => sanitize_title($op['product']['name']), 'post_parent' => '');
         wp_update_post($post);
     }
     if (empty($op['pageType']['type']) && !empty($op) && empty($op['type'])) {
         // saving product!
         update_post_meta($op['pageId'], 'type', 'product');
         op_update_page_option('membership', 'layout', $op['page']['preset_option']);
         // change title and slug
         $post = array('ID' => $op['pageId'], 'post_title' => $op['product']['name'], 'post_name' => sanitize_title($op['product']['name']), 'post_parent' => '');
         wp_update_post($post);
     } else {
         if ($op['pageType']['type'] == 'category') {
             $page_id = $op['pageId'];
             $post = array('ID' => $op['pageId'], 'post_title' => $op['category']['name'], 'post_name' => sanitize_title($op['category']['name']), 'post_parent' => $op['pageType']['product']);
             wp_update_post($post);
             $value = array('layout' => $op['page']['preset_option'], 'description' => base64_encode($op['category']['description']));
             update_post_meta($page_id, '_' . OP_SN . '_membership', maybe_serialize($value));
             $value = array('type' => 'membership', 'dir' => $op['theme']);
             update_post_meta($page_id, '_' . OP_SN . '_theme', maybe_serialize($value));
         } else {
             if ($op['pageType']['type'] == 'subcategory') {
                 $page_id = $op['pageId'];
                 $post = array('ID' => $op['pageId'], 'post_title' => $op['subcategory']['name'], 'post_name' => sanitize_title($op['subcategory']['name']), 'post_parent' => $op['subcategory']['category']);
                 wp_update_post($post);
                 $value = array('layout' => $op['page']['preset_option'], 'description' => base64_encode($op['subcategory']['description']));
                 update_post_meta($page_id, '_' . OP_SN . '_membership', maybe_serialize($value));
                 $value = array('type' => 'membership', 'dir' => $op['theme']);
                 update_post_meta($page_id, '_' . OP_SN . '_theme', maybe_serialize($value));
             } else {
                 if ($op['pageType']['type'] == 'content') {
                     if (!empty($op['content']['subcategory'])) {
                         $parentId = $op['content']['subcategory'];
                     } else {
                         if (!empty($op['content']['category'])) {
                             $parentId = $op['content']['category'];
                         } else {
                             $parentId = $op['pageType']['product'];
                         }
                     }
                     $page_id = $op['pageId'];
                     $post = array('ID' => $op['pageId'], 'post_title' => $op['content']['name'], 'post_name' => sanitize_title($op['content']['name']), 'post_parent' => $parentId);
                     wp_update_post($post);
                     $value = array('layout' => $op['page']['preset_option'], 'description' => base64_encode($op['content']['description']));
                     update_post_meta($page_id, '_' . OP_SN . '_membership', maybe_serialize($value));
                     $value = array('type' => 'membership', 'dir' => $op['theme']);
                     update_post_meta($page_id, '_' . OP_SN . '_theme', maybe_serialize($value));
                 }
             }
         }
         if (!empty($op['type'])) {
             $post = array('ID' => $op['pageId'], 'post_parent' => '');
             if ($op['type'] == 'product') {
                 wp_update_post($post);
             }
             update_post_meta($op['pageId'], 'type', $op['type']);
         }
     }
     //error_log(OP_PAGEBUILDER_ID);
     if (!empty($op['typeForChange'])) {
         $value = array('type' => 'membership', 'dir' => '1');
         update_post_meta(OP_PAGEBUILDER_ID, '_' . OP_SN . '_theme', maybe_serialize($value));
         update_post_meta(OP_PAGEBUILDER_ID, 'type', $op['typeForChange']);
     }
     /*
      * DAP integration
      */
     if (isset($op['membership']['dap_redirect_url'])) {
         update_post_meta($postId, 'dap_redirect_url', $op['membership']['dap_redirect_url']);
     }
     /*
      * Fast Member integration
      */
     if (isset($op['membership']['fast_member_redirect_url'])) {
         update_post_meta($postId, 'fast_member_redirect_url', $op['membership']['fast_member_redirect_url']);
     }
     /*
      * iMember360 integration
      */
     if (isset($op['membership']['imember_redirect_url'])) {
         update_post_meta($postId, 'imember_redirect_url', $op['membership']['imember_redirect_url']);
     }
     echo json_encode(array('done' => true));
     exit;
 }
Ejemplo n.º 8
0
 /**
  * We create a dummy (draft) page that is populated for content preview.
  */
 function content_layout_preview()
 {
     global $user_ID;
     global $wpdb;
     $page = get_page_by_path('op_content_layout_preview_page');
     // Page already exists
     if (is_object($page)) {
         $page_id = $page->ID;
     } else {
         $page['post_type'] = 'page';
         $page['post_content'] = '';
         $page['post_parent'] = 0;
         $page['post_author'] = $user_ID;
         $page['post_status'] = 'op_preview';
         $page['post_title'] = 'OptimizePress Content Preview Page';
         $page['post_name'] = 'op_content_layout_preview_page';
         $page_id = wp_insert_post($page);
         /* Add Page Failed */
         if ($page_id == 0) {
             die('Error creating new page.');
         }
     }
     echo get_permalink($page_id) . '?op-no-admin-bar=true';
     define('OP_PAGEBUILDER_ID', $page_id);
     $template = $_POST['template'];
     /*$result = $wpdb->get_row($wpdb->prepare(
           "SELECT `layouts`,`settings`,`guid` FROM `{$wpdb->prefix}optimizepress_predefined_layouts` WHERE `id`=%d ORDER BY name ASC",
           $template
       ));*/
     $result = $wpdb->get_row($wpdb->prepare("SELECT `layouts`,`settings` FROM `{$wpdb->prefix}optimizepress_predefined_layouts` WHERE `id`=%d ORDER BY name ASC", $template));
     $keep = op_post('keep_options');
     if (!is_array($keep)) {
         $keep = array();
     }
     // Set page template ID if it exists - this will be used for stats and analytics
     /*if (isset($result->guid) && !empty($result->guid)) {
           op_update_page_option('template_id', $result->guid);
       }*/
     op_update_page_option('pagebuilder', 'Y');
     op_page_set_saved_settings($result, $keep);
     die;
 }
Ejemplo n.º 9
0
 function save_settings($section_name, $config = array(), $op, $return = false)
 {
     $settings = array('enabled' => op_get_var($op, 'enabled', 'N'), 'show_on' => op_get_var($op, 'show_on', 'load'), 'type' => op_get_var($op, 'type', 'html'), 'optin_form' => op_mod('signup_form')->save_settings(array($section_name, 'optin_form'), array('disable' => 'color_scheme|on_off_switch'), op_get_var($op, 'optin_form', array()), true), 'html_content' => op_mod('content_fields')->save_settings(array($section_name, 'html_content'), array('fields' => array('content' => array('type' => 'textarea'))), op_get_var($op, 'html_content', array()), true));
     op_update_page_option($section_name, $settings);
 }