示例#1
0
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 */
}
示例#2
0
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">&rarr;</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;
}