function weaver_admin_page_process_options() { /* Process all options - called upon entry to options forms */ // echo("WEAVER-SETTINGS:"); var_dump($weaver_main_settings); // echo "POST-weaver-settings:" ; var_dump($_POST['weaver_main_settings']); // echo "POST-FULL:" ; var_dump($_POST); settings_errors(); // display results from SAPI save settings /* ================ Weaver Upgrade 2020 Weaver buttons ================== */ if (weaver_submitted('hide_import_old_weaver')) { weaver_setopt('wvr_hide_if_are_oldWeaver_opts', true); weaver_save_msg(__('Hide 2010 Weaver Notice', WEAVER_TRANSADMIN)); } if (weaver_submitted('import_old_weaver')) { weaver_import_2010_weaver(); weaver_save_msg(__("Previously existing settngs imported.", WEAVER_TRANSADMIN)); } /* ================ Weaver Themes Tab ================== */ if (weaver_submitted('setsubtheme') || weaver_submitted('setsubtheme2')) { /* seems like Mozilla doesn't like 2 sets of select inputs on same page, so we make up 2 ids/names to use */ if (isset($_POST['setsubtheme'])) { $pID = 'ttw_subtheme'; } else { $pID = 'ttw_subtheme2'; } $cur_subtheme = weaver_filter_textarea($_POST[$pID]); /* must have been set to get here */ if ($cur_subtheme == '') { $cur_subtheme = 'Wheat'; } /* but just in case */ /* now, I set all values for theme */ weaver_activate_subtheme($cur_subtheme); $t = weaver_getopt('ttw_subtheme'); if ($t == '') { $t = 'Wheat'; } /* did we save a theme? */ weaver_save_msg(__("Weaver current sub-theme set to: ", WEAVER_TRANSADMIN) . $t); } /* ================ Weaver FTP File Access ================== */ if (weaver_submitted('ftp_save_form')) { if (isset($_POST['ftp_hostnamex'])) { weaver_setopt('ftp_hostname', trim(weaver_filter_textarea($_POST['ftp_hostnamex']))); } if (isset($_POST['ftp_usernamex'])) { weaver_setopt('ftp_username', trim(weaver_filter_textarea($_POST['ftp_usernamex']))); } if (isset($_POST['ftp_passwordx'])) { weaver_setopt('ftp_password', weaver_encrypt(trim($_POST['ftp_passwordx']))); } if (isset($_POST['ftp_hide_check_messagex'])) { weaver_setopt('ftp_hide_check_message', true); } else { weaver_setopt('ftp_hide_check_message', false); } weaver_save_msg(__('FTP File Access Form Settings Saved.', WEAVER_TRANSADMIN)); } /* ================ Weaver Main Options Tab ================== */ /* Weaver Main and Advanced Options processed in validation callbacks */ /* ================ Weaver Advanced Options Tab ================== */ /* SAPI settings are handled in the Main Options Tab section above */ if (weaver_submitted('reset_weaver')) { // delete everything! weaver_save_msg(__('All Weaver settings have been reset to the defaults.', WEAVER_TRANS)); delete_option('weaver_main_settings'); delete_option('weaver_advanced_settings'); weaver_load_cache(); // be sure cache has something valid in it weaver_init_opts('reset_weaver'); } /* ================ Weaver Save/Restore Themes Tab ================== */ /* this tab has the most individual forms and submit commands */ if (weaver_submitted('changethemename')) { if (isset($_POST['newthemename'])) { $new_name = sanitize_user($_POST['newthemename']); weaver_setopt('ttw_themename', $new_name); echo '<div id="message" class="updated fade"><p><strong>Theme name changed to ' . $new_name . '</strong></p></div>'; } global $weaver_dev; if ($weaver_dev) { // used to save a theme for distribution/inclusion in dynamic theme db if (isset($_POST['newthemeimage'])) { weaver_setopt('ttw_theme_image', $_POST['newthemeimage']); } if (isset($_POST['newthemedesc'])) { weaver_setopt('ttw_theme_description', $_POST['newthemedesc']); } } } if (weaver_submitted('savemytheme')) { if (weaver_savemytheme()) { weaver_save_msg(__('All current main and advanced options backed up in <em>My Saved Theme</em>.', WEAVER_TRANSADMIN)); } else { weaver_save_msg(__('ERROR: Saving <em>My Saved Theme</em> failed.', WEAVER_TRANSADMIN)); } } if (weaver_submitted('backup_settings')) { $name = weaver_savebackup(); if ($name !== false) { weaver_save_msg(__('All current main and advanced options backed up in:', WEAVER_TRANSADMIN) . ' "' . $name . '.wvb"'); } else { weaver_save_msg(__('ERROR: Saving backup failed.', WEAVER_TRANSADMIN)); } } if (weaver_submitted('filesavetheme')) { $base = strtolower(sanitize_file_name($_POST['savethemename'])); $temp_url = weaver_write_current_theme($base); if ($temp_url == '') { weaver_save_msg(__('Invalid name supplied to save theme to file.', WEAVER_TRANSADMIN)); } else { weaver_save_msg(__("All current main and advanced options saved in ", WEAVER_TRANSADMIN) . $temp_url); } } if (weaver_submitted('uploadtheme') && isset($_POST['uploadit']) && $_POST['uploadit'] == 'yes') { weaver_uploadit(); } if (weaver_submitted('restoretheme')) { $base = $_POST['ttw_restorename']; $valid = validate_file($base); // make sure an ok file name $fn = weaver_f_uploads_base_dir() . 'weaver-subthemes/' . $base; if ($valid < 1 && weaver_upload_theme($fn)) { $t = weaver_getopt('ttw_subtheme'); if ($t == '') { $t = 'Wheat'; } /* did we save a theme? */ weaver_save_msg(__("Weaver theme restored from file, saved as: ", WEAVER_TRANSADMIN) . $t); } else { weaver_save_msg('<em style="color:red;">' . __('INVALID FILE NAME PROVIDED - Try Again', WEAVER_TRANSADMIN) . "({$fn})" . '</em>'); } } if (weaver_submitted('deletetheme')) { $myFile = $_POST['selectName']; $valid = validate_file($myFile); if ($valid < 1 && $myFile != "None") { weaver_f_delete(weaver_f_uploads_base_dir() . 'weaver-subthemes/' . $myFile); echo '<div style="background-color: rgb(255, 251, 204);" id="message" class="updated fade"><p>File: <strong>' . $myFile . '</strong> has been deleted.</p></div>'; } else { echo '<div style="background-color: rgb(255, 251, 204);" id="message" class="updated fade"><p>File: <strong>' . $myFile . '</strong> invalid file name, not deleted.</p></div>'; } } /* ====================================================== */ if (weaver_submitted('wvrx_save_extension')) { /* for theme extensions */ do_action('wvrx_save_extension'); } if (weaver_submitted('wvrx_plus_save_plus')) { do_action('wvrx_plus_save_plus'); } // All plus submit buttons... weaver_save_opts('Weaver Admin'); /* FINALLY - SAVE ALL OPTIONS AND UPDATE CURRENT CSS FILE */ }
function weaver_show_posts_shortcode($args = '') { /* implement [weaver_get_posts opt1="val1" opt2="value"] shortcode */ /* DOC NOTES: CSS styling: The group of posts will be wrapped with a <div> with a class called .wvr-show-posts. You can add an additional class to that by providing a 'class=classname' option (without the leading '.' used in the actual CSS definition). You can also provide inline styling by providing a 'style=value' option where value is whatever styling you need, each terminated with a semi-colon (;). The optional header is in a <div> called .wvr_show_posts_header. You can add an additional class name with 'header_class=classname'. You can provide inline styling with 'header_style=value'. .wvr-show-posts .hentry {margin-top: 0px; margin-right: 0px; margin-bottom: 40px; margin-left: 0px;} .widget-area .wvr-show-posts .hentry {margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px;} */ global $more; global $weaver_cur_post_id; extract(shortcode_atts(array('cats' => '', 'tags' => '', 'author' => '', 'single_post' => '', 'orderby' => 'date', 'sort' => 'DESC', 'number' => '5', 'show' => 'full', 'hide_title' => '', 'hide_top_info' => '', 'hide_bottom_info' => '', 'show_featured_image' => '', 'show_avatar' => '', 'show_bio' => '', 'excerpt_length' => '', 'style' => '', 'class' => '', 'header' => '', 'header_style' => '', 'header_class' => '', 'more_msg' => ''), $args)); $save_cur_post = $weaver_cur_post_id; $save_excerpt_length = weaver_getopt('ttw_excerpt_length'); if (!empty($excerpt_length)) { weaver_setopt('ttw_excerpt_length', $excerpt_length); } $save_more_msg = weaver_getopt('ttw_excerpt_more_msg'); if (!empty($more_msg)) { weaver_setopt('ttw_excerpt_more_msg', $more_msg); } /* Setup query arguments using the supplied args */ $qargs = array('ignore_sticky_posts' => 1); $qargs['orderby'] = $orderby; /* enter opts that have defaults first */ $qargs['order'] = $sort; $qargs['posts_per_page'] = $number; if (!empty($cats)) { $qargs['cat'] = weaver_cat_slugs_to_ids($cats); } if (!empty($tags)) { $qargs['tag'] = $tags; } if (!empty($single_post)) { $qargs['name'] = $single_post; } if (!empty($author)) { $qargs['author_name'] = $author; } $ourposts = new WP_Query($qargs); // now modify the query using custom fields for this page /* now start the content */ $div_add = ''; if (!empty($style)) { $div_add = ' style="' . $style . '"'; } $content = '<div class="wvr-show-posts ' . $class . '"' . $div_add . '/>'; $h_add = ''; if (!empty($header_style)) { $h_add = ' style="' . $header_style . '"'; } if (!empty($header)) { $content .= '<div class="wvr-show-posts-header ' . $header_class . '"' . $h_add . '>' . $header . '</div>'; } ob_start(); // use built-in weaver code to generate a weaver standard post while ($ourposts->have_posts()) { $ourposts->the_post(); $weaver_cur_post_id = get_the_ID(); weaver_per_post_style(); if (!is_sticky()) { ?> <div id="post-<?php the_ID(); ?> " <?php post_class(); ?> > <?php if (empty($hide_title)) { ?> <h2 class="entry-title"><?php weaver_post_title(); ?> </h2> <?php } ?> <?php if (empty($hide_top_info)) { weaver_posted_on('blog'); } if ($show == 'excerpt') { /* excerpt? */ ?> <div class="entry-summary"> <?php weaver_the_excerpt_featured(true, !empty($show_featured_image)); ?> </div><!-- .entry-summary --> <?php } else { if ($show != 'title') { ?> <div class="entry-content"> <?php $more = false; // let <!-- more --> work, still use single weaver_the_content_featured_single(!empty($show_featured_image)); ?> </div><!-- .entry-content --> <?php } } if (!empty($show_bio) && get_the_author_meta('description')) { // If a user has filled out their description, show a bio on their entries ?> <div id="entry-author-info"> <div id="author-avatar"> <?php echo get_avatar(get_the_author_meta('user_email'), apply_filters('weaver_author_bio_avatar_size', 60)); ?> </div><!-- #author-avatar --> <div id="author-description"> <h2><?php printf(esc_attr__('About %s', WEAVER_TRANS), get_the_author()); ?> </h2> <?php the_author_meta('description'); ?> <div id="author-link"> <a href="<?php echo get_author_posts_url(get_the_author_meta('ID')); ?> "> <?php printf(__('View all posts by %s <span class="meta-nav">→</span>', WEAVER_TRANS), get_the_author()); ?> </a> </div><!-- #author-link --> </div><!-- #author-description --> </div><!-- #entry-author-info --> <?php } if (empty($hide_bottom_info)) { weaver_posted_in('blog'); } else { echo '<div style="clear:both;"></div>'; } ?> </div><!-- #post-## --> <?php } // end !sticky } // end loop $content .= ob_get_clean(); // get the output // get posts $content .= '</div><!-- #wvr-show-posts -->'; wp_reset_query(); $weaver_cur_post_id = $save_cur_post; weaver_setopt('ttw_excerpt_length', $save_excerpt_length); weaver_setopt('ttw_excerpt_more_msg', $save_more_msg); return $content; }