false, 'message' => __( 'No feed specified' , 'layerswp' ) ) ) ); if( 'news' == $type ) { $feed_url = 'http://blog.oboxthemes.com/tag/layers/feed/'; } else if( 'docs' == $type ) { $feed_url = 'http://docs.layerswp.com/keywords/layers-dashboard/feed/'; } $feed = fetch_feed( $feed_url ); if( is_wp_error( $feed ) ) { return false; } else { $feed_items = $feed->get_items( 0, $count ); ob_start(); foreach( $feed_items as $item ){ ?>
get_description(); ?>
  • get_title() ); ?>
  • true, 'feed' => $feed_html ) ) ); } } public function dismiss_setup_step( $step_key = NULL, $skip_nonce = FALSE, $send_json = TRUE ){ if( !$skip_nonce && !check_ajax_referer( 'layers-dashboard-dismiss-setup-step', 'layers_dashboard_dismiss_setup_step_nonce', false ) ) die( 'You threw a Nonce exception' ); // Nonce if( NULL == $step_key ) { if( isset( $_POST[ 'setup_step_key' ] ) ) { $step_key = $_POST[ 'setup_step_key' ]; } } if( NULL == $step_key ) die( json_encode( array( 'success' => false, 'message' => __( 'No setup step defined' , 'layerswp' ) ) ) ); $dismissed_setup_steps = get_option( 'layers_dismissed_setup_steps' ); $dismissed_setup_steps[] = $step_key; update_option( 'layers_dismissed_setup_steps', $dismissed_setup_steps ); if( $send_json ) { die( json_encode( array( 'success' => true, 'message' => __( 'Setup step dismissed' , 'layerswp' ) ) ) ); } } public function set_theme_mods(){ if( !check_ajax_referer( 'layers-onboarding-set-theme-mods', 'layers_set_theme_mod_nonce', false ) ) die( 'You threw a Nonce exception' ); // Nonce // Parse our input data parse_str( urldecode( stripslashes( $_POST[ 'data' ] ) ), $data ); if( isset( $_POST[ 'setup_step_key' ] ) ) { $this->dismiss_setup_step( $_POST[ 'setup_step_key' ], TRUE, FALSE ); } foreach ( $data as $option_key => $option_value ) { $clean_option_value = esc_attr( stripslashes( $option_value ) ); switch ( $option_key ) { default : set_theme_mod( $option_key, $clean_option_value ); die( json_encode( array( 'success' => true, 'message' => __( 'Theme Mod updated' , 'layerswp' ) ) ) ); break; } } } public function update_intercom() { if( !check_ajax_referer( 'layers-onboarding-update-options', 'layers_onboarding_update_nonce', false ) ) die( 'You threw a Nonce exception' ); // Nonce // Parse our input data parse_str( urldecode( stripslashes( $_POST[ 'data' ] ) ), $data ); if( isset( $data[ 'username' ] ) ){ global $current_user; $user = new stdClass(); $user->ID = (int) get_current_user_id(); $user->display_name = $data[ 'username' ]; wp_update_user( $user ) ; } if( isset( $data[ 'layers_intercom' ] ) ){ update_option( 'layers_enable_intercom' , '1' ); } else{ update_option( 'layers_enable_intercom' , '0' ); } die( json_encode( array( 'success' => true, 'message' => __( 'Intercom Updated' , 'layerswp' ) ) ) ); } public function update_options(){ if( !check_ajax_referer( 'layers-onboarding-update-options', 'layers_onboarding_update_nonce', false ) ) die( 'You threw a Nonce exception' ); // Nonce // Parse our input data parse_str( urldecode( stripslashes( $_POST[ 'data' ] ) ), $data ); $return_message = array( 'success' => true, 'message' => __( 'Done!' , 'layerswp' ), ); foreach ( $data as $option_key => $option_value ) { $clean_option_value = esc_attr( stripslashes( $option_value ) ); switch ( $option_key ) { case 'site_logo' : if( '' == $clean_option_value || '0' == $clean_option_value ) die( json_encode( array( 'success' => true, 'message' => __( 'No Logo uploaded' , 'layerswp' ) ) ) ); $get_attachment = wp_get_attachment_image_src( $clean_option_value ); // Get an array of all registered image sizes. $intermediate = get_intermediate_image_sizes(); $sizes = array(); // Have we got anything fun to work with? if ( is_array( $intermediate ) && ! empty( $intermediate ) ) { foreach ( $intermediate as $key => $size ) { // If the size isn't already in the $sizes array, add it. if ( ! array_key_exists( $size, $sizes ) ) { $image_info = wp_get_attachment_image_src( $get_attachment[0], $size ); $size_info[ 'url' ] = $image_info[0]; $size_info[ 'width' ] = $image_info[1]; $size_info[ 'height' ] = $image_info[2]; $sizes[ $size ] = $size_info; } } } if( ! is_wp_error( $get_attachment ) && FALSE != $get_attachment ) { $site_logo_array = array( 'id' => $clean_option_value, 'sizes' => $sizes, 'url' => $get_attachment[0] ); if( !function_exists( 'the_custom_logo' ) ){ update_option( $option_key, $site_logo_array ); } else { set_theme_mod( 'custom_logo' , $clean_option_value ); } $return_message = array( 'success' => true, 'message' => __( 'Logo updated' , 'layerswp' ), ); } else { $return_message = array( 'success' => false, 'message' => __( 'There was an error when updating your logo.' , 'layerswp' ), ); } break; case 'site_color' : $header_color = $clean_option_value; $accent_color = layers_adjust_brightness( $clean_option_value, -50, TRUE ); $footer_color = '#2b2b2b'; set_theme_mod( 'layers-header-background-color', $header_color ); set_theme_mod( 'layers-site-accent-color', $accent_color ); set_theme_mod( 'layers-footer-background-color', $footer_color ); $return_message = array( 'success' => true, 'message' => __( 'Option updated' , 'layerswp' ), ); break; default : update_option( $option_key, $clean_option_value ); $return_message = array( 'success' => true, 'message' => __( 'Option updated' , 'layerswp' ), ); break; } } die( json_encode( $return_message ) ); } public function create_pages(){ if( ! check_ajax_referer( 'layers-onboarding-update-options', 'layers_onboarding_update_nonce', false ) ) die( 'You threw a Nonce exception' ); // Nonce // Parse our input data parse_str( urldecode( stripslashes( $_POST[ 'data' ] ) ), $data ); $return_message = array( 'success' => true, 'message' => __( 'Done!' , 'layerswp' ), ); foreach ( $data as $option_key => $option_value ) { $clean_option_value = esc_attr( stripslashes( $option_value ) ); switch ( $option_key ) { case 'create-page-blog' : // Blog page does't yet exists so create it. $page = array( 'post_type' => 'page', 'post_status' => 'publish', 'post_title' => 'Blog', ); $existing_page = get_posts( array( 's' => 'Blog', 'post_type' => 'page', 'post_status' => get_post_stati(), 'meta_query' => array( array( 'key' => '_wp_page_template', 'value' => 'template-blog.php', ) ) ) ); if ( empty( $existing_page ) ) { // Blog page does't yet exists so create it. $pageid = wp_insert_post( $page ); update_post_meta( $pageid , '_wp_page_template', 'template-blog.php' ); } else { $page['ID'] = $existing_page[0]->ID; // Blog page exists so make sure it's published. $pageid = wp_update_post( $page ); } $return_message = array( 'success' => true, 'message' => __( 'Page Created' , 'layerswp' ), ); break; default : break; } } die( json_encode( $return_message ) ); } } } // if class_exists