Doug Stewart avatar Doug Stewart committed 15c677e

First pass at WPTRT review revisions.

Comments (0)

Files changed (6)

 [Demo Site](<>)
 ### LICENSE ###
-GNU Public License version 2 ([GPLv2](<>))
+All code (PHP, HTML, CSS and JavaScript) is licensed under the GNU Public License version 2 ([GPLv2](<>)). All header images were taken by me and are also licensed under GPLv2.
 Elbee Elgee (LBLG) is a parent theme with multiple layouts, including 1, 2 and 3 column fluid *and* fixed size designs. Its original inspiration was the [Layout Gala](<>) (the "LG" in "Elgee"), whose extensive use of negative margins and creative use of floats gave 40 total layouts using a single HTML structure. I have pared down the options a bit, as WordPress' dynamic sidebars have negated the need for several of the "mirror image" designs originally provided by Layout Gala.
 * More theme hooks.
 * General code clean-up/optimization.
 * Better documentation.
-* Fully-integrated bbPress support.
+* <del>Fully-integrated bbPress support.</del> Added in 1.1.
 I have switched my development workflow from Subversion to [Mercurial](<>) (I spend a great deal of time on the train and Hg's distributed nature is *ideal* for such disconnected development) and, as such, host my code at <>. Please submit feature requests and bug reports using the issue tracker available at BitBucket.
+* Version 1.2
+	* **Issues Fixed**
+		* `wp_footer()` call moved to right before &lt;/body&gt;
+		* Global variables properly prefixed
+		* Search form use of `$_SERVER['PHP_SELF']` replaced with proper WordPress call
+		* Post date changed to use permalink as well as post title to account for posts without a title
+		* Images explicitly noted as GPLv2
+		* Dual setting of `$content_width` removed
 * Version 1.1.1
 	* **Issues Fixed**
 		* Updated to fix 'native' bug in upstream `bbp_twentyten` (ref. [rev. 3331](
 	* Initial release
+* Version 1.1.1 aka "The Theme Review One" (taken from the [initial theme review](
+	* <del>Posts with no titles must still include a permalink to the single post view. The recommended practice is to place the permalink on the post date as well.</del>
+	* You must provide styling for heading elements (&lt;h2&gt; - &lt;h6&gt;), blockquotes, tables, definition lists, ordered lists and unordered lists.
+	* Captioned images must be properly aligned.
+	* Floated elements must be properly cleared.
+	* Check your styling of comments, particularly nested comments.
+	* Posts with closed comments are required to display some kind of "Comments are disabled" message. This does not apply to Pages.
+	* Theme options using textareas that allow HTML should use `wp_kses_post()` when sanitizing form data.
+	* Provide styling for the calendar widget.
+	* Provide more whitespace between the post meta and post content.
+	* Content entered in "Copyright Statement" and "Footer Credits" does not show up on the site.
+	* <del>wp_footer() must be placed directly before &lt;/body&gt;.</del>
+	* <del>The use of `$_SERVER['PHP_SELF']` in forms is discouraged as it presents a security risk.</del>
+	* <del>All custom functions and global variables must be prefixed with the theme slug or an appropriate variant.</del>
+	* All data must be sanitized and validated before saving to the database and properly escaped when outputting to forms.
+	* Themes are required to use checked() and selected() for checkbox and select options in forms respectively.
+	* <del>`( ! isset( $content_width ) ) $content_width = '640';` entered twice in `includes/supports.php`.</del>
+	* <del>Please note the license being used for your header images in the readme. They must be GPL-compatible.</del>
 * Version 1.0
 	* Specifying BuddyPress Activity as front page tosses 404 error
 	* <del>Header images max width at 960px</del>
 		if( 'true' == $lblg_options['display_footer_credits'] ) {
-		wp_footer(); 
 	<!--<?php echo get_num_queries(); ?> queries-->
+<?php wp_footer(); ?>


 function lblg_admin() {
 	global $lblg_shortname, $lblg_themename, $lblg_version, $lblg_options, $lblg_default_options;
-	$themename = $lblg_themename;
-	$shortname = $lblg_shortname;
 	$options = $lblg_default_options;
 <div class="wrap">
 <form method="post" action="options.php">
 <?php screen_icon( 'themes' ); ?>
-<h2 class="updatehook"><?php echo $themename; ?> settings 
+<h2 class="updatehook"><?php echo $lblg_themename; ?> settings 
 	<input name="<?php echo $lblg_shortname; ?>_theme_options[save]" type="submit" class="button-primary" value="Save changes" />
 	<input name="<?php echo $lblg_shortname; ?>_theme_options[reset]" type="submit" class="button-secondary" value="Reset to defaults" />
-	if ( isset( $_REQUEST['settings-updated'] ) ) echo '<div id="message" class="updated under-h2"><p><strong>'.$themename.' settings updated.</strong></p></div>';
+	if ( isset( $_REQUEST['settings-updated'] ) ) echo '<div id="message" class="updated under-h2"><p><strong>'.$lblg_themename.' settings updated.</strong></p></div>';
 	settings_fields( $lblg_shortname . '_theme_options' ); 


 register_nav_menu( 'primary', 'Primary Navigation Menu' );
 if( function_exists( 'bp_get_loggedin_user_nav' ) ){
 	register_nav_menu( 'lblgbpmenu', 'Default BuddyPress Menu' );
-if ( ! isset( $content_width ) ) $content_width = '640';
-<form method="get" id="searchform" action="<?php echo $_SERVER['PHP_SELF']; ?>">        
+<form method="get" id="searchform" action="<?php echo esc_url( home_url( '/' ) ); ?>">        
 	<input type="text" id="s" name="s" value="<?php echo esc_html($search_text, 1); ?>" onfocus="if (this.value == 'Search...') {this.value = '';}" onblur="if (this.value == '') {this.value = 'Search...';}"/>
 	<input type="hidden" id="searchsubmit" value="Search" />
-	global $themename, $shortname;
 	/* Start The Loop */ if (have_posts()) { while (have_posts()) { the_post(); ?>
 		<?php /* Permalink navigation has to be inside the loop */ if (is_single()) get_template_part('navigation'); ?>
 		<div id="post-<?php the_ID(); ?>" <?php post_class(); ?>>
-			<?php if( is_home() ) { ?><h2><a href="<?php the_permalink() ?>" rel="bookmark" title="Permanent Link to <?php echo strip_tags(get_the_title()) ?>"><?php the_title(); ?></a></h2>
+			<?php if( !is_single() ) { ?><h2><a href="<?php the_permalink() ?>" rel="bookmark" title="Permanent Link to <?php echo strip_tags(get_the_title()) ?>"><?php the_title(); ?></a></h2>
 			<?php } else { ?><h1><?php the_title(); ?></h1><?php } ?>
-			<span class="postmeta">Posted by <?php the_author(); ?> on <?php the_time('F jS, Y'); ?> <?php if (!is_single()){ ?>| <span class="commentlink"><?php comments_popup_link('No Comments', '1 Comment', '% Comments'); ?></span><?php } edit_post_link(' Edit this entry.', '', ''); ?></span>
+			<span class="postmeta">Posted by <?php the_author(); ?> on <a href="<?php the_permalink(); ?>"><?php the_time('F jS, Y'); ?></a> <?php if (!is_single()){ ?>| <span class="commentlink"><?php comments_popup_link('No Comments', '1 Comment', '% Comments'); ?></span><?php } edit_post_link(' Edit this entry.', '', ''); ?></span>
 			<?php lblg_the_postimage(); ?>
 			<div class="itemtext">
 				<?php if ( is_archive() or is_search() or is_tag() ) {
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.