diff --git a/wp-content/themes/hybrid/css/2c-l-fixed.css b/wp-content/themes/hybrid/css/2c-l-fixed.css index a71fa92ccad98ac6f5826119f69b8a765802aa18..f9dfd871e3f4aae2d309885d92466485f50ea9d9 100644 --- a/wp-content/themes/hybrid/css/2c-l-fixed.css +++ b/wp-content/themes/hybrid/css/2c-l-fixed.css @@ -1 +1,62 @@ -#body-container{overflow:hidden;width:960px;margin:0 auto}#container{overflow:hidden;float:left;width:960px}.content{overflow:hidden;float:left;width:620px}.no-widgets .content,.no-default-widgets .content{width:960px}#primary{position:relative;float:right;width:300px}#secondary{position:relative;clear:right;float:right;width:300px}#subsidiary{overflow:hidden}#subsidiary .widget{overflow:hidden;float:left;width:300px;margin:0 20px 0 0}#footer-container{clear:both;overflow:hidden}#footer{clear:both;overflow:hidden} \ No newline at end of file +/** + * Two columns with content floated left. + * + * @since 0.6 + * @package Hybrid + * @subpackage CSS + */ + +#body-container { + overflow: hidden; + width: 960px; + margin: 0 auto; + } + +#container { + overflow: hidden; + float: left; + width: 960px; + } + +.content { + overflow: hidden; + float: left; + width: 620px; + } +.no-widgets .content, .no-default-widgets .content { + width: 960px; + } + +#primary { + position: relative; + float: right; + width: 300px; + } + +#secondary { + position: relative; + clear: right; + float: right; + width: 300px; + } + +#subsidiary { + overflow: hidden; + } + +#subsidiary .widget { + overflow: hidden; + float: left; + width: 300px; + margin: 0 20px 0 0; + } + +#footer-container { + clear: both; + overflow: hidden; + } + +#footer { + clear: both; + overflow: hidden; + } \ No newline at end of file diff --git a/wp-content/themes/hybrid/css/2c-l-fixed.min.css b/wp-content/themes/hybrid/css/2c-l-fixed.min.css new file mode 100644 index 0000000000000000000000000000000000000000..a71fa92ccad98ac6f5826119f69b8a765802aa18 --- /dev/null +++ b/wp-content/themes/hybrid/css/2c-l-fixed.min.css @@ -0,0 +1 @@ +#body-container{overflow:hidden;width:960px;margin:0 auto}#container{overflow:hidden;float:left;width:960px}.content{overflow:hidden;float:left;width:620px}.no-widgets .content,.no-default-widgets .content{width:960px}#primary{position:relative;float:right;width:300px}#secondary{position:relative;clear:right;float:right;width:300px}#subsidiary{overflow:hidden}#subsidiary .widget{overflow:hidden;float:left;width:300px;margin:0 20px 0 0}#footer-container{clear:both;overflow:hidden}#footer{clear:both;overflow:hidden} \ No newline at end of file diff --git a/wp-content/themes/hybrid/css/2c-r-fixed.css b/wp-content/themes/hybrid/css/2c-r-fixed.css index e4c6e30a0a55fe3c7ae7357a6d9d30986f64cff2..18a04ff1c5dfa630f2adba6cd80aea5ebaf5e080 100644 --- a/wp-content/themes/hybrid/css/2c-r-fixed.css +++ b/wp-content/themes/hybrid/css/2c-r-fixed.css @@ -1 +1,60 @@ -#body-container{overflow:hidden;width:960px;margin:0 auto}#container{overflow:hidden;float:left;width:960px}.content{overflow:hidden;float:right;width:620px}.no-widgets .content,.no-default-widgets .content{width:960px}#primary{float:left;width:300px}#secondary{clear:left;float:left;width:300px}#subsidiary{overflow:hidden}#subsidiary .widget{overflow:hidden;float:left;width:300px;margin:0 20px 0 0}#footer-container{clear:both;overflow:hidden}#footer{clear:both;overflow:hidden} \ No newline at end of file +/** + * Two columns with content floated right. + * + * @since 0.6 + * @package Hybrid + * @subpackage CSS + */ + +#body-container { + overflow: hidden; + width: 960px; + margin: 0 auto; + } + +#container { + overflow: hidden; + float: left; + width: 960px; + } + +.content { + overflow: hidden; + float: right; + width: 620px; + } +.no-widgets .content, .no-default-widgets .content { + width: 960px; + } + +#primary { + float: left; + width: 300px; + } + +#secondary { + clear: left; + float: left; + width: 300px; + } + +#subsidiary { + overflow: hidden; + } + +#subsidiary .widget { + overflow: hidden; + float: left; + width: 300px; + margin: 0 20px 0 0; + } + +#footer-container { + clear: both; + overflow: hidden; + } + +#footer { + clear: both; + overflow: hidden; + } \ No newline at end of file diff --git a/wp-content/themes/hybrid/css/2c-r-fixed.min.css b/wp-content/themes/hybrid/css/2c-r-fixed.min.css new file mode 100644 index 0000000000000000000000000000000000000000..e4c6e30a0a55fe3c7ae7357a6d9d30986f64cff2 --- /dev/null +++ b/wp-content/themes/hybrid/css/2c-r-fixed.min.css @@ -0,0 +1 @@ +#body-container{overflow:hidden;width:960px;margin:0 auto}#container{overflow:hidden;float:left;width:960px}.content{overflow:hidden;float:right;width:620px}.no-widgets .content,.no-default-widgets .content{width:960px}#primary{float:left;width:300px}#secondary{clear:left;float:left;width:300px}#subsidiary{overflow:hidden}#subsidiary .widget{overflow:hidden;float:left;width:300px;margin:0 20px 0 0}#footer-container{clear:both;overflow:hidden}#footer{clear:both;overflow:hidden} \ No newline at end of file diff --git a/wp-content/themes/hybrid/css/3c-c-fixed.css b/wp-content/themes/hybrid/css/3c-c-fixed.css index 5d6550d268d802e1d4a760dfc4f3785f0f181b38..3dc27487080f7b133508e21f1b4175aa9addd70a 100644 --- a/wp-content/themes/hybrid/css/3c-c-fixed.css +++ b/wp-content/themes/hybrid/css/3c-c-fixed.css @@ -1 +1,84 @@ -body{min-width:600px}#body-container{overflow:hidden;width:960px;margin:0 auto}#primary-menu{position:relative;z-index:100}#container{position:relative;clear:both;overflow:hidden;padding-left:240px; padding-right:240px; z-index:1}.no-widgets #container,.no-default-widgets #container{width:960px;padding-left:0;padding-right:0}.content,#primary,#secondary{position:relative;float:left;z-index:1}.content{width:100%}.no-widgets .content,.no-default-widgets .content{width:960px}#primary{width:220px; right:240px; margin-left:-100%}#secondary{width:220px; margin-right:-240px; margin-left:20px}* html #secondary{left:240px}#subsidiary{overflow:hidden}#subsidiary .widget{overflow:hidden;float:left;width:300px;margin:0 20px 0 0}#footer-container{clear:both;overflow:hidden}#footer{clear:both} \ No newline at end of file +/** + * Holy Grail Stylesheet. + * Creates the Holy Grail (fixed width) of three-column layouts. + * Primary / Content / Secondary + * + * @link http://www.alistapart.com/articles/holygrail + * @author Matthew Levine + * + * @since 0.6 + * @package Hybrid + * @subpackage CSS + */ + +body { + min-width: 600px; /* 2x LC width + RC width */ + } +#body-container { + overflow: hidden; + width: 960px; + margin: 0 auto; + } +#primary-menu { + position: relative; + z-index: 100; + } +#container { + position: relative; + clear: both; + overflow: hidden; + padding-left: 240px; /* LC width */ + padding-right: 240px; /* RC width */ + z-index: 1; + } +.no-widgets #container, .no-default-widgets #container { + width: 960px; + padding-left: 0; + padding-right: 0; + } +.content, #primary, #secondary { + position: relative; + float: left; + z-index: 1; + } +.content { + width: 100%; + } +.no-widgets .content, .no-default-widgets .content { + width: 960px; + } +#primary { + width: 220px; /* LC width */ + right: 240px; /* LC width */ + margin-left: -100%; + } +#secondary { + width: 220px; /* RC width */ + margin-right: -240px; /* RC width */ + margin-left: 20px; + } + +/*** IE6 Fix ***/ +* html #secondary { + left: 240px; /* RC width */ + } + +#subsidiary { + overflow: hidden; + } + +#subsidiary .widget { + overflow: hidden; + float: left; + width: 300px; + margin: 0 20px 0 0; + } + +#footer-container { + clear: both; + overflow: hidden; + } + +#footer { + clear: both; + } \ No newline at end of file diff --git a/wp-content/themes/hybrid/css/3c-c-fixed.min.css b/wp-content/themes/hybrid/css/3c-c-fixed.min.css new file mode 100644 index 0000000000000000000000000000000000000000..5d6550d268d802e1d4a760dfc4f3785f0f181b38 --- /dev/null +++ b/wp-content/themes/hybrid/css/3c-c-fixed.min.css @@ -0,0 +1 @@ +body{min-width:600px}#body-container{overflow:hidden;width:960px;margin:0 auto}#primary-menu{position:relative;z-index:100}#container{position:relative;clear:both;overflow:hidden;padding-left:240px; padding-right:240px; z-index:1}.no-widgets #container,.no-default-widgets #container{width:960px;padding-left:0;padding-right:0}.content,#primary,#secondary{position:relative;float:left;z-index:1}.content{width:100%}.no-widgets .content,.no-default-widgets .content{width:960px}#primary{width:220px; right:240px; margin-left:-100%}#secondary{width:220px; margin-right:-240px; margin-left:20px}* html #secondary{left:240px}#subsidiary{overflow:hidden}#subsidiary .widget{overflow:hidden;float:left;width:300px;margin:0 20px 0 0}#footer-container{clear:both;overflow:hidden}#footer{clear:both} \ No newline at end of file diff --git a/wp-content/themes/hybrid/css/3c-l-fixed.css b/wp-content/themes/hybrid/css/3c-l-fixed.css index 8c2604419d19df84802173abba4440881dc84b2e..955dd84596a194b1d2e34b81cf9549eb00610a5c 100644 --- a/wp-content/themes/hybrid/css/3c-l-fixed.css +++ b/wp-content/themes/hybrid/css/3c-l-fixed.css @@ -1 +1,61 @@ -#body-container{overflow:hidden;width:960px;margin:0 auto}#container{overflow:hidden;float:left;width:960px}.content{overflow:hidden;float:left;width:520px}.no-widgets .content,.no-default-widgets .content{width:960px}#primary{overflow:hidden;float:right;width:190px}#secondary{overflow:hidden;float:right;width:190px;margin-right:20px}#subsidiary{overflow:hidden}#subsidiary .widget{overflow:hidden;float:left;width:300px;margin:0 20px 0 0}#footer-container{clear:both;overflow:hidden}#footer{clear:both} \ No newline at end of file +/** + * Three columns with content floated left. + * + * @since 0.6 + * @package Hybrid + * @subpackage CSS + */ + +#body-container { + overflow: hidden; + width: 960px; + margin: 0 auto; + } + +#container { + overflow: hidden; + float: left; + width: 960px; + } + +.content { + overflow: hidden; + float: left; + width: 520px; + } +.no-widgets .content, .no-default-widgets .content { + width: 960px; + } + +#primary { + overflow: hidden; + float: right; + width: 190px; + } + +#secondary { + overflow: hidden; + float: right; + width: 190px; + margin-right: 20px; + } + +#subsidiary { + overflow: hidden; + } + +#subsidiary .widget { + overflow: hidden; + float: left; + width: 300px; + margin: 0 20px 0 0; + } + +#footer-container { + clear: both; + overflow: hidden; + } + +#footer { + clear: both; + } \ No newline at end of file diff --git a/wp-content/themes/hybrid/css/3c-l-fixed.min.css b/wp-content/themes/hybrid/css/3c-l-fixed.min.css new file mode 100644 index 0000000000000000000000000000000000000000..8c2604419d19df84802173abba4440881dc84b2e --- /dev/null +++ b/wp-content/themes/hybrid/css/3c-l-fixed.min.css @@ -0,0 +1 @@ +#body-container{overflow:hidden;width:960px;margin:0 auto}#container{overflow:hidden;float:left;width:960px}.content{overflow:hidden;float:left;width:520px}.no-widgets .content,.no-default-widgets .content{width:960px}#primary{overflow:hidden;float:right;width:190px}#secondary{overflow:hidden;float:right;width:190px;margin-right:20px}#subsidiary{overflow:hidden}#subsidiary .widget{overflow:hidden;float:left;width:300px;margin:0 20px 0 0}#footer-container{clear:both;overflow:hidden}#footer{clear:both} \ No newline at end of file diff --git a/wp-content/themes/hybrid/css/3c-r-fixed.css b/wp-content/themes/hybrid/css/3c-r-fixed.css index b24ad193b57bc3c3b811f4d03b6d9d0617705751..3dfbb6392b9e886dec40f4ff65b57d53ed2b730d 100644 --- a/wp-content/themes/hybrid/css/3c-r-fixed.css +++ b/wp-content/themes/hybrid/css/3c-r-fixed.css @@ -1 +1,62 @@ -#body-container{overflow:hidden;width:960px;margin:0 auto}#container{overflow:hidden;float:left;width:960px}.content{overflow:hidden;float:right;width:520px}.no-widgets .content,.no-default-widgets .content{width:960px}#primary{overflow:hidden;float:left;width:190px}#secondary{overflow:hidden;float:left;width:190px;margin-left:20px}#subsidiary{overflow:hidden}#subsidiary .widget{overflow:hidden;float:left;width:300px;margin:0 20px 0 0}#footer-container{clear:both;overflow:hidden}#footer{clear:both} \ No newline at end of file +/** + * Three columns with content floated left. + * + * @since 0.6 + * @package Hybrid + * @subpackage CSS + */ + +#body-container { + overflow: hidden; + width: 960px; + margin: 0 auto; + } + +#container { + overflow: hidden; + float: left; + width: 960px; + } + +.content { + overflow: hidden; + float: right; + width: 520px; + } + +.no-widgets .content, .no-default-widgets .content { + width: 960px; + } + +#primary { + overflow: hidden; + float: left; + width: 190px; + } + +#secondary { + overflow: hidden; + float: left; + width: 190px; + margin-left: 20px; + } + +#subsidiary { + overflow: hidden; + } + +#subsidiary .widget { + overflow: hidden; + float: left; + width: 300px; + margin: 0 20px 0 0; + } + +#footer-container { + clear: both; + overflow: hidden; + } + +#footer { + clear: both; + } \ No newline at end of file diff --git a/wp-content/themes/hybrid/css/3c-r-fixed.min.css b/wp-content/themes/hybrid/css/3c-r-fixed.min.css new file mode 100644 index 0000000000000000000000000000000000000000..b24ad193b57bc3c3b811f4d03b6d9d0617705751 --- /dev/null +++ b/wp-content/themes/hybrid/css/3c-r-fixed.min.css @@ -0,0 +1 @@ +#body-container{overflow:hidden;width:960px;margin:0 auto}#container{overflow:hidden;float:left;width:960px}.content{overflow:hidden;float:right;width:520px}.no-widgets .content,.no-default-widgets .content{width:960px}#primary{overflow:hidden;float:left;width:190px}#secondary{overflow:hidden;float:left;width:190px;margin-left:20px}#subsidiary{overflow:hidden}#subsidiary .widget{overflow:hidden;float:left;width:300px;margin:0 20px 0 0}#footer-container{clear:both;overflow:hidden}#footer{clear:both} \ No newline at end of file diff --git a/wp-content/themes/hybrid/docs/readme.html b/wp-content/themes/hybrid/docs/readme.html index 9b92922166edfd97a8c55d0b6b4180e7854aacac..b9f4f740441c808688810dc254d35c1c61b627c0 100644 --- a/wp-content/themes/hybrid/docs/readme.html +++ b/wp-content/themes/hybrid/docs/readme.html @@ -11,7 +11,7 @@ <h1>A guide to the Hybrid theme</h1> -<p class="first"><em>Hybrid</em> is a user-friendly, search-engine optimized <em>parent theme</em>, featuring 15 custom page templates and 8 widget-ready areas, allowing you to create any type of site you want.</p> +<p class="first"><em>Hybrid</em> is a user-friendly, search-engine optimized <em>parent theme</em>, featuring 14 custom page templates and 8 widget-ready areas, allowing you to create any type of site you want.</p> <p class="second">What this means is that the possibilities are endless. It is about rethinking how WordPress themes <em>should</em> work. It looks simple on the outside, but you can do nearly anything with enough creativity. Everyone from first-time WordPress users to advanced developers and designers can take advantage of this theme.</p> @@ -95,7 +95,7 @@ <p>This theme is copyrighted to <a href="http://justintadlock.com" title="Justin Tadlock">Justin Tadlock</a> and <a href="http://themehybrid.com" title="Theme Hybrid">Theme Hybrid</a>.</p> -<p>2008 – 2012 © Justin Tadlock.</p> +<p>2008 – 2013 © Justin Tadlock.</p> </body> </html> \ No newline at end of file diff --git a/wp-content/themes/hybrid/functions.php b/wp-content/themes/hybrid/functions.php index 50576cf6834e027048f4ce0abc03a7cf28a3d4a0..0e17185291b139c574f2f1862ae4fba24e7f75c0 100644 --- a/wp-content/themes/hybrid/functions.php +++ b/wp-content/themes/hybrid/functions.php @@ -20,9 +20,9 @@ * * @package Hybrid * @subpackage Functions - * @version 1.1.0 + * @version 1.2.0 * @author Justin Tadlock <justin@justintadlock.com> - * @copyright Copyright (c) 2008 - 2012, Justin Tadlock + * @copyright Copyright (c) 2008 - 2013, Justin Tadlock * @link http://themehybrid.com/themes/hybrid * @license http://www.gnu.org/licenses/old-licenses/gpl-2.0.html */ @@ -52,8 +52,8 @@ function hybrid_theme_setup_theme() { add_theme_support( 'hybrid-core-widgets' ); add_theme_support( 'hybrid-core-shortcodes' ); add_theme_support( 'hybrid-core-theme-settings', array( 'about', 'footer' ) ); - add_theme_support( 'hybrid-core-drop-downs' ); - add_theme_support( 'hybrid-core-seo' ); + add_theme_support( 'hybrid-core-scripts', array( 'drop-downs' ) ); + add_theme_support( 'hybrid-core-styles' ); add_theme_support( 'hybrid-core-template-hierarchy' ); add_theme_support( 'hybrid-core-deprecated' ); @@ -163,16 +163,16 @@ function hybrid_theme_register_sidebars() { * @since 0.9.0 */ function hybrid_theme_body_class( $classes ) { - global $wp_query, $is_lynx, $is_gecko, $is_IE, $is_opera, $is_NS4, $is_safari, $is_chrome; + global $is_lynx, $is_gecko, $is_IE, $is_opera, $is_NS4, $is_safari, $is_chrome; /* Singular post classes (deprecated). */ if ( is_singular() ) { if ( is_page() ) - $classes[] = "page-{$wp_query->post->ID}"; // Use singular-page-ID + $classes[] = 'page-' . get_queried_object_id(); // Use singular-page-ID elseif ( is_singular( 'post' ) ) - $classes[] = "single-{$wp_query->post->ID}"; // Use singular-post-ID + $classes[] = 'single-' . get_queried_object_id(); // Use singular-post-ID } /* Browser detection. */ @@ -272,10 +272,9 @@ function hybrid_navigation_links() { * @since 0.2.1 */ function hybrid_footer_insert() { - $footer_insert = hybrid_get_setting( 'footer_insert' ); - - if ( !empty( $footer_insert ) ) - echo '<div class="footer-content footer-insert">' . do_shortcode( $footer_insert ) . '</div>'; + echo '<div class="footer-content footer-insert">'; + hybrid_footer_content(); + echo '</div>'; } /** @@ -286,12 +285,11 @@ function hybrid_footer_insert() { * @since 0.9.0 */ function hybrid_theme_remove_sidebars( $sidebars_widgets ) { - global $wp_query; if ( is_singular() ) { - $template = get_post_meta( $wp_query->post->ID, "_wp_{$wp_query->post->post_type}_template", true ); + $post = get_queried_object(); - if ( 'no-widgets.php' == $template || "{$wp_query->post->post_type}-no-widgets.php" == $template ) + if ( hybrid_has_post_template( 'no-widgets.php' ) || hybrid_has_post_template( "{$post->post_type}-no-widgets.php" ) ) $sidebars_widgets = array( false ); } diff --git a/wp-content/themes/hybrid/library/admin/admin.php b/wp-content/themes/hybrid/library/admin/admin.php index ba84ae235fa7547e0566d53c1ffaecedfdde458d..3e1053c6f7772d949aa3080ce5965b95ed089f1b 100644 --- a/wp-content/themes/hybrid/library/admin/admin.php +++ b/wp-content/themes/hybrid/library/admin/admin.php @@ -3,12 +3,12 @@ * Theme administration functions used with other components of the framework admin. This file is for * setting up any basic features and holding additional admin helper functions. * - * @package HybridCore + * @package HybridCore * @subpackage Admin - * @author Justin Tadlock <justin@justintadlock.com> - * @copyright Copyright (c) 2008 - 2012, Justin Tadlock - * @link http://themehybrid.com/hybrid-core - * @license http://www.gnu.org/licenses/old-licenses/gpl-2.0.html + * @author Justin Tadlock <justin@justintadlock.com> + * @copyright Copyright (c) 2008 - 2012, Justin Tadlock + * @link http://themehybrid.com/hybrid-core + * @license http://www.gnu.org/licenses/old-licenses/gpl-2.0.html */ /* Add the admin setup function to the 'admin_menu' hook. */ @@ -31,6 +31,14 @@ function hybrid_admin_setup() { /* Loads admin stylesheets for the framework. */ add_action( 'admin_enqueue_scripts', 'hybrid_admin_enqueue_styles' ); + + /* Add the WordPress 'Customize' page as an admin menu link. */ + add_theme_page( + esc_html__( 'Customize', 'hybrid-core' ), // Settings page name + esc_html__( 'Customize', 'hybrid-core' ), // Menu name + 'edit_theme_options', // Required capability + 'customize.php' // File to load + ); } /** @@ -57,7 +65,11 @@ function hybrid_admin_load_post_meta_boxes() { * @return void */ function hybrid_admin_register_styles() { - wp_register_style( 'hybrid-core-admin', trailingslashit( HYBRID_CSS ) . 'admin.css', false, '20110512', 'screen' ); + + /* Use the .min stylesheet if SCRIPT_DEBUG is turned off. */ + $suffix = ( defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ) ? '' : '.min'; + + wp_register_style( 'hybrid-core-admin', trailingslashit( HYBRID_CSS ) . "admin{$suffix}.css", false, '20110512', 'screen' ); } /** diff --git a/wp-content/themes/hybrid/library/admin/meta-box-post-seo.php b/wp-content/themes/hybrid/library/admin/meta-box-post-seo.php index 8fd510c1408922df266a407f0270da7046b343e2..2260cdaf5c51e1b72a7f2e3c0df0be8aae2ca2db 100644 --- a/wp-content/themes/hybrid/library/admin/meta-box-post-seo.php +++ b/wp-content/themes/hybrid/library/admin/meta-box-post-seo.php @@ -5,12 +5,12 @@ * To use this feature, the theme must support the 'hybrid-core-seo' feature. The functions in this file create * the SEO meta box and save the settings chosen by the user when the post is saved. * - * @package HybridCore + * @package HybridCore * @subpackage Admin - * @author Justin Tadlock <justin@justintadlock.com> - * @copyright Copyright (c) 2008 - 2012, Justin Tadlock - * @link http://themehybrid.com/hybrid-core - * @license http://www.gnu.org/licenses/old-licenses/gpl-2.0.html + * @author Justin Tadlock <justin@justintadlock.com> + * @copyright Copyright (c) 2008 - 2012, Justin Tadlock + * @link http://themehybrid.com/hybrid-core + * @license http://www.gnu.org/licenses/old-licenses/gpl-2.0.html */ /* Add the post SEO meta box on the 'add_meta_boxes' hook. */ @@ -19,6 +19,8 @@ add_action( 'add_meta_boxes', 'hybrid_meta_box_post_remove_seo', 10, 2 ); /* Save the post SEO meta box data on the 'save_post' hook. */ add_action( 'save_post', 'hybrid_meta_box_post_save_seo', 10, 2 ); +add_action( 'add_attachment', 'hybrid_meta_box_post_save_seo' ); +add_action( 'edit_attachment', 'hybrid_meta_box_post_save_seo' ); /** * Adds the post SEO meta box for all public post types. @@ -92,10 +94,14 @@ function hybrid_meta_box_post_display_seo( $object, $box ) { * @param int $post_id The ID of the current post being saved. * @param int $post The post object currently being saved. */ -function hybrid_meta_box_post_save_seo( $post_id, $post ) { +function hybrid_meta_box_post_save_seo( $post_id, $post = '' ) { $prefix = hybrid_get_prefix(); + /* Fix for attachment save issue in WordPress 3.5. @link http://core.trac.wordpress.org/ticket/21963 */ + if ( !is_object( $post ) ) + $post = get_post(); + /* Verify the nonce before proceeding. */ if ( !isset( $_POST['hybrid-core-post-seo'] ) || !wp_verify_nonce( $_POST['hybrid-core-post-seo'], basename( __FILE__ ) ) ) return $post_id; diff --git a/wp-content/themes/hybrid/library/admin/meta-box-post-template.php b/wp-content/themes/hybrid/library/admin/meta-box-post-template.php index bcbdbcfd638c0ea2c726148bfefe8a3f68cd9fc2..46ea8903d2bf29bc092f6051fde4b7b4477933f6 100644 --- a/wp-content/themes/hybrid/library/admin/meta-box-post-template.php +++ b/wp-content/themes/hybrid/library/admin/meta-box-post-template.php @@ -5,12 +5,12 @@ * functions in this file create the template meta box and save the template chosen by the user when the * post is saved. This file is only used if the theme supports the 'hybrid-core-template-hierarchy' feature. * - * @package HybridCore + * @package HybridCore * @subpackage Admin - * @author Justin Tadlock <justin@justintadlock.com> - * @copyright Copyright (c) 2008 - 2012, Justin Tadlock - * @link http://themehybrid.com/hybrid-core - * @license http://www.gnu.org/licenses/old-licenses/gpl-2.0.html + * @author Justin Tadlock <justin@justintadlock.com> + * @copyright Copyright (c) 2008 - 2012, Justin Tadlock + * @link http://themehybrid.com/hybrid-core + * @license http://www.gnu.org/licenses/old-licenses/gpl-2.0.html */ /* Add the post template meta box on the 'add_meta_boxes' hook. */ @@ -19,6 +19,8 @@ add_action( 'add_meta_boxes', 'hybrid_meta_box_post_remove_template', 10, 2 ); /* Save the post template meta box data on the 'save_post' hook. */ add_action( 'save_post', 'hybrid_meta_box_post_save_template', 10, 2 ); +add_action( 'add_attachment', 'hybrid_meta_box_post_save_template' ); +add_action( 'edit_attachment', 'hybrid_meta_box_post_save_temlate' ); /** * Adds the post template meta box for all public post types, excluding the 'page' post type since WordPress @@ -98,7 +100,11 @@ function hybrid_meta_box_post_display_template( $object, $box ) { * @param int $post The post object currently being saved. * @return void|int */ -function hybrid_meta_box_post_save_template( $post_id, $post ) { +function hybrid_meta_box_post_save_template( $post_id, $post = '' ) { + + /* Fix for attachment save issue in WordPress 3.5. @link http://core.trac.wordpress.org/ticket/21963 */ + if ( !is_object( $post ) ) + $post = get_post(); /* Verify the nonce before proceeding. */ if ( !isset( $_POST['hybrid-core-post-meta-box-template'] ) || !wp_verify_nonce( $_POST['hybrid-core-post-meta-box-template'], basename( __FILE__ ) ) ) diff --git a/wp-content/themes/hybrid/library/admin/meta-box-theme-about.php b/wp-content/themes/hybrid/library/admin/meta-box-theme-about.php index 43d4eec478b789e1f687355a7ba62dcc0b18783f..b140dd9a741255c50abc316497fdc61f64f04623 100644 --- a/wp-content/themes/hybrid/library/admin/meta-box-theme-about.php +++ b/wp-content/themes/hybrid/library/admin/meta-box-theme-about.php @@ -4,12 +4,12 @@ * theme is in use, an additional meta box will be added with its information. To use this feature, the theme * must support the 'about' argument for 'hybrid-core-theme-settings' feature. * - * @package HybridCore + * @package HybridCore * @subpackage Admin - * @author Justin Tadlock <justin@justintadlock.com> - * @copyright Copyright (c) 2008 - 2012, Justin Tadlock - * @link http://themehybrid.com/hybrid-core - * @license http://www.gnu.org/licenses/old-licenses/gpl-2.0.html + * @author Justin Tadlock <justin@justintadlock.com> + * @copyright Copyright (c) 2008 - 2012, Justin Tadlock + * @link http://themehybrid.com/hybrid-core + * @license http://www.gnu.org/licenses/old-licenses/gpl-2.0.html */ /* Create the about theme meta box on the 'add_meta_boxes' hook. */ diff --git a/wp-content/themes/hybrid/library/admin/meta-box-theme-footer.php b/wp-content/themes/hybrid/library/admin/meta-box-theme-footer.php index 7a838514d4e780c710ecabb148d2889a4cfb4bca..f4eaf3714ef2275fabe6c1fff63a8fdd6821028f 100644 --- a/wp-content/themes/hybrid/library/admin/meta-box-theme-footer.php +++ b/wp-content/themes/hybrid/library/admin/meta-box-theme-footer.php @@ -4,12 +4,12 @@ * the theme. To use this feature, the theme must support the 'footer' argument for the * 'hybrid-core-theme-settings' feature. * - * @package HybridCore + * @package HybridCore * @subpackage Admin - * @author Justin Tadlock <justin@justintadlock.com> - * @copyright Copyright (c) 2008 - 2012, Justin Tadlock - * @link http://themehybrid.com/hybrid-core - * @license http://www.gnu.org/licenses/old-licenses/gpl-2.0.html + * @author Justin Tadlock <justin@justintadlock.com> + * @copyright Copyright (c) 2008 - 2012, Justin Tadlock + * @link http://themehybrid.com/hybrid-core + * @license http://www.gnu.org/licenses/old-licenses/gpl-2.0.html */ /* Create the footer meta box on the 'add_meta_boxes' hook. */ diff --git a/wp-content/themes/hybrid/library/admin/theme-settings.php b/wp-content/themes/hybrid/library/admin/theme-settings.php index 1c7da90268b25124e9954557deca62ccbade8ff7..1aadae97cd854213ba95fada66ce2a4e74e8f61e 100644 --- a/wp-content/themes/hybrid/library/admin/theme-settings.php +++ b/wp-content/themes/hybrid/library/admin/theme-settings.php @@ -9,12 +9,12 @@ * and register the meta box for 'appearance_page_theme-settings'. To validate/sanitize data from * custom settings, devs should use the 'sanitize_option_{$prefix}_theme_settings' filter hook. * - * @package HybridCore + * @package HybridCore * @subpackage Admin - * @author Justin Tadlock <justin@justintadlock.com> - * @copyright Copyright (c) 2008 - 2012, Justin Tadlock - * @link http://themehybrid.com/hybrid-core - * @license http://www.gnu.org/licenses/old-licenses/gpl-2.0.html + * @author Justin Tadlock <justin@justintadlock.com> + * @copyright Copyright (c) 2008 - 2012, Justin Tadlock + * @link http://themehybrid.com/hybrid-core + * @license http://www.gnu.org/licenses/old-licenses/gpl-2.0.html */ /* Hook the settings page function to 'admin_menu'. */ diff --git a/wp-content/themes/hybrid/library/classes/customize-control-textarea.php b/wp-content/themes/hybrid/library/classes/customize-control-textarea.php index 5994a500fa9bef0661439bb13df2baa748a6a2b5..228d60c0bbb3427c20955e8608ce26cafe9f2bf5 100644 --- a/wp-content/themes/hybrid/library/classes/customize-control-textarea.php +++ b/wp-content/themes/hybrid/library/classes/customize-control-textarea.php @@ -3,12 +3,12 @@ * The textarea customize control extends the WP_Customize_Control class. This class allows * developers to create textarea settings within the WordPress theme customizer. * - * @package Hybrid + * @package Hybrid * @subpackage Classes - * @author Justin Tadlock <justin@justintadlock.com> - * @copyright Copyright (c) 2008 - 2012, Justin Tadlock - * @link http://themehybrid.com/hybrid-core - * @license http://www.gnu.org/licenses/old-licenses/gpl-2.0.html + * @author Justin Tadlock <justin@justintadlock.com> + * @copyright Copyright (c) 2008 - 2012, Justin Tadlock + * @link http://themehybrid.com/hybrid-core + * @license http://www.gnu.org/licenses/old-licenses/gpl-2.0.html */ /** diff --git a/wp-content/themes/hybrid/library/classes/widget-archives.php b/wp-content/themes/hybrid/library/classes/widget-archives.php index 4c59866d373581ef1e28af983c5266722cdc1f38..653e2914b82ef65b98ae0195206569a94c153c4c 100644 --- a/wp-content/themes/hybrid/library/classes/widget-archives.php +++ b/wp-content/themes/hybrid/library/classes/widget-archives.php @@ -4,12 +4,12 @@ * control over the output to the user by allowing the input of all the arguments typically seen * in the wp_get_archives() function. * - * @package Hybrid + * @package Hybrid * @subpackage Classes - * @author Justin Tadlock <justin@justintadlock.com> - * @copyright Copyright (c) 2008 - 2012, Justin Tadlock - * @link http://themehybrid.com/hybrid-core - * @license http://www.gnu.org/licenses/old-licenses/gpl-2.0.html + * @author Justin Tadlock <justin@justintadlock.com> + * @copyright Copyright (c) 2008 - 2012, Justin Tadlock + * @link http://themehybrid.com/hybrid-core + * @license http://www.gnu.org/licenses/old-licenses/gpl-2.0.html */ /** @@ -28,22 +28,22 @@ class Hybrid_Widget_Archives extends WP_Widget { /* Set up the widget options. */ $widget_options = array( - 'classname' => 'archives', + 'classname' => 'archives', 'description' => esc_html__( 'An advanced widget that gives you total control over the output of your archives.', 'hybrid-core' ) ); /* Set up the widget control options. */ $control_options = array( - 'width' => 525, + 'width' => 525, 'height' => 350 ); /* Create the widget. */ $this->WP_Widget( - 'hybrid-archives', // $this->id_base - __( 'Archives', 'hybrid-core' ), // $this->name - $widget_options, // $this->widget_options - $control_options // $this->control_options + 'hybrid-archives', // $this->id_base + __( 'Archives', 'hybrid-core' ), // $this->name + $widget_options, // $this->widget_options + $control_options // $this->control_options ); } @@ -120,10 +120,11 @@ class Hybrid_Widget_Archives extends WP_Widget { $instance = $new_instance; - $instance['title'] = strip_tags( $new_instance['title'] ); + $instance['title'] = strip_tags( $new_instance['title'] ); $instance['before'] = strip_tags( $new_instance['before'] ); - $instance['after'] = strip_tags( $new_instance['after'] ); - $instance['limit'] = strip_tags( $new_instance['limit'] ); + $instance['after'] = strip_tags( $new_instance['after'] ); + $instance['limit'] = strip_tags( $new_instance['limit'] ); + $instance['show_post_count'] = ( isset( $new_instance['show_post_count'] ) ? 1 : 0 ); return $instance; @@ -138,12 +139,13 @@ class Hybrid_Widget_Archives extends WP_Widget { /* Set up the default form values. */ $defaults = array( - 'title' => esc_attr__( 'Archives', 'hybrid-core' ), - 'limit' => 10, - 'type' => 'monthly', - 'format' => 'html', - 'before' => '', - 'after' => '', + 'title' => esc_attr__( 'Archives', 'hybrid-core' ), + 'limit' => 10, + 'type' => 'monthly', + 'order' => 'DESC', + 'format' => 'html', + 'before' => '', + 'after' => '', 'show_post_count' => false ); @@ -151,10 +153,27 @@ class Hybrid_Widget_Archives extends WP_Widget { $instance = wp_parse_args( (array) $instance, $defaults ); /* Create an array of archive types. */ - $type = array( 'alpha' => esc_attr__( 'Alphabetical', 'hybrid-core' ), 'daily' => esc_attr__( 'Daily', 'hybrid-core' ), 'monthly' => esc_attr__( 'Monthly', 'hybrid-core' ),'postbypost' => esc_attr__( 'Post By Post', 'hybrid-core' ), 'weekly' => esc_attr__( 'Weekly', 'hybrid-core' ), 'yearly' => esc_attr__( 'Yearly', 'hybrid-core' ) ); + $type = array( + 'alpha' => esc_attr__( 'Alphabetical', 'hybrid-core' ), + 'daily' => esc_attr__( 'Daily', 'hybrid-core' ), + 'monthly' => esc_attr__( 'Monthly', 'hybrid-core' ), + 'postbypost' => esc_attr__( 'Post By Post', 'hybrid-core' ), + 'weekly' => esc_attr__( 'Weekly', 'hybrid-core' ), + 'yearly' => esc_attr__( 'Yearly', 'hybrid-core' ) + ); + + /* Create an array of order options. */ + $order = array( + 'ASC' => esc_attr__( 'Ascending', 'hybrid-core' ), + 'DESC' => esc_attr__( 'Descending', 'hybrid-core' ) + ); /* Create an array of archive formats. */ - $format = array( 'custom' => esc_attr__( 'Custom', 'hybrid-core' ), 'html' => esc_attr__( 'HTML', 'hybrid-core' ), 'option' => esc_attr__( 'Option', 'hybrid-core' ) ); + $format = array( + 'custom' => esc_attr__( 'Custom', 'hybrid-core' ), + 'html' => esc_attr__( 'HTML', 'hybrid-core' ), + 'option' => esc_attr__( 'Option', 'hybrid-core' ) + ); ?> <div class="hybrid-widget-controls columns-2"> @@ -174,6 +193,17 @@ class Hybrid_Widget_Archives extends WP_Widget { <?php } ?> </select> </p> + <p> + <label for="<?php echo $this->get_field_id( 'order' ); ?>"><code>order</code></label> + <select class="widefat" id="<?php echo $this->get_field_id( 'order' ); ?>" name="<?php echo $this->get_field_name( 'order' ); ?>"> + <?php foreach ( $order as $option_value => $option_label ) { ?> + <option value="<?php echo esc_attr( $option_value ); ?>" <?php selected( $instance['order'], $option_value ); ?>><?php echo esc_html( $option_label ); ?></option> + <?php } ?> + </select> + </p> + </div> + + <div class="hybrid-widget-controls columns-2 column-last"> <p> <label for="<?php echo $this->get_field_id( 'format' ); ?>"><code>format</code></label> <select class="widefat" id="<?php echo $this->get_field_id( 'format' ); ?>" name="<?php echo $this->get_field_name( 'format' ); ?>"> @@ -182,9 +212,6 @@ class Hybrid_Widget_Archives extends WP_Widget { <?php } ?> </select> </p> - </div> - - <div class="hybrid-widget-controls columns-2 column-last"> <p> <label for="<?php echo $this->get_field_id( 'before' ); ?>"><code>before</code></label> <input type="text" class="widefat code" id="<?php echo $this->get_field_id( 'before' ); ?>" name="<?php echo $this->get_field_name( 'before' ); ?>" value="<?php echo esc_attr( $instance['before'] ); ?>" /> diff --git a/wp-content/themes/hybrid/library/classes/widget-authors.php b/wp-content/themes/hybrid/library/classes/widget-authors.php index 4929e290e988b6148962a51c49a0355f66998f6a..a4ea36de885ff6824a139f18187e0b956d63ea8e 100644 --- a/wp-content/themes/hybrid/library/classes/widget-authors.php +++ b/wp-content/themes/hybrid/library/classes/widget-authors.php @@ -4,12 +4,12 @@ * there was no equivalent WordPress widget that offered the functionality. This widget allows full * control over its output by giving access to the parameters of wp_list_authors(). * - * @package Hybrid + * @package Hybrid * @subpackage Classes - * @author Justin Tadlock <justin@justintadlock.com> - * @copyright Copyright (c) 2008 - 2012, Justin Tadlock - * @link http://themehybrid.com/hybrid-core - * @license http://www.gnu.org/licenses/old-licenses/gpl-2.0.html + * @author Justin Tadlock <justin@justintadlock.com> + * @copyright Copyright (c) 2008 - 2012, Justin Tadlock + * @link http://themehybrid.com/hybrid-core + * @license http://www.gnu.org/licenses/old-licenses/gpl-2.0.html */ /** @@ -28,22 +28,22 @@ class Hybrid_Widget_Authors extends WP_Widget { /* Set up the widget options. */ $widget_options = array( - 'classname' => 'authors', + 'classname' => 'authors', 'description' => esc_html__( 'An advanced widget that gives you total control over the output of your author lists.', 'hybrid-core' ) ); /* Set up the widget control options. */ $control_options = array( - 'width' => 525, + 'width' => 525, 'height' => 350 ); /* Create the widget. */ $this->WP_Widget( - 'hybrid-authors', // $this->id_base - __( 'Authors', 'hybrid-core' ), // $this->name - $widget_options, // $this->widget_options - $control_options // $this->control_options + 'hybrid-authors', // $this->id_base + __( 'Authors', 'hybrid-core' ), // $this->name + $widget_options, // $this->widget_options + $control_options // $this->control_options ); } @@ -75,6 +75,10 @@ class Hybrid_Widget_Authors extends WP_Widget { if ( 'list' == $args['style'] && $args['html'] ) $authors = '<ul class="xoxo authors">' . $authors . '</ul><!-- .xoxo .authors -->'; + /* If 'none' is the style and the output should be HTML, wrap the authors in a <p>. */ + elseif ( 'none' == $args['style'] && $args['html'] ) + $authors = '<p class="authors">' . $authors . '</p><!-- .authors -->'; + /* Display the authors list. */ echo $authors; @@ -92,17 +96,17 @@ class Hybrid_Widget_Authors extends WP_Widget { $instance = $new_instance; - $instance['title'] = strip_tags( $new_instance['title'] ); - $instance['feed'] = strip_tags( $new_instance['feed'] ); - $instance['order'] = strip_tags( $new_instance['order'] ); + $instance['title'] = strip_tags( $new_instance['title'] ); + $instance['feed'] = strip_tags( $new_instance['feed'] ); + $instance['order'] = strip_tags( $new_instance['order'] ); $instance['orderby'] = strip_tags( $new_instance['orderby'] ); - $instance['number'] = strip_tags( $new_instance['number'] ); + $instance['number'] = strip_tags( $new_instance['number'] ); - $instance['html'] = ( isset( $new_instance['html'] ) ? 1 : 0 ); - $instance['optioncount'] = ( isset( $new_instance['optioncount'] ) ? 1 : 0 ); + $instance['html'] = ( isset( $new_instance['html'] ) ? 1 : 0 ); + $instance['optioncount'] = ( isset( $new_instance['optioncount'] ) ? 1 : 0 ); $instance['exclude_admin'] = ( isset( $new_instance['exclude_admin'] ) ? 1 : 0 ); $instance['show_fullname'] = ( isset( $new_instance['show_fullname'] ) ? 1 : 0 ); - $instance['hide_empty'] = ( isset( $new_instance['hide_empty'] ) ? 1 : 0 ); + $instance['hide_empty'] = ( isset( $new_instance['hide_empty'] ) ? 1 : 0 ); return $instance; } @@ -116,25 +120,38 @@ class Hybrid_Widget_Authors extends WP_Widget { /* Set up the default form values. */ $defaults = array( - 'title' => esc_attr__( 'Authors', 'hybrid-core' ), - 'order' => 'ASC', - 'orderby' => 'display_name', - 'number' => '', - 'optioncount' => false, + 'title' => esc_attr__( 'Authors', 'hybrid-core' ), + 'order' => 'ASC', + 'orderby' => 'display_name', + 'number' => '', + 'optioncount' => false, 'exclude_admin' => false, 'show_fullname' => true, - 'hide_empty' => true, - 'style' => 'list', - 'html' => true, - 'feed' => '', - 'feed_image' => '' + 'hide_empty' => true, + 'style' => 'list', + 'html' => true, + 'feed' => '', + 'feed_image' => '' ); /* Merge the user-selected arguments with the defaults. */ $instance = wp_parse_args( (array) $instance, $defaults ); - $order = array( 'ASC' => esc_attr__( 'Ascending', 'hybrid-core' ), 'DESC' => esc_attr__( 'Descending', 'hybrid-core' ) ); - $orderby = array( 'display_name' => esc_attr__( 'Display Name', 'hybrid-core' ), 'email' => esc_attr__( 'Email', 'hybrid-core' ), 'ID' => esc_attr__( 'ID', 'hybrid-core' ), 'nicename' => esc_attr__( 'Nice Name', 'hybrid-core' ), 'post_count' => esc_attr__( 'Post Count', 'hybrid-core' ), 'registered' => esc_attr__( 'Registered', 'hybrid-core' ), 'url' => esc_attr__( 'URL', 'hybrid-core' ), 'user_login' => esc_attr__( 'Login', 'hybrid-core' ) ); + $order = array( + 'ASC' => esc_attr__( 'Ascending', 'hybrid-core' ), + 'DESC' => esc_attr__( 'Descending', 'hybrid-core' ) + ); + + $orderby = array( + 'display_name' => esc_attr__( 'Display Name', 'hybrid-core' ), + 'email' => esc_attr__( 'Email', 'hybrid-core' ), + 'ID' => esc_attr__( 'ID', 'hybrid-core' ), + 'nicename' => esc_attr__( 'Nice Name', 'hybrid-core' ), + 'post_count' => esc_attr__( 'Post Count', 'hybrid-core' ), + 'registered' => esc_attr__( 'Registered', 'hybrid-core' ), + 'url' => esc_attr__( 'URL', 'hybrid-core' ), + 'user_login' => esc_attr__( 'Login', 'hybrid-core' ) + ); ?> diff --git a/wp-content/themes/hybrid/library/classes/widget-bookmarks.php b/wp-content/themes/hybrid/library/classes/widget-bookmarks.php index d3789ddb78ec8e1ecc5a2acd312c66cc0789a557..b2c02cde9ffcf0467703d39d03909714f6bba721 100644 --- a/wp-content/themes/hybrid/library/classes/widget-bookmarks.php +++ b/wp-content/themes/hybrid/library/classes/widget-bookmarks.php @@ -4,12 +4,12 @@ * control over the output to the user by allowing the input of all the arguments typically seen * in the wp_list_bookmarks() function. * - * @package Hybrid + * @package Hybrid * @subpackage Classes - * @author Justin Tadlock <justin@justintadlock.com> - * @copyright Copyright (c) 2008 - 2012, Justin Tadlock - * @link http://themehybrid.com/hybrid-core - * @license http://www.gnu.org/licenses/old-licenses/gpl-2.0.html + * @author Justin Tadlock <justin@justintadlock.com> + * @copyright Copyright (c) 2008 - 2012, Justin Tadlock + * @link http://themehybrid.com/hybrid-core + * @license http://www.gnu.org/licenses/old-licenses/gpl-2.0.html */ /** @@ -28,24 +28,25 @@ class Hybrid_Widget_Bookmarks extends WP_Widget { /* Set up the widget options. */ $widget_options = array( - 'classname' => 'bookmarks', + 'classname' => 'bookmarks', 'description' => esc_html__( 'An advanced widget that gives you total control over the output of your bookmarks (links).', 'hybrid-core' ) ); /* Set up the widget control options. */ $control_options = array( - 'width' => 800, + 'width' => 800, 'height' => 350 ); /* Create the widget. */ $this->WP_Widget( - 'hybrid-bookmarks', // $this->id_base - __( 'Bookmarks', 'hybrid-core' ), // $this->name - $widget_options, // $this->widget_options - $control_options // $this->control_options + 'hybrid-bookmarks', // $this->id_base + __( 'Bookmarks', 'hybrid-core' ), // $this->name + $widget_options, // $this->widget_options + $control_options // $this->control_options ); } + /** * Outputs the widget based on the arguments input through the widget controls. * @@ -82,13 +83,13 @@ class Hybrid_Widget_Bookmarks extends WP_Widget { $args['limit'] = empty( $args['limit'] ) ? -1 : $args['limit']; /* Some arguments must be set to the sidebar arguments to be output correctly. */ - $args['title_li'] = apply_filters( 'widget_title', ( empty( $args['title_li'] ) ? __( 'Bookmarks', 'hybrid-core' ) : $args['title_li'] ), $instance, $this->id_base ); - $args['title_before'] = $before_title; - $args['title_after'] = $after_title; + $args['title_li'] = apply_filters( 'widget_title', ( empty( $args['title_li'] ) ? __( 'Bookmarks', 'hybrid-core' ) : $args['title_li'] ), $instance, $this->id_base ); + $args['title_before'] = $before_title; + $args['title_after'] = $after_title; $args['category_before'] = $before_widget; - $args['category_after'] = $after_widget; - $args['category_name'] = ''; - $args['echo'] = false; + $args['category_after'] = $after_widget; + $args['category_name'] = ''; + $args['echo'] = false; /* Output the bookmarks widget. */ $bookmarks = str_replace( array( "\r", "\n", "\t" ), '', wp_list_bookmarks( $args ) ); @@ -113,24 +114,25 @@ class Hybrid_Widget_Bookmarks extends WP_Widget { $instance = $new_instance; $instance['title_li'] = strip_tags( $new_instance['title_li'] ); - $instance['limit'] = strip_tags( $new_instance['limit'] ); - $instance['class'] = strip_tags( $new_instance['class'] ); - $instance['search'] = strip_tags( $new_instance['search'] ); - $instance['category_order'] = $new_instance['category_order']; + $instance['limit'] = strip_tags( $new_instance['limit'] ); + $instance['class'] = strip_tags( $new_instance['class'] ); + $instance['search'] = strip_tags( $new_instance['search'] ); + + $instance['category_order'] = $new_instance['category_order']; $instance['category_orderby'] = $new_instance['category_orderby']; - $instance['orderby'] = $new_instance['orderby']; - $instance['order'] = $new_instance['order']; - $instance['between'] = $new_instance['between']; - $instance['link_before'] = $new_instance['link_before']; - $instance['link_after'] = $new_instance['link_after']; - - $instance['categorize'] = ( isset( $new_instance['categorize'] ) ? 1 : 0 ); - $instance['hide_invisible'] = ( isset( $new_instance['hide_invisible'] ) ? 1 : 0 ); - $instance['show_private'] = ( isset( $new_instance['show_private'] ) ? 1 : 0 ); - $instance['show_rating'] = ( isset( $new_instance['show_rating'] ) ? 1 : 0 ); - $instance['show_updated'] = ( isset( $new_instance['show_updated'] ) ? 1 : 0 ); - $instance['show_images'] = ( isset( $new_instance['show_images'] ) ? 1 : 0 ); - $instance['show_name'] = ( isset( $new_instance['show_name'] ) ? 1 : 0 ); + $instance['orderby'] = $new_instance['orderby']; + $instance['order'] = $new_instance['order']; + $instance['between'] = $new_instance['between']; + $instance['link_before'] = $new_instance['link_before']; + $instance['link_after'] = $new_instance['link_after']; + + $instance['categorize'] = ( isset( $new_instance['categorize'] ) ? 1 : 0 ); + $instance['hide_invisible'] = ( isset( $new_instance['hide_invisible'] ) ? 1 : 0 ); + $instance['show_private'] = ( isset( $new_instance['show_private'] ) ? 1 : 0 ); + $instance['show_rating'] = ( isset( $new_instance['show_rating'] ) ? 1 : 0 ); + $instance['show_updated'] = ( isset( $new_instance['show_updated'] ) ? 1 : 0 ); + $instance['show_images'] = ( isset( $new_instance['show_images'] ) ? 1 : 0 ); + $instance['show_name'] = ( isset( $new_instance['show_name'] ) ? 1 : 0 ); $instance['show_description'] = ( isset( $new_instance['show_description'] ) ? 1 : 0 ); return $instance; @@ -145,29 +147,29 @@ class Hybrid_Widget_Bookmarks extends WP_Widget { /* Set up the default form values. */ $defaults = array( - 'title_li' => esc_attr__( 'Bookmarks', 'hybrid-core' ), - 'categorize' => true, - 'category_order' => 'ASC', + 'title_li' => esc_attr__( 'Bookmarks', 'hybrid-core' ), + 'categorize' => true, + 'category_order' => 'ASC', 'category_orderby' => 'name', - 'category' => array(), + 'category' => array(), 'exclude_category' => array(), - 'limit' => -1, - 'order' => 'ASC', - 'orderby' => 'name', - 'include' => array(), - 'exclude' => array(), - 'search' => '', - 'hide_invisible' => true, + 'limit' => -1, + 'order' => 'ASC', + 'orderby' => 'name', + 'include' => array(), + 'exclude' => array(), + 'search' => '', + 'hide_invisible' => true, 'show_description' => false, - 'show_images' => false, - 'show_rating' => false, - 'show_updated' => false, - 'show_private' => false, - 'show_name' => false, - 'class' => 'linkcat', - 'link_before' => '<span>', - 'link_after' => '</span>', - 'between' => '<br />', + 'show_images' => false, + 'show_rating' => false, + 'show_updated' => false, + 'show_private' => false, + 'show_name' => false, + 'class' => 'linkcat', + 'link_before' => '<span>', + 'link_after' => '</span>', + 'between' => '<br />', ); /* Merge the user-selected arguments with the defaults. */ @@ -175,11 +177,39 @@ class Hybrid_Widget_Bookmarks extends WP_Widget { $terms = get_terms( 'link_category' ); $bookmarks = get_bookmarks( array( 'hide_invisible' => false ) ); - $category_order = array( 'ASC' => esc_attr__( 'Ascending', 'hybrid-core' ), 'DESC' => esc_attr__( 'Descending', 'hybrid-core' ) ); - $category_orderby = array( 'count' => esc_attr__( 'Count', 'hybrid-core' ), 'ID' => esc_attr__( 'ID', 'hybrid-core' ), 'name' => esc_attr__( 'Name', 'hybrid-core' ), 'slug' => esc_attr__( 'Slug', 'hybrid-core' ) ); - $order = array( 'ASC' => esc_attr__( 'Ascending', 'hybrid-core' ), 'DESC' => esc_attr__( 'Descending', 'hybrid-core' ) ); - $orderby = array( 'id' => esc_attr__( 'ID', 'hybrid-core' ), 'description' => esc_attr__( 'Description', 'hybrid-core' ), 'length' => esc_attr__( 'Length', 'hybrid-core' ), 'name' => esc_attr__( 'Name', 'hybrid-core' ), 'notes' => esc_attr__( 'Notes', 'hybrid-core' ), 'owner' => esc_attr__( 'Owner', 'hybrid-core' ), 'rand' => esc_attr__( 'Random', 'hybrid-core' ), 'rating' => esc_attr__( 'Rating', 'hybrid-core' ), 'rel' => esc_attr__( 'Rel', 'hybrid-core' ), 'rss' => esc_attr__( 'RSS', 'hybrid-core' ), 'target' => esc_attr__( 'Target', 'hybrid-core' ), 'updated' => esc_attr__( 'Updated', 'hybrid-core' ), 'url' => esc_attr__( 'URL', 'hybrid-core' ) ); + $category_order = array( + 'ASC' => esc_attr__( 'Ascending', 'hybrid-core' ), + 'DESC' => esc_attr__( 'Descending', 'hybrid-core' ) + ); + + $category_orderby = array( + 'count' => esc_attr__( 'Count', 'hybrid-core' ), + 'ID' => esc_attr__( 'ID', 'hybrid-core' ), + 'name' => esc_attr__( 'Name', 'hybrid-core' ), + 'slug' => esc_attr__( 'Slug', 'hybrid-core' ) + ); + + $order = array( + 'ASC' => esc_attr__( 'Ascending', 'hybrid-core' ), + 'DESC' => esc_attr__( 'Descending', 'hybrid-core' ) + ); + + $orderby = array( + 'id' => esc_attr__( 'ID', 'hybrid-core' ), + 'description' => esc_attr__( 'Description', 'hybrid-core' ), + 'length' => esc_attr__( 'Length', 'hybrid-core' ), + 'name' => esc_attr__( 'Name', 'hybrid-core' ), + 'notes' => esc_attr__( 'Notes', 'hybrid-core' ), + 'owner' => esc_attr__( 'Owner', 'hybrid-core' ), + 'rand' => esc_attr__( 'Random', 'hybrid-core' ), + 'rating' => esc_attr__( 'Rating', 'hybrid-core' ), + 'rel' => esc_attr__( 'Rel', 'hybrid-core' ), + 'rss' => esc_attr__( 'RSS', 'hybrid-core' ), + 'target' => esc_attr__( 'Target', 'hybrid-core' ), + 'updated' => esc_attr__( 'Updated', 'hybrid-core' ), + 'url' => esc_attr__( 'URL', 'hybrid-core' ) + ); ?> <div class="hybrid-widget-controls columns-3"> diff --git a/wp-content/themes/hybrid/library/classes/widget-calendar.php b/wp-content/themes/hybrid/library/classes/widget-calendar.php index b5adfe4a5090b30efc1eb8cf25b85dae1cce7354..8997520c7195dcfbd9a618c86f35470fad89b985 100644 --- a/wp-content/themes/hybrid/library/classes/widget-calendar.php +++ b/wp-content/themes/hybrid/library/classes/widget-calendar.php @@ -4,12 +4,12 @@ * using all the available options given in the get_calendar() function. It replaces the default WordPress * calendar widget. * - * @package Hybrid + * @package Hybrid * @subpackage Classes - * @author Justin Tadlock <justin@justintadlock.com> - * @copyright Copyright (c) 2008 - 2012, Justin Tadlock - * @link http://themehybrid.com/hybrid-core - * @license http://www.gnu.org/licenses/old-licenses/gpl-2.0.html + * @author Justin Tadlock <justin@justintadlock.com> + * @copyright Copyright (c) 2008 - 2012, Justin Tadlock + * @link http://themehybrid.com/hybrid-core + * @license http://www.gnu.org/licenses/old-licenses/gpl-2.0.html */ /** @@ -28,22 +28,22 @@ class Hybrid_Widget_Calendar extends WP_Widget { /* Set up the widget options. */ $widget_options = array( - 'classname' => 'calendar', + 'classname' => 'calendar', 'description' => esc_html__( 'An advanced widget that gives you total control over the output of your calendar.', 'hybrid-core' ) ); /* Set up the widget control options. */ $control_options = array( - 'width' => 200, + 'width' => 200, 'height' => 350 ); /* Create the widget. */ $this->WP_Widget( - 'hybrid-calendar', // $this->id_base - __( 'Calendar', 'hybrid-core' ), // $this->name - $widget_options, // $this->widget_options - $control_options // $this->control_options + 'hybrid-calendar', // $this->id_base + __( 'Calendar', 'hybrid-core' ), // $this->name + $widget_options, // $this->widget_options + $control_options // $this->control_options ); } @@ -96,7 +96,7 @@ class Hybrid_Widget_Calendar extends WP_Widget { /* Set up the default form values. */ $defaults = array( - 'title' => esc_attr__( 'Calendar', 'hybrid-core' ), + 'title' => esc_attr__( 'Calendar', 'hybrid-core' ), 'initial' => false ); diff --git a/wp-content/themes/hybrid/library/classes/widget-categories.php b/wp-content/themes/hybrid/library/classes/widget-categories.php index 8f367468d93ba31387992db1bf3853f7cefb18b1..1513ebdf966a167f49bdd1c59eb0f360eb67ca5b 100644 --- a/wp-content/themes/hybrid/library/classes/widget-categories.php +++ b/wp-content/themes/hybrid/library/classes/widget-categories.php @@ -4,12 +4,12 @@ * control over the output to the user by allowing the input of all the arguments typically seen * in the wp_list_categories() function. * - * @package Hybrid + * @package Hybrid * @subpackage Classes - * @author Justin Tadlock <justin@justintadlock.com> - * @copyright Copyright (c) 2008 - 2012, Justin Tadlock - * @link http://themehybrid.com/hybrid-core - * @license http://www.gnu.org/licenses/old-licenses/gpl-2.0.html + * @author Justin Tadlock <justin@justintadlock.com> + * @copyright Copyright (c) 2008 - 2012, Justin Tadlock + * @link http://themehybrid.com/hybrid-core + * @license http://www.gnu.org/licenses/old-licenses/gpl-2.0.html */ /** @@ -28,22 +28,22 @@ class Hybrid_Widget_Categories extends WP_Widget { /* Set up the widget options. */ $widget_options = array( - 'classname' => 'categories', + 'classname' => 'categories', 'description' => esc_html__( 'An advanced widget that gives you total control over the output of your category links.', 'hybrid-core' ) ); /* Set up the widget control options. */ $control_options = array( - 'width' => 800, + 'width' => 800, 'height' => 350 ); /* Create the widget. */ $this->WP_Widget( - 'hybrid-categories', // $this->id_base - __( 'Categories', 'hybrid-core' ), // $this->name - $widget_options, // $this->widget_options - $control_options // $this->control_options + 'hybrid-categories', // $this->id_base + __( 'Categories', 'hybrid-core' ), // $this->name + $widget_options, // $this->widget_options + $control_options // $this->control_options ); } @@ -100,23 +100,26 @@ class Hybrid_Widget_Categories extends WP_Widget { $instance['exclude'] = array(); } - $instance['title'] = strip_tags( $new_instance['title'] ); $instance['taxonomy'] = $new_instance['taxonomy']; - $instance['depth'] = strip_tags( $new_instance['depth'] ); - $instance['number'] = strip_tags( $new_instance['number'] ); - $instance['child_of'] = strip_tags( $new_instance['child_of'] ); - $instance['current_category'] = strip_tags( $new_instance['current_category'] ); - $instance['feed'] = strip_tags( $new_instance['feed'] ); + $instance['feed_image'] = esc_url( $new_instance['feed_image'] ); - $instance['search'] = strip_tags( $new_instance['search'] ); - $instance['include'] = preg_replace( '/[^0-9,]/', '', $new_instance['include'] ); - $instance['exclude'] = preg_replace( '/[^0-9,]/', '', $new_instance['exclude'] ); + + $instance['title'] = strip_tags( $new_instance['title'] ); + $instance['depth'] = strip_tags( $new_instance['depth'] ); + $instance['number'] = strip_tags( $new_instance['number'] ); + $instance['child_of'] = strip_tags( $new_instance['child_of'] ); + $instance['current_category'] = strip_tags( $new_instance['current_category'] ); + $instance['feed'] = strip_tags( $new_instance['feed'] ); + $instance['search'] = strip_tags( $new_instance['search'] ); + + $instance['include'] = preg_replace( '/[^0-9,]/', '', $new_instance['include'] ); + $instance['exclude'] = preg_replace( '/[^0-9,]/', '', $new_instance['exclude'] ); $instance['exclude_tree'] = preg_replace( '/[^0-9,]/', '', $new_instance['exclude_tree'] ); - $instance['hierarchical'] = ( isset( $new_instance['hierarchical'] ) ? 1 : 0 ); + $instance['hierarchical'] = ( isset( $new_instance['hierarchical'] ) ? 1 : 0 ); $instance['use_desc_for_title'] = ( isset( $new_instance['use_desc_for_title'] ) ? 1 : 0 ); - $instance['show_count'] = ( isset( $new_instance['show_count'] ) ? 1 : 0 ); - $instance['hide_empty'] = ( isset( $new_instance['hide_empty'] ) ? 1 : 0 ); + $instance['show_count'] = ( isset( $new_instance['show_count'] ) ? 1 : 0 ); + $instance['hide_empty'] = ( isset( $new_instance['hide_empty'] ) ? 1 : 0 ); return $instance; } @@ -130,26 +133,26 @@ class Hybrid_Widget_Categories extends WP_Widget { /* Set up the default form values. */ $defaults = array( - 'title' => esc_attr__( 'Categories', 'hybrid-core' ), - 'taxonomy' => 'category', - 'style' => 'list', - 'include' => '', - 'exclude' => '', - 'exclude_tree' => '', - 'child_of' => '', - 'current_category' => '', - 'search' => '', - 'hierarchical' => true, - 'hide_empty' => true, - 'order' => 'ASC', - 'orderby' => 'name', - 'depth' => 0, - 'number' => '', - 'feed' => '', - 'feed_type' => '', - 'feed_image' => '', + 'title' => esc_attr__( 'Categories', 'hybrid-core' ), + 'taxonomy' => 'category', + 'style' => 'list', + 'include' => '', + 'exclude' => '', + 'exclude_tree' => '', + 'child_of' => '', + 'current_category' => '', + 'search' => '', + 'hierarchical' => true, + 'hide_empty' => true, + 'order' => 'ASC', + 'orderby' => 'name', + 'depth' => 0, + 'number' => '', + 'feed' => '', + 'feed_type' => '', + 'feed_image' => '', 'use_desc_for_title' => false, - 'show_count' => false, + 'show_count' => false, ); /* Merge the user-selected arguments with the defaults. */ @@ -158,10 +161,32 @@ class Hybrid_Widget_Categories extends WP_Widget { /* <select> element options. */ $taxonomies = get_taxonomies( array( 'show_tagcloud' => true ), 'objects' ); $terms = get_terms( $instance['taxonomy'] ); - $style = array( 'list' => esc_attr__( 'List', 'hybrid-core' ), 'none' => esc_attr__( 'None', 'hybrid-core' ) ); - $order = array( 'ASC' => esc_attr__( 'Ascending', 'hybrid-core' ), 'DESC' => esc_attr__( 'Descending', 'hybrid-core' ) ); - $orderby = array( 'count' => esc_attr__( 'Count', 'hybrid-core' ), 'ID' => esc_attr__( 'ID', 'hybrid-core' ), 'name' => esc_attr__( 'Name', 'hybrid-core' ), 'slug' => esc_attr__( 'Slug', 'hybrid-core' ), 'term_group' => esc_attr__( 'Term Group', 'hybrid-core' ) ); - $feed_type = array( '' => '', 'atom' => esc_attr__( 'Atom', 'hybrid-core' ), 'rdf' => esc_attr__( 'RDF', 'hybrid-core' ), 'rss' => esc_attr__( 'RSS', 'hybrid-core' ), 'rss2' => esc_attr__( 'RSS 2.0', 'hybrid-core' ) ); + + $style = array( + 'list' => esc_attr__( 'List', 'hybrid-core' ), + 'none' => esc_attr__( 'None', 'hybrid-core' ) + ); + + $order = array( + 'ASC' => esc_attr__( 'Ascending', 'hybrid-core' ), + 'DESC' => esc_attr__( 'Descending', 'hybrid-core' ) + ); + + $orderby = array( + 'count' => esc_attr__( 'Count', 'hybrid-core' ), + 'ID' => esc_attr__( 'ID', 'hybrid-core' ), + 'name' => esc_attr__( 'Name', 'hybrid-core' ), + 'slug' => esc_attr__( 'Slug', 'hybrid-core' ), + 'term_group' => esc_attr__( 'Term Group', 'hybrid-core' ) + ); + + $feed_type = array( + '' => '', + 'atom' => esc_attr__( 'Atom', 'hybrid-core' ), + 'rdf' => esc_attr__( 'RDF', 'hybrid-core' ), + 'rss' => esc_attr__( 'RSS', 'hybrid-core' ), + 'rss2' => esc_attr__( 'RSS 2.0', 'hybrid-core' ) + ); ?> diff --git a/wp-content/themes/hybrid/library/classes/widget-nav-menu.php b/wp-content/themes/hybrid/library/classes/widget-nav-menu.php index 0f4f79ef967e0f77dc31f1adae1e36ecae44eafd..cd0c7b84a54a99fe8cde7fdab72db8a422895933 100644 --- a/wp-content/themes/hybrid/library/classes/widget-nav-menu.php +++ b/wp-content/themes/hybrid/library/classes/widget-nav-menu.php @@ -4,12 +4,12 @@ * Menus screen, by the theme, or by plugins using the wp_nav_menu() function. It replaces the default * WordPress navigation menu class. * - * @package Hybrid + * @package Hybrid * @subpackage Classes - * @author Justin Tadlock <justin@justintadlock.com> - * @copyright Copyright (c) 2008 - 2012, Justin Tadlock - * @link http://themehybrid.com/hybrid-core - * @license http://www.gnu.org/licenses/old-licenses/gpl-2.0.html + * @author Justin Tadlock <justin@justintadlock.com> + * @copyright Copyright (c) 2008 - 2012, Justin Tadlock + * @link http://themehybrid.com/hybrid-core + * @license http://www.gnu.org/licenses/old-licenses/gpl-2.0.html */ /** @@ -28,22 +28,22 @@ class Hybrid_Widget_Nav_Menu extends WP_Widget { /* Set up the widget options. */ $widget_options = array( - 'classname' => 'nav-menu', + 'classname' => 'nav-menu', 'description' => esc_html__( 'An advanced widget that gives you total control over the output of your menus.', 'hybrid-core' ) ); /* Set up the widget control options. */ $control_options = array( - 'width' => 525, + 'width' => 525, 'height' => 350 ); /* Create the widget. */ $this->WP_Widget( - 'hybrid-nav-menu', // $this->id_base - __( 'Navigation Menu', 'hybrid-core' ), // $this->name - $widget_options, // $this->widget_options - $control_options // $this->control_options + 'hybrid-nav-menu', // $this->id_base + __( 'Navigation Menu', 'hybrid-core' ), // $this->name + $widget_options, // $this->widget_options + $control_options // $this->control_options ); } @@ -85,14 +85,13 @@ class Hybrid_Widget_Nav_Menu extends WP_Widget { $instance = $new_instance; - $instance['title'] = strip_tags( $new_instance['title'] ); - $instance['depth'] = strip_tags( $new_instance['depth'] ); - $instance['container_id'] = strip_tags( $new_instance['container_id'] ); + $instance['title'] = strip_tags( $new_instance['title'] ); + $instance['depth'] = strip_tags( $new_instance['depth'] ); + $instance['container_id'] = strip_tags( $new_instance['container_id'] ); $instance['container_class'] = strip_tags( $new_instance['container_class'] ); - $instance['menu_id'] = strip_tags( $new_instance['menu_id'] ); - $instance['menu_class'] = strip_tags( $new_instance['menu_class'] ); - $instance['fallback_cb'] = strip_tags( $new_instance['fallback_cb'] ); - $instance['walker'] = strip_tags( $new_instance['walker'] ); + $instance['menu_id'] = strip_tags( $new_instance['menu_id'] ); + $instance['menu_class'] = strip_tags( $new_instance['menu_class'] ); + $instance['fallback_cb'] = strip_tags( $new_instance['fallback_cb'] ); return $instance; } @@ -106,20 +105,19 @@ class Hybrid_Widget_Nav_Menu extends WP_Widget { /* Set up the default form values. */ $defaults = array( - 'title' => esc_attr__( 'Navigation', 'hybrid-core' ), - 'menu' => '', - 'container' => 'div', - 'container_id' => '', + 'title' => esc_attr__( 'Navigation', 'hybrid-core' ), + 'menu' => '', + 'container' => 'div', + 'container_id' => '', 'container_class' => '', - 'menu_id' => '', - 'menu_class' => 'nav-menu', - 'depth' => 0, - 'before' => '', - 'after' => '', - 'link_before' => '', - 'link_after' => '', - 'fallback_cb' => 'wp_page_menu', - 'walker' => '' + 'menu_id' => '', + 'menu_class' => 'nav-menu', + 'depth' => 0, + 'before' => '', + 'after' => '', + 'link_before' => '', + 'link_after' => '', + 'fallback_cb' => 'wp_page_menu' ); /* Merge the user-selected arguments with the defaults. */ @@ -161,13 +159,13 @@ class Hybrid_Widget_Nav_Menu extends WP_Widget { <label for="<?php echo $this->get_field_id( 'menu_id' ); ?>"><code>menu_id</code></label> <input type="text" class="smallfat code" id="<?php echo $this->get_field_id( 'menu_id' ); ?>" name="<?php echo $this->get_field_name( 'menu_id' ); ?>" value="<?php echo esc_attr( $instance['menu_id'] ); ?>" /> </p> + </div> + + <div class="hybrid-widget-controls columns-2 column-last"> <p> <label for="<?php echo $this->get_field_id( 'menu_class' ); ?>"><code>menu_class</code></label> <input type="text" class="smallfat code" id="<?php echo $this->get_field_id( 'menu_class' ); ?>" name="<?php echo $this->get_field_name( 'menu_class' ); ?>" value="<?php echo esc_attr( $instance['menu_class'] ); ?>" /> </p> - </div> - - <div class="hybrid-widget-controls columns-2 column-last"> <p> <label for="<?php echo $this->get_field_id( 'depth' ); ?>"><code>depth</code></label> <input type="text" class="smallfat code" id="<?php echo $this->get_field_id( 'depth' ); ?>" name="<?php echo $this->get_field_name( 'depth' ); ?>" value="<?php echo esc_attr( $instance['depth'] ); ?>" /> @@ -192,10 +190,6 @@ class Hybrid_Widget_Nav_Menu extends WP_Widget { <label for="<?php echo $this->get_field_id( 'fallback_cb' ); ?>"><code>fallback_cb</code></label> <input type="text" class="widefat code" id="<?php echo $this->get_field_id( 'fallback_cb' ); ?>" name="<?php echo $this->get_field_name( 'fallback_cb' ); ?>" value="<?php echo esc_attr( $instance['fallback_cb'] ); ?>" /> </p> - <p> - <label for="<?php echo $this->get_field_id( 'walker' ); ?>"><code>walker</code></label> - <input type="text" class="widefat code" id="<?php echo $this->get_field_id( 'walker' ); ?>" name="<?php echo $this->get_field_name( 'walker' ); ?>" value="<?php echo esc_attr( $instance['walker'] ); ?>" /> - </p> </div> <div style="clear:both;"> </div> <?php diff --git a/wp-content/themes/hybrid/library/classes/widget-pages.php b/wp-content/themes/hybrid/library/classes/widget-pages.php index 9c0e62a49bb5e74ab6b189f0ca25ca649c3ad6fb..384fbf923547c319d4b23246eb7e9522a17f0b8e 100644 --- a/wp-content/themes/hybrid/library/classes/widget-pages.php +++ b/wp-content/themes/hybrid/library/classes/widget-pages.php @@ -4,12 +4,12 @@ * control over the output to the user by allowing the input of all the arguments typically seen * in the wp_list_pages() function. * - * @package Hybrid + * @package Hybrid * @subpackage Widgets - * @author Justin Tadlock <justin@justintadlock.com> - * @copyright Copyright (c) 2008 - 2012, Justin Tadlock - * @link http://themehybrid.com/hybrid-core - * @license http://www.gnu.org/licenses/old-licenses/gpl-2.0.html + * @author Justin Tadlock <justin@justintadlock.com> + * @copyright Copyright (c) 2008 - 2012, Justin Tadlock + * @link http://themehybrid.com/hybrid-core + * @license http://www.gnu.org/licenses/old-licenses/gpl-2.0.html */ /** @@ -28,22 +28,22 @@ class Hybrid_Widget_Pages extends WP_Widget { /* Set up the widget options. */ $widget_options = array( - 'classname' => 'pages', + 'classname' => 'pages', 'description' => esc_html__( 'An advanced widget that gives you total control over the output of your page links.', 'hybrid-core' ) ); /* Set up the widget control options. */ $control_options = array( - 'width' => 800, + 'width' => 800, 'height' => 350 ); /* Create the widget. */ $this->WP_Widget( - 'hybrid-pages', // $this->id_base - __( 'Pages', 'hybrid-core'), // $this->name - $widget_options, // $this->widget_options - $control_options // $this->control_options + 'hybrid-pages', // $this->id_base + __( 'Pages', 'hybrid-core'), // $this->name + $widget_options, // $this->widget_options + $control_options // $this->control_options ); } @@ -87,24 +87,26 @@ class Hybrid_Widget_Pages extends WP_Widget { /* Set the instance to the new instance. */ $instance = $new_instance; - $instance['title'] = strip_tags( $new_instance['title'] ); - $instance['depth'] = strip_tags( $new_instance['depth'] ); - $instance['child_of'] = strip_tags( $new_instance['child_of'] ); - $instance['meta_key'] = strip_tags( $new_instance['meta_key'] ); - $instance['meta_value'] = strip_tags( $new_instance['meta_value'] ); + $instance['title'] = strip_tags( $new_instance['title'] ); + $instance['depth'] = strip_tags( $new_instance['depth'] ); + $instance['child_of'] = strip_tags( $new_instance['child_of'] ); + $instance['meta_key'] = strip_tags( $new_instance['meta_key'] ); + $instance['meta_value'] = strip_tags( $new_instance['meta_value'] ); $instance['date_format'] = strip_tags( $new_instance['date_format'] ); - $instance['number'] = strip_tags( $new_instance['number'] ); - $instance['offset'] = strip_tags( $new_instance['offset'] ); - $instance['include'] = preg_replace( '/[^0-9,]/', '', $new_instance['include'] ); - $instance['exclude'] = preg_replace( '/[^0-9,]/', '', $new_instance['exclude'] ); + $instance['number'] = strip_tags( $new_instance['number'] ); + $instance['offset'] = strip_tags( $new_instance['offset'] ); + + $instance['include'] = preg_replace( '/[^0-9,]/', '', $new_instance['include'] ); + $instance['exclude'] = preg_replace( '/[^0-9,]/', '', $new_instance['exclude'] ); $instance['exclude_tree'] = preg_replace( '/[^0-9,]/', '', $new_instance['exclude_tree'] ); - $instance['authors'] = preg_replace( '/[^0-9,]/', '', $new_instance['authors'] ); - $instance['post_type'] = $new_instance['post_type']; + $instance['authors'] = preg_replace( '/[^0-9,]/', '', $new_instance['authors'] ); + + $instance['post_type'] = $new_instance['post_type']; $instance['sort_column'] = $new_instance['sort_column']; - $instance['sort_order'] = $new_instance['sort_order']; - $instance['show_date'] = $new_instance['show_date']; + $instance['sort_order'] = $new_instance['sort_order']; + $instance['show_date'] = $new_instance['show_date']; $instance['link_before'] = $new_instance['link_before']; - $instance['link_after'] = $new_instance['link_after']; + $instance['link_after'] = $new_instance['link_after']; $instance['hierarchical'] = ( isset( $new_instance['hierarchical'] ) ? 1 : 0 ); @@ -120,34 +122,53 @@ class Hybrid_Widget_Pages extends WP_Widget { /* Set up the default form values. */ $defaults = array( - 'title' => esc_attr__( 'Pages', 'hybrid-core'), - 'post_type' => 'page', - 'depth' => 0, - 'number' => '', - 'offset' => '', - 'child_of' => '', - 'include' => '', - 'exclude' => '', + 'title' => esc_attr__( 'Pages', 'hybrid-core'), + 'post_type' => 'page', + 'depth' => 0, + 'number' => '', + 'offset' => '', + 'child_of' => '', + 'include' => '', + 'exclude' => '', 'exclude_tree' => '', - 'meta_key' => '', - 'meta_value' => '', - 'authors' => '', - 'link_before' => '', - 'link_after' => '', - 'show_date' => '', + 'meta_key' => '', + 'meta_value' => '', + 'authors' => '', + 'link_before' => '', + 'link_after' => '', + 'show_date' => '', 'hierarchical' => true, - 'sort_column' => 'post_title', - 'sort_order' => 'ASC', - 'date_format' => get_option( 'date_format' ) + 'sort_column' => 'post_title', + 'sort_order' => 'ASC', + 'date_format' => get_option( 'date_format' ) ); /* Merge the user-selected arguments with the defaults. */ $instance = wp_parse_args( (array) $instance, $defaults ); $post_types = get_post_types( array( 'public' => true, 'hierarchical' => true ), 'objects' ); - $sort_order = array( 'ASC' => esc_attr__( 'Ascending', 'hybrid-core' ), 'DESC' => esc_attr__( 'Descending', 'hybrid-core' ) ); - $sort_column = array( 'post_author' => esc_attr__( 'Author', 'hybrid-core' ), 'post_date' => esc_attr__( 'Date', 'hybrid-core' ), 'ID' => esc_attr__( 'ID', 'hybrid-core' ), 'menu_order' => esc_attr__( 'Menu Order', 'hybrid-core' ), 'post_modified' => esc_attr__( 'Modified', 'hybrid-core' ), 'post_name' => esc_attr__( 'Slug', 'hybrid-core' ), 'post_title' => esc_attr__( 'Title', 'hybrid-core' ) ); - $show_date = array( '' => '', 'created' => esc_attr__( 'Created', 'hybrid-core' ), 'modified' => esc_attr__( 'Modified', 'hybrid-core' ) ); + + $sort_order = array( + 'ASC' => esc_attr__( 'Ascending', 'hybrid-core' ), + 'DESC' => esc_attr__( 'Descending', 'hybrid-core' ) + ); + + $sort_column = array( + 'post_author' => esc_attr__( 'Author', 'hybrid-core' ), + 'post_date' => esc_attr__( 'Date', 'hybrid-core' ), + 'ID' => esc_attr__( 'ID', 'hybrid-core' ), + 'menu_order' => esc_attr__( 'Menu Order', 'hybrid-core' ), + 'post_modified' => esc_attr__( 'Modified', 'hybrid-core' ), + 'post_name' => esc_attr__( 'Slug', 'hybrid-core' ), + 'post_title' => esc_attr__( 'Title', 'hybrid-core' ) + ); + + $show_date = array( + '' => '', + 'created' => esc_attr__( 'Created', 'hybrid-core' ), + 'modified' => esc_attr__( 'Modified', 'hybrid-core' ) + ); + $meta_key = array_merge( array( '' ), (array) get_meta_keys() ); ?> diff --git a/wp-content/themes/hybrid/library/classes/widget-search.php b/wp-content/themes/hybrid/library/classes/widget-search.php index c422108b5148cda3bf828517953c491383718f5b..058d45719432a079ba2f5eba650a13ebf86756c3 100644 --- a/wp-content/themes/hybrid/library/classes/widget-search.php +++ b/wp-content/themes/hybrid/library/classes/widget-search.php @@ -5,12 +5,12 @@ * represent a search form. It also gives the user the option of using the theme's search form * through the use of the get_search_form() function. * - * @package Hybrid + * @package Hybrid * @subpackage Classes - * @author Justin Tadlock <justin@justintadlock.com> - * @copyright Copyright (c) 2008 - 2012, Justin Tadlock - * @link http://themehybrid.com/hybrid-core - * @license http://www.gnu.org/licenses/old-licenses/gpl-2.0.html + * @author Justin Tadlock <justin@justintadlock.com> + * @copyright Copyright (c) 2008 - 2012, Justin Tadlock + * @link http://themehybrid.com/hybrid-core + * @license http://www.gnu.org/licenses/old-licenses/gpl-2.0.html */ /** @@ -29,22 +29,22 @@ class Hybrid_Widget_Search extends WP_Widget { /* Set up the widget options. */ $widget_options = array( - 'classname' => 'search', + 'classname' => 'search', 'description' => esc_html__( 'An advanced widget that gives you total control over the output of your search form.', 'hybrid-core' ) ); /* Set up the widget control options. */ $control_options = array( - 'width' => 525, + 'width' => 525, 'height' => 350 ); /* Create the widget. */ $this->WP_Widget( - 'hybrid-search', // $this->id_base - __( 'Search', 'hybrid-core' ), // $this->name - $widget_options, // $this->widget_options - $control_options // $this->control_options + 'hybrid-search', // $this->id_base + __( 'Search', 'hybrid-core' ), // $this->name + $widget_options, // $this->widget_options + $control_options // $this->control_options ); } @@ -110,10 +110,11 @@ class Hybrid_Widget_Search extends WP_Widget { function update( $new_instance, $old_instance ) { $instance = $new_instance; - $instance['title'] = strip_tags( $new_instance['title'] ); - $instance['search_label'] = strip_tags( $new_instance['search_label'] ); - $instance['search_text'] = strip_tags( $new_instance['search_text'] ); + $instance['title'] = strip_tags( $new_instance['title'] ); + $instance['search_label'] = strip_tags( $new_instance['search_label'] ); + $instance['search_text'] = strip_tags( $new_instance['search_text'] ); $instance['search_submit'] = strip_tags( $new_instance['search_submit'] ); + $instance['theme_search'] = ( isset( $new_instance['theme_search'] ) ? 1 : 0 ); return $instance; @@ -128,10 +129,10 @@ class Hybrid_Widget_Search extends WP_Widget { /* Set up the default form values. */ $defaults = array( - 'title' => esc_attr__( 'Search', 'hybrid-core' ), - 'theme_search' => false, - 'search_label' => '', - 'search_text' => '', + 'title' => esc_attr__( 'Search', 'hybrid-core' ), + 'theme_search' => false, + 'search_label' => '', + 'search_text' => '', 'search_submit' => '' ); diff --git a/wp-content/themes/hybrid/library/classes/widget-tags.php b/wp-content/themes/hybrid/library/classes/widget-tags.php index 0f2f9918d82c93c7f3972c6394a76276c7d7bb6a..00e8d5f42b8304d5d7e1381ebe170a7fe89b5164 100644 --- a/wp-content/themes/hybrid/library/classes/widget-tags.php +++ b/wp-content/themes/hybrid/library/classes/widget-tags.php @@ -4,12 +4,12 @@ * control over the output to the user by allowing the input of all the arguments typically seen * in the wp_tag_cloud() function. * - * @package Hybrid + * @package Hybrid * @subpackage Classes - * @author Justin Tadlock <justin@justintadlock.com> - * @copyright Copyright (c) 2008 - 2012, Justin Tadlock - * @link http://themehybrid.com/hybrid-core - * @license http://www.gnu.org/licenses/old-licenses/gpl-2.0.html + * @author Justin Tadlock <justin@justintadlock.com> + * @copyright Copyright (c) 2008 - 2012, Justin Tadlock + * @link http://themehybrid.com/hybrid-core + * @license http://www.gnu.org/licenses/old-licenses/gpl-2.0.html */ /** @@ -28,22 +28,22 @@ class Hybrid_Widget_Tags extends WP_Widget { /* Set up the widget options. */ $widget_options = array( - 'classname' => 'tags', + 'classname' => 'tags', 'description' => esc_html__( 'An advanced widget that gives you total control over the output of your tags.', 'hybrid-core' ) ); /* Set up the widget control options. */ $control_options = array( - 'width' => 800, + 'width' => 800, 'height' => 350 ); /* Create the widget. */ $this->WP_Widget( - 'hybrid-tags', // $this->id_base - __( 'Tags', 'hybrid-core' ), // $this->name - $widget_options, // $this->widget_options - $control_options // $this->control_options + 'hybrid-tags', // $this->id_base + __( 'Tags', 'hybrid-core' ), // $this->name + $widget_options, // $this->widget_options + $control_options // $this->control_options ); } @@ -106,25 +106,28 @@ class Hybrid_Widget_Tags extends WP_Widget { /* Set the instance to the new instance. */ $instance = $new_instance; - $instance['title'] = strip_tags( $new_instance['title'] ); - $instance['smallest'] = strip_tags( $new_instance['smallest'] ); - $instance['largest'] = strip_tags( $new_instance['largest'] ); - $instance['number'] = strip_tags( $new_instance['number'] ); - $instance['separator'] = strip_tags( $new_instance['separator'] ); - $instance['name__like'] = strip_tags( $new_instance['name__like'] ); - $instance['search'] = strip_tags( $new_instance['search'] ); - $instance['child_of'] = strip_tags( $new_instance['child_of'] ); - $instance['parent'] = strip_tags( $new_instance['parent'] ); - $instance['topic_count_text_callback'] = strip_tags( $new_instance['topic_count_text_callback'] ); + $instance['title'] = strip_tags( $new_instance['title'] ); + $instance['smallest'] = strip_tags( $new_instance['smallest'] ); + $instance['largest'] = strip_tags( $new_instance['largest'] ); + $instance['number'] = strip_tags( $new_instance['number'] ); + $instance['separator'] = strip_tags( $new_instance['separator'] ); + $instance['name__like'] = strip_tags( $new_instance['name__like'] ); + $instance['search'] = strip_tags( $new_instance['search'] ); + $instance['child_of'] = strip_tags( $new_instance['child_of'] ); + $instance['parent'] = strip_tags( $new_instance['parent'] ); + $instance['topic_count_text_callback'] = strip_tags( $new_instance['topic_count_text_callback'] ); $instance['topic_count_scale_callback'] = strip_tags( $new_instance['topic_count_scale_callback'] ); + $instance['include'] = preg_replace( '/[^0-9,]/', '', $new_instance['include'] ); $instance['exclude'] = preg_replace( '/[^0-9,]/', '', $new_instance['exclude'] ); - $instance['unit'] = $new_instance['unit']; - $instance['format'] = $new_instance['format']; - $instance['orderby'] = $new_instance['orderby']; - $instance['order'] = $new_instance['order']; + + $instance['unit'] = $new_instance['unit']; + $instance['format'] = $new_instance['format']; + $instance['orderby'] = $new_instance['orderby']; + $instance['order'] = $new_instance['order']; $instance['taxonomy'] = $new_instance['taxonomy']; - $instance['link'] = $new_instance['link']; + $instance['link'] = $new_instance['link']; + $instance['pad_counts'] = ( isset( $new_instance['pad_counts'] ) ? 1 : 0 ); $instance['hide_empty'] = ( isset( $new_instance['hide_empty'] ) ? 1 : 0 ); @@ -140,26 +143,26 @@ class Hybrid_Widget_Tags extends WP_Widget { /* Set up the default form values. */ $defaults = array( - 'title' => esc_attr__( 'Tags', 'hybrid-core' ), - 'order' => 'ASC', - 'orderby' => 'name', - 'format' => 'flat', - 'include' => '', - 'exclude' => '', - 'unit' => 'pt', - 'smallest' => 8, - 'largest' => 22, - 'link' => 'view', - 'number' => 45, - 'separator' => ' ', - 'child_of' => '', - 'parent' => '', - 'taxonomy' => array( 'post_tag' ), - 'hide_empty' => 1, - 'pad_counts' => false, - 'search' => '', - 'name__like' => '', - 'topic_count_text_callback' => 'default_topic_count_text', + 'title' => esc_attr__( 'Tags', 'hybrid-core' ), + 'order' => 'ASC', + 'orderby' => 'name', + 'format' => 'flat', + 'include' => '', + 'exclude' => '', + 'unit' => 'pt', + 'smallest' => 8, + 'largest' => 22, + 'link' => 'view', + 'number' => 45, + 'separator' => ' ', + 'child_of' => '', + 'parent' => '', + 'taxonomy' => array( 'post_tag' ), + 'hide_empty' => 1, + 'pad_counts' => false, + 'search' => '', + 'name__like' => '', + 'topic_count_text_callback' => 'default_topic_count_text', 'topic_count_scale_callback' => 'default_topic_count_scale', ); @@ -168,11 +171,34 @@ class Hybrid_Widget_Tags extends WP_Widget { /* <select> element options. */ $taxonomies = get_taxonomies( array( 'show_tagcloud' => true ), 'objects' ); - $link = array( 'view' => esc_attr__( 'View', 'hybrid-core' ), 'edit' => esc_attr__( 'Edit', 'hybrid-core' ) ); - $format = array( 'flat' => esc_attr__( 'Flat', 'hybrid-core' ), 'list' => esc_attr__( 'List', 'hybrid-core' ) ); - $order = array( 'ASC' => esc_attr__( 'Ascending', 'hybrid-core' ), 'DESC' => esc_attr__( 'Descending', 'hybrid-core' ), 'RAND' => esc_attr__( 'Random', 'hybrid-core' ) ); - $orderby = array( 'count' => esc_attr__( 'Count', 'hybrid-core' ), 'name' => esc_attr__( 'Name', 'hybrid-core' ) ); - $unit = array( 'pt' => 'pt', 'px' => 'px', 'em' => 'em', '%' => '%' ); + + $link = array( + 'view' => esc_attr__( 'View', 'hybrid-core' ), + 'edit' => esc_attr__( 'Edit', 'hybrid-core' ) + ); + + $format = array( + 'flat' => esc_attr__( 'Flat', 'hybrid-core' ), + 'list' => esc_attr__( 'List', 'hybrid-core' ) + ); + + $order = array( + 'ASC' => esc_attr__( 'Ascending', 'hybrid-core' ), + 'DESC' => esc_attr__( 'Descending', 'hybrid-core' ), + 'RAND' => esc_attr__( 'Random', 'hybrid-core' ) + ); + + $orderby = array( + 'count' => esc_attr__( 'Count', 'hybrid-core' ), + 'name' => esc_attr__( 'Name', 'hybrid-core' ) + ); + + $unit = array( + 'pt' => 'pt', + 'px' => 'px', + 'em' => 'em', + '%' => '%' + ); ?> diff --git a/wp-content/themes/hybrid/library/css/18px.css b/wp-content/themes/hybrid/library/css/18px.css index 0dc15b63c16e5a4fd9246ef198d078c404abae85..adb122a950b6eaf7b12d6cd4c5c082a9c5187873 100644 --- a/wp-content/themes/hybrid/library/css/18px.css +++ b/wp-content/themes/hybrid/library/css/18px.css @@ -1 +1,308 @@ -html,body,div,span,object,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,samp,small,strong,sub,sup,tt,var,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,figcaption,figure,footer,header,hgroup,menu,nav,section,summary,time,mark,audio,video{margin:0;padding:0;vertical-align:baseline;outline:none;font-size:100%;background:transparent;border:none;text-decoration:none}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}b,i,hr,u,center,menu,layer,s,strike,font,xmp{margin:0;padding:0;vertical-align:baseline;outline:none;font-size:100%;font-weight:normal;font-style:normal;background:transparent;border:none;text-decoration:none}body{line-height:21px;font-family:Georgia,Times,"Times New Roman",serif;color:#333;background:#fff}h1,h2,h3,h4,h5,h6{font-style:normal;font-weight:normal;margin:0 0 18px 0}h1{font-size:1.8em}h2{font-size:1.7em}h3{font-size:1.55em}h4{font-size:1.4em}h5{font-size:1.25em}h6{font-size:1.1em}p{margin:0 0 18px 0}ol,ul{list-style:none}ul{list-style:disc;margin:0 0 18px 2.5em}ol{list-style-type:decimal;margin:0 0 18px 3em}ol ol{list-style:upper-roman}ol ol ol{list-style:lower-roman}ol ol ol ol{list-style:upper-alpha}ol ol ol ol ol{list-style:lower-alpha}ul ul,ol ol,ul ol,ol ul{margin-bottom:0}dl{margin:0 0 18px 3px}dl dt{font-weight:bold;margin:12px 0 0 0}dl dd{margin:6px 0 0 1.5em}strong{font-weight:bold}strong strong{font-weight:normal}em,cite{font-style:italic}em em,cite cite{font-style:normal}abbr{cursor:help}acronym{text-transform:uppercase;border-bottom:1px dashed #666;cursor:help}big{font-size:120%}small,sup,sub{font-size:80%}sup{vertical-align:baseline;position:relative;bottom:0.3em}sub{vertical-align:baseline;position:relative;top:0.3em}address{font-style:italic;margin:0 0 18px 0}li address,dd address{margin:0}blockquote{margin:0 2.5em;font-style:normal}blockquote em,blockquote cite{font-style:italic}blockquote,q{quotes:none}blockquote:before,blockquote:after,q:before,q:after{content:'';content:none}a{cursor:pointer}a img{border:none}pre{overflow:auto;font:.9em Monaco,monospace,Courier,"Courier New";line-height:18px;margin-bottom:18px;padding:9px}code{font:.9em Monaco,monospace,Courier,"Courier New"}pre code{font-size:1em}ins,dfn{font-style:italic;text-decoration:none;border-bottom:1px solid #666}del,s,strike{text-decoration:line-through}object{margin-bottom:18px}input,textarea{font-size:1em;padding:3px}input[type="submit"]{cursor:pointer}:focus{outline:none}form label{cursor:pointer}option{padding:1px 3px}table{border-collapse:collapse;border-spacing:0;margin-bottom:18px}th,td{text-align:left}hr{height:1px;margin-bottom:18px;background:#333}img.wp-smiley{max-height:12px;margin:0;padding:0;border:none}.gallery{display:block;text-align:center;margin-bottom:18px}.alignleft,.left{float:left;margin-right:15px}.alignright,.right{float:right;margin-left:15px}.aligncenter,.center{display:block;margin:0 auto 18px auto}.alignnone,.block{clear:both;margin:0 0 18px 0}.clear{clear:both}img.alignleft,img.alignright{display:inline}blockquote.alignleft,blockquote.alignright{width:33%} \ No newline at end of file +html, body, div, span, object, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, tt, var, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary, time, mark, audio, video { + margin: 0; + padding: 0; + vertical-align: baseline; + outline: none; + font-size: 100%; + background: transparent; + border: none; + text-decoration: none; + } + +article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section { + display: block; + } + +b, i, hr, u, center, menu, layer, s, strike, font, xmp { + margin: 0; + padding: 0; + vertical-align: baseline; + outline: none; + font-size: 100%; + font-weight: normal; + font-style: normal; + background: transparent; + border: none; + text-decoration: none; + } + +body { + line-height: 21px; + font-family: Georgia, Times, "Times New Roman", serif; + color: #333; + background: #fff; + } + +h1, h2, h3, h4, h5, h6 { + font-style: normal; + font-weight: normal; + margin: 0 0 18px 0; + } + +h1 { + font-size: 1.8em; + } + +h2 { + font-size: 1.7em; + } + +h3 { + font-size: 1.55em; + } + +h4 { + font-size: 1.4em; + } + +h5 { + font-size: 1.25em; + } + +h6 { + font-size: 1.1em; + } + +p { + margin: 0 0 18px 0; + } + +ol, ul { + list-style: none; + } + +ul { + list-style: disc; + margin: 0 0 18px 2.5em; + } + +ol { + list-style-type: decimal; + margin: 0 0 18px 3em; + } + +ol ol { + list-style: upper-roman; + } + +ol ol ol { + list-style: lower-roman; + } + +ol ol ol ol { + list-style: upper-alpha; + } + +ol ol ol ol ol { + list-style: lower-alpha; + } + +ul ul, ol ol, ul ol, ol ul { + margin-bottom: 0; + } + +dl { + margin: 0 0 18px 3px; + } + +dl dt { + font-weight: bold; + margin: 12px 0 0 0; + } + +dl dd { + margin: 6px 0 0 1.5em; + } + +strong { + font-weight: bold; + } + +strong strong { + font-weight: normal; + } + +em, cite { + font-style: italic; + } + +em em, cite cite { + font-style: normal; + } + +abbr { + cursor: help; + } + +acronym { + text-transform: uppercase; + border-bottom: 1px dashed #666; + cursor: help; + } + +big { + font-size: 120%; + } + +small, sup, sub { + font-size: 80%; + } + +sup { + vertical-align: baseline; + position: relative; + bottom: 0.3em; + } + +sub { + vertical-align: baseline; + position: relative; + top: 0.3em; + } + +address { + font-style: italic; + margin: 0 0 18px 0; + } + +li address, dd address { + margin: 0; + } + +blockquote { + margin: 0 2.5em; + font-style: normal; + } + +blockquote em, blockquote cite { + font-style: italic; + } + +blockquote, q { + quotes: none; + } + +blockquote:before, blockquote:after, q:before, q:after { + content: ''; + content: none; + } + +a { + cursor: pointer; + } + +a img { + border: none; + } + +pre { + overflow: auto; + font: .9em Monaco, monospace, Courier, "Courier New"; + line-height: 18px; + margin-bottom: 18px; + padding: 9px; + } + +code { + font: .9em Monaco, monospace, Courier, "Courier New"; + } + +pre code { + font-size: 1em; + } + +ins, dfn { + font-style: italic; + text-decoration: none; + border-bottom: 1px solid #666; + } + +del, s, strike { + text-decoration: line-through; + } + +object { + margin-bottom: 18px; + } + +input, textarea { + font-size: 1em; + padding: 3px; + } + +input[type="submit"] { + cursor: pointer; + } + +:focus { + outline: none; + } + +form label { + cursor: pointer; + } + +option { + padding: 1px 3px; + } + +table { + border-collapse: collapse; + border-spacing: 0; + margin-bottom: 18px; + } + +th, td { + text-align: left; + } + +hr { + height: 1px; + margin-bottom: 18px; + background: #333; + } + +img.wp-smiley { + max-height: 12px; + margin: 0; + padding: 0; + border: none; + } + +.gallery { + display: block; + text-align: center; + margin-bottom: 18px; + } + +.alignleft, .left { + float: left; + margin-right: 15px; + } + +.alignright, .right { + float: right; + margin-left: 15px; + } + +.aligncenter, .center { + display: block; + margin: 0 auto 18px auto; + } + +.alignnone, .block { + clear: both; + margin: 0 0 18px 0; + } + +.clear { + clear: both; + } + +img.alignleft, img.alignright { + display: inline; + } + +blockquote.alignleft, blockquote.alignright { + width: 33%; + } \ No newline at end of file diff --git a/wp-content/themes/hybrid/library/css/18px.min.css b/wp-content/themes/hybrid/library/css/18px.min.css new file mode 100644 index 0000000000000000000000000000000000000000..0dc15b63c16e5a4fd9246ef198d078c404abae85 --- /dev/null +++ b/wp-content/themes/hybrid/library/css/18px.min.css @@ -0,0 +1 @@ +html,body,div,span,object,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,samp,small,strong,sub,sup,tt,var,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,figcaption,figure,footer,header,hgroup,menu,nav,section,summary,time,mark,audio,video{margin:0;padding:0;vertical-align:baseline;outline:none;font-size:100%;background:transparent;border:none;text-decoration:none}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}b,i,hr,u,center,menu,layer,s,strike,font,xmp{margin:0;padding:0;vertical-align:baseline;outline:none;font-size:100%;font-weight:normal;font-style:normal;background:transparent;border:none;text-decoration:none}body{line-height:21px;font-family:Georgia,Times,"Times New Roman",serif;color:#333;background:#fff}h1,h2,h3,h4,h5,h6{font-style:normal;font-weight:normal;margin:0 0 18px 0}h1{font-size:1.8em}h2{font-size:1.7em}h3{font-size:1.55em}h4{font-size:1.4em}h5{font-size:1.25em}h6{font-size:1.1em}p{margin:0 0 18px 0}ol,ul{list-style:none}ul{list-style:disc;margin:0 0 18px 2.5em}ol{list-style-type:decimal;margin:0 0 18px 3em}ol ol{list-style:upper-roman}ol ol ol{list-style:lower-roman}ol ol ol ol{list-style:upper-alpha}ol ol ol ol ol{list-style:lower-alpha}ul ul,ol ol,ul ol,ol ul{margin-bottom:0}dl{margin:0 0 18px 3px}dl dt{font-weight:bold;margin:12px 0 0 0}dl dd{margin:6px 0 0 1.5em}strong{font-weight:bold}strong strong{font-weight:normal}em,cite{font-style:italic}em em,cite cite{font-style:normal}abbr{cursor:help}acronym{text-transform:uppercase;border-bottom:1px dashed #666;cursor:help}big{font-size:120%}small,sup,sub{font-size:80%}sup{vertical-align:baseline;position:relative;bottom:0.3em}sub{vertical-align:baseline;position:relative;top:0.3em}address{font-style:italic;margin:0 0 18px 0}li address,dd address{margin:0}blockquote{margin:0 2.5em;font-style:normal}blockquote em,blockquote cite{font-style:italic}blockquote,q{quotes:none}blockquote:before,blockquote:after,q:before,q:after{content:'';content:none}a{cursor:pointer}a img{border:none}pre{overflow:auto;font:.9em Monaco,monospace,Courier,"Courier New";line-height:18px;margin-bottom:18px;padding:9px}code{font:.9em Monaco,monospace,Courier,"Courier New"}pre code{font-size:1em}ins,dfn{font-style:italic;text-decoration:none;border-bottom:1px solid #666}del,s,strike{text-decoration:line-through}object{margin-bottom:18px}input,textarea{font-size:1em;padding:3px}input[type="submit"]{cursor:pointer}:focus{outline:none}form label{cursor:pointer}option{padding:1px 3px}table{border-collapse:collapse;border-spacing:0;margin-bottom:18px}th,td{text-align:left}hr{height:1px;margin-bottom:18px;background:#333}img.wp-smiley{max-height:12px;margin:0;padding:0;border:none}.gallery{display:block;text-align:center;margin-bottom:18px}.alignleft,.left{float:left;margin-right:15px}.alignright,.right{float:right;margin-left:15px}.aligncenter,.center{display:block;margin:0 auto 18px auto}.alignnone,.block{clear:both;margin:0 0 18px 0}.clear{clear:both}img.alignleft,img.alignright{display:inline}blockquote.alignleft,blockquote.alignright{width:33%} \ No newline at end of file diff --git a/wp-content/themes/hybrid/library/css/20px.css b/wp-content/themes/hybrid/library/css/20px.css index 8e4fd779bd30052401f47db28d1c2f509a556dac..9173d107a8e3846b64d2786c413a27a679376a38 100644 --- a/wp-content/themes/hybrid/library/css/20px.css +++ b/wp-content/themes/hybrid/library/css/20px.css @@ -1 +1,308 @@ -html,body,div,span,object,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,samp,small,strong,sub,sup,tt,var,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,figcaption,figure,footer,header,hgroup,menu,nav,section,summary,time,mark,audio,video{margin:0;padding:0;vertical-align:baseline;outline:none;font-size:100%;background:transparent;border:none;text-decoration:none}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}b,i,hr,u,center,menu,layer,s,strike,font,xmp{margin:0;padding:0;vertical-align:baseline;outline:none;font-size:100%;font-weight:normal;font-style:normal;background:transparent;border:none;text-decoration:none}body{line-height:20px;font-family:Georgia,Times,"Times New Roman",serif;color:#333;background:#fff}h1,h2,h3,h4,h5,h6{font-style:normal;font-weight:normal;margin:0 0 20px 0}h1{font-size:1.8em}h2{font-size:1.7em}h3{font-size:1.55em}h4{font-size:1.4em}h5{font-size:1.25em}h6{font-size:1.1em}p{margin:0 0 20px 0}ol,ul{list-style:none}ul{list-style:disc;margin:0 0 20px 2.5em}ol{list-style-type:decimal;margin:0 0 20px 3em}ol ol{list-style:upper-roman}ol ol ol{list-style:lower-roman}ol ol ol ol{list-style:upper-alpha}ol ol ol ol ol{list-style:lower-alpha}ul ul,ol ol,ul ol,ol ul{margin-bottom:0}dl{margin:0 0 20px 5px}dl dt{font-weight:bold;margin:10px 0 0 0}dl dd{margin:5px 0 0 1.5em}strong{font-weight:bold}strong strong{font-weight:normal}em,cite{font-style:italic}em em,cite cite{font-style:normal}abbr{cursor:help}acronym{text-transform:uppercase;border-bottom:1px dashed #666;cursor:help}big{font-size:120%}small,sup,sub{font-size:80%}sup{vertical-align:baseline;position:relative;bottom:0.3em}sub{vertical-align:baseline;position:relative;top:0.3em}address{font-style:italic;margin:0 0 20px 0}li address,dd address{margin:0}blockquote{margin:0 25px;font-style:normal}blockquote em,blockquote cite{font-style:italic}blockquote,q{quotes:none}blockquote:before,blockquote:after,q:before,q:after{content:'';content:none}a{cursor:pointer}a img{border:none}pre{overflow:auto;font:.9em Monaco,monospace,Courier,"Courier New";line-height:20px;margin-bottom:20px;padding:10px}code{font:.9em Monaco,monospace,Courier,"Courier New"}pre code{font-size:1em}ins,dfn{font-style:italic;text-decoration:none;border-bottom:1px solid #666}del,s,strike{text-decoration:line-through}object{margin-bottom:20px}input,textarea{font-size:1em;padding:4px}input[type="submit"]{cursor:pointer}:focus{outline:none}form label{cursor:pointer}option{padding:1px 2px}table{border-collapse:collapse;border-spacing:0;margin-bottom:20px}th,td{text-align:left}hr{height:1px;margin-bottom:20px;background:#333}img.wp-smiley{max-height:12px;margin:0;padding:0;border:none}.gallery{display:block;text-align:center;margin-bottom:20px}.alignleft,.left{float:left;margin-right:15px}.alignright,.right{float:right;margin-left:15px}.aligncenter,.center{display:block;margin:0 auto 20px auto}.alignnone,.block{clear:both;margin:0 0 20px 0}.clear{clear:both}img.alignleft,img.alignright{display:inline}blockquote.alignleft,blockquote.alignright{width:33%} \ No newline at end of file +html, body, div, span, object, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, tt, var, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary, time, mark, audio, video { + margin: 0; + padding: 0; + vertical-align: baseline; + outline: none; + font-size: 100%; + background: transparent; + border: none; + text-decoration: none; + } + +article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section { + display: block; + } + +b, i, hr, u, center, menu, layer, s, strike, font, xmp { + margin: 0; + padding: 0; + vertical-align: baseline; + outline: none; + font-size: 100%; + font-weight: normal; + font-style: normal; + background: transparent; + border: none; + text-decoration: none; + } + +body { + line-height: 20px; + font-family: Georgia, Times, "Times New Roman", serif; + color: #333; + background: #fff; + } + +h1, h2, h3, h4, h5, h6 { + font-style: normal; + font-weight: normal; + margin: 0 0 20px 0; + } + +h1 { + font-size: 1.8em; + } + +h2 { + font-size: 1.7em; + } + +h3 { + font-size: 1.55em; + } + +h4 { + font-size: 1.4em; + } + +h5 { + font-size: 1.25em; + } + +h6 { + font-size: 1.1em; + } + +p { + margin: 0 0 20px 0; + } + +ol, ul { + list-style: none; + } + +ul { + list-style: disc; + margin: 0 0 20px 2.5em; + } + +ol { + list-style-type: decimal; + margin: 0 0 20px 3em; + } + +ol ol { + list-style: upper-roman; + } + +ol ol ol { + list-style: lower-roman; + } + +ol ol ol ol { + list-style: upper-alpha; + } + +ol ol ol ol ol { + list-style: lower-alpha; + } + +ul ul, ol ol, ul ol, ol ul { + margin-bottom: 0; + } + +dl { + margin: 0 0 20px 5px; + } + +dl dt { + font-weight: bold; + margin: 10px 0 0 0; + } + +dl dd { + margin: 5px 0 0 1.5em; + } + +strong { + font-weight: bold; + } + +strong strong { + font-weight: normal; + } + +em, cite { + font-style: italic; + } + +em em, cite cite { + font-style: normal; + } + +abbr { + cursor: help; + } + +acronym { + text-transform: uppercase; + border-bottom: 1px dashed #666; + cursor: help; + } + +big { + font-size: 120%; + } + +small, sup, sub { + font-size: 80%; + } + +sup { + vertical-align: baseline; + position: relative; + bottom: 0.3em; + } + +sub { + vertical-align: baseline; + position: relative; + top: 0.3em; + } + +address { + font-style: italic; + margin: 0 0 20px 0; + } + +li address, dd address { + margin: 0; + } + +blockquote { + margin: 0 25px; + font-style: normal; + } + +blockquote em, blockquote cite { + font-style: italic; + } + +blockquote, q { + quotes: none; + } + +blockquote:before, blockquote:after, q:before, q:after { + content: ''; + content: none; + } + +a { + cursor: pointer; + } + +a img { + border: none; + } + +pre { + overflow: auto; + font: .9em Monaco, monospace, Courier, "Courier New"; + line-height: 20px; + margin-bottom: 20px; + padding: 10px; + } + +code { + font: .9em Monaco, monospace, Courier, "Courier New"; + } + +pre code { + font-size: 1em; + } + +ins, dfn { + font-style: italic; + text-decoration: none; + border-bottom: 1px solid #666; + } + +del, s, strike { + text-decoration: line-through; + } + +object { + margin-bottom: 20px; + } + +input, textarea { + font-size: 1em; + padding: 4px; + } + +input[type="submit"] { + cursor: pointer; + } + +:focus { + outline: none; + } + +form label { + cursor: pointer; + } + +option { + padding: 1px 2px; + } + +table { + border-collapse: collapse; + border-spacing: 0; + margin-bottom: 20px; + } + +th, td { + text-align: left; + } + +hr { + height: 1px; + margin-bottom: 20px; + background: #333; + } + +img.wp-smiley { + max-height: 12px; + margin: 0; + padding: 0; + border: none; + } + +.gallery { + display: block; + text-align: center; + margin-bottom: 20px; + } + +.alignleft, .left { + float: left; + margin-right: 15px; + } + +.alignright, .right { + float: right; + margin-left: 15px; + } + +.aligncenter, .center { + display: block; + margin: 0 auto 20px auto; + } + +.alignnone, .block { + clear: both; + margin: 0 0 20px 0; + } + +.clear { + clear: both; + } + +img.alignleft, img.alignright { + display: inline; + } + +blockquote.alignleft, blockquote.alignright { + width: 33%; + } \ No newline at end of file diff --git a/wp-content/themes/hybrid/library/css/20px.min.css b/wp-content/themes/hybrid/library/css/20px.min.css new file mode 100644 index 0000000000000000000000000000000000000000..8e4fd779bd30052401f47db28d1c2f509a556dac --- /dev/null +++ b/wp-content/themes/hybrid/library/css/20px.min.css @@ -0,0 +1 @@ +html,body,div,span,object,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,samp,small,strong,sub,sup,tt,var,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,figcaption,figure,footer,header,hgroup,menu,nav,section,summary,time,mark,audio,video{margin:0;padding:0;vertical-align:baseline;outline:none;font-size:100%;background:transparent;border:none;text-decoration:none}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}b,i,hr,u,center,menu,layer,s,strike,font,xmp{margin:0;padding:0;vertical-align:baseline;outline:none;font-size:100%;font-weight:normal;font-style:normal;background:transparent;border:none;text-decoration:none}body{line-height:20px;font-family:Georgia,Times,"Times New Roman",serif;color:#333;background:#fff}h1,h2,h3,h4,h5,h6{font-style:normal;font-weight:normal;margin:0 0 20px 0}h1{font-size:1.8em}h2{font-size:1.7em}h3{font-size:1.55em}h4{font-size:1.4em}h5{font-size:1.25em}h6{font-size:1.1em}p{margin:0 0 20px 0}ol,ul{list-style:none}ul{list-style:disc;margin:0 0 20px 2.5em}ol{list-style-type:decimal;margin:0 0 20px 3em}ol ol{list-style:upper-roman}ol ol ol{list-style:lower-roman}ol ol ol ol{list-style:upper-alpha}ol ol ol ol ol{list-style:lower-alpha}ul ul,ol ol,ul ol,ol ul{margin-bottom:0}dl{margin:0 0 20px 5px}dl dt{font-weight:bold;margin:10px 0 0 0}dl dd{margin:5px 0 0 1.5em}strong{font-weight:bold}strong strong{font-weight:normal}em,cite{font-style:italic}em em,cite cite{font-style:normal}abbr{cursor:help}acronym{text-transform:uppercase;border-bottom:1px dashed #666;cursor:help}big{font-size:120%}small,sup,sub{font-size:80%}sup{vertical-align:baseline;position:relative;bottom:0.3em}sub{vertical-align:baseline;position:relative;top:0.3em}address{font-style:italic;margin:0 0 20px 0}li address,dd address{margin:0}blockquote{margin:0 25px;font-style:normal}blockquote em,blockquote cite{font-style:italic}blockquote,q{quotes:none}blockquote:before,blockquote:after,q:before,q:after{content:'';content:none}a{cursor:pointer}a img{border:none}pre{overflow:auto;font:.9em Monaco,monospace,Courier,"Courier New";line-height:20px;margin-bottom:20px;padding:10px}code{font:.9em Monaco,monospace,Courier,"Courier New"}pre code{font-size:1em}ins,dfn{font-style:italic;text-decoration:none;border-bottom:1px solid #666}del,s,strike{text-decoration:line-through}object{margin-bottom:20px}input,textarea{font-size:1em;padding:4px}input[type="submit"]{cursor:pointer}:focus{outline:none}form label{cursor:pointer}option{padding:1px 2px}table{border-collapse:collapse;border-spacing:0;margin-bottom:20px}th,td{text-align:left}hr{height:1px;margin-bottom:20px;background:#333}img.wp-smiley{max-height:12px;margin:0;padding:0;border:none}.gallery{display:block;text-align:center;margin-bottom:20px}.alignleft,.left{float:left;margin-right:15px}.alignright,.right{float:right;margin-left:15px}.aligncenter,.center{display:block;margin:0 auto 20px auto}.alignnone,.block{clear:both;margin:0 0 20px 0}.clear{clear:both}img.alignleft,img.alignright{display:inline}blockquote.alignleft,blockquote.alignright{width:33%} \ No newline at end of file diff --git a/wp-content/themes/hybrid/library/css/21px.css b/wp-content/themes/hybrid/library/css/21px.css index 557c8053a70ca496792b467066b70bf852a8d73d..aa0882f1643419c1f7056338f8ffccf0f7500a65 100644 --- a/wp-content/themes/hybrid/library/css/21px.css +++ b/wp-content/themes/hybrid/library/css/21px.css @@ -1 +1,308 @@ -html,body,div,span,object,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,samp,small,strong,sub,sup,tt,var,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,figcaption,figure,footer,header,hgroup,menu,nav,section,summary,time,mark,audio,video{margin:0;padding:0;vertical-align:baseline;outline:none;font-size:100%;background:transparent;border:none;text-decoration:none}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}b,i,hr,u,center,menu,layer,s,strike,font,xmp{margin:0;padding:0;vertical-align:baseline;outline:none;font-size:100%;font-weight:normal;font-style:normal;background:transparent;border:none;text-decoration:none}body{line-height:24px;font-family:Georgia,Times,"Times New Roman",serif;color:#333;background:#fff}h1,h2,h3,h4,h5,h6{font-style:normal;font-weight:normal;margin:0 0 21px 0}h1{font-size:1.8em}h2{font-size:1.7em}h3{font-size:1.55em}h4{font-size:1.4em}h5{font-size:1.25em}h6{font-size:1.1em}p{margin:0 0 21px 0}ol,ul{list-style:none}ul{list-style:disc;margin:0 0 21px 2.5em}ol{list-style-type:decimal;margin:0 0 21px 3em}ol ol{list-style:upper-roman}ol ol ol{list-style:lower-roman}ol ol ol ol{list-style:upper-alpha}ol ol ol ol ol{list-style:lower-alpha}ul ul,ol ol,ul ol,ol ul{margin-bottom:0}dl{margin:0 0 18px 3px}dl dt{font-weight:bold;margin:12px 0 0 0}dl dd{margin:6px 0 0 1.5em}strong{font-weight:bold}strong strong{font-weight:normal}em,cite{font-style:italic}em em,cite cite{font-style:normal}abbr{cursor:help}acronym{text-transform:uppercase;border-bottom:1px dashed #666;cursor:help}big{font-size:120%}small,sup,sub{font-size:80%}sup{vertical-align:baseline;position:relative;bottom:0.3em}sub{vertical-align:baseline;position:relative;top:0.3em}address{font-style:italic;margin:0 0 21px 0}li address,dd address{margin:0}blockquote{margin:0 2.5em;font-style:normal}blockquote em,blockquote cite{font-style:italic}blockquote,q{quotes:none}blockquote:before,blockquote:after,q:before,q:after{content:'';content:none}a{cursor:pointer}a img{border:none}pre{overflow:auto;font:.9em Monaco,monospace,Courier,"Courier New";line-height:21px;margin-bottom:21px;padding:9px}code{font:.9em Monaco,monospace,Courier,"Courier New"}pre code{font-size:1em}ins,dfn{font-style:italic;text-decoration:none;border-bottom:1px solid #666}del,s,strike{text-decoration:line-through}object{margin-bottom:21px}input,textarea{font-size:1em;padding:3px}input[type="submit"]{cursor:pointer}:focus{outline:none}form label{cursor:pointer}option{padding:1px 3px}table{border-collapse:collapse;border-spacing:0;margin-bottom:21px}th,td{text-align:left}hr{height:1px;margin-bottom:21px;background:#333}img.wp-smiley{max-height:12px;margin:0;padding:0;border:none}.gallery{display:block;text-align:center;margin-bottom:21px}.alignleft,.left{float:left;margin-right:15px}.alignright,.right{float:right;margin-left:15px}.aligncenter,.center{display:block;margin:0 auto 21px auto}.alignnone,.block{clear:both;margin:0 0 21px 0}.clear{clear:both}img.alignleft,img.alignright{display:inline}blockquote.alignleft,blockquote.alignright{width:33%} \ No newline at end of file +html, body, div, span, object, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, tt, var, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary, time, mark, audio, video { + margin: 0; + padding: 0; + vertical-align: baseline; + outline: none; + font-size: 100%; + background: transparent; + border: none; + text-decoration: none; + } + +article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section { + display: block; + } + +b, i, hr, u, center, menu, layer, s, strike, font, xmp { + margin: 0; + padding: 0; + vertical-align: baseline; + outline: none; + font-size: 100%; + font-weight: normal; + font-style: normal; + background: transparent; + border: none; + text-decoration: none; + } + +body { + line-height: 24px; + font-family: Georgia, Times, "Times New Roman", serif; + color: #333; + background: #fff; + } + +h1, h2, h3, h4, h5, h6 { + font-style: normal; + font-weight: normal; + margin: 0 0 21px 0; + } + +h1 { + font-size: 1.8em; + } + +h2 { + font-size: 1.7em; + } + +h3 { + font-size: 1.55em; + } + +h4 { + font-size: 1.4em; + } + +h5 { + font-size: 1.25em; + } + +h6 { + font-size: 1.1em; + } + +p { + margin: 0 0 21px 0; + } + +ol, ul { + list-style: none; + } + +ul { + list-style: disc; + margin: 0 0 21px 2.5em; + } + +ol { + list-style-type: decimal; + margin: 0 0 21px 3em; + } + +ol ol { + list-style: upper-roman; + } + +ol ol ol { + list-style: lower-roman; + } + +ol ol ol ol { + list-style: upper-alpha; + } + +ol ol ol ol ol { + list-style: lower-alpha; + } + +ul ul, ol ol, ul ol, ol ul { + margin-bottom: 0; + } + +dl { + margin: 0 0 18px 3px; + } + +dl dt { + font-weight: bold; + margin: 12px 0 0 0; + } + +dl dd { + margin: 6px 0 0 1.5em; + } + +strong { + font-weight: bold; + } + +strong strong { + font-weight: normal; + } + +em, cite { + font-style: italic; + } + +em em, cite cite { + font-style: normal; + } + +abbr { + cursor: help; + } + +acronym { + text-transform: uppercase; + border-bottom: 1px dashed #666; + cursor: help; + } + +big { + font-size: 120%; + } + +small, sup, sub { + font-size: 80%; + } + +sup { + vertical-align: baseline; + position: relative; + bottom: 0.3em; + } + +sub { + vertical-align: baseline; + position: relative; + top: 0.3em; + } + +address { + font-style: italic; + margin: 0 0 21px 0; + } + +li address, dd address { + margin: 0; + } + +blockquote { + margin: 0 2.5em; + font-style: normal; + } + +blockquote em, blockquote cite { + font-style: italic; + } + +blockquote, q { + quotes: none; + } + +blockquote:before, blockquote:after, q:before, q:after { + content: ''; + content: none; + } + +a { + cursor: pointer; + } + +a img { + border: none; + } + +pre { + overflow: auto; + font: .9em Monaco, monospace, Courier, "Courier New"; + line-height: 21px; + margin-bottom: 21px; + padding: 9px; + } + +code { + font: .9em Monaco, monospace, Courier, "Courier New"; + } + +pre code { + font-size: 1em; + } + +ins, dfn { + font-style: italic; + text-decoration: none; + border-bottom: 1px solid #666; + } + +del, s, strike { + text-decoration: line-through; + } + +object { + margin-bottom: 21px; + } + +input, textarea { + font-size: 1em; + padding: 3px; + } + +input[type="submit"] { + cursor: pointer; + } + +:focus { + outline: none; + } + +form label { + cursor: pointer; + } + +option { + padding: 1px 3px; + } + +table { + border-collapse: collapse; + border-spacing: 0; + margin-bottom: 21px; + } + +th, td { + text-align: left; + } + +hr { + height: 1px; + margin-bottom: 21px; + background: #333; + } + +img.wp-smiley { + max-height: 12px; + margin: 0; + padding: 0; + border: none; + } + +.gallery { + display: block; + text-align: center; + margin-bottom: 21px; + } + +.alignleft, .left { + float: left; + margin-right: 15px; + } + +.alignright, .right { + float: right; + margin-left: 15px; + } + +.aligncenter, .center { + display: block; + margin: 0 auto 21px auto; + } + +.alignnone, .block { + clear: both; + margin: 0 0 21px 0; + } + +.clear { + clear: both; + } + +img.alignleft, img.alignright { + display: inline; + } + +blockquote.alignleft, blockquote.alignright { + width: 33%; + } \ No newline at end of file diff --git a/wp-content/themes/hybrid/library/css/21px.min.css b/wp-content/themes/hybrid/library/css/21px.min.css new file mode 100644 index 0000000000000000000000000000000000000000..557c8053a70ca496792b467066b70bf852a8d73d --- /dev/null +++ b/wp-content/themes/hybrid/library/css/21px.min.css @@ -0,0 +1 @@ +html,body,div,span,object,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,samp,small,strong,sub,sup,tt,var,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,figcaption,figure,footer,header,hgroup,menu,nav,section,summary,time,mark,audio,video{margin:0;padding:0;vertical-align:baseline;outline:none;font-size:100%;background:transparent;border:none;text-decoration:none}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}b,i,hr,u,center,menu,layer,s,strike,font,xmp{margin:0;padding:0;vertical-align:baseline;outline:none;font-size:100%;font-weight:normal;font-style:normal;background:transparent;border:none;text-decoration:none}body{line-height:24px;font-family:Georgia,Times,"Times New Roman",serif;color:#333;background:#fff}h1,h2,h3,h4,h5,h6{font-style:normal;font-weight:normal;margin:0 0 21px 0}h1{font-size:1.8em}h2{font-size:1.7em}h3{font-size:1.55em}h4{font-size:1.4em}h5{font-size:1.25em}h6{font-size:1.1em}p{margin:0 0 21px 0}ol,ul{list-style:none}ul{list-style:disc;margin:0 0 21px 2.5em}ol{list-style-type:decimal;margin:0 0 21px 3em}ol ol{list-style:upper-roman}ol ol ol{list-style:lower-roman}ol ol ol ol{list-style:upper-alpha}ol ol ol ol ol{list-style:lower-alpha}ul ul,ol ol,ul ol,ol ul{margin-bottom:0}dl{margin:0 0 18px 3px}dl dt{font-weight:bold;margin:12px 0 0 0}dl dd{margin:6px 0 0 1.5em}strong{font-weight:bold}strong strong{font-weight:normal}em,cite{font-style:italic}em em,cite cite{font-style:normal}abbr{cursor:help}acronym{text-transform:uppercase;border-bottom:1px dashed #666;cursor:help}big{font-size:120%}small,sup,sub{font-size:80%}sup{vertical-align:baseline;position:relative;bottom:0.3em}sub{vertical-align:baseline;position:relative;top:0.3em}address{font-style:italic;margin:0 0 21px 0}li address,dd address{margin:0}blockquote{margin:0 2.5em;font-style:normal}blockquote em,blockquote cite{font-style:italic}blockquote,q{quotes:none}blockquote:before,blockquote:after,q:before,q:after{content:'';content:none}a{cursor:pointer}a img{border:none}pre{overflow:auto;font:.9em Monaco,monospace,Courier,"Courier New";line-height:21px;margin-bottom:21px;padding:9px}code{font:.9em Monaco,monospace,Courier,"Courier New"}pre code{font-size:1em}ins,dfn{font-style:italic;text-decoration:none;border-bottom:1px solid #666}del,s,strike{text-decoration:line-through}object{margin-bottom:21px}input,textarea{font-size:1em;padding:3px}input[type="submit"]{cursor:pointer}:focus{outline:none}form label{cursor:pointer}option{padding:1px 3px}table{border-collapse:collapse;border-spacing:0;margin-bottom:21px}th,td{text-align:left}hr{height:1px;margin-bottom:21px;background:#333}img.wp-smiley{max-height:12px;margin:0;padding:0;border:none}.gallery{display:block;text-align:center;margin-bottom:21px}.alignleft,.left{float:left;margin-right:15px}.alignright,.right{float:right;margin-left:15px}.aligncenter,.center{display:block;margin:0 auto 21px auto}.alignnone,.block{clear:both;margin:0 0 21px 0}.clear{clear:both}img.alignleft,img.alignright{display:inline}blockquote.alignleft,blockquote.alignright{width:33%} \ No newline at end of file diff --git a/wp-content/themes/hybrid/library/css/22px.css b/wp-content/themes/hybrid/library/css/22px.css index a5ae1b7273712b4adffdab7f48fdaf1b7ab0811c..706538121b28ea6ae7e44250855ac11cb1fb4a3f 100644 --- a/wp-content/themes/hybrid/library/css/22px.css +++ b/wp-content/themes/hybrid/library/css/22px.css @@ -1 +1,308 @@ -html,body,div,span,object,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,samp,small,strong,sub,sup,tt,var,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,figcaption,figure,footer,header,hgroup,menu,nav,section,summary,time,mark,audio,video{margin:0;padding:0;vertical-align:baseline;outline:none;font-size:100%;background:transparent;border:none;text-decoration:none}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}b,i,hr,u,center,menu,layer,s,strike,font,xmp{margin:0;padding:0;vertical-align:baseline;outline:none;font-size:100%;font-weight:normal;font-style:normal;background:transparent;border:none;text-decoration:none}body{line-height:22px;font-family:Georgia,Times,"Times New Roman",serif;color:#333;background:#fff}h1,h2,h3,h4,h5,h6{font-style:normal;font-weight:normal;margin:0 0 22px 0}h1{font-size:1.8em}h2{font-size:1.7em}h3{font-size:1.55em}h4{font-size:1.4em}h5{font-size:1.25em}h6{font-size:1.1em}p{margin:0 0 22px 0}ol,ul{list-style:none}ul{list-style:disc;margin:0 0 22px 2.5em}ol{list-style-type:decimal;margin:0 0 22px 3em}ol ol{list-style:upper-roman}ol ol ol{list-style:lower-roman}ol ol ol ol{list-style:upper-alpha}ol ol ol ol ol{list-style:lower-alpha}ul ul,ol ol,ul ol,ol ul{margin-bottom:0}dl{margin:0 0 22px 5px}dl dt{font-weight:bold;margin:10px 0 0 0}dl dd{margin:5px 0 0 1.5em}strong{font-weight:bold}strong strong{font-weight:normal}em,cite{font-style:italic}em em,cite cite{font-style:normal}abbr{cursor:help}acronym{text-transform:uppercase;border-bottom:1px dashed #666;cursor:help}big{font-size:120%}small,sup,sub{font-size:80%}sup{vertical-align:baseline;position:relative;bottom:0.3em}sub{vertical-align:baseline;position:relative;top:0.3em}address{font-style:italic;margin:0 0 22px 0}li address,dd address{margin:0}blockquote{margin:0 22px;font-style:normal}blockquote em,blockquote cite{font-style:italic}blockquote,q{quotes:none}blockquote:before,blockquote:after,q:before,q:after{content:'';content:none}a{cursor:pointer}a img{border:none}pre{overflow:auto;font:.9em Monaco,monospace,Courier,"Courier New";line-height:22px;margin-bottom:22px;padding:10px}code{font:.9em Monaco,monospace,Courier,"Courier New"}pre code{font-size:1em}ins,dfn{font-style:italic;text-decoration:none;border-bottom:1px solid #666}del,s,strike{text-decoration:line-through}object{margin-bottom:22px}input,textarea{font-size:1em;padding:3px}input[type="submit"]{cursor:pointer}:focus{outline:none}form label{cursor:pointer}option{padding:1px 2px}table{border-collapse:collapse;border-spacing:0;margin-bottom:22px}th,td{text-align:left}hr{height:1px;margin-bottom:22px;background:#333}img.wp-smiley{max-height:12px;margin:0;padding:0;border:none}.gallery{display:block;text-align:center;margin-bottom:22px}.alignleft,.left{float:left;margin-right:15px}.alignright,.right{float:right;margin-left:15px}.aligncenter,.center{display:block;margin:0 auto 22px auto}.alignnone,.block{clear:both;margin:0 0 22px 0}.clear{clear:both}img.alignleft,img.alignright{display:inline}blockquote.alignleft,blockquote.alignright{width:33%} \ No newline at end of file +html, body, div, span, object, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, tt, var, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary, time, mark, audio, video { + margin: 0; + padding: 0; + vertical-align: baseline; + outline: none; + font-size: 100%; + background: transparent; + border: none; + text-decoration: none; + } + +article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section { + display: block; + } + +b, i, hr, u, center, menu, layer, s, strike, font, xmp { + margin: 0; + padding: 0; + vertical-align: baseline; + outline: none; + font-size: 100%; + font-weight: normal; + font-style: normal; + background: transparent; + border: none; + text-decoration: none; + } + +body { + line-height: 22px; + font-family: Georgia, Times, "Times New Roman", serif; + color: #333; + background: #fff; + } + +h1, h2, h3, h4, h5, h6 { + font-style: normal; + font-weight: normal; + margin: 0 0 22px 0; + } + +h1 { + font-size: 1.8em; + } + +h2 { + font-size: 1.7em; + } + +h3 { + font-size: 1.55em; + } + +h4 { + font-size: 1.4em; + } + +h5 { + font-size: 1.25em; + } + +h6 { + font-size: 1.1em; + } + +p { + margin: 0 0 22px 0; + } + +ol, ul { + list-style: none; + } + +ul { + list-style: disc; + margin: 0 0 22px 2.5em; + } + +ol { + list-style-type: decimal; + margin: 0 0 22px 3em; + } + +ol ol { + list-style: upper-roman; + } + +ol ol ol { + list-style: lower-roman; + } + +ol ol ol ol { + list-style: upper-alpha; + } + +ol ol ol ol ol { + list-style: lower-alpha; + } + +ul ul, ol ol, ul ol, ol ul { + margin-bottom: 0; + } + +dl { + margin: 0 0 22px 5px; + } + +dl dt { + font-weight: bold; + margin: 10px 0 0 0; + } + +dl dd { + margin: 5px 0 0 1.5em; + } + +strong { + font-weight: bold; + } + +strong strong { + font-weight: normal; + } + +em, cite { + font-style: italic; + } + +em em, cite cite { + font-style: normal; + } + +abbr { + cursor: help; + } + +acronym { + text-transform: uppercase; + border-bottom: 1px dashed #666; + cursor: help; + } + +big { + font-size: 120%; + } + +small, sup, sub { + font-size: 80%; + } + +sup { + vertical-align: baseline; + position: relative; + bottom: 0.3em; + } + +sub { + vertical-align: baseline; + position: relative; + top: 0.3em; + } + +address { + font-style: italic; + margin: 0 0 22px 0; + } + +li address, dd address { + margin: 0; + } + +blockquote { + margin: 0 22px; + font-style: normal; + } + +blockquote em, blockquote cite { + font-style: italic; + } + +blockquote, q { + quotes: none; + } + +blockquote:before, blockquote:after, q:before, q:after { + content: ''; + content: none; + } + +a { + cursor: pointer; + } + +a img { + border: none; + } + +pre { + overflow: auto; + font: .9em Monaco, monospace, Courier, "Courier New"; + line-height: 22px; + margin-bottom: 22px; + padding: 10px; + } + +code { + font: .9em Monaco, monospace, Courier, "Courier New"; + } + +pre code { + font-size: 1em; + } + +ins, dfn { + font-style: italic; + text-decoration: none; + border-bottom: 1px solid #666; + } + +del, s, strike { + text-decoration: line-through; + } + +object { + margin-bottom: 22px; + } + +input, textarea { + font-size: 1em; + padding: 3px; + } + +input[type="submit"] { + cursor: pointer; + } + +:focus { + outline: none; + } + +form label { + cursor: pointer; + } + +option { + padding: 1px 2px; + } + +table { + border-collapse: collapse; + border-spacing: 0; + margin-bottom: 22px; + } + +th, td { + text-align: left; + } + +hr { + height: 1px; + margin-bottom: 22px; + background: #333; + } + +img.wp-smiley { + max-height: 12px; + margin: 0; + padding: 0; + border: none; + } + +.gallery { + display: block; + text-align: center; + margin-bottom: 22px; + } + +.alignleft, .left { + float: left; + margin-right: 15px; + } + +.alignright, .right { + float: right; + margin-left: 15px; + } + +.aligncenter, .center { + display: block; + margin: 0 auto 22px auto; + } + +.alignnone, .block { + clear: both; + margin: 0 0 22px 0; + } + +.clear { + clear: both; + } + +img.alignleft, img.alignright { + display: inline; + } + +blockquote.alignleft, blockquote.alignright { + width: 33%; + } \ No newline at end of file diff --git a/wp-content/themes/hybrid/library/css/22px.min.css b/wp-content/themes/hybrid/library/css/22px.min.css new file mode 100644 index 0000000000000000000000000000000000000000..a5ae1b7273712b4adffdab7f48fdaf1b7ab0811c --- /dev/null +++ b/wp-content/themes/hybrid/library/css/22px.min.css @@ -0,0 +1 @@ +html,body,div,span,object,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,samp,small,strong,sub,sup,tt,var,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,figcaption,figure,footer,header,hgroup,menu,nav,section,summary,time,mark,audio,video{margin:0;padding:0;vertical-align:baseline;outline:none;font-size:100%;background:transparent;border:none;text-decoration:none}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}b,i,hr,u,center,menu,layer,s,strike,font,xmp{margin:0;padding:0;vertical-align:baseline;outline:none;font-size:100%;font-weight:normal;font-style:normal;background:transparent;border:none;text-decoration:none}body{line-height:22px;font-family:Georgia,Times,"Times New Roman",serif;color:#333;background:#fff}h1,h2,h3,h4,h5,h6{font-style:normal;font-weight:normal;margin:0 0 22px 0}h1{font-size:1.8em}h2{font-size:1.7em}h3{font-size:1.55em}h4{font-size:1.4em}h5{font-size:1.25em}h6{font-size:1.1em}p{margin:0 0 22px 0}ol,ul{list-style:none}ul{list-style:disc;margin:0 0 22px 2.5em}ol{list-style-type:decimal;margin:0 0 22px 3em}ol ol{list-style:upper-roman}ol ol ol{list-style:lower-roman}ol ol ol ol{list-style:upper-alpha}ol ol ol ol ol{list-style:lower-alpha}ul ul,ol ol,ul ol,ol ul{margin-bottom:0}dl{margin:0 0 22px 5px}dl dt{font-weight:bold;margin:10px 0 0 0}dl dd{margin:5px 0 0 1.5em}strong{font-weight:bold}strong strong{font-weight:normal}em,cite{font-style:italic}em em,cite cite{font-style:normal}abbr{cursor:help}acronym{text-transform:uppercase;border-bottom:1px dashed #666;cursor:help}big{font-size:120%}small,sup,sub{font-size:80%}sup{vertical-align:baseline;position:relative;bottom:0.3em}sub{vertical-align:baseline;position:relative;top:0.3em}address{font-style:italic;margin:0 0 22px 0}li address,dd address{margin:0}blockquote{margin:0 22px;font-style:normal}blockquote em,blockquote cite{font-style:italic}blockquote,q{quotes:none}blockquote:before,blockquote:after,q:before,q:after{content:'';content:none}a{cursor:pointer}a img{border:none}pre{overflow:auto;font:.9em Monaco,monospace,Courier,"Courier New";line-height:22px;margin-bottom:22px;padding:10px}code{font:.9em Monaco,monospace,Courier,"Courier New"}pre code{font-size:1em}ins,dfn{font-style:italic;text-decoration:none;border-bottom:1px solid #666}del,s,strike{text-decoration:line-through}object{margin-bottom:22px}input,textarea{font-size:1em;padding:3px}input[type="submit"]{cursor:pointer}:focus{outline:none}form label{cursor:pointer}option{padding:1px 2px}table{border-collapse:collapse;border-spacing:0;margin-bottom:22px}th,td{text-align:left}hr{height:1px;margin-bottom:22px;background:#333}img.wp-smiley{max-height:12px;margin:0;padding:0;border:none}.gallery{display:block;text-align:center;margin-bottom:22px}.alignleft,.left{float:left;margin-right:15px}.alignright,.right{float:right;margin-left:15px}.aligncenter,.center{display:block;margin:0 auto 22px auto}.alignnone,.block{clear:both;margin:0 0 22px 0}.clear{clear:both}img.alignleft,img.alignright{display:inline}blockquote.alignleft,blockquote.alignright{width:33%} \ No newline at end of file diff --git a/wp-content/themes/hybrid/library/css/24px.css b/wp-content/themes/hybrid/library/css/24px.css index e3f0310286e166586f35ab7cb6e9c646820d6b02..9ebc27e23772dcde658c7f8580c12fbe5f80f158 100644 --- a/wp-content/themes/hybrid/library/css/24px.css +++ b/wp-content/themes/hybrid/library/css/24px.css @@ -1 +1,308 @@ -html,body,div,span,object,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,samp,small,strong,sub,sup,tt,var,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,figcaption,figure,footer,header,hgroup,menu,nav,section,summary,time,mark,audio,video{margin:0;padding:0;vertical-align:baseline;outline:none;font-size:100%;background:transparent;border:none;text-decoration:none}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}b,i,hr,u,center,menu,layer,s,strike,font,xmp{margin:0;padding:0;vertical-align:baseline;outline:none;font-size:100%;font-weight:normal;font-style:normal;background:transparent;border:none;text-decoration:none}body{line-height:24px;font-family:Georgia,Times,"Times New Roman",serif;color:#333;background:#fff}h1,h2,h3,h4,h5,h6{font-style:normal;font-weight:normal;margin:0 0 24px 0}h1{font-size:1.8em}h2{font-size:1.7em}h3{font-size:1.55em}h4{font-size:1.4em}h5{font-size:1.25em}h6{font-size:1.1em}p{margin:0 0 24px 0}ol,ul{list-style:none}ul{list-style:disc;margin:0 0 24px 2.5em}ol{list-style-type:decimal;margin:0 0 24px 3em}ol ol{list-style:upper-roman}ol ol ol{list-style:lower-roman}ol ol ol ol{list-style:upper-alpha}ol ol ol ol ol{list-style:lower-alpha}ul ul,ol ol,ul ol,ol ul{margin-bottom:0}dl{margin:0 0 24px 6px}dl dt{font-weight:bold;margin:12px 0 0 0}dl dd{margin:6px 0 0 1.5em}strong{font-weight:bold}strong strong{font-weight:normal}em,cite{font-style:italic}em em,cite cite{font-style:normal}abbr{cursor:help}acronym{text-transform:uppercase;border-bottom:1px dashed #666;cursor:help}big{font-size:120%}small,sup,sub{font-size:80%}sup{vertical-align:baseline;position:relative;bottom:0.3em}sub{vertical-align:baseline;position:relative;top:0.3em}address{font-style:italic;margin:0 0 24px 0}li address,dd address{margin:0}blockquote{margin:0 24px;font-style:normal}blockquote em,blockquote cite{font-style:italic}blockquote,q{quotes:none}blockquote:before,blockquote:after,q:before,q:after{content:'';content:none}a{cursor:pointer}a img{border:none}pre{overflow:auto;font:.9em Monaco,monospace,Courier,"Courier New";line-height:24px;margin-bottom:24px;padding:12px}code{font:.9em Monaco,monospace,Courier,"Courier New"}pre code{font-size:1em}ins,dfn{font-style:italic;text-decoration:none;border-bottom:1px solid #666}del,s,strike{text-decoration:line-through}object{margin-bottom:24px}input,textarea{font-size:1em;padding:3px}input[type="submit"]{cursor:pointer}:focus{outline:none}form label{cursor:pointer}option{padding:1px 2px}table{border-collapse:collapse;border-spacing:0;margin-bottom:24px}th,td{text-align:left}hr{height:1px;margin-bottom:24px;background:#333}img.wp-smiley{max-height:12px;margin:0;padding:0;border:none}.gallery{display:block;text-align:center;margin-bottom:24px}.alignleft,.left{float:left;margin-right:18px}.alignright,.right{float:right;margin-left:18px}.aligncenter,.center{display:block;margin:0 auto 24px auto}.alignnone,.block{clear:both;margin:0 0 24px 0}.clear{clear:both}img.alignleft,img.alignright{display:inline}blockquote.alignleft,blockquote.alignright{width:33%} \ No newline at end of file +html, body, div, span, object, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, tt, var, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary, time, mark, audio, video { + margin: 0; + padding: 0; + vertical-align: baseline; + outline: none; + font-size: 100%; + background: transparent; + border: none; + text-decoration: none; + } + +article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section { + display: block; + } + +b, i, hr, u, center, menu, layer, s, strike, font, xmp { + margin: 0; + padding: 0; + vertical-align: baseline; + outline: none; + font-size: 100%; + font-weight: normal; + font-style: normal; + background: transparent; + border: none; + text-decoration: none; + } + +body { + line-height: 24px; + font-family: Georgia, Times, "Times New Roman", serif; + color: #333; + background: #fff; + } + +h1, h2, h3, h4, h5, h6 { + font-style: normal; + font-weight: normal; + margin: 0 0 24px 0; + } + +h1 { + font-size: 1.8em; + } + +h2 { + font-size: 1.7em; + } + +h3 { + font-size: 1.55em; + } + +h4 { + font-size: 1.4em; + } + +h5 { + font-size: 1.25em; + } + +h6 { + font-size: 1.1em; + } + +p { + margin: 0 0 24px 0; + } + +ol, ul { + list-style: none; + } + +ul { + list-style: disc; + margin: 0 0 24px 2.5em; + } + +ol { + list-style-type: decimal; + margin: 0 0 24px 3em; + } + +ol ol { + list-style: upper-roman; + } + +ol ol ol { + list-style: lower-roman; + } + +ol ol ol ol { + list-style: upper-alpha; + } + +ol ol ol ol ol { + list-style: lower-alpha; + } + +ul ul, ol ol, ul ol, ol ul { + margin-bottom: 0; + } + +dl { + margin: 0 0 24px 6px; + } + +dl dt { + font-weight: bold; + margin: 12px 0 0 0; + } + +dl dd { + margin: 6px 0 0 1.5em; + } + +strong { + font-weight: bold; + } + +strong strong { + font-weight: normal; + } + +em, cite { + font-style: italic; + } + +em em, cite cite { + font-style: normal; + } + +abbr { + cursor: help; + } + +acronym { + text-transform: uppercase; + border-bottom: 1px dashed #666; + cursor: help; + } + +big { + font-size: 120%; + } + +small, sup, sub { + font-size: 80%; + } + +sup { + vertical-align: baseline; + position: relative; + bottom: 0.3em; + } + +sub { + vertical-align: baseline; + position: relative; + top: 0.3em; + } + +address { + font-style: italic; + margin: 0 0 24px 0; + } + +li address, dd address { + margin: 0; + } + +blockquote { + margin: 0 24px; + font-style: normal; + } + +blockquote em, blockquote cite { + font-style: italic; + } + +blockquote, q { + quotes: none; + } + +blockquote:before, blockquote:after, q:before, q:after { + content: ''; + content: none; + } + +a { + cursor: pointer; + } + +a img { + border: none; + } + +pre { + overflow: auto; + font: .9em Monaco, monospace, Courier, "Courier New"; + line-height: 24px; + margin-bottom: 24px; + padding: 12px; + } + +code { + font: .9em Monaco, monospace, Courier, "Courier New"; + } + +pre code { + font-size: 1em; + } + +ins, dfn { + font-style: italic; + text-decoration: none; + border-bottom: 1px solid #666; + } + +del, s, strike { + text-decoration: line-through; + } + +object { + margin-bottom: 24px; + } + +input, textarea { + font-size: 1em; + padding: 3px; + } + +input[type="submit"] { + cursor: pointer; + } + +:focus { + outline: none; + } + +form label { + cursor: pointer; + } + +option { + padding: 1px 2px; + } + +table { + border-collapse: collapse; + border-spacing: 0; + margin-bottom: 24px; + } + +th, td { + text-align: left; + } + +hr { + height: 1px; + margin-bottom: 24px; + background: #333; + } + +img.wp-smiley { + max-height: 12px; + margin: 0; + padding: 0; + border: none; + } + +.gallery { + display: block; + text-align: center; + margin-bottom: 24px; + } + +.alignleft, .left { + float: left; + margin-right: 18px; + } + +.alignright, .right { + float: right; + margin-left: 18px; + } + +.aligncenter, .center { + display: block; + margin: 0 auto 24px auto; + } + +.alignnone, .block { + clear: both; + margin: 0 0 24px 0; + } + +.clear { + clear: both; + } + +img.alignleft, img.alignright { + display: inline; + } + +blockquote.alignleft, blockquote.alignright { + width: 33%; + } \ No newline at end of file diff --git a/wp-content/themes/hybrid/library/css/24px.min.css b/wp-content/themes/hybrid/library/css/24px.min.css new file mode 100644 index 0000000000000000000000000000000000000000..e3f0310286e166586f35ab7cb6e9c646820d6b02 --- /dev/null +++ b/wp-content/themes/hybrid/library/css/24px.min.css @@ -0,0 +1 @@ +html,body,div,span,object,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,samp,small,strong,sub,sup,tt,var,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,figcaption,figure,footer,header,hgroup,menu,nav,section,summary,time,mark,audio,video{margin:0;padding:0;vertical-align:baseline;outline:none;font-size:100%;background:transparent;border:none;text-decoration:none}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}b,i,hr,u,center,menu,layer,s,strike,font,xmp{margin:0;padding:0;vertical-align:baseline;outline:none;font-size:100%;font-weight:normal;font-style:normal;background:transparent;border:none;text-decoration:none}body{line-height:24px;font-family:Georgia,Times,"Times New Roman",serif;color:#333;background:#fff}h1,h2,h3,h4,h5,h6{font-style:normal;font-weight:normal;margin:0 0 24px 0}h1{font-size:1.8em}h2{font-size:1.7em}h3{font-size:1.55em}h4{font-size:1.4em}h5{font-size:1.25em}h6{font-size:1.1em}p{margin:0 0 24px 0}ol,ul{list-style:none}ul{list-style:disc;margin:0 0 24px 2.5em}ol{list-style-type:decimal;margin:0 0 24px 3em}ol ol{list-style:upper-roman}ol ol ol{list-style:lower-roman}ol ol ol ol{list-style:upper-alpha}ol ol ol ol ol{list-style:lower-alpha}ul ul,ol ol,ul ol,ol ul{margin-bottom:0}dl{margin:0 0 24px 6px}dl dt{font-weight:bold;margin:12px 0 0 0}dl dd{margin:6px 0 0 1.5em}strong{font-weight:bold}strong strong{font-weight:normal}em,cite{font-style:italic}em em,cite cite{font-style:normal}abbr{cursor:help}acronym{text-transform:uppercase;border-bottom:1px dashed #666;cursor:help}big{font-size:120%}small,sup,sub{font-size:80%}sup{vertical-align:baseline;position:relative;bottom:0.3em}sub{vertical-align:baseline;position:relative;top:0.3em}address{font-style:italic;margin:0 0 24px 0}li address,dd address{margin:0}blockquote{margin:0 24px;font-style:normal}blockquote em,blockquote cite{font-style:italic}blockquote,q{quotes:none}blockquote:before,blockquote:after,q:before,q:after{content:'';content:none}a{cursor:pointer}a img{border:none}pre{overflow:auto;font:.9em Monaco,monospace,Courier,"Courier New";line-height:24px;margin-bottom:24px;padding:12px}code{font:.9em Monaco,monospace,Courier,"Courier New"}pre code{font-size:1em}ins,dfn{font-style:italic;text-decoration:none;border-bottom:1px solid #666}del,s,strike{text-decoration:line-through}object{margin-bottom:24px}input,textarea{font-size:1em;padding:3px}input[type="submit"]{cursor:pointer}:focus{outline:none}form label{cursor:pointer}option{padding:1px 2px}table{border-collapse:collapse;border-spacing:0;margin-bottom:24px}th,td{text-align:left}hr{height:1px;margin-bottom:24px;background:#333}img.wp-smiley{max-height:12px;margin:0;padding:0;border:none}.gallery{display:block;text-align:center;margin-bottom:24px}.alignleft,.left{float:left;margin-right:18px}.alignright,.right{float:right;margin-left:18px}.aligncenter,.center{display:block;margin:0 auto 24px auto}.alignnone,.block{clear:both;margin:0 0 24px 0}.clear{clear:both}img.alignleft,img.alignright{display:inline}blockquote.alignleft,blockquote.alignright{width:33%} \ No newline at end of file diff --git a/wp-content/themes/hybrid/library/css/25px.css b/wp-content/themes/hybrid/library/css/25px.css index 515530aec6147b83ea591e36e1671c246e86d39f..e0b4fbf01ee0b8ce3992267037e460bcd879e942 100644 --- a/wp-content/themes/hybrid/library/css/25px.css +++ b/wp-content/themes/hybrid/library/css/25px.css @@ -1 +1,308 @@ -html,body,div,span,object,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,samp,small,strong,sub,sup,tt,var,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,figcaption,figure,footer,header,hgroup,menu,nav,section,summary,time,mark,audio,video{margin:0;padding:0;vertical-align:baseline;outline:none;font-size:100%;background:transparent;border:none;text-decoration:none}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}b,i,hr,u,center,menu,layer,s,strike,font,xmp{margin:0;padding:0;vertical-align:baseline;outline:none;font-size:100%;font-weight:normal;font-style:normal;background:transparent;border:none;text-decoration:none}body{line-height:25px;font-family:Georgia,Times,"Times New Roman",serif;color:#333;background:#fff}h1,h2,h3,h4,h5,h6{font-style:normal;font-weight:normal;margin:0 0 25px 0}h1{font-size:1.8em}h2{font-size:1.7em}h3{font-size:1.55em}h4{font-size:1.4em}h5{font-size:1.25em}h6{font-size:1.1em}p{margin:0 0 25px 0}ol,ul{list-style:none}ul{list-style:disc;margin:0 0 25px 2.5em}ol{list-style-type:decimal;margin:0 0 25px 3em}ol ol{list-style:upper-roman}ol ol ol{list-style:lower-roman}ol ol ol ol{list-style:upper-alpha}ol ol ol ol ol{list-style:lower-alpha}ul ul,ol ol,ul ol,ol ul{margin-bottom:0}dl{margin:0 0 25px 5px}dl dt{font-weight:bold;margin:10px 0 0 0}dl dd{margin:5px 0 0 1.5em}strong{font-weight:bold}strong strong{font-weight:normal}em,cite{font-style:italic}em em,cite cite{font-style:normal}abbr{cursor:help}acronym{text-transform:uppercase;border-bottom:1px dashed #666;cursor:help}big{font-size:120%}small,sup,sub{font-size:80%}sup{vertical-align:baseline;position:relative;bottom:0.3em}sub{vertical-align:baseline;position:relative;top:0.3em}address{font-style:italic;margin:0 0 25px 0}li address,dd address{margin:0}blockquote{margin:0 25px;font-style:normal}blockquote em,blockquote cite{font-style:italic}blockquote,q{quotes:none}blockquote:before,blockquote:after,q:before,q:after{content:'';content:none}a{cursor:pointer}a img{border:none}pre{overflow:auto;font:.9em Monaco,monospace,Courier,"Courier New";line-height:25px;margin-bottom:25px;padding:10px}code{font:.9em Monaco,monospace,Courier,"Courier New"}pre code{font-size:1em}ins,dfn{font-style:italic;text-decoration:none;border-bottom:1px solid #666}del,s,strike{text-decoration:line-through}object{margin-bottom:25px}input,textarea{font-size:1em;padding:3px}input[type="submit"]{cursor:pointer}:focus{outline:none}form label{cursor:pointer}option{padding:1px 2px}table{border-collapse:collapse;border-spacing:0;margin-bottom:25px}th,td{text-align:left}hr{height:1px;margin-bottom:25px;background:#333}img.wp-smiley{max-height:12px;margin:0;padding:0;border:none}.gallery{display:block;text-align:center;margin-bottom:25px}.alignleft,.left{float:left;margin-right:20px}.alignright,.right{float:right;margin-left:20px}.aligncenter,.center{display:block;margin:0 auto 25px auto}.alignnone,.block{clear:both;margin:0 0 25px 0}.clear{clear:both}img.alignleft,img.alignright{display:inline}blockquote.alignleft,blockquote.alignright{width:33%} \ No newline at end of file +html, body, div, span, object, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, tt, var, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary, time, mark, audio, video { + margin: 0; + padding: 0; + vertical-align: baseline; + outline: none; + font-size: 100%; + background: transparent; + border: none; + text-decoration: none; + } + +article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section { + display: block; + } + +b, i, hr, u, center, menu, layer, s, strike, font, xmp { + margin: 0; + padding: 0; + vertical-align: baseline; + outline: none; + font-size: 100%; + font-weight: normal; + font-style: normal; + background: transparent; + border: none; + text-decoration: none; + } + +body { + line-height: 25px; + font-family: Georgia, Times, "Times New Roman", serif; + color: #333; + background: #fff; + } + +h1, h2, h3, h4, h5, h6 { + font-style: normal; + font-weight: normal; + margin: 0 0 25px 0; + } + +h1 { + font-size: 1.8em; + } + +h2 { + font-size: 1.7em; + } + +h3 { + font-size: 1.55em; + } + +h4 { + font-size: 1.4em; + } + +h5 { + font-size: 1.25em; + } + +h6 { + font-size: 1.1em; + } + +p { + margin: 0 0 25px 0; + } + +ol, ul { + list-style: none; + } + +ul { + list-style: disc; + margin: 0 0 25px 2.5em; + } + +ol { + list-style-type: decimal; + margin: 0 0 25px 3em; + } + +ol ol { + list-style: upper-roman; + } + +ol ol ol { + list-style: lower-roman; + } + +ol ol ol ol { + list-style: upper-alpha; + } + +ol ol ol ol ol { + list-style: lower-alpha; + } + +ul ul, ol ol, ul ol, ol ul { + margin-bottom: 0; + } + +dl { + margin: 0 0 25px 5px; + } + +dl dt { + font-weight: bold; + margin: 10px 0 0 0; + } + +dl dd { + margin: 5px 0 0 1.5em; + } + +strong { + font-weight: bold; + } + +strong strong { + font-weight: normal; + } + +em, cite { + font-style: italic; + } + +em em, cite cite { + font-style: normal; + } + +abbr { + cursor: help; + } + +acronym { + text-transform: uppercase; + border-bottom: 1px dashed #666; + cursor: help; + } + +big { + font-size: 120%; + } + +small, sup, sub { + font-size: 80%; + } + +sup { + vertical-align: baseline; + position: relative; + bottom: 0.3em; + } + +sub { + vertical-align: baseline; + position: relative; + top: 0.3em; + } + +address { + font-style: italic; + margin: 0 0 25px 0; + } + +li address, dd address { + margin: 0; + } + +blockquote { + margin: 0 25px; + font-style: normal; + } + +blockquote em, blockquote cite { + font-style: italic; + } + +blockquote, q { + quotes: none; + } + +blockquote:before, blockquote:after, q:before, q:after { + content: ''; + content: none; + } + +a { + cursor: pointer; + } + +a img { + border: none; + } + +pre { + overflow: auto; + font: .9em Monaco, monospace, Courier, "Courier New"; + line-height: 25px; + margin-bottom: 25px; + padding: 10px; + } + +code { + font: .9em Monaco, monospace, Courier, "Courier New"; + } + +pre code { + font-size: 1em; + } + +ins, dfn { + font-style: italic; + text-decoration: none; + border-bottom: 1px solid #666; + } + +del, s, strike { + text-decoration: line-through; + } + +object { + margin-bottom: 25px; + } + +input, textarea { + font-size: 1em; + padding: 3px; + } + +input[type="submit"] { + cursor: pointer; + } + +:focus { + outline: none; + } + +form label { + cursor: pointer; + } + +option { + padding: 1px 2px; + } + +table { + border-collapse: collapse; + border-spacing: 0; + margin-bottom: 25px; + } + +th, td { + text-align: left; + } + +hr { + height: 1px; + margin-bottom: 25px; + background: #333; + } + +img.wp-smiley { + max-height: 12px; + margin: 0; + padding: 0; + border: none; + } + +.gallery { + display: block; + text-align: center; + margin-bottom: 25px; + } + +.alignleft, .left { + float: left; + margin-right: 20px; + } + +.alignright, .right { + float: right; + margin-left: 20px; + } + +.aligncenter, .center { + display: block; + margin: 0 auto 25px auto; + } + +.alignnone, .block { + clear: both; + margin: 0 0 25px 0; + } + +.clear { + clear: both; + } + +img.alignleft, img.alignright { + display: inline; + } + +blockquote.alignleft, blockquote.alignright { + width: 33%; + } \ No newline at end of file diff --git a/wp-content/themes/hybrid/library/css/25px.min.css b/wp-content/themes/hybrid/library/css/25px.min.css new file mode 100644 index 0000000000000000000000000000000000000000..515530aec6147b83ea591e36e1671c246e86d39f --- /dev/null +++ b/wp-content/themes/hybrid/library/css/25px.min.css @@ -0,0 +1 @@ +html,body,div,span,object,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,samp,small,strong,sub,sup,tt,var,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,figcaption,figure,footer,header,hgroup,menu,nav,section,summary,time,mark,audio,video{margin:0;padding:0;vertical-align:baseline;outline:none;font-size:100%;background:transparent;border:none;text-decoration:none}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}b,i,hr,u,center,menu,layer,s,strike,font,xmp{margin:0;padding:0;vertical-align:baseline;outline:none;font-size:100%;font-weight:normal;font-style:normal;background:transparent;border:none;text-decoration:none}body{line-height:25px;font-family:Georgia,Times,"Times New Roman",serif;color:#333;background:#fff}h1,h2,h3,h4,h5,h6{font-style:normal;font-weight:normal;margin:0 0 25px 0}h1{font-size:1.8em}h2{font-size:1.7em}h3{font-size:1.55em}h4{font-size:1.4em}h5{font-size:1.25em}h6{font-size:1.1em}p{margin:0 0 25px 0}ol,ul{list-style:none}ul{list-style:disc;margin:0 0 25px 2.5em}ol{list-style-type:decimal;margin:0 0 25px 3em}ol ol{list-style:upper-roman}ol ol ol{list-style:lower-roman}ol ol ol ol{list-style:upper-alpha}ol ol ol ol ol{list-style:lower-alpha}ul ul,ol ol,ul ol,ol ul{margin-bottom:0}dl{margin:0 0 25px 5px}dl dt{font-weight:bold;margin:10px 0 0 0}dl dd{margin:5px 0 0 1.5em}strong{font-weight:bold}strong strong{font-weight:normal}em,cite{font-style:italic}em em,cite cite{font-style:normal}abbr{cursor:help}acronym{text-transform:uppercase;border-bottom:1px dashed #666;cursor:help}big{font-size:120%}small,sup,sub{font-size:80%}sup{vertical-align:baseline;position:relative;bottom:0.3em}sub{vertical-align:baseline;position:relative;top:0.3em}address{font-style:italic;margin:0 0 25px 0}li address,dd address{margin:0}blockquote{margin:0 25px;font-style:normal}blockquote em,blockquote cite{font-style:italic}blockquote,q{quotes:none}blockquote:before,blockquote:after,q:before,q:after{content:'';content:none}a{cursor:pointer}a img{border:none}pre{overflow:auto;font:.9em Monaco,monospace,Courier,"Courier New";line-height:25px;margin-bottom:25px;padding:10px}code{font:.9em Monaco,monospace,Courier,"Courier New"}pre code{font-size:1em}ins,dfn{font-style:italic;text-decoration:none;border-bottom:1px solid #666}del,s,strike{text-decoration:line-through}object{margin-bottom:25px}input,textarea{font-size:1em;padding:3px}input[type="submit"]{cursor:pointer}:focus{outline:none}form label{cursor:pointer}option{padding:1px 2px}table{border-collapse:collapse;border-spacing:0;margin-bottom:25px}th,td{text-align:left}hr{height:1px;margin-bottom:25px;background:#333}img.wp-smiley{max-height:12px;margin:0;padding:0;border:none}.gallery{display:block;text-align:center;margin-bottom:25px}.alignleft,.left{float:left;margin-right:20px}.alignright,.right{float:right;margin-left:20px}.aligncenter,.center{display:block;margin:0 auto 25px auto}.alignnone,.block{clear:both;margin:0 0 25px 0}.clear{clear:both}img.alignleft,img.alignright{display:inline}blockquote.alignleft,blockquote.alignright{width:33%} \ No newline at end of file diff --git a/wp-content/themes/hybrid/library/css/admin.css b/wp-content/themes/hybrid/library/css/admin.css index 8e7f52bdc72c0b2b02d6cee342274fbfd00d36cf..66d3ed2d1adf2ca8fea28f77565f2d35e7f5c144 100644 --- a/wp-content/themes/hybrid/library/css/admin.css +++ b/wp-content/themes/hybrid/library/css/admin.css @@ -1 +1,76 @@ -.appearance_page_theme-settings .side .form-table th{width:20%;font-weight:bold;text-align:left;padding-left:0}.appearance_page_theme-settings .metabox-holder .column-1{float:left;width:66%}.appearance_page_theme-settings .metabox-holder .column-2{float:right;width:32%}.appearance_page_theme-settings .metabox-holder .column-3{clear:both;width:100%}.appearance_page_theme-settings .metabox-holder textarea{width:100%}.custom-post-format-wrap,.post-layout-wrap{padding:0 5px;max-height:170px;overflow-y:auto}.hybrid-post-settings{padding-top:5px}.hybrid-post-settings p{margin-bottom:15px !important}.widgets-php .columns-1{}.widgets-php .columns-2{overflow:hidden;float:left;width:48%}.widgets-php .columns-3{overflow:hidden;float:left;width:31%;margin-right:3.5%}.widgets-php .column-last{float:right;margin-right:0}.widgets-php .hybrid-widget-controls label{font-size:11px}.widgets-php .columns-2 input.widefat,.widgets-php .columns-2 select.widefat{width:99%}.widgets-php .columns-3 select.widefat{width:98.5%}.widgets-php .hybrid-widget-controls select[multiple="multiple"]{width:100%;height:5.0em !important}.widgets-php input.smallfat{float:right;width:66px}.widgets-php select.smallfat{float:right;min-width:66px} \ No newline at end of file +/* Theme settings page. */ +.appearance_page_theme-settings .side .form-table th { + width: 20%; + font-weight: bold; + text-align: left; + padding-left: 0; + } +.appearance_page_theme-settings .metabox-holder .column-1 { + float: left; + width: 66%; + } +.appearance_page_theme-settings .metabox-holder .column-2 { + float: right; + width: 32%; + } +.appearance_page_theme-settings .metabox-holder .column-3 { + clear: both; + width: 100%; + } +.appearance_page_theme-settings .metabox-holder textarea { + width: 100%; + } + +/* Post edit screen. */ +.custom-post-format-wrap, .post-layout-wrap { + padding: 0 5px; + max-height: 170px; + overflow-y: auto; + } +.hybrid-post-settings { + padding-top: 5px; + } +.hybrid-post-settings p { + margin-bottom: 15px !important; + } + +/* Widgets page. */ +.widgets-php .columns-1 { + } +.widgets-php .columns-2 { + overflow: hidden; + float: left; + width: 48%; + } +.widgets-php .columns-3 { + overflow: hidden; + float: left; + width: 31%; + margin-right: 3.5%; + } +.widgets-php .column-last { + float: right; + margin-right: 0; + } + +.widgets-php .hybrid-widget-controls label { + font-size: 11px; + } +.widgets-php .columns-2 input.widefat, .widgets-php .columns-2 select.widefat { + width: 99%; + } +.widgets-php .columns-3 select.widefat { + width: 98.5%; + } +.widgets-php .hybrid-widget-controls select[multiple="multiple"] { + width: 100%; + height: 5.0em !important; + } +.widgets-php input.smallfat { + float: right; + width: 66px; + } +.widgets-php select.smallfat { + float: right; + min-width: 66px; + } \ No newline at end of file diff --git a/wp-content/themes/hybrid/library/css/admin.min.css b/wp-content/themes/hybrid/library/css/admin.min.css new file mode 100644 index 0000000000000000000000000000000000000000..8e7f52bdc72c0b2b02d6cee342274fbfd00d36cf --- /dev/null +++ b/wp-content/themes/hybrid/library/css/admin.min.css @@ -0,0 +1 @@ +.appearance_page_theme-settings .side .form-table th{width:20%;font-weight:bold;text-align:left;padding-left:0}.appearance_page_theme-settings .metabox-holder .column-1{float:left;width:66%}.appearance_page_theme-settings .metabox-holder .column-2{float:right;width:32%}.appearance_page_theme-settings .metabox-holder .column-3{clear:both;width:100%}.appearance_page_theme-settings .metabox-holder textarea{width:100%}.custom-post-format-wrap,.post-layout-wrap{padding:0 5px;max-height:170px;overflow-y:auto}.hybrid-post-settings{padding-top:5px}.hybrid-post-settings p{margin-bottom:15px !important}.widgets-php .columns-1{}.widgets-php .columns-2{overflow:hidden;float:left;width:48%}.widgets-php .columns-3{overflow:hidden;float:left;width:31%;margin-right:3.5%}.widgets-php .column-last{float:right;margin-right:0}.widgets-php .hybrid-widget-controls label{font-size:11px}.widgets-php .columns-2 input.widefat,.widgets-php .columns-2 select.widefat{width:99%}.widgets-php .columns-3 select.widefat{width:98.5%}.widgets-php .hybrid-widget-controls select[multiple="multiple"]{width:100%;height:5.0em !important}.widgets-php input.smallfat{float:right;width:66px}.widgets-php select.smallfat{float:right;min-width:66px} \ No newline at end of file diff --git a/wp-content/themes/hybrid/library/css/drop-downs.css b/wp-content/themes/hybrid/library/css/drop-downs.css index 44426d1913b259e5c783866cc22a36cee1102ad7..922d14af0d1f99ac4d35c65637e41107c0caa56b 100644 --- a/wp-content/themes/hybrid/library/css/drop-downs.css +++ b/wp-content/themes/hybrid/library/css/drop-downs.css @@ -1 +1,64 @@ -div.menu ul,nav.menu ul{margin:0;padding:0;list-style:none;line-height:1.0}div.menu ul ul,nav.menu ul ul{position:absolute;top:-999em;width:10em}div.menu ul ul li,nav.menu ul ul li{width:100%}div.menu li:hover,nav.menu li:hover{visibility:inherit}div.menu li,nav.menu li{float:left;position:relative}div.menu a,nav.menu a{display:block;position:relative}div.menu li:hover ul,div.menu li.sfHover ul,nav.menu li:hover ul,nav.menu li.sfHover ul{left:0;top:2em;z-index:99}div.menu li:hover li ul,div.menu li.sfHover li ul,nav.menu li:hover li ul,nav.menu li.sfHover li ul{top:-999em}div.menu li li:hover ul,div.menu li li.sfHover ul,nav.menu li li:hover ul,nav.menu li li.sfHover ul{left:10em;top:0}div.menu li li:hover li ul,div.menu li li.sfHover li ul,nav.menu li li:hover li ul,nav.menu li li.sfHover li ul{top:-999em}div.menu li li li:hover ul,div.menu li li li.sfHover ul,nav.menu li li li:hover ul,nav.menu li li li.sfHover ul{left:10em;top:0} \ No newline at end of file +/** + * Dropdowns Stylesheet - Sets up style rules for drop-down menus. + * + * @since 0.5.0 + * @package Hybrid + * @subpackage CSS + */ + +/* Drop-down styles. */ +div.menu ul, +nav.menu ul { + margin: 0; + padding: 0; + list-style: none; + line-height: 1.0; + } +div.menu ul ul, +nav.menu ul ul { + position: absolute; + top: -999em; + width: 10em; + } +div.menu ul ul li, +nav.menu ul ul li { + width: 100%; + } +div.menu li:hover, +nav.menu li:hover { + visibility: inherit; + } +div.menu li, +nav.menu li { + float: left; + position: relative; + } +div.menu a, +nav.menu a { + display: block; + position: relative; + } +div.menu li:hover ul, div.menu li.sfHover ul, +nav.menu li:hover ul, nav.menu li.sfHover ul { + left: 0; + top: 2em; + z-index: 99; + } +div.menu li:hover li ul, div.menu li.sfHover li ul, +nav.menu li:hover li ul, nav.menu li.sfHover li ul { + top: -999em; + } +div.menu li li:hover ul, div.menu li li.sfHover ul, +nav.menu li li:hover ul, nav.menu li li.sfHover ul { + left: 10em; + top: 0; + } +div.menu li li:hover li ul, div.menu li li.sfHover li ul, +nav.menu li li:hover li ul, nav.menu li li.sfHover li ul { + top: -999em; + } +div.menu li li li:hover ul, div.menu li li li.sfHover ul, +nav.menu li li li:hover ul, nav.menu li li li.sfHover ul { + left: 10em; + top: 0; + } \ No newline at end of file diff --git a/wp-content/themes/hybrid/library/css/drop-downs.min.css b/wp-content/themes/hybrid/library/css/drop-downs.min.css new file mode 100644 index 0000000000000000000000000000000000000000..44426d1913b259e5c783866cc22a36cee1102ad7 --- /dev/null +++ b/wp-content/themes/hybrid/library/css/drop-downs.min.css @@ -0,0 +1 @@ +div.menu ul,nav.menu ul{margin:0;padding:0;list-style:none;line-height:1.0}div.menu ul ul,nav.menu ul ul{position:absolute;top:-999em;width:10em}div.menu ul ul li,nav.menu ul ul li{width:100%}div.menu li:hover,nav.menu li:hover{visibility:inherit}div.menu li,nav.menu li{float:left;position:relative}div.menu a,nav.menu a{display:block;position:relative}div.menu li:hover ul,div.menu li.sfHover ul,nav.menu li:hover ul,nav.menu li.sfHover ul{left:0;top:2em;z-index:99}div.menu li:hover li ul,div.menu li.sfHover li ul,nav.menu li:hover li ul,nav.menu li.sfHover li ul{top:-999em}div.menu li li:hover ul,div.menu li li.sfHover ul,nav.menu li li:hover ul,nav.menu li li.sfHover ul{left:10em;top:0}div.menu li li:hover li ul,div.menu li li.sfHover li ul,nav.menu li li:hover li ul,nav.menu li li.sfHover li ul{top:-999em}div.menu li li li:hover ul,div.menu li li li.sfHover ul,nav.menu li li li:hover ul,nav.menu li li li.sfHover ul{left:10em;top:0} \ No newline at end of file diff --git a/wp-content/themes/hybrid/library/css/gallery.css b/wp-content/themes/hybrid/library/css/gallery.css index c2b4ab079769246c5d52f8b0118b7a7f4f24e4ad..81180660fe44fcaaf1f7bdca47b52d01a1b7f440 100644 --- a/wp-content/themes/hybrid/library/css/gallery.css +++ b/wp-content/themes/hybrid/library/css/gallery.css @@ -1 +1,68 @@ -.gallery{display:block;clear:both;overflow:hidden;margin:0 auto}.gallery .gallery-row{display:block;clear:both;overflow:hidden;margin:0}.gallery .gallery-item{overflow:hidden;float:left;margin:0;text-align:center;list-style:none;padding:0}.gallery .gallery-item .gallery-icon img{width:auto;max-width:89%;height:auto;padding:1%;margin:0 auto}.gallery-caption{margin-left:0}.gallery .col-0{width:100%}.gallery .col-1{width:100%}.gallery .col-2{width:50%}.gallery .col-3{width:33.33%}.gallery .col-4{width:25%}.gallery .col-5{width:20%}.gallery .col-6{width:16.66%}.gallery .col-7{width:14.28%}.gallery .col-8{width:12.5%}.gallery .col-9{width:11.11%}.gallery .col-10{width:10%}.gallery .col-11{width:9.09%}.gallery .col-12{width:8.33%}.gallery .col-13{width:7.69%}.gallery .col-14{width:7.14%}.gallery .col-15{width:6.66%}.gallery .col-16{width:6.25%}.gallery .col-17{width:5.88%}.gallery .col-18{width:5.55%}.gallery .col-19{width:5.26%}.gallery .col-20{width:5%}.gallery .col-21{width:4.76%}.gallery .col-22{width:4.54%}.gallery .col-23{width:4.34%}.gallery .col-24{width:4.16%}.gallery .col-25{width:4%}.gallery .col-26{width:3.84%}.gallery .col-27{width:3.7%}.gallery .col-28{width:3.57%}.gallery .col-29{width:3.44%}.gallery .col-30{width:3.33%} \ No newline at end of file +/** + * Cleaner Gallery Stylesheet + * @version 0.9.5 + */ + +.gallery { + display: block; + clear: both; + overflow: hidden; + margin: 0 auto; + } +.gallery .gallery-row { + display: block; + clear: both; + overflow: hidden; + margin: 0; + } +.gallery .gallery-item { + overflow: hidden; + float: left; + margin: 0; + text-align: center; + list-style: none; + padding: 0; + } +.gallery .gallery-item .gallery-icon img { + width: auto; + max-width: 89%; + height: auto; + padding: 1%; + margin: 0 auto; + } +.gallery-caption { + margin-left: 0; + } + +/* Image sizes depending on the number of columns */ +.gallery .col-0 { width: 100%; } +.gallery .col-1 { width: 100%; } +.gallery .col-2 { width: 50%; } +.gallery .col-3 { width: 33.33%; } +.gallery .col-4 { width: 25%; } +.gallery .col-5 { width: 20%; } +.gallery .col-6 { width: 16.66%; } +.gallery .col-7 { width: 14.28%; } +.gallery .col-8 { width: 12.5%; } +.gallery .col-9 { width: 11.11%; } +.gallery .col-10 { width: 10%; } +.gallery .col-11 { width: 9.09%; } +.gallery .col-12 { width: 8.33%; } +.gallery .col-13 { width: 7.69%; } +.gallery .col-14 { width: 7.14%; } +.gallery .col-15 { width: 6.66%; } +.gallery .col-16 { width: 6.25%; } +.gallery .col-17 { width: 5.88%; } +.gallery .col-18 { width: 5.55%; } +.gallery .col-19 { width: 5.26%; } +.gallery .col-20 { width: 5%; } +.gallery .col-21 { width: 4.76%; } +.gallery .col-22 { width: 4.54%; } +.gallery .col-23 { width: 4.34%; } +.gallery .col-24 { width: 4.16%; } +.gallery .col-25 { width: 4%; } +.gallery .col-26 { width: 3.84%; } +.gallery .col-27 { width: 3.7%; } +.gallery .col-28 { width: 3.57%; } +.gallery .col-29 { width: 3.44%; } +.gallery .col-30 { width: 3.33%; } \ No newline at end of file diff --git a/wp-content/themes/hybrid/library/css/gallery.min.css b/wp-content/themes/hybrid/library/css/gallery.min.css new file mode 100644 index 0000000000000000000000000000000000000000..c2b4ab079769246c5d52f8b0118b7a7f4f24e4ad --- /dev/null +++ b/wp-content/themes/hybrid/library/css/gallery.min.css @@ -0,0 +1 @@ +.gallery{display:block;clear:both;overflow:hidden;margin:0 auto}.gallery .gallery-row{display:block;clear:both;overflow:hidden;margin:0}.gallery .gallery-item{overflow:hidden;float:left;margin:0;text-align:center;list-style:none;padding:0}.gallery .gallery-item .gallery-icon img{width:auto;max-width:89%;height:auto;padding:1%;margin:0 auto}.gallery-caption{margin-left:0}.gallery .col-0{width:100%}.gallery .col-1{width:100%}.gallery .col-2{width:50%}.gallery .col-3{width:33.33%}.gallery .col-4{width:25%}.gallery .col-5{width:20%}.gallery .col-6{width:16.66%}.gallery .col-7{width:14.28%}.gallery .col-8{width:12.5%}.gallery .col-9{width:11.11%}.gallery .col-10{width:10%}.gallery .col-11{width:9.09%}.gallery .col-12{width:8.33%}.gallery .col-13{width:7.69%}.gallery .col-14{width:7.14%}.gallery .col-15{width:6.66%}.gallery .col-16{width:6.25%}.gallery .col-17{width:5.88%}.gallery .col-18{width:5.55%}.gallery .col-19{width:5.26%}.gallery .col-20{width:5%}.gallery .col-21{width:4.76%}.gallery .col-22{width:4.54%}.gallery .col-23{width:4.34%}.gallery .col-24{width:4.16%}.gallery .col-25{width:4%}.gallery .col-26{width:3.84%}.gallery .col-27{width:3.7%}.gallery .col-28{width:3.57%}.gallery .col-29{width:3.44%}.gallery .col-30{width:3.33%} \ No newline at end of file diff --git a/wp-content/themes/hybrid/library/css/nav-bar.css b/wp-content/themes/hybrid/library/css/nav-bar.css index aa85ad6720620df4cfd231ee9513bcbf1a4f223a..958dc4a22384df3d0208b95a3f9f85a94489f62b 100644 --- a/wp-content/themes/hybrid/library/css/nav-bar.css +++ b/wp-content/themes/hybrid/library/css/nav-bar.css @@ -1 +1,83 @@ -div.menu ul,nav.menu ul{margin:0;padding:0;list-style:none;line-height:1.0;position:relative}div.menu ul ul,nav.menu ul ul{position:absolute;top:-999em;width:100%}div.menu ul ul ul,nav.menu ul ul ul{width:10em}div.menu ul ul li,nav.menu ul ul li{position:relative;width:auto;float:left}div.menu ul ul ul li,nav.menu ul ul ul li{width:100%}div.menu li:hover,nav.menu li:hover{visibility:inherit}div.menu li,nav.menu li{float:left;position:static}div.menu a,nav.menu a{display:block;position:relative}div.menu li:hover ul,div.menu li.sfHover ul,nav.menu li:hover ul,nav.menu li.sfHover ul{left:0;top:2em;z-index:99}div.menu li:hover li ul,div.menu li.sfHover li ul,nav.menu li:hover li ul,nav.menu li.sfHover li ul{top:-999em}div.menu li li:hover ul,div.menu li li.sfHover ul,nav.menu li li:hover ul,nav.menu li li.sfHover ul{left:10em;top:0}div.menu li li:hover li ul,div.menu li li.sfHover li ul,nav.menu li li:hover li ul,nav.menu li li.sfHover li ul{top:-999em}div.menu li li li:hover ul,div.menu li li li.sfHover ul,nav.menu li li li:hover ul,nav.menu li li li.sfHover ul{left:10em;top:0}div.menu ul li.current-menu-item ul,div.menu ul ul li:hover ul,div.menu ul ul li.sfHover ul,nav.menu ul li.current-menu-item ul,nav.menu ul ul li:hover ul,nav.menu ul ul li.sfHover ul{left:0;top:2.5em}div.menu ul li.current-menu-item ul ul,nav.menu ul li.current-menu-item ul ul{top:-999em} \ No newline at end of file +/** + * Nav-Bar Stylesheet - Sets up style rules for nav-bar style menus + * + * @since 1.3.0 + * @package HybridCore + * @subpackage CSS + */ + +div.menu ul, +nav.menu ul { + margin: 0; + padding: 0; + list-style: none; + line-height: 1.0; + position: relative; + } +div.menu ul ul, +nav.menu ul ul { + position: absolute; + top: -999em; + width: 100%; + } +div.menu ul ul ul, +nav.menu ul ul ul { + width: 10em; + } +div.menu ul ul li, +nav.menu ul ul li { + position: relative; + width: auto; + float: left; + } +div.menu ul ul ul li, +nav.menu ul ul ul li { + width: 100%; + } +div.menu li:hover, +nav.menu li:hover { + visibility: inherit; + } +div.menu li, +nav.menu li { + float: left; + position: static; + } +div.menu a, +nav.menu a { + display: block; + position: relative; + } +div.menu li:hover ul, div.menu li.sfHover ul, +nav.menu li:hover ul, nav.menu li.sfHover ul { + left: 0; + top: 2em; + z-index: 99; + } +div.menu li:hover li ul, div.menu li.sfHover li ul, +nav.menu li:hover li ul, nav.menu li.sfHover li ul { + top: -999em; + } +div.menu li li:hover ul, div.menu li li.sfHover ul, +nav.menu li li:hover ul, nav.menu li li.sfHover ul { + left: 10em; + top: 0; + } +div.menu li li:hover li ul, div.menu li li.sfHover li ul, +nav.menu li li:hover li ul, nav.menu li li.sfHover li ul { + top: -999em; + } +div.menu li li li:hover ul, div.menu li li li.sfHover ul, +nav.menu li li li:hover ul, nav.menu li li li.sfHover ul { + left: 10em; + top: 0; + } +div.menu ul li.current-menu-item ul, div.menu ul ul li:hover ul, div.menu ul ul li.sfHover ul, +nav.menu ul li.current-menu-item ul, nav.menu ul ul li:hover ul, nav.menu ul ul li.sfHover ul { + left: 0; + top: 2.5em; + } +div.menu ul li.current-menu-item ul ul, +nav.menu ul li.current-menu-item ul ul { + top: -999em; + } \ No newline at end of file diff --git a/wp-content/themes/hybrid/library/css/nav-bar.min.css b/wp-content/themes/hybrid/library/css/nav-bar.min.css new file mode 100644 index 0000000000000000000000000000000000000000..aa85ad6720620df4cfd231ee9513bcbf1a4f223a --- /dev/null +++ b/wp-content/themes/hybrid/library/css/nav-bar.min.css @@ -0,0 +1 @@ +div.menu ul,nav.menu ul{margin:0;padding:0;list-style:none;line-height:1.0;position:relative}div.menu ul ul,nav.menu ul ul{position:absolute;top:-999em;width:100%}div.menu ul ul ul,nav.menu ul ul ul{width:10em}div.menu ul ul li,nav.menu ul ul li{position:relative;width:auto;float:left}div.menu ul ul ul li,nav.menu ul ul ul li{width:100%}div.menu li:hover,nav.menu li:hover{visibility:inherit}div.menu li,nav.menu li{float:left;position:static}div.menu a,nav.menu a{display:block;position:relative}div.menu li:hover ul,div.menu li.sfHover ul,nav.menu li:hover ul,nav.menu li.sfHover ul{left:0;top:2em;z-index:99}div.menu li:hover li ul,div.menu li.sfHover li ul,nav.menu li:hover li ul,nav.menu li.sfHover li ul{top:-999em}div.menu li li:hover ul,div.menu li li.sfHover ul,nav.menu li li:hover ul,nav.menu li li.sfHover ul{left:10em;top:0}div.menu li li:hover li ul,div.menu li li.sfHover li ul,nav.menu li li:hover li ul,nav.menu li li.sfHover li ul{top:-999em}div.menu li li li:hover ul,div.menu li li li.sfHover ul,nav.menu li li li:hover ul,nav.menu li li li.sfHover ul{left:10em;top:0}div.menu ul li.current-menu-item ul,div.menu ul ul li:hover ul,div.menu ul ul li.sfHover ul,nav.menu ul li.current-menu-item ul,nav.menu ul ul li:hover ul,nav.menu ul ul li.sfHover ul{left:0;top:2.5em}div.menu ul li.current-menu-item ul ul,nav.menu ul li.current-menu-item ul ul{top:-999em} \ No newline at end of file diff --git a/wp-content/themes/hybrid/library/css/reset.css b/wp-content/themes/hybrid/library/css/reset.css index c2542bdb5074ff8e892b45d066faf0dc62c4ccc5..25b5efbe3bf14357d3c7f862eb6b0d68cc7a4b4b 100644 --- a/wp-content/themes/hybrid/library/css/reset.css +++ b/wp-content/themes/hybrid/library/css/reset.css @@ -1 +1,27 @@ -html,body,div,span,object,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,samp,small,strong,sub,sup,tt,var,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,figcaption,figure,footer,header,hgroup,menu,nav,section,summary,time,mark,audio,video{margin:0;padding:0;vertical-align:baseline;outline:none;font-size:100%;background:transparent;border:none;text-decoration:none}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}b,i,hr,u,center,menu,layer,s,strike,font,xmp{margin:0;padding:0;vertical-align:baseline;outline:none;font-size:100%;font-weight:normal;font-style:normal;background:transparent;border:none;text-decoration:none} \ No newline at end of file +html, body, div, span, object, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, tt, var, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary, time, mark, audio, video { + margin: 0; + padding: 0; + vertical-align: baseline; + outline: none; + font-size: 100%; + background: transparent; + border: none; + text-decoration: none; + } + +article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section { + display: block; + } + +b, i, hr, u, center, menu, layer, s, strike, font, xmp { + margin: 0; + padding: 0; + vertical-align: baseline; + outline: none; + font-size: 100%; + font-weight: normal; + font-style: normal; + background: transparent; + border: none; + text-decoration: none; + } \ No newline at end of file diff --git a/wp-content/themes/hybrid/library/css/reset.min.css b/wp-content/themes/hybrid/library/css/reset.min.css new file mode 100644 index 0000000000000000000000000000000000000000..c2542bdb5074ff8e892b45d066faf0dc62c4ccc5 --- /dev/null +++ b/wp-content/themes/hybrid/library/css/reset.min.css @@ -0,0 +1 @@ +html,body,div,span,object,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,samp,small,strong,sub,sup,tt,var,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,figcaption,figure,footer,header,hgroup,menu,nav,section,summary,time,mark,audio,video{margin:0;padding:0;vertical-align:baseline;outline:none;font-size:100%;background:transparent;border:none;text-decoration:none}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}b,i,hr,u,center,menu,layer,s,strike,font,xmp{margin:0;padding:0;vertical-align:baseline;outline:none;font-size:100%;font-weight:normal;font-style:normal;background:transparent;border:none;text-decoration:none} \ No newline at end of file diff --git a/wp-content/themes/hybrid/library/extensions/breadcrumb-trail.php b/wp-content/themes/hybrid/library/extensions/breadcrumb-trail.php index c75a69e1af152bcc6b6ab5dbf2e292e17afc94be..24b65fdab462708f7e75f613ffed837ccb916036 100644 --- a/wp-content/themes/hybrid/library/extensions/breadcrumb-trail.php +++ b/wp-content/themes/hybrid/library/extensions/breadcrumb-trail.php @@ -14,12 +14,12 @@ * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without * even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * - * @package BreadcrumbTrail - * @version 0.5.2 - * @author Justin Tadlock <justin@justintadlock.com> + * @package BreadcrumbTrail + * @version 0.5.3 + * @author Justin Tadlock <justin@justintadlock.com> * @copyright Copyright (c) 2008 - 2012, Justin Tadlock - * @link http://justintadlock.com/archives/2009/04/05/breadcrumb-trail-wordpress-plugin - * @license http://www.gnu.org/licenses/old-licenses/gpl-2.0.html + * @link http://themehybrid.com/plugins/breadcrumb-trail + * @license http://www.gnu.org/licenses/old-licenses/gpl-2.0.html */ /** @@ -39,13 +39,14 @@ function breadcrumb_trail( $args = array() ) { /* Set up the default arguments for the breadcrumb. */ $defaults = array( - 'container' => 'div', // div, nav, p, etc. - 'separator' => '/', - 'before' => __( 'Browse:', 'breadcrumb-trail' ), - 'after' => false, - 'front_page' => true, - 'show_home' => __( 'Home', 'breadcrumb-trail' ), - 'echo' => true + 'container' => 'div', // div, nav, p, etc. + 'separator' => '/', + 'before' => __( 'Browse:', 'breadcrumb-trail' ), + 'after' => false, + 'front_page' => true, + 'show_home' => __( 'Home', 'breadcrumb-trail' ), + 'network' => false, + 'echo' => true ); /* Allow singular post views to have a taxonomy's terms prefixing the trail. */ @@ -109,7 +110,7 @@ function breadcrumb_trail( $args = array() ) { * * @since 0.4.0 * @todo Build in caching based on the queried object ID. - * @access private + * @access public * @param array $args Mixed arguments for the menu. * @return array List of items to be shown in the trail. */ @@ -121,8 +122,15 @@ function breadcrumb_trail_get_items( $args = array() ) { $path = ''; /* If $show_home is set and we're not on the front page of the site, link to the home page. */ - if ( !is_front_page() && $args['show_home'] ) - $trail[] = '<a href="' . home_url() . '" title="' . esc_attr( get_bloginfo( 'name' ) ) . '" rel="home" class="trail-begin">' . $args['show_home'] . '</a>'; + if ( !is_front_page() && $args['show_home'] ) { + + if ( is_multisite() && true === $args['network'] ) { + $trail[] = '<a href="' . network_home_url() . '">' . $args['show_home'] . '</a>'; + $trail[] = '<a href="' . home_url() . '" title="' . esc_attr( get_bloginfo( 'name' ) ) . '" rel="home" class="trail-begin">' . get_bloginfo( 'name' ) . '</a>'; + } else { + $trail[] = '<a href="' . home_url() . '" title="' . esc_attr( get_bloginfo( 'name' ) ) . '" rel="home" class="trail-begin">' . $args['show_home'] . '</a>'; + } + } /* If bbPress is installed and we're on a bbPress page. */ if ( function_exists( 'is_bbpress' ) && is_bbpress() ) { @@ -131,15 +139,38 @@ function breadcrumb_trail_get_items( $args = array() ) { /* If viewing the front page of the site. */ elseif ( is_front_page() ) { - if ( $args['show_home'] && $args['front_page'] ) - $trail[] = "{$args['show_home']}"; + + if ( !is_paged() && $args['show_home'] && $args['front_page'] ) { + + if ( is_multisite() && true === $args['network'] ) { + $trail[] = '<a href="' . network_home_url() . '">' . $args['show_home'] . '</a>'; + $trail[] = get_bloginfo( 'name' ); + } else { + $trail[] = $args['show_home']; + } + } + + elseif ( is_paged() && $args['show_home'] && $args['front_page'] ) { + + if ( is_multisite() && true === $args['network'] ) { + $trail[] = '<a href="' . network_home_url() . '">' . $args['show_home'] . '</a>'; + $trail[] = '<a href="' . home_url() . '" title="' . esc_attr( get_bloginfo( 'name' ) ) . '" rel="home" class="trail-begin">' . get_bloginfo( 'name' ) . '</a>'; + } else { + $trail[] = '<a href="' . home_url() . '" title="' . esc_attr( get_bloginfo( 'name' ) ) . '" rel="home" class="trail-begin">' . $args['show_home'] . '</a>'; + } + } } /* If viewing the "home"/posts page. */ elseif ( is_home() ) { $home_page = get_page( get_queried_object_id() ); + $trail = array_merge( $trail, breadcrumb_trail_get_parents( $home_page->post_parent, '' ) ); - $trail[] = get_the_title( $home_page->ID ); + + if ( is_paged() ) + $trail[] = '<a href="' . get_permalink( $home_page->ID ) . '" title="' . esc_attr( get_the_title( $home_page->ID ) ) . '">' . get_the_title( $home_page->ID ) . '</a>'; + else + $trail[] = get_the_title( $home_page->ID ); } /* If viewing a singular post (page, attachment, etc.). */ @@ -171,15 +202,56 @@ function breadcrumb_trail_get_items( $args = array() ) { /* If viewing a singular 'attachment'. */ elseif ( 'attachment' == $post_type ) { - /* If $front has been set, add it to the $path. */ - $path .= trailingslashit( $wp_rewrite->front ); + /* Get the parent post ID. */ + $parent_id = $post->post_parent; - /* If there's a path, check for parents. */ - if ( !empty( $path ) ) - $trail = array_merge( $trail, breadcrumb_trail_get_parents( '', $path ) ); + /* If the attachment has a parent (attached to a post). */ + if ( 0 < $parent_id ) { + + /* Get the parent post type. */ + $parent_post_type = get_post_type( $parent_id ); + + /* If the post type is 'post'. */ + if ( 'post' == $parent_post_type ) { + + /* If $front has been set, add it to the $path. */ + $path .= trailingslashit( $wp_rewrite->front ); + + /* If there's a path, check for parents. */ + if ( !empty( $path ) ) + $trail = array_merge( $trail, breadcrumb_trail_get_parents( '', $path ) ); + + /* Map the post (parent) permalink structure tags to actual links. */ + $trail = array_merge( $trail, breadcrumb_trail_map_rewrite_tags( $post->post_parent, get_option( 'permalink_structure' ), $args ) ); + } + + /* Custom post types. */ + elseif ( 'page' !== $parent_post_type ) { + + $parent_post_type_object = get_post_type_object( $parent_post_type ); + + /* If $front has been set, add it to the $path. */ + if ( $parent_post_type_object->rewrite['with_front'] && $wp_rewrite->front ) + $path .= trailingslashit( $wp_rewrite->front ); + + /* If there's a slug, add it to the $path. */ + if ( !empty( $parent_post_type_object->rewrite['slug'] ) ) + $path .= $parent_post_type_object->rewrite['slug']; + + /* If there's a path, check for parents. */ + if ( !empty( $path ) ) + $trail = array_merge( $trail, breadcrumb_trail_get_parents( '', $path ) ); + + /* If there's an archive page, add it to the trail. */ + if ( !empty( $parent_post_type_object->has_archive ) ) { + + /* Add support for a non-standard label of 'archive_title' (special use case). */ + $label = !empty( $parent_post_type_object->labels->archive_title ) ? $parent_post_type_object->labels->archive_title : $parent_post_type_object->labels->name; - /* Map the post (parent) permalink structure tags to actual links. */ - $trail = array_merge( $trail, breadcrumb_trail_map_rewrite_tags( $post->post_parent, get_option( 'permalink_structure' ), $args ) ); + $trail[] = '<a href="' . get_post_type_archive_link( $parent_post_type ) . '" title="' . esc_attr( $label ) . '">' . $label . '</a>'; + } + } + } } /* If a custom post type, check if there are any pages in its hierarchy based on the slug. */ @@ -198,8 +270,13 @@ function breadcrumb_trail_get_items( $args = array() ) { $trail = array_merge( $trail, breadcrumb_trail_get_parents( '', $path ) ); /* If there's an archive page, add it to the trail. */ - if ( !empty( $post_type_object->has_archive ) ) - $trail[] = '<a href="' . get_post_type_archive_link( $post_type ) . '" title="' . esc_attr( $post_type_object->labels->name ) . '">' . $post_type_object->labels->name . '</a>'; + if ( !empty( $post_type_object->has_archive ) ) { + + /* Add support for a non-standard label of 'archive_title' (special use case). */ + $label = !empty( $post_type_object->labels->archive_title ) ? $post_type_object->labels->archive_title : $post_type_object->labels->name; + + $trail[] = '<a href="' . get_post_type_archive_link( $post_type ) . '" title="' . esc_attr( $label ) . '">' . $label . '</a>'; + } } /* If the post type path returns nothing and there is a parent, get its parents. */ @@ -216,7 +293,11 @@ function breadcrumb_trail_get_items( $args = array() ) { /* End with the post title. */ $post_title = single_post_title( '', false ); - if ( !empty( $post_title ) ) + + if ( 1 < get_query_var( 'page' ) && !empty( $post_title ) ) + $trail[] = '<a href="' . get_permalink( $post_id ) . '" title="' . esc_attr( $post_title ) . '">' . $post_title . '</a>'; + + elseif ( !empty( $post_title ) ) $trail[] = $post_title; } @@ -245,12 +326,45 @@ function breadcrumb_trail_get_items( $args = array() ) { if ( $path ) $trail = array_merge( $trail, breadcrumb_trail_get_parents( '', $path ) ); + /* Add post type archive if its 'has_archive' matches the taxonomy rewrite 'slug'. */ + if ( $taxonomy->rewrite['slug'] ) { + + /* Get public post types that match the rewrite slug. */ + $post_types = get_post_types( array( 'public' => true, 'has_archive' => $taxonomy->rewrite['slug'] ), 'objects' ); + + /** + * If any post types are found, loop through them to find one that matches. + * The reason for this is because WP doesn't match the 'has_archive' string + * exactly when calling get_post_types(). I'm assuming it just matches 'true'. + */ + if ( !empty( $post_types ) ) { + + foreach ( $post_types as $post_type_object ) { + + if ( $taxonomy->rewrite['slug'] === $post_type_object->has_archive ) { + + /* Add support for a non-standard label of 'archive_title' (special use case). */ + $label = !empty( $post_type_object->labels->archive_title ) ? $post_type_object->labels->archive_title : $post_type_object->labels->name; + + /* Add the post type archive link to the trail. */ + $trail[] = '<a href="' . get_post_type_archive_link( $post_type_object->name ) . '" title="' . esc_attr( $label ) . '">' . $label . '</a>'; + + /* Break out of the loop. */ + break; + } + } + } + } + /* If the taxonomy is hierarchical, list its parent terms. */ if ( is_taxonomy_hierarchical( $term->taxonomy ) && $term->parent ) $trail = array_merge( $trail, breadcrumb_trail_get_term_parents( $term->parent, $term->taxonomy ) ); /* Add the term name to the trail end. */ - $trail[] = single_term_title( '', false ); + if ( is_paged() ) + $trail[] = '<a href="' . esc_url( get_term_link( $term, $term->taxonomy ) ) . '" title="' . esc_attr( single_term_title( '', false ) ) . '">' . single_term_title( '', false ) . '</a>'; + else + $trail[] = single_term_title( '', false ); } /* If viewing a post type archive. */ @@ -272,12 +386,18 @@ function breadcrumb_trail_get_items( $args = array() ) { $trail = array_merge( $trail, breadcrumb_trail_get_parents( '', $path ) ); /* Add the post type [plural] name to the trail end. */ - $trail[] = $post_type_object->labels->name; + if ( is_paged() ) + $trail[] = '<a href="' . esc_url( get_post_type_archive_link( $post_type_object->name ) ) . '" title="' . esc_attr( post_type_archive_title( '', false ) ) . '">' . post_type_archive_title( '', false ) . '</a>'; + else + $trail[] = post_type_archive_title( '', false ); } /* If viewing an author archive. */ elseif ( is_author() ) { + /* Get the user ID. */ + $user_id = get_query_var( 'author' ); + /* If $front has been set, add it to $path. */ if ( !empty( $wp_rewrite->front ) ) $path .= trailingslashit( $wp_rewrite->front ); @@ -291,7 +411,10 @@ function breadcrumb_trail_get_items( $args = array() ) { $trail = array_merge( $trail, breadcrumb_trail_get_parents( '', $path ) ); /* Add the author's display name to the trail end. */ - $trail[] = get_the_author_meta( 'display_name', get_query_var( 'author' ) ); + if ( is_paged() ) + $trail[] = '<a href="'. esc_url( get_author_posts_url( $user_id ) ) . '" title="' . esc_attr( get_the_author_meta( 'display_name', $user_id ) ) . '">' . get_the_author_meta( 'display_name', $user_id ) . '</a>'; + else + $trail[] = get_the_author_meta( 'display_name', $user_id ); } /* If viewing a time-based archive. */ @@ -317,32 +440,60 @@ function breadcrumb_trail_get_items( $args = array() ) { if ( is_day() ) { $trail[] = '<a href="' . get_year_link( get_the_time( 'Y' ) ) . '" title="' . get_the_time( esc_attr__( 'Y', 'breadcrumb-trail' ) ) . '">' . get_the_time( __( 'Y', 'breadcrumb-trail' ) ) . '</a>'; $trail[] = '<a href="' . get_month_link( get_the_time( 'Y' ), get_the_time( 'm' ) ) . '" title="' . get_the_time( esc_attr__( 'F', 'breadcrumb-trail' ) ) . '">' . get_the_time( __( 'F', 'breadcrumb-trail' ) ) . '</a>'; - $trail[] = get_the_time( __( 'd', 'breadcrumb-trail' ) ); + + if ( is_paged() ) + $trail[] = '<a href="' . get_day_link( get_the_time( 'Y' ), get_the_time( 'm' ), get_the_time( 'd' ) ) . '" title="' . get_the_time( esc_attr__( 'd', 'breadcrumb-trail' ) ) . '">' . get_the_time( __( 'd', 'breadcrumb-trail' ) ) . '</a>'; + else + $trail[] = get_the_time( __( 'd', 'breadcrumb-trail' ) ); } elseif ( get_query_var( 'w' ) ) { $trail[] = '<a href="' . get_year_link( get_the_time( 'Y' ) ) . '" title="' . get_the_time( esc_attr__( 'Y', 'breadcrumb-trail' ) ) . '">' . get_the_time( __( 'Y', 'breadcrumb-trail' ) ) . '</a>'; - $trail[] = sprintf( __( 'Week %1$s', 'breadcrumb-trail' ), get_the_time( esc_attr__( 'W', 'breadcrumb-trail' ) ) ); + + if ( is_paged() ) + $trail[] = get_archives_link( add_query_arg( array( 'm' => get_the_time( 'Y' ), 'w' => get_the_time( 'W' ) ), home_url() ), sprintf( __( 'Week %1$s', 'breadcrumb-trail' ), get_the_time( esc_attr__( 'W', 'breadcrumb-trail' ) ) ), false ); + else + $trail[] = sprintf( __( 'Week %1$s', 'breadcrumb-trail' ), get_the_time( esc_attr__( 'W', 'breadcrumb-trail' ) ) ); } elseif ( is_month() ) { $trail[] = '<a href="' . get_year_link( get_the_time( 'Y' ) ) . '" title="' . get_the_time( esc_attr__( 'Y', 'breadcrumb-trail' ) ) . '">' . get_the_time( __( 'Y', 'breadcrumb-trail' ) ) . '</a>'; - $trail[] = get_the_time( __( 'F', 'breadcrumb-trail' ) ); + + if ( is_paged() ) + $trail[] = '<a href="' . get_month_link( get_the_time( 'Y' ), get_the_time( 'm' ) ) . '" title="' . get_the_time( esc_attr__( 'F', 'breadcrumb-trail' ) ) . '">' . get_the_time( __( 'F', 'breadcrumb-trail' ) ) . '</a>'; + else + $trail[] = get_the_time( __( 'F', 'breadcrumb-trail' ) ); } elseif ( is_year() ) { - $trail[] = get_the_time( __( 'Y', 'breadcrumb-trail' ) ); + + if ( is_paged() ) + $trail[] = '<a href="' . get_year_link( get_the_time( 'Y' ) ) . '" title="' . esc_attr( get_the_time( __( 'Y', 'breadcrumb-trail' ) ) ) . '">' . get_the_time( __( 'Y', 'breadcrumb-trail' ) ) . '</a>'; + else + $trail[] = get_the_time( __( 'Y', 'breadcrumb-trail' ) ); } } } /* If viewing search results. */ - elseif ( is_search() ) - $trail[] = sprintf( __( 'Search results for "%1$s"', 'breadcrumb-trail' ), esc_attr( get_search_query() ) ); + elseif ( is_search() ) { + + if ( is_paged() ) + $trail[] = '<a href="' . get_search_link() . '" title="' . sprintf( esc_attr__( 'Search results for "%1$s"', 'breadcrumb-trail' ), esc_attr( get_search_query() ) ) . '">' . sprintf( __( 'Search results for "%1$s"', 'breadcrumb-trail' ), esc_attr( get_search_query() ) ) . '</a>'; + else + $trail[] = sprintf( __( 'Search results for "%1$s"', 'breadcrumb-trail' ), esc_attr( get_search_query() ) ); + } /* If viewing a 404 error page. */ - elseif ( is_404() ) + elseif ( is_404() ) { $trail[] = __( '404 Not Found', 'breadcrumb-trail' ); + } + + /* Check for pagination. */ + if ( is_paged() ) + $trail[] = sprintf( __( 'Page %d', 'breadcrumb-trail' ), absint( get_query_var( 'paged' ) ) ); + elseif ( is_singular() && 1 < get_query_var( 'page' ) ) + $trail[] = sprintf( __( 'Page %d', 'breadcrumb-trail' ), absint( get_query_var( 'page' ) ) ); /* Allow devs to step in and filter the $trail array. */ return apply_filters( 'breadcrumb_trail_items', $trail, $args ); @@ -352,7 +503,7 @@ function breadcrumb_trail_get_items( $args = array() ) { * Gets the items for the breadcrumb trail if bbPress is installed. * * @since 0.5.0 - * @access private + * @access public * @param array $args Mixed arguments for the menu. * @return array List of items to be shown in the trail. */ @@ -479,7 +630,7 @@ function breadcrumb_trail_get_bbpress_items( $args = array() ) { * types. * * @since 0.4.0 - * @access private + * @access public * @param int $post_id ID of the post whose parents we want. * @param string $path Path of a potential parent page. * @param array $args Mixed arguments for the menu. @@ -566,7 +717,7 @@ function breadcrumb_trail_map_rewrite_tags( $post_id = '', $path = '', $args = a * path, it'll be added. But, it's also just a way to check for a hierarchy with hierarchical post types. * * @since 0.3.0 - * @access private + * @access public * @param int $post_id ID of the post whose parents we want. * @param string $path Path of a potential parent page. * @return array $trail Array of parent page links. @@ -653,7 +804,7 @@ function breadcrumb_trail_get_parents( $post_id = '', $path = '' ) { * function get_category_parents() but handles any type of taxonomy. * * @since 0.3.0 - * @access private + * @access public * @param int $parent_id The ID of the first parent. * @param object|string $taxonomy The taxonomy of the term whose parents we want. * @return array $trail Array of links to parent terms. diff --git a/wp-content/themes/hybrid/library/extensions/cleaner-gallery.php b/wp-content/themes/hybrid/library/extensions/cleaner-gallery.php index 4841b1bc7128f1c3978b1719159fc92408c2a9c0..0351c433d65024ce0a9c3d2dc934451cbe55168d 100644 --- a/wp-content/themes/hybrid/library/extensions/cleaner-gallery.php +++ b/wp-content/themes/hybrid/library/extensions/cleaner-gallery.php @@ -14,12 +14,12 @@ * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without * even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * - * @package CleanerGallery - * @version 0.9.4 - * @author Justin Tadlock <justin@justintadlock.com> + * @package CleanerGallery + * @version 0.9.5 + * @author Justin Tadlock <justin@justintadlock.com> * @copyright Copyright (c) 2008 - 2012, Justin Tadlock - * @link http://justintadlock.com/archives/2008/04/13/cleaner-wordpress-gallery-plugin - * @license http://www.gnu.org/licenses/old-licenses/gpl-2.0.html + * @link http://justintadlock.com/archives/2008/04/13/cleaner-wordpress-gallery-plugin + * @license http://www.gnu.org/licenses/old-licenses/gpl-2.0.html */ /* Filter the post gallery shortcode output. */ @@ -30,10 +30,10 @@ add_filter( 'post_gallery', 'cleaner_gallery', 10, 2 ); * HTML and inline styles. It adds the number of columns used as a class attribute, which allows * developers to style the gallery more easily. * - * @since 0.9.0 + * @since 0.9.0 * @access private - * @param string $output - * @param array $attr + * @param string $output The output of the gallery shortcode. + * @param array $attr The arguments for displaying the gallery. * @return string $output */ function cleaner_gallery( $output, $attr ) { @@ -54,19 +54,20 @@ function cleaner_gallery( $output, $attr ) { /* Default gallery settings. */ $defaults = array( - 'order' => 'ASC', - 'orderby' => 'menu_order ID', - 'id' => get_the_ID(), - 'link' => '', - 'itemtag' => 'dl', - 'icontag' => 'dt', - 'captiontag' => 'dd', - 'columns' => 3, - 'size' => 'thumbnail', - 'include' => '', - 'exclude' => '', + 'order' => 'ASC', + 'orderby' => 'menu_order ID', + 'id' => get_the_ID(), + 'link' => '', + 'itemtag' => 'dl', + 'icontag' => 'dt', + 'captiontag' => 'dd', + 'columns' => 3, + 'size' => 'thumbnail', + 'ids' => '', + 'include' => '', + 'exclude' => '', 'numberposts' => -1, - 'offset' => '' + 'offset' => '' ); /* Apply filters to the default arguments. */ @@ -82,28 +83,30 @@ function cleaner_gallery( $output, $attr ) { /* Arguments for get_children(). */ $children = array( - 'post_parent' => $id, - 'post_status' => 'inherit', - 'post_type' => 'attachment', - 'post_mime_type' => 'image', - 'order' => $order, - 'orderby' => $orderby, - 'exclude' => $exclude, - 'include' => $include, - 'numberposts' => $numberposts, - 'offset' => $offset, + 'post_status' => 'inherit', + 'post_type' => 'attachment', + 'post_mime_type' => 'image', + 'order' => $order, + 'orderby' => $orderby, + 'exclude' => $exclude, + 'include' => $include, + 'numberposts' => $numberposts, + 'offset' => $offset, 'suppress_filters' => true ); /* Get image attachments. If none, return. */ - $attachments = get_children( $children ); + if ( empty( $include ) ) + $attachments = get_children( array_merge( array( 'post_parent' => $id ), $children ) ); + else + $attachments = get_posts( $children ); if ( empty( $attachments ) ) - return ''; + return '<!-- Here be dragons but no images. -->'; /* Properly escape the gallery tags. */ - $itemtag = tag_escape( $itemtag ); - $icontag = tag_escape( $icontag ); + $itemtag = tag_escape( $itemtag ); + $icontag = tag_escape( $icontag ); $captiontag = tag_escape( $captiontag ); $i = 0; @@ -118,7 +121,7 @@ function cleaner_gallery( $output, $attr ) { $output = "\n\t\t\t<div id='gallery-{$id}-{$cleaner_gallery_instance}' class='gallery gallery-{$id}'>"; /* Loop through each attachment. */ - foreach ( $attachments as $id => $attachment ) { + foreach ( $attachments as $attachment ) { /* Open each gallery row. */ if ( $columns > 0 && $i % $columns == 0 ) @@ -131,14 +134,14 @@ function cleaner_gallery( $output, $attr ) { $output .= "\n\t\t\t\t\t\t<{$icontag} class='gallery-icon'>"; /* Add the image. */ - $image = ( ( isset( $attr['link'] ) && 'file' == $attr['link'] ) ? wp_get_attachment_link( $id, $size, false, false ) : wp_get_attachment_link( $id, $size, true, false ) ); - $output .= apply_filters( 'cleaner_gallery_image', $image, $id, $attr, $cleaner_gallery_instance ); + $image = ( ( isset( $attr['link'] ) && 'file' == $attr['link'] ) ? wp_get_attachment_link( $attachment->ID, $size, false, false ) : wp_get_attachment_link( $attachment->ID, $size, true, false ) ); + $output .= apply_filters( 'cleaner_gallery_image', $image, $attachment->ID, $attr, $cleaner_gallery_instance ); /* Close the image wrapper. */ $output .= "</{$icontag}>"; /* Get the caption. */ - $caption = apply_filters( 'cleaner_gallery_caption', wptexturize( $attachment->post_excerpt ), $id, $attr, $cleaner_gallery_instance ); + $caption = apply_filters( 'cleaner_gallery_caption', wptexturize( $attachment->post_excerpt ), $attachment->ID, $attr, $cleaner_gallery_instance ); /* If image caption is set. */ if ( !empty( $caption ) ) diff --git a/wp-content/themes/hybrid/library/extensions/entry-views.php b/wp-content/themes/hybrid/library/extensions/entry-views.php index 294c65f37a5460ff93eb4a250cef775c986d5a97..d3a8420d9460cc0e9b12f2dc6284e3c760c4230f 100644 --- a/wp-content/themes/hybrid/library/extensions/entry-views.php +++ b/wp-content/themes/hybrid/library/extensions/entry-views.php @@ -26,7 +26,7 @@ * even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * * @package EntryViews - * @version 0.2.2 + * @version 0.2.3 * @author Justin Tadlock <justin@justintadlock.com> * @copyright Copyright (c) 2010 - 2012, Justin Tadlock * @link http://justintadlock.com @@ -78,7 +78,7 @@ function entry_views_load() { global $_entry_views_post_id; /* Check if we're on a singular post view. */ - if ( is_singular() ) { + if ( is_singular() && !is_preview() ) { /* Get the post object. */ $post = get_queried_object(); diff --git a/wp-content/themes/hybrid/library/extensions/featured-header.php b/wp-content/themes/hybrid/library/extensions/featured-header.php new file mode 100644 index 0000000000000000000000000000000000000000..a11bee37f555aba3207eb9442e49ff1beb217031 --- /dev/null +++ b/wp-content/themes/hybrid/library/extensions/featured-header.php @@ -0,0 +1,190 @@ +<?php +/** + * Featured Header - A script for allowing users to set a featured header image. + * + * This script was created to make it easy for theme developers to add featured header image + * functionality to their theme. Featured headers are just a way of using the built-in WordPress + * post thumbnails (i.e., featured images) to replace the theme's header image on a per-post + * basis. Therefore, a theme must add support for both the 'post-thumbnails' and 'custom-header' + * theme features. + * + * This program is free software; you can redistribute it and/or modify it under the terms of the GNU + * General Public License as published by the Free Software Foundation; either version 2 of the License, + * or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without + * even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * + * @package FeaturedHeader + * @version 0.1.0 + * @author Justin Tadlock <justin@justintadlock.com> + * @copyright Copyright (c) 2012, Justin Tadlock + * @link http://justintadlock.com + * @license http://www.gnu.org/licenses/old-licenses/gpl-2.0.html + */ + +/** + * The Featured_Header class allows users to create custom, per-post header images if their theme + * supports the WordPress 'custom-header' feature. This class overwrites the header image on + * single post views and replaces it with the featured image if the dimensions are correct. + * + * @since 0.1.0 + */ +class Featured_Header { + + /** + * Name of the custom header image size added via add_image_size(). + * + * @since 0.1.0 + * @access public + * @var string + */ + public $size = 'featured-header'; + + /** + * Width of the custom header image size. + * + * @since 0.1.0 + * @access public + * @var int + */ + public $width = 0; + + /** + * Height of the custom header image size. + * + * @since 0.1.0 + * @access public + * @var int + */ + public $height = 0; + + /** + * Whether to hard crop the custom header image size. + * + * @since 0.1.0 + * @access public + * @var bool + */ + public $crop = true; + + /** + * The URL of the header image. + * + * @since 0.1.0 + * @access protected + * @var string + */ + protected $url = ''; + + /** + * Constructor. Sets up needed actions and filters. + * + * @since 0.1.0 + * @access public + * @return void + */ + public function __construct() { + + /* The theme should actually support the custom background feature. */ + if ( !current_theme_supports( 'post-thumbnails' ) ) + add_theme_support( 'post-thumbnails' ); + + /* Add image size based off theme's custom header dimensions. */ + add_action( 'init', array( &$this, 'add_image_size' ) ); + + /* Filter the header image. */ + add_filter( 'theme_mod_header_image', array( &$this, 'header_image' ) ); + + /* Filter the header image data. */ + add_filter( 'theme_mod_header_image_data', array( &$this, 'header_image_data' ) ); + } + + /** + * Adds an image size using the add_image_size() function based off the dimensions of + * the theme's 'custom-header dimensions. + * + * @since 0.1.0 + * @access public + * @return void + */ + public function add_image_size() { + + /* Only add an image size if the theme supports the 'custom-header' feature. */ + if ( current_theme_supports( 'custom-header' ) ) { + + /* Apply filters to the featured header image size. */ + $this->size = apply_filters( 'featured_header_image_size', $this->size ); + + /* Get the custom header width defined by the theme. */ + $this->width = apply_filters( 'featured_header_image_width', absint( get_theme_support( 'custom-header', 'width' ) ) ); + + /* Get the custom header height defined by the theme. */ + $this->height = apply_filters( 'featured_header_image_height', absint( get_theme_support( 'custom-header', 'height' ) ) ); + + /* If both the width and height are greater than '0', add the custom image size. */ + if ( 0 < $this->width && 0 < $this->height ) + add_image_size( $this->size, $this->width, $this->height, $this->crop ); + } + } + + /** + * Filters the 'theme_mod_header_image' hook. Checks if there's a featured image with the + * correct dimensions to replace the header image on single posts. + * + * @since 0.1.0 + * @access public + * @param string $url The URL of the header image. + * @return string + */ + public function header_image( $url ) { + + if ( is_singular() && 'remove-header' !== $url && 0 < $this->width && 0 < $this->height ) { + + /* Get the queried post ID. */ + $post_id = get_queried_object_id(); + + /* Support featured headers added via post meta, following WP's '_thumbnail_id' format. */ + $featured_header_id = get_post_meta( $post_id, '_featured_header_id', true ); + + /* Set the thumbnail Id. */ + $thumbnail_id = $featured_header_id ? absint( $featured_header_id ) : get_post_thumbnail_id( $post_id ); + + /* If we have an ID, get the attachment image source. */ + if ( !empty( $thumbnail_id ) ) { + + $image = wp_get_attachment_image_src( $thumbnail_id, $this->size ); + + /* If the image width/height match the dimensions we need, use the image. */ + if ( $image[1] == $this->width && $image[2] == $this->height ) + $this->url = $url = $image[0]; + } + } + + return $url; + } + + /** + * Filters the 'theme_mod_header_image_data' hook. This is used to set the header image width + * and height attributes if a featured header image was found. + * + * @since 0.1.0 + * @access public + * @param array $data Header image data (width, height, url, thumbnail_url). + * @return array + */ + public function header_image_data( $data ) { + + /* If a featured header image URL was set, add the width and height values. */ + if ( !empty( $this->url ) ) { + $data['width'] = $this->width; + $data['height'] = $this->height; + } + + return $data; + } +} + +new Featured_Header(); + +?> \ No newline at end of file diff --git a/wp-content/themes/hybrid/library/extensions/get-the-image.php b/wp-content/themes/hybrid/library/extensions/get-the-image.php index 31f4b6b15275920ee144ad8079e5b13be1554bb0..71a2181ca7bf677210a1db07392cf73a1e762507 100644 --- a/wp-content/themes/hybrid/library/extensions/get-the-image.php +++ b/wp-content/themes/hybrid/library/extensions/get-the-image.php @@ -15,12 +15,12 @@ * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without * even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * - * @package GetTheImage - * @version 0.8.0 - * @author Justin Tadlock <justin@justintadlock.com> + * @package GetTheImage + * @version 0.8.1 + * @author Justin Tadlock <justin@justintadlock.com> * @copyright Copyright (c) 2008 - 2012, Justin Tadlock - * @link http://justintadlock.com/archives/2008/05/27/get-the-image-wordpress-plugin - * @license http://www.gnu.org/licenses/old-licenses/gpl-2.0.html + * @link http://justintadlock.com/archives/2008/05/27/get-the-image-wordpress-plugin + * @license http://www.gnu.org/licenses/old-licenses/gpl-2.0.html */ /* Adds theme support for WordPress 'featured images'. */ @@ -50,28 +50,28 @@ function get_the_image( $args = array() ) { /* Set the default arguments. */ $defaults = array( - 'meta_key' => array( 'Thumbnail', 'thumbnail' ), // array|string - 'post_id' => get_the_ID(), - 'attachment' => true, - 'the_post_thumbnail' => true, // WP 2.9+ image function - 'size' => 'thumbnail', - 'default_image' => false, - 'order_of_image' => 1, - 'link_to_post' => true, - 'image_class' => false, - 'image_scan' => false, - 'width' => false, - 'height' => false, - 'format' => 'img', - 'meta_key_save' => false, - 'thumbnail_id_save' => false, // Set 'featured image'. - 'callback' => null, - 'cache' => true, - 'before' => '', - 'after' => '', - 'echo' => true, - 'custom_key' => null, // @deprecated 0.6. Use 'meta_key'. - 'default_size' => null, // @deprecated 0.5. Use 'size'. + 'meta_key' => array( 'Thumbnail', 'thumbnail' ), // array|string + 'post_id' => get_the_ID(), + 'attachment' => true, + 'the_post_thumbnail' => true, // WP 2.9+ image function + 'size' => 'thumbnail', + 'default_image' => false, + 'order_of_image' => 1, + 'link_to_post' => true, + 'image_class' => false, + 'image_scan' => false, + 'width' => false, + 'height' => false, + 'format' => 'img', + 'meta_key_save' => false, + 'thumbnail_id_save' => false, // Set 'featured image'. + 'callback' => null, + 'cache' => true, + 'before' => '', + 'after' => '', + 'echo' => true, + 'custom_key' => null, // @deprecated 0.6. Use 'meta_key'. + 'default_size' => null, // @deprecated 0.5. Use 'size'. ); /* Allow plugins/themes to filter the arguments. */ @@ -108,7 +108,7 @@ function get_the_image( $args = array() ) { $image_html = ''; /* If there is no cached image, let's see if one exists. */ - if ( !isset( $image_cache[$key] ) || empty( $cache ) ) { + if ( !isset( $image_cache[ $key ] ) || empty( $cache ) ) { /* If a custom field key (array) is defined, check for images by custom field. */ if ( !empty( $meta_key ) ) @@ -139,13 +139,13 @@ function get_the_image( $args = array() ) { /* If $meta_key_save was set, save the image to a custom field. */ if ( !empty( $meta_key_save ) ) - get_the_image_meta_key_save( $args, $image['src'] ); + get_the_image_meta_key_save( $args, $image ); /* Format the image HTML. */ $image_html = get_the_image_format( $args, $image ); /* Set the image cache for the specific post. */ - $image_cache[$key] = $image_html; + $image_cache[ $key ] = $image_html; wp_cache_set( $post_id, $image_cache, 'get_the_image' ); } } @@ -169,7 +169,7 @@ function get_the_image( $args = array() ) { /* Loop through the image attributes and add them in key/value pairs for the return array. */ foreach ( $atts as $att ) - $out[$att['name']] = $att['value']; + $out[ $att['name'] ] = $att['value']; $out['url'] = $out['src']; // @deprecated 0.5 Use 'src' instead of 'url'. @@ -179,7 +179,7 @@ function get_the_image( $args = array() ) { /* Or, if $echo is set to false, return the formatted image. */ elseif ( false === $echo ) { - return $args['before'] . $image_html . $args['after']; + return !empty( $image_html ) ? $args['before'] . $image_html . $args['after'] : $image_html; } /* If there is a $post_thumbnail_id, do the actions associated with get_the_post_thumbnail(). */ @@ -187,7 +187,7 @@ function get_the_image( $args = array() ) { do_action( 'begin_fetch_post_thumbnail_html', $post_id, $image['post_thumbnail_id'], $size ); /* Display the image if we get to this point. */ - echo $args['before'] . $image_html . $args['after']; + echo !empty( $image_html ) ? $args['before'] . $image_html . $args['after'] : $image_html; /* If there is a $post_thumbnail_id, do the actions associated with get_the_post_thumbnail(). */ if ( isset( $image['post_thumbnail_id'] ) ) @@ -197,8 +197,8 @@ function get_the_image( $args = array() ) { /* Internal Functions */ /** - * Calls images by custom field key. Script loops through multiple custom field keys. If that particular key - * is found, $image is set and the loop breaks. If an image is found, it is returned. + * Calls images by custom field key. Script loops through multiple custom field keys. If that particular + * key is found, $image is set and the loop breaks. If an image is found, it is returned. * * @since 0.7.0 * @access private @@ -286,12 +286,12 @@ function get_the_image_by_attachment( $args = array() ) { /* Get attachments for the inputted $post_id. */ $attachments = get_children( array( - 'post_parent' => $args['post_id'], - 'post_status' => 'inherit', - 'post_type' => 'attachment', - 'post_mime_type' => 'image', - 'order' => 'ASC', - 'orderby' => 'menu_order ID', + 'post_parent' => $args['post_id'], + 'post_status' => 'inherit', + 'post_type' => 'attachment', + 'post_mime_type' => 'image', + 'order' => 'ASC', + 'orderby' => 'menu_order ID', 'suppress_filters' => true ) ); @@ -319,14 +319,14 @@ function get_the_image_by_attachment( $args = array() ) { if ( !empty( $attachment_id ) ) { /* Get the attachment image. */ - $image = wp_get_attachment_image_src( $id, $args['size'] ); + $image = wp_get_attachment_image_src( $attachment_id, $args['size'] ); /* Get the attachment excerpt. */ - $alt = trim( strip_tags( get_post_field( 'post_excerpt', $id ) ) ); + $alt = trim( strip_tags( get_post_field( 'post_excerpt', $attachment_id ) ) ); /* Save the attachment as the 'featured image'. */ if ( true === $args['thumbnail_id_save'] ) - set_post_thumbnail( $args['post_id'], $id ); + set_post_thumbnail( $args['post_id'], $attachment_id ); /* Return the image URL. */ return array( 'src' => $image[0], 'alt' => $alt ); @@ -390,7 +390,7 @@ function get_the_image_format( $args = array(), $image = false ) { extract( $args ); /* If there is alt text, set it. Otherwise, default to the post title. */ - $image_alt = ( ( !empty( $image['alt'] ) ) ? $image['alt'] : apply_filters( 'the_title', get_post_field( 'post_title', $post_id ) ) ); + $image_alt = ( ( !empty( $image['alt'] ) ) ? $image['alt'] : get_post_field( 'post_title', $post_id ) ); /* If there is a width or height, set them as HMTL-ready attributes. */ $width = ( ( $width ) ? ' width="' . esc_attr( $width ) . '"' : '' ); @@ -414,7 +414,7 @@ function get_the_image_format( $args = array(), $image = false ) { /* If $link_to_post is set to true, link the image to its post. */ if ( $link_to_post ) - $html = '<a href="' . get_permalink( $post_id ) . '" title="' . esc_attr( apply_filters( 'the_title', get_post_field( 'post_title', $post_id ) ) ) . '">' . $html . '</a>'; + $html = '<a href="' . get_permalink( $post_id ) . '" title="' . esc_attr( get_post_field( 'post_title', $post_id ) ) . '">' . $html . '</a>'; /* If there is a $post_thumbnail_id, apply the WP filters normally associated with get_the_post_thumbnail(). */ if ( !empty( $image['post_thumbnail_id'] ) ) diff --git a/wp-content/themes/hybrid/library/extensions/loop-pagination.php b/wp-content/themes/hybrid/library/extensions/loop-pagination.php index fcca7dc4b29f81cb914e5e7213481a03c139655e..83924362ad83a8aa647e8691172c7a97ac88df5c 100644 --- a/wp-content/themes/hybrid/library/extensions/loop-pagination.php +++ b/wp-content/themes/hybrid/library/extensions/loop-pagination.php @@ -13,12 +13,12 @@ * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without * even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * - * @package LoopPagination - * @version 0.1.5 - * @author Justin Tadlock <justin@justintadlock.com> + * @package LoopPagination + * @version 0.2 + * @author Justin Tadlock <justin@justintadlock.com> * @copyright Copyright (c) 2010 - 2012, Justin Tadlock - * @link http://devpress.com/blog/loop-pagination-for-theme-developers - * @license http://www.gnu.org/licenses/old-licenses/gpl-2.0.html + * @link http://themehybrid.com/docs/tutorials/loop-pagination + * @license http://www.gnu.org/licenses/old-licenses/gpl-2.0.html */ /** @@ -44,36 +44,42 @@ function loop_pagination( $args = array() ) { /* Get the max number of pages. */ $max_num_pages = intval( $wp_query->max_num_pages ); + /* Get the pagination base. */ + $pagination_base = $wp_rewrite->pagination_base; + /* Set up some default arguments for the paginate_links() function. */ $defaults = array( - 'base' => add_query_arg( 'paged', '%#%' ), - 'format' => '', - 'total' => $max_num_pages, - 'current' => $current, - 'prev_next' => true, - //'prev_text' => __( '« Previous' ), // This is the WordPress default. - //'next_text' => __( 'Next »' ), // This is the WordPress default. - 'show_all' => false, - 'end_size' => 1, - 'mid_size' => 1, + 'base' => add_query_arg( 'paged', '%#%' ), + 'format' => '', + 'total' => $max_num_pages, + 'current' => $current, + 'prev_next' => true, + //'prev_text' => __( '« Previous' ), // This is the WordPress default. + //'next_text' => __( 'Next »' ), // This is the WordPress default. + 'show_all' => false, + 'end_size' => 1, + 'mid_size' => 1, 'add_fragment' => '', - 'type' => 'plain', - 'before' => '<div class="pagination loop-pagination">', // Begin loop_pagination() arguments. - 'after' => '</div>', - 'echo' => true, + 'type' => 'plain', + + // Begin loop_pagination() arguments. + 'before' => '<div class="pagination loop-pagination">', + 'after' => '</div>', + 'echo' => true, ); /* Add the $base argument to the array if the user is using permalinks. */ - if ( $wp_rewrite->using_permalinks() ) - $defaults['base'] = str_replace( 2, '%#%', esc_url( get_pagenum_link( 2 ) ) ); - //$defaults['base'] = user_trailingslashit( trailingslashit( get_pagenum_link() ) . 'page/%#%' ); + if ( $wp_rewrite->using_permalinks() && !is_search() ) + $defaults['base'] = user_trailingslashit( trailingslashit( get_pagenum_link() ) . "{$pagination_base}/%#%" ); - /* If we're on a search results page, we need to change this up a bit. */ + /* @todo Find a way to make pretty links work for search in all cases. */ + /** if ( is_search() ) { $search_permastruct = $wp_rewrite->get_search_permastruct(); if ( !empty( $search_permastruct ) ) $defaults['base'] = user_trailingslashit( trailingslashit( get_search_link() ) . 'page/%#%' ); } + /**/ /* Allow developers to overwrite the arguments with a filter. */ $args = apply_filters( 'loop_pagination_args', $args ); @@ -89,7 +95,8 @@ function loop_pagination( $args = array() ) { $page_links = paginate_links( $args ); /* Remove 'page/1' from the entire output since it's not needed. */ - $page_links = str_replace( array( '&paged=1\'', '/page/1\'', '/page/1/\'' ), '\'', $page_links ); + $page_links = str_replace( array( "?paged=1'", "&paged=1'", "/{$pagination_base}/1'", "/{$pagination_base}/1/'" ), '\'', $page_links ); + $page_links = str_replace( array( '?paged=1"', '&paged=1"', "/{$pagination_base}/1\"", "/{$pagination_base}/1/\"" ), '\"', $page_links ); /* Wrap the paginated links with the $before and $after elements. */ $page_links = $args['before'] . $page_links . $args['after']; diff --git a/wp-content/themes/hybrid/library/extensions/post-format-tools.php b/wp-content/themes/hybrid/library/extensions/post-format-tools.php new file mode 100644 index 0000000000000000000000000000000000000000..d49a241e0577dd9e827a23b104e57ea2dddbca60 --- /dev/null +++ b/wp-content/themes/hybrid/library/extensions/post-format-tools.php @@ -0,0 +1,415 @@ +<?php +/** + * Post Format Tools - A mini library for formatting post formats. + * + * Post Format Tools has functions and filters for handling the output of post formats. This library + * helps theme developers format posts with given post formats in a more standardized fashion. + * + * This program is free software; you can redistribute it and/or modify it under the terms of the GNU + * General Public License as published by the Free Software Foundation; either version 2 of the License, + * or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without + * even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * + * @package PostFormatTools + * @version 0.1.0 + * @author Justin Tadlock <justin@justintadlock.com> + * @copyright Copyright (c) 2012, Justin Tadlock + * @link http://justintadlock.com + * @license http://www.gnu.org/licenses/old-licenses/gpl-2.0.html + */ + +// @todo Instead of creating a new row with the chat format when the same speaker: +// - we can add to an array of $chat_rows[]. This way, we can remove the last item. +// - or something like that. The basic idea is to attribute that text better to the +// - previous speaker. + +// @todo We need to make sure to 'break;' out of the loop in the video format code. Check +// - this against multiple vidoes in a single post. + +/* Filter the post format archive title. */ +add_filter( 'single_term_title', 'post_format_tools_single_term_title' ); + +/* Filter the content of chat posts. */ +add_filter( 'the_content', 'post_format_tools_chat_content' ); + +/* Auto-add paragraphs to the chat text. */ +add_filter( 'post_format_chat_text', 'wpautop' ); + +/* Wraps <blockquote> around quote posts. */ +add_filter( 'the_content', 'post_format_tools_quote_content' ); + +/* Makes URLs in link posts clickable. */ +add_filter( 'the_content', 'post_format_tools_link_content' ); + +/** + * Filters the single post format title, which is used on the term archive page. The purpose of this + * function is to replace the singular name with a plural version. + * + * @since 0.1.0 + * @access public + * @param string $title The term name. + * @return string + */ +function post_format_tools_single_term_title( $title ) { + + if ( is_tax( 'post_format' ) ) { + $term = get_queried_object(); + $plural = post_format_tools_get_plural_string( $term->slug ); + $title = !empty( $plural ) ? $plural : $title; + } + + return $title; +} + +/** + * Gets the plural version of a post format name. + * + * @since 0.1.0 + * @access public + * @param string $slug The term slug. + * @return string + */ +function post_format_tools_get_plural_string( $slug ) { + + $strings = post_format_tools_get_plural_strings(); + + $slug = str_replace( 'post-format-', '', $slug ); + + return isset( $strings[ $slug ] ) ? $strings[ $slug ] : ''; +} + +/** + * Defines plural versions of the post format names since WordPress only provides a singular version + * of each format. Basically, I hate having archive pages labeled with the singular name, so this is + * what I created to take care of that problem. + * + * @since 0.1.0 + * @access public + * @return array + */ +function post_format_tools_get_plural_strings() { + + $strings = array( + // 'standard' => __( 'Articles', 'post-format-tools' ), // Would this ever be used? + 'aside' => __( 'Asides', 'post-format-tools' ), + 'audio' => __( 'Audio', 'post-format-tools' ), // Leave as "Audio"? + 'chat' => __( 'Chats', 'post-format-tools' ), + 'image' => __( 'Images', 'post-format-tools' ), + 'gallery' => __( 'Galleries', 'post-format-tools' ), + 'link' => __( 'Links', 'post-format-tools' ), + 'quote' => __( 'Quotes', 'post-format-tools' ), // Use "Quotations"? + 'status' => __( 'Status Updates', 'post-format-tools' ), + 'video' => __( 'Videos', 'post-format-tools' ), + ); + + return apply_filters( 'post_format_tools_plural_strings', $strings ); +} + +/** + * Checks if a post has any content. Useful if you need to check if the user has written any content + * before performing any actions. + * + * @since 0.1.0 + * @access public + * @param int $id The ID of the post. + * @return bool Whether the post has content. + */ +function post_format_tools_post_has_content( $id = 0 ) { + $post = get_post( $id ); + return ( !empty( $post->post_content ) ? true : false ); +} + +/** + * Wraps the output of the quote post format content in a <blockquote> element if the user hasn't added a + * <blockquote> in the post editor. + * + * @since 0.1.0 + * @access public + * @param string $content The post content. + * @return string $content + */ +function post_format_tools_quote_content( $content ) { + + if ( has_post_format( 'quote' ) ) { + preg_match( '/<blockquote.*?>/', $content, $matches ); + + if ( empty( $matches ) ) + $content = "<blockquote>{$content}</blockquote>"; + } + + return $content; +} + +/** + * Filters the content of the link format posts. Wraps the content in the make_clickable() function + * so that users can enter just a URL into the post content editor. + * + * @since 0.1.0 + * @access public + * @param string $content The post content. + * @return string $content + */ +function post_format_tools_link_content( $content ) { + + if ( has_post_format( 'link' ) ) + $content = make_clickable( $content ); + + return $content; +} + +/** + * Grabs the first URL from the post content of the current post. This is meant to be used with the link post + * format to easily find the link for the post. + * + * @note This is a modified version of the twentyeleven_url_grabber() function in the TwentyEleven theme. + * @author wordpressdotorg + * @copyright Copyright (c) 2011, wordpressdotorg + * @link http://wordpress.org/extend/themes/twentyeleven + * @license http://wordpress.org/about/license + * + * @since 0.1.0 + * @access public + * @return string The link if found. Otherwise, the permalink to the post. + */ +function post_format_tools_url_grabber() { + + if ( ! preg_match( '/<a\s[^>]*?href=[\'"](.+?)[\'"]/is', make_clickable( get_the_content() ), $matches ) ) + return get_permalink( get_the_ID() ); + + return esc_url_raw( $matches[1] ); +} + +/** + * Returns the number of images attached to the current post in the loop. + * + * @since 0.1.0 + * @access public + * @return int + */ +function post_format_tools_get_image_attachment_count() { + $images = get_children( array( 'post_parent' => get_the_ID(), 'post_type' => 'attachment', 'post_mime_type' => 'image', 'numberposts' => -1 ) ); + return count( $images ); +} + +/** + * Strips the 'post-format-' prefix from a post format (term) slug. + * + * @since 0.1.0 + * @access public + * @param string $slug The slug of the post format. + * @return string + */ +function post_format_tools_clean_post_format_slug( $slug ) { + return str_replace( 'post-format-', '', $slug ); +} + +/** + * This function filters the post content when viewing a post with the "chat" post format. It formats + * the content with structured HTML markup to make it easy for theme developers to style chat posts. + * The advantage of this solution is that it allows for more than two speakers (like most solutions). + * You can have 100s of speakers in your chat post, each with their own, unique classes for styling. + * + * @author David Chandra <david.warna@gmail.com> + * @author Justin Tadlock <justin@justintadlock.com> + * @copyright Copyright (c) 2012 + * @link http://justintadlock.com/archives/2012/08/21/post-formats-chat + * + * @since 0.1.0 + * @access public + * @global array $_post_format_chat_ids An array of IDs for the chat rows based on the author. + * @param string $content The content of the post. + * @return string $chat_output The formatted content of the post. + */ +function post_format_tools_chat_content( $content ) { + global $_post_format_chat_ids; + + /* If this is not a 'chat' post, return the content. */ + if ( !has_post_format( 'chat' ) ) + return $content; + + /* Set the global variable of speaker IDs to a new, empty array for this chat. */ + $_post_format_chat_ids = array(); + $chat_author = ''; + $speaker_id = 0; + + /* Allow the separator (separator for speaker/text) to be filtered. */ + $separator = apply_filters( 'post_format_chat_separator', ':' ); + + /* Open the chat transcript div and give it a unique ID based on the post ID. */ + $chat_output = "\n\t\t\t" . '<div id="chat-transcript-' . esc_attr( get_the_ID() ) . '" class="chat-transcript">'; + + /* Split the content to get individual chat rows. */ + $chat_rows = preg_split( "/(\r?\n)+|(<br\s*\/?>\s*)+/", $content ); + + /* Loop through each row and format the output. */ + foreach ( $chat_rows as $chat_row ) { + + /* If a speaker is found, create a new chat row with speaker and text. */ + if ( preg_match( '/(?<!http|https)' . $separator . '/', $chat_row ) ) { + + /* Split the chat row into author/text. */ + $chat_row_split = explode( $separator, trim( $chat_row ), 2 ); + + /* Get the chat author and strip tags. */ + $chat_author = strip_tags( trim( $chat_row_split[0] ) ); + + /* Get the chat text. */ + $chat_text = trim( $chat_row_split[1] ); + + /* Get the chat row ID (based on chat author) to give a specific class to each row for styling. */ + $speaker_id = post_format_tools_chat_row_id( $chat_author ); + + /* Open the chat row. */ + $chat_output .= "\n\t\t\t\t" . '<div class="chat-row ' . sanitize_html_class( "chat-speaker-{$speaker_id}" ) . '">'; + + /* Add the chat row author. */ + $chat_output .= "\n\t\t\t\t\t" . '<div class="chat-author ' . sanitize_html_class( strtolower( "chat-author-{$chat_author}" ) ) . ' vcard"><cite class="fn">' . apply_filters( 'post_format_chat_author', $chat_author, $speaker_id ) . '</cite>' . $separator . '</div>'; + + /* Add the chat row text. */ + $chat_output .= "\n\t\t\t\t\t" . '<div class="chat-text">' . str_replace( array( "\r", "\n", "\t" ), '', apply_filters( 'post_format_chat_text', $chat_text, $chat_author, $speaker_id ) ) . '</div>'; + + /* Close the chat row. */ + $chat_output .= "\n\t\t\t\t" . '</div><!-- .chat-row -->'; + } + + /** + * If no author is found, assume this is a separate paragraph of text that belongs to the + * previous speaker and label it as such, but let's still create a new row. + */ + else { + + /* Make sure we have text. */ + if ( !empty( $chat_row ) ) { + + /* Open the chat row. */ + $chat_output .= "\n\t\t\t\t" . '<div class="chat-row ' . sanitize_html_class( "chat-speaker-{$speaker_id}" ) . '">'; + + /* Don't add a chat row author. The label for the previous row should suffice. */ + + /* Add the chat row text. */ + $chat_output .= "\n\t\t\t\t\t" . '<div class="chat-text">' . str_replace( array( "\r", "\n", "\t" ), '', apply_filters( 'post_format_chat_text', $chat_row, $chat_author, $speaker_id ) ) . '</div>'; + + /* Close the chat row. */ + $chat_output .= "\n\t\t\t</div><!-- .chat-row -->"; + } + } + } + + /* Close the chat transcript div. */ + $chat_output .= "\n\t\t\t</div><!-- .chat-transcript -->\n"; + + /* Return the chat content and apply filters for developers. */ + return apply_filters( 'post_format_chat_content', $chat_output ); +} + +/** + * This function returns an ID based on the provided chat author name. It keeps these IDs in a global + * array and makes sure we have a unique set of IDs. The purpose of this function is to provide an "ID" + * that will be used in an HTML class for individual chat rows so they can be styled. So, speaker "John" + * will always have the same class each time he speaks. And, speaker "Mary" will have a different class + * from "John" but will have the same class each time she speaks. + * + * @author David Chandra <david.warna@gmail.com> + * @author Justin Tadlock <justin@justintadlock.com> + * @copyright Copyright (c) 2012 + * @link http://justintadlock.com/archives/2012/08/21/post-formats-chat + * + * @since 0.1.0 + * @access public + * @global array $_post_format_chat_ids An array of IDs for the chat rows based on the author. + * @param string $chat_author Author of the current chat row. + * @return int The ID for the chat row based on the author. + */ +function post_format_tools_chat_row_id( $chat_author ) { + global $_post_format_chat_ids; + + /* Let's sanitize the chat author to avoid craziness and differences like "John" and "john". */ + $chat_author = strtolower( strip_tags( $chat_author ) ); + + /* Add the chat author to the array. */ + $_post_format_chat_ids[] = $chat_author; + + /* Make sure the array only holds unique values. */ + $_post_format_chat_ids = array_unique( $_post_format_chat_ids ); + + /* Return the array key for the chat author and add "1" to avoid an ID of "0". */ + return absint( array_search( $chat_author, $_post_format_chat_ids ) ) + 1; +} + +/** + * Retrieves embedded videos from the post content. This script only searches for embeds used by + * the WordPress embed functionality. + * + * @since 0.1.0 + * @access public + * @global object $wp_embed The global WP_Embed object. + * @param array $args Arguments for the [embed] shortcode. + * @return string + */ +function post_format_tools_get_video( $args = array() ) { + global $wp_embed; + + /* If this is not a 'video' post, return. */ + if ( !has_post_format( 'video' ) ) + return false; + + /* Merge the input arguments and the defaults. */ + $args = wp_parse_args( $args, wp_embed_defaults() ); + + /* Get the post content. */ + $content = get_the_content(); + + /* Set the default $embed variable to false. */ + $embed = false; + + /* Use WP's built in WP_Embed class methods to handle the dirty work. */ + add_filter( 'post_format_tools_video_shortcode_embed', array( $wp_embed, 'run_shortcode' ) ); + add_filter( 'post_format_tools_video_auto_embed', array( $wp_embed, 'autoembed' ) ); + + /* We don't want to return a link when an embed doesn't work. Filter this to return false. */ + add_filter( 'embed_maybe_make_link', '__return_false' ); + + /* Check for matches against the [embed] shortcode. */ + preg_match_all( '|\[embed.*?](.*?)\[/embed\]|i', $content, $matches, PREG_SET_ORDER ); + + /* If matches were found, loop through them to see if we can hit the jackpot. */ + if ( is_array( $matches ) ) { + foreach ( $matches as $value ) { + + /* Apply filters (let WP handle this) to get an embedded video. */ + $embed = apply_filters( 'post_format_tools_video_shortcode_embed', '[embed width="' . absint( $args['width'] ) . '" height="' . absint( $args['height'] ) . '"]' . $value[1]. '[/embed]' ); + + /* If no embed, continue looping through the array of matches. */ + if ( empty( $embed ) ) + continue; + } + } + + /* If no embed at this point and the user has 'auto embeds' turned on, let's check for URLs in the post. */ + if ( empty( $embed ) && get_option( 'embed_autourls' ) ) { + preg_match_all( '|^\s*(https?://[^\s"]+)\s*$|im', $content, $matches, PREG_SET_ORDER ); + + /* If URL matches are found, loop through them to see if we can get an embed. */ + if ( is_array( $matches ) ) { + foreach ( $matches as $value ) { + + /* Let WP work its magic with the 'autoembed' method. */ + $embed = apply_filters( 'post_format_tools_video_auto_embed', $value[0] ); + + /* If no embed, continue looping through the array of matches. */ + if ( empty( $embed ) ) + continue; + } + } + } + + /* Remove the maybe make link filter. */ + remove_filter( 'embed_maybe_make_link', '__return_false' ); + + /* Return the embed. */ + return $embed; +} + +?> \ No newline at end of file diff --git a/wp-content/themes/hybrid/library/extensions/post-stylesheets.php b/wp-content/themes/hybrid/library/extensions/post-stylesheets.php index 0455e4242965586910b482ea32bf59ba28b43f75..0eb971f0a7d4d6397d2d8071e4e5c8c1eb5a9b47 100644 --- a/wp-content/themes/hybrid/library/extensions/post-stylesheets.php +++ b/wp-content/themes/hybrid/library/extensions/post-stylesheets.php @@ -3,8 +3,9 @@ * Post Stylesheets - A WordPress script for post-specific stylesheets. * * Post Stylesheets allows users and developers to add unique, per-post stylesheets. This script was - * created so that custom stylesheet files could be dropped into a theme's '/css' folder and loaded for - * individual posts using the 'Stylesheet' post meta key and the stylesheet name as the post meta value. + * created so that custom stylesheet files could be dropped into a theme folder or sub-folder and loaded + * for individual posts using the 'Stylesheet' post meta key and the stylesheet name as the post meta + * value. Custom stylesheets must have the 'Style Name: Value' header. * * This program is free software; you can redistribute it and/or modify it under the terms of the GNU * General Public License as published by the Free Software Foundation; either version 2 of the License, @@ -13,14 +14,12 @@ * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without * even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * - * @package PostStylesheets - * @version 0.3.0 - * @author Justin Tadlock <justin@justintadlock.com> + * @package PostStylesheets + * @version 0.4.0 + * @author Justin Tadlock <justin@justintadlock.com> * @copyright Copyright (c) 2010 - 2012, Justin Tadlock - * @link http://justintadlock.com - * @license http://www.gnu.org/licenses/old-licenses/gpl-2.0.html - * - * @todo register_meta() + * @link http://justintadlock.com + * @license http://www.gnu.org/licenses/old-licenses/gpl-2.0.html */ /* Register metadata with WordPress. */ @@ -41,6 +40,7 @@ add_action( 'admin_menu', 'post_stylesheets_admin_setup' ); * the metadata on update. * * @since 0.3.0 + * @access public * @return void */ function post_stylesheets_register_meta() { @@ -53,12 +53,13 @@ function post_stylesheets_register_meta() { * "sanitize_{$meta_type}_meta_{$meta_key}" filter hook to do so. * * @since 0.3.0 + * @access public * @param mixed $meta_value The value of the data to sanitize. * @param string $meta_key The meta key name. * @param string $meta_type The type of metadata (post, comment, user, etc.) * @return mixed $meta_value */ -function post_styleheets_sanitize_meta( $meta_value, $meta_key, $meta_type ) { +function post_stylesheets_sanitize_meta( $meta_value, $meta_key, $meta_type ) { return esc_attr( strip_tags( $meta_value ) ); } @@ -66,7 +67,7 @@ function post_styleheets_sanitize_meta( $meta_value, $meta_key, $meta_type ) { * Adds post type support for the 'post-stylesheets' feature to all 'public' post types. * * @since 0.3.0 - * @access private + * @access public * @return void */ function post_stylesheets_add_post_type_support() { @@ -83,7 +84,7 @@ function post_stylesheets_add_post_type_support() { * Removes post stylesheets support for certain post types created by plugins. * * @since 0.3.0 - * @access private + * @access public * @return void */ function post_stylesheets_remove_post_type_support() { @@ -105,7 +106,7 @@ function post_stylesheets_remove_post_type_support() { * * @since 0.1.0 * @todo Use features from Ticket #18302 when available. http://core.trac.wordpress.org/ticket/18302 - * @access private + * @access public * @param string $stylesheet_uri The URI of the active theme's stylesheet. * @param string $stylesheet_dir_uri The directory URI of the active theme's stylesheet. * @return string $stylesheet_uri @@ -136,13 +137,34 @@ function post_stylesheets_stylesheet_uri( $stylesheet_uri, $stylesheet_dir_uri ) /* If a meta value was given and the file exists, set $stylesheet_uri to the new file. */ if ( !empty( $stylesheet ) ) { - /* If the stylesheet is found in the child theme '/css' folder, use it. */ - if ( file_exists( trailingslashit( get_stylesheet_directory() ) . "css/{$stylesheet}" ) ) - $stylesheet_uri = trailingslashit( $stylesheet_dir_uri ) . "css/{$stylesheet}"; - - /* Else, if the stylesheet is found in the parent theme '/css' folder, use it. */ - elseif ( file_exists( trailingslashit( get_template_directory() ) . "css/{$stylesheet}" ) ) - $stylesheet_uri = trailingslashit( get_template_directory_uri() ) . "css/{$stylesheet}"; + /* If the stylesheet is found in the child theme, use it. */ + if ( file_exists( trailingslashit( get_stylesheet_directory() ) . $stylesheet ) ) { + $stylesheet_uri = trailingslashit( $stylesheet_dir_uri ) . $stylesheet; + } + + /* Else, if the stylesheet is found in the parent theme, use it. */ + elseif ( file_exists( trailingslashit( get_template_directory() ) . $stylesheet ) ) { + $stylesheet_uri = trailingslashit( get_template_directory_uri() ) . $stylesheet; + } + + /* @deprecated 0.4.0 Back compatibility. */ + else { + /* If the stylesheet is found in the child theme '/css' folder, use it. */ + if ( file_exists( trailingslashit( get_stylesheet_directory() ) . "css/{$stylesheet}" ) ) { + $stylesheet_uri = trailingslashit( $stylesheet_dir_uri ) . "css/{$stylesheet}"; + + /* Set the post stylesheet to the correct directory. */ + set_post_stylesheet( $post->ID, str_replace( get_stylesheet_directory_uri(), 'css/', $stylesheet_uri ) ); + } + + /* Else, if the stylesheet is found in the parent theme '/css' folder, use it. */ + elseif ( file_exists( trailingslashit( get_template_directory() ) . "css/{$stylesheet}" ) ) { + $stylesheet_uri = trailingslashit( get_template_directory_uri() ) . "css/{$stylesheet}"; + + /* Set the post stylesheet to the correct directory. */ + set_post_stylesheet( $post->ID, str_replace( get_template_directory_uri(), 'css/', $stylesheet_uri ) ); + } + } } } } @@ -211,7 +233,7 @@ function has_post_stylesheet( $stylesheet, $post_id = '' ) { * Admin setup for the post stylesheets script. * * @since 0.3.0 - * @access private + * @access public * @return void */ function post_stylesheets_admin_setup() { @@ -226,7 +248,7 @@ function post_stylesheets_admin_setup() { * to save the metadata. * * @since 0.3.0 - * @access private + * @access public * @return void */ function post_stylesheets_load_meta_boxes() { @@ -236,6 +258,8 @@ function post_stylesheets_load_meta_boxes() { /* Saves the post meta box data. */ add_action( 'save_post', 'post_stylesheets_meta_box_save', 10, 2 ); + add_action( 'add_attachment', 'post_stylesheets_meta_box_save' ); + add_action( 'edit_attachment', 'post_stylesheets_meta_box_save' ); } /** @@ -243,7 +267,7 @@ function post_stylesheets_load_meta_boxes() { * permission to edit post meta. * * @since 0.2.0 - * @access private + * @access public * @param string $post_type The post type of the current post being edited. * @param object $post The current post object. * @return void @@ -259,7 +283,7 @@ function post_stylesheets_create_meta_box( $post_type, $post ) { * Displays the input field for entering a custom stylesheet. * * @since 0.2.0 - * @access private + * @access public * @param object $object The post object currently being edited. * @param array $box Specific information about the meta box being loaded. * @return void @@ -268,7 +292,17 @@ function post_stylesheets_meta_box( $object, $box ) { ?> <p> <?php wp_nonce_field( basename( __FILE__ ), 'post-stylesheets-nonce' ); ?> - <input type="text" class="widefat" name="post-stylesheets" id="post-stylesheets" value="<?php echo esc_attr( get_post_stylesheet( $object->ID ) ); ?>" /> + <?php $styles = post_stylesheets_get_styles(); ?> + + <select name="post-stylesheets" id="post-stylesheets" class="widefat"> + <option value=""></option> + + <?php if ( !empty( $styles ) ) { + foreach ( $styles as $label => $file ) { ?> + <option value="<?php echo esc_attr( $file ); ?>" <?php selected( get_post_stylesheet( $object->ID ), esc_attr( $file ) ); ?>><?php echo esc_html( $label ); ?></option> + <?php } + } ?> + </select> </p> <?php } @@ -277,11 +311,15 @@ function post_stylesheets_meta_box( $object, $box ) { ?> * Saves the user-selected post stylesheet on the 'save_post' hook. * * @since 0.2.0 - * @access private + * @access public * @param int $post_id The ID of the current post being saved. * @param object $post The post object currently being saved. */ -function post_stylesheets_meta_box_save( $post_id, $post ) { +function post_stylesheets_meta_box_save( $post_id, $post = '' ) { + + /* Fix for attachment save issue in WordPress 3.5. @link http://core.trac.wordpress.org/ticket/21963 */ + if ( !is_object( $post ) ) + $post = get_post(); /* Verify the nonce before proceeding. */ if ( !isset( $_POST['post-stylesheets-nonce'] ) || !wp_verify_nonce( $_POST['post-stylesheets-nonce'], basename( __FILE__ ) ) ) @@ -313,6 +351,43 @@ function post_stylesheets_meta_box_save( $post_id, $post ) { set_post_stylesheet( $post_id, $new_meta_value ); } +/** + * Gets the stylesheet files within the parent or child theme and checks if they have the 'Style Name' + * header. If any files are found, they are returned in an array. + * + * @since 0.4.0 + * @access public + * @return array + */ +function post_stylesheets_get_styles() { + + /* Set up an empty styles array. */ + $styles = array(); + + /* Get the theme object. */ + $theme = wp_get_theme(); + + /* Get the theme CSS files two levels deep. */ + $files = (array) $theme->get_files( 'css', 2, true ); + + /* Loop through each of the CSS files and check if they are styles. */ + foreach ( $files as $file => $path ) { + + /* Get file data based on the 'Style Name' header. */ + $headers = get_file_data( $path, array( 'Style Name' => 'Style Name' ) ); + + /* Continue loop if the header is empty. */ + if ( empty( $headers['Style Name'] ) ) + continue; + + /* Add the CSS filename and template name to the array. */ + $styles[ $file ] = $headers['Style Name']; + } + + /* Return array of styles. */ + return array_flip( $styles ); +} + /** * Returns the meta key used by the script for post metadata. * diff --git a/wp-content/themes/hybrid/library/extensions/random-custom-background.php b/wp-content/themes/hybrid/library/extensions/random-custom-background.php new file mode 100644 index 0000000000000000000000000000000000000000..78530c56b07bde25fd7214b3d487bd36a81b860f --- /dev/null +++ b/wp-content/themes/hybrid/library/extensions/random-custom-background.php @@ -0,0 +1,321 @@ +<?php +/** + * Random Custom Background - A script for handling random backgrounds. + * + * This script was created to make it simple for theme developers to set a random background for + * their theme instead of just a single background. The script is just an extension of the WordPress + * 'custom-background' theme feature. It allows the user to select a permanent background, but if + * no user background is set, the random background is shown. + * + * This program is free software; you can redistribute it and/or modify it under the terms of the GNU + * General Public License as published by the Free Software Foundation; either version 2 of the License, + * or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without + * even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * + * @package RandomCustomBackground + * @version 0.1.0 + * @author Justin Tadlock <justin@justintadlock.com> + * @copyright Copyright (c) 2012, Justin Tadlock + * @link http://justintadlock.com + * @license http://www.gnu.org/licenses/old-licenses/gpl-2.0.html + */ + +/** + * Generates a random custom background and filters the 'theme_mod_background_*' hooks to + * overwrite the theme's set background. + * + * @since 0.1.0 + * @access public + */ +class Random_Custom_Background { + + /** + * The background color property. + * + * @since 0.1.0 + * @access public + * @var string + */ + public $color = ''; + + /** + * The background image property. + * + * @since 0.1.0 + * @access public + * @var string + */ + public $image = ''; + + /** + * The background repeat property. Allowed: 'no-repeat', 'repeat', 'repeat-x', 'repeat-y'. + * + * @since 0.1.0 + * @access public + * @var string + */ + public $repeat = 'repeat'; + + /** + * The vertical value of the background position property. Allowed: 'top', 'bottom', 'center'. + * + * @since 0.1.0 + * @access public + * @var string + */ + public $position_y = 'top'; + + /** + * The horizontal value of the background position property. Allowed: 'left', 'right', 'center'. + * + * @since 0.1.0 + * @access public + * @var string + */ + public $position_x = 'left'; + + /** + * The background attachment property. Allowed: 'scroll', 'fixed'. + * + * @since 0.1.0 + * @access public + * @var string + */ + public $attachment = 'scroll'; + + /** + * Constructor method. Sets up the random background feature. + * + * @since 0.1.0 + * @access public + * @return void + */ + public function __construct() { + + /* The theme should actually support the custom background feature. */ + if ( !current_theme_supports( 'custom-background' ) ) + add_theme_support( 'custom-background', array( 'wp-head-callback' => '__return_false' ) ); + + /* Generate a random background. */ + $this->generate_random_background(); + + /* Get the user-selected background image. */ + $image = get_theme_mod( 'background_image', '' ); + + /* Filter the background color. */ + add_filter( 'theme_mod_background_color', array( &$this, 'background_color' ) ); + + /* Filter the background image. */ + add_filter( 'theme_mod_background_image', array( &$this, 'background_image' ) ); + + /** + * If no background image is set by the user, set the properties related to the background + * image. The script must overwrite these values completely rather than relinquish control + * to the user setting to work properly with the random image. + */ + if ( empty( $image ) && !empty( $this->image ) ) { + add_filter( 'theme_mod_background_repeat', array( &$this, 'background_repeat' ) ); + add_filter( 'theme_mod_background_position_y', array( &$this, 'background_position_y' ) ); + add_filter( 'theme_mod_background_position_x', array( &$this, 'background_position_x' ) ); + add_filter( 'theme_mod_background_attachment', array( &$this, 'background_attachment' ) ); + } + + /* Get the custom background arguments. */ + $supports = get_theme_support( 'custom-background' ); + + /* If '__return_false' is the wp_head callback, roll our own. */ + if ( isset( $supports[0]['wp-head-callback'] ) && '__return_false' == $supports[0]['wp-head-callback'] ) + add_action( 'wp_head', array( &$this, 'custom_background_callback' ) ); + } + + /** + * Generates a random background image from the theme's random images set. Themes should + * add a second parameter to register their backgrounds (an array of background arrays). + * add_theme_support( 'random-custom-background', $backgrounds ). + * + * Supported background arguments: 'image', 'color', 'repeat', 'position_y', 'position_x', 'attachment'. + * + * @since 0.1.0 + * @access public + * @return void + */ + public function generate_random_background() { + + /* Get the theme-supported random background array. */ + $supports = get_theme_support( 'random-custom-background' ); + + /* Get the random backgrounds set. */ + $backgrounds = isset( $supports[0] ) ? $supports[0] : array(); + + /* Allow developers to overwrite the backgrounds. */ + $backgrounds = apply_filters( 'random_custom_backgrounds', $backgrounds ); + + /* If no backgrounds are set, return. */ + if ( empty( $backgrounds ) ) + return; + + /* Count the number of backgrounds. */ + $count = count( $backgrounds ); + + /* Generate a random background from the given set of backgrounds. */ + if ( 1 < $count ) { + $random = mt_rand( 0, $count - 1 ); + $args = $backgrounds[ $random ]; + } + + /* Get the background arguments if there's just one background. */ + else { + $args = $backgrounds[0]; + } + + /* Set the background properties. */ + $this->image = !empty( $args['image'] ) ? $args['image'] : $this->image; + $this->color = !empty( $args['color'] ) ? $args['color'] : $this->color; + $this->repeat = !empty( $args['repeat'] ) ? $args['repeat'] : $this->repeat; + $this->position_y = !empty( $args['position_y'] ) ? $args['position_y'] : $this->position_y; + $this->position_x = !empty( $args['position_x'] ) ? $args['position_x'] : $this->position_x; + $this->attachment = !empty( $args['attachment'] ) ? $args['attachment'] : $this->attachment; + } + + /** + * Sets the background color. This script will respect the user's background color setting. + * If the user has set a color, the random color won't be used. + * + * @since 0.1.0 + * @access public + * @param string $color The background color property. + * @return string + */ + public function background_color( $color ) { + + /* Only return random color if the user hasn't chosen a color. */ + return empty( $color ) ? preg_replace( '/[^0-9a-fA-F]/', '', $this->color ) : $color; + } + + /** + * Sets the background image. This script will respect the user's background image setting. + * If the user has set an image, the random image won't be used. + * + * @since 0.1.0 + * @access public + * @param string $image The background image property. + * @return string + */ + public function background_image( $image ) { + + /* Only return the random image if the user hasn't chosen an image. */ + return empty( $image ) ? esc_url( $this->image ) : $image; + } + + /** + * Sets the background repeat property. Only exectued if using a random background. + * + * @since 0.1.0 + * @access public + * @param string $repeat The background repeat property. + * @return string + */ + public function background_repeat( $repeat ) { + return $this->repeat; + } + + /** + * Sets the background vertical position. This isn't technically supported in WordPress (as + * of 3.5). This method is only executed if using a random background image and the + * custom_background_callback() method is executed (themes can also use it in custom + * callbacks). + * + * @since 0.1.0 + * @access public + * @param string $position_y The background vertical position. + * @return string + */ + public function background_position_y( $position_y ) { + return $this->position_y; + } + + /** + * Sets the background horizontal position. Only exectued if using a random background image. + * + * @since 0.1.0 + * @access public + * @param string $position_x The background horizontal position. + * @return string + */ + public function background_position_x( $position_x ) { + return $this->position_x; + } + + /** + * Sets the background attachment property. Only exectued if using a random background image. + * + * @since 0.1.0 + * @access public + * @param string $url The background attachment property. + * @return string + */ + public function background_attachment( $attachment ) { + return $this->attachment; + } + + /** + * Outputs the custom background style in the header. This function is only executed if the value + * of the 'wp-head-callback' for the 'custom-background' feature is set to '__return_false'. + * + * @since 0.1.0 + * @access public + * @return void + */ + public function custom_background_callback() { + + /* Get the background image. */ + $image = set_url_scheme( get_background_image() ); + + /* Get the background color. */ + $color = get_background_color(); + + /* If there is no image or color, bail. */ + if ( empty( $image ) && empty( $color ) ) + return; + + /* Set the background color. */ + $style = $color ? "background-color: #{$color};" : ''; + + /* If there's a background image, add it. */ + if ( $image ) { + + /* Background image. */ + $style .= " background-image: url('{$image}');"; + + /* Background repeat. */ + $repeat = get_theme_mod( 'background_repeat', 'repeat' ); + $repeat = in_array( $repeat, array( 'no-repeat', 'repeat-x', 'repeat-y', 'repeat' ) ) ? $repeat : 'repeat'; + + $style .= " background-repeat: {$repeat};"; + + /* Background position. */ + $position_y = get_theme_mod( 'background_position_y', 'top' ); + $position_y = in_array( $position_y, array( 'top', 'center', 'bottom' ) ) ? $position_y : 'top'; + + $position_x = get_theme_mod( 'background_position_x', 'left' ); + $position_x = in_array( $position_x, array( 'center', 'right', 'left' ) ) ? $position_x : 'left'; + + $style .= " background-position: {$position_y} {$position_x};"; + + /* Background attachment. */ + $attachment = get_theme_mod( 'background_attachment', 'scroll' ); + $attachment = in_array( $attachment, array( 'fixed', 'scroll' ) ) ? $attachment : 'scroll'; + + $style .= " background-attachment: {$attachment};"; + } + + /* Output the custom background style. */ + echo "\n" . '<style type="text/css" id="custom-background-css">body.custom-background{ ' . trim( $style ) . ' }</style>' . "\n"; + } +} + +new Random_Custom_Background(); + +?> \ No newline at end of file diff --git a/wp-content/themes/hybrid/library/extensions/theme-layouts.php b/wp-content/themes/hybrid/library/extensions/theme-layouts.php index db0220249cafeec85db4f6ff6fd3d5556a520011..e26405dea47e5c3d8efd273348de8b173b19464e 100644 --- a/wp-content/themes/hybrid/library/extensions/theme-layouts.php +++ b/wp-content/themes/hybrid/library/extensions/theme-layouts.php @@ -18,12 +18,12 @@ * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without * even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * - * @package ThemeLayouts - * @version 0.4.0 - * @author Justin Tadlock <justin@justintadlock.com> + * @package ThemeLayouts + * @version 0.5.0 + * @author Justin Tadlock <justin@justintadlock.com> * @copyright Copyright (c) 2010 - 2012, Justin Tadlock - * @link http://justintadlock.com - * @license http://www.gnu.org/licenses/old-licenses/gpl-2.0.html + * @link http://justintadlock.com + * @license http://www.gnu.org/licenses/old-licenses/gpl-2.0.html */ /* Register metadata with WordPress. */ @@ -34,14 +34,20 @@ add_action( 'init', 'theme_layouts_add_post_type_support' ); add_action( 'init', 'theme_layouts_remove_post_type_support' ); /* Set up the custom post layouts. */ -add_action( 'admin_menu', 'theme_layouts_admin_setup' ); +add_action( 'admin_init', 'theme_layouts_admin_setup' ); + +/* Add layout option in Customize. */ +add_action( 'customize_register', 'theme_layouts_customize_register' ); + +/* Filters the theme layout mod. */ +add_filter( 'theme_mod_theme_layout', 'theme_layouts_filter_layout' ); /* Filters the body_class hook to add a custom class. */ add_filter( 'body_class', 'theme_layouts_body_class' ); /** - * Registers the theme layouts meta key ('Layout') for specific object types and provides a function to sanitize - * the metadata on update. + * Registers the theme layouts meta key ('Layout') for specific object types and provides a function to + * sanitize the metadata on update. * * @since 0.4.0 * @return void @@ -67,8 +73,8 @@ function theme_layouts_sanitize_meta( $meta_value, $meta_key, $meta_type ) { } /** - * Adds post type support to all 'public' post types. This allows themes to remove support for the 'theme-layouts' - * feature with remove_post_type_support(). + * Adds post type support to all 'public' post types. This allows themes to remove support for the + * 'theme-layouts' feature with remove_post_type_support(). * * @since 0.4.0 * @return void @@ -97,52 +103,88 @@ function theme_layouts_remove_post_type_support() { } /** - * Gets the layout for the current post based off the 'Layout' custom field key if viewing a singular post - * entry. All other pages are given a default layout of 'layout-default'. + * Gets all the available layouts for the theme. * - * @since 0.2.0 - * @return string The layout for the given page. + * @since 0.5.0 + * @access public + * @return array Either theme-supported layouts or the default layouts. */ -function theme_layouts_get_layout() { +function theme_layouts_get_layouts() { - /* Get the available post layouts. */ - $post_layouts = get_theme_support( 'theme-layouts' ); + $layouts = get_theme_support( 'theme-layouts' ); - /* Set the layout to an empty string. */ - $layout = ''; + return isset( $layouts[0] ) ? $layouts[0] : array_keys( theme_layouts_strings() ); +} - /* If viewing a singular post, check if a layout has been specified. */ - if ( is_singular() ) { +/** + * Returns an array of arguments for setting up the theme layouts script. The defaults are merged + * with the theme-supported arguments. + * + * @since 0.5.0 + * @access public + * @return array Arguments for the theme layouts script. + */ +function theme_layouts_get_args() { - /* Get the current post ID. */ - $post_id = get_queried_object_id(); + $layouts = get_theme_support( 'theme-layouts' ); - /* Get the post layout. */ - $layout = get_post_layout( $post_id ); - } + $args = isset( $layouts[1] ) ? $layouts[1] : array(); - /* If viewing a user/author archive, check if a layout has been specified. */ - elseif ( is_author() ) { + return wp_parse_args( $args, array( 'customize' => true, 'default' => 'default' ) ); +} - /* Get the current user ID. */ - $user_id = get_queried_object_id(); +/** + * Filters the 'theme_mods_theme_layout' hook to alter the layout based on post and user metadata. + * Theme authors should also use this hook to filter the layout if need be. + * + * @since 0.5.0 + * @access public + * @param string $theme_layout + * @return string + */ +function theme_layouts_filter_layout( $theme_layout ) { - /* Get the user layout. */ - $layout = get_user_layout( $user_id ); - } + /* If viewing a singular post, get the post layout. */ + if ( is_singular() ) + $layout = get_post_layout( get_queried_object_id() ); - /* Make sure the given layout is in the array of available post layouts for the theme. */ - if ( empty( $layout ) || !in_array( $layout, $post_layouts[0] ) ) - $layout = 'default'; + /* If viewing an author archive, get the user layout. */ + elseif ( is_author() ) + $layout = get_user_layout( get_queried_object_id() ); + + /* If a layout was found, set it. */ + if ( !empty( $layout ) && 'default' !== $layout ) + $theme_layout = $layout; - /* If the theme set a default layout, use it if the layout should be set to default. */ - if ( 'default' == $layout && !empty( $post_layouts[1] ) && isset( $post_layouts[1]['default'] ) ) - $layout = $post_layouts[1]['default']; + return $theme_layout; +} + +/** + * Gets the layout for the current post based off the 'Layout' custom field key if viewing a singular post + * entry. All other pages are given a default layout of 'layout-default'. + * + * @since 0.2.0 + * @return string The layout for the given page. + */ +function theme_layouts_get_layout() { + + /* Get the available theme layouts. */ + $layouts = theme_layouts_get_layouts(); + + /* Get the theme layout arguments. */ + $args = theme_layouts_get_args(); + + /* Set the layout to an empty string. */ + $layout = get_theme_mod( 'theme_layout', $args['default'] ); + + /* Make sure the given layout is in the array of available post layouts for the theme. */ + if ( empty( $layout ) || !in_array( $layout, $layouts ) || 'default' == $layout ) + $layout = $args['default']; /* @deprecated 0.2.0. Use the 'get_theme_layout' hook. */ $layout = apply_filters( 'get_post_layout', "layout-{$layout}" ); - /* Return the layout and allow plugin/theme developers to override it. */ + /* @deprecated 0.5.0. Use the 'theme_mods_theme_layout' hook. */ return esc_attr( apply_filters( 'get_theme_layout', $layout ) ); } @@ -292,13 +334,13 @@ function theme_layouts_strings() { /* Set up the default layout strings. */ $strings = array( - 'default' => __( 'Default', 'theme-layouts' ), - '1c' => __( 'One Column', 'theme-layouts' ), - '2c-l' => __( 'Two Columns, Left', 'theme-layouts' ), - '2c-r' => __( 'Two Columns, Right', 'theme-layouts' ), - '3c-l' => __( 'Three Columns, Left', 'theme-layouts' ), - '3c-r' => __( 'Three Columns, Right', 'theme-layouts' ), - '3c-c' => __( 'Three Columns, Center', 'theme-layouts' ) + 'default' => __( 'Default', 'theme-layouts' ), + '1c' => __( 'One Column', 'theme-layouts' ), + '2c-l' => __( 'Two Columns, Left', 'theme-layouts' ), + '2c-r' => __( 'Two Columns, Right', 'theme-layouts' ), + '3c-l' => __( 'Three Columns, Left', 'theme-layouts' ), + '3c-r' => __( 'Three Columns, Right', 'theme-layouts' ), + '3c-c' => __( 'Three Columns, Center', 'theme-layouts' ) ); /* Allow devs to filter the strings for custom layouts. */ @@ -318,7 +360,7 @@ function theme_layouts_get_string( $layout ) { $strings = theme_layouts_strings(); /* Return the layout's string if it exists. Else, return the layout slug. */ - return ( ( isset( $strings[$layout] ) ) ? $strings[$layout] : $layout ); + return ( ( isset( $strings[ $layout ] ) ) ? $strings[ $layout ] : $layout ); } /** @@ -359,6 +401,8 @@ function theme_layouts_load_meta_boxes() { /* Saves the post format on the post editing page. */ add_action( 'save_post', 'theme_layouts_save_post', 10, 2 ); + add_action( 'add_attachment', 'theme_layouts_save_post' ); + add_action( 'edit_attachment', 'theme_layouts_save_post' ); } /** @@ -391,8 +435,7 @@ function theme_layouts_add_meta_boxes( $post_type, $post ) { function theme_layouts_post_meta_box( $post, $box ) { /* Get theme-supported theme layouts. */ - $layouts = get_theme_support( 'theme-layouts' ); - $post_layouts = $layouts[0]; + $post_layouts = theme_layouts_get_layouts(); /* Get the current post's layout. */ $post_layout = get_post_layout( $post->ID ); ?> @@ -424,7 +467,11 @@ function theme_layouts_post_meta_box( $post, $box ) { * @param object $post The post object currently being saved. * @return void|int */ -function theme_layouts_save_post( $post_id, $post ) { +function theme_layouts_save_post( $post_id, $post = '' ) { + + /* Fix for attachment save issue in WordPress 3.5. @link http://core.trac.wordpress.org/ticket/21963 */ + if ( !is_object( $post ) ) + $post = get_post(); /* Verify the nonce for the post formats meta box. */ if ( !isset( $_POST['theme-layouts-nonce'] ) || !wp_verify_nonce( $_POST['theme-layouts-nonce'], basename( __FILE__ ) ) ) @@ -464,8 +511,7 @@ function theme_layouts_save_post( $post_id, $post ) { function theme_layouts_attachment_fields_to_edit( $fields, $post ) { /* Get theme-supported theme layouts. */ - $layouts = get_theme_support( 'theme-layouts' ); - $post_layouts = $layouts[0]; + $post_layouts = theme_layouts_get_layouts(); /* Get the current post's layout. */ $post_layout = get_post_layout( $post->ID ); @@ -482,9 +528,11 @@ function theme_layouts_attachment_fields_to_edit( $fields, $post ) { /* Add the attachment layout field to the $fields array. */ $fields['theme-layouts-post-layout'] = array( - 'label' => __( 'Layout', 'theme-layouts' ), - 'input' => 'html', - 'html' => $select + 'label' => __( 'Layout', 'theme-layouts' ), + 'input' => 'html', + 'html' => $select, + 'show_in_edit' => false, + 'show_in_modal' => true ); /* Return the $fields array back to WordPress. */ @@ -542,6 +590,107 @@ function theme_layouts_get_meta_key() { return apply_filters( 'theme_layouts_meta_key', 'Layout' ); } +/** + * Registers custom sections, settings, and controls for the $wp_customize instance. + * + * @since 0.1.0 + * @author Justin Tadlock <justin@justintadlock.com> + * @author Sami Keijonen <sami.keijonen@foxnet.fi> + * @copyright Copyright (c) 2012 + * @link http://themehybrid.com/support/topic/add-theme-layout-in-theme-customize + * @access public + * @param object $wp_customize + */ +function theme_layouts_customize_register( $wp_customize ) { + + /* Get supported theme layouts. */ + $layouts = theme_layouts_get_layouts(); + $args = theme_layouts_get_args(); + + if ( true === $args['customize'] ) { + + /* Add the layout section. */ + $wp_customize->add_section( + 'layout', + array( + 'title' => esc_html__( 'Layout', 'theme-layouts' ), + 'priority' => 190, + 'capability' => 'edit_theme_options' + ) + ); + + /* Add the 'layout' setting. */ + $wp_customize->add_setting( + 'theme_layout', + array( + 'default' => $args['default'], + 'type' => 'theme_mod', + 'capability' => 'edit_theme_options', + 'sanitize_callback' => 'sanitize_html_class', + 'transport' => 'postMessage' + ) + ); + + /* Set up an array for the layout choices and add in the 'default' layout. */ + $layout_choices = array(); + + /* Only add 'default' if it's the actual default layout. */ + if ( 'default' == $args['default'] ) + $layout_choices['default'] = theme_layouts_get_string( 'default' ); + + /* Loop through each of the layouts and add it to the choices array with proper key/value pairs. */ + foreach ( $layouts as $layout ) + $layout_choices[$layout] = theme_layouts_get_string( $layout ); + + /* Add the layout control. */ + $wp_customize->add_control( + 'theme-layout-control', + array( + 'label' => esc_html__( 'Global Layout', 'theme-layouts' ), + 'section' => 'layout', + 'settings' => 'theme_layout', + 'type' => 'radio', + 'choices' => $layout_choices + ) + ); + + /* If viewing the customize preview screen, add a script to show a live preview. */ + if ( $wp_customize->is_preview() && !is_admin() ) + add_action( 'wp_footer', 'theme_layouts_customize_preview_script', 21 ); + } +} + +/** + * JavaScript for handling the live preview editing of the theme layout in the theme customizer. The + * script uses regex to remove all potential "layout-xyz" classes and replaces it with the user-selected + * layout. + * + * @since 0.1.0 + * @access public + * @author Justin Tadlock <justin@justintadlock.com> + * @author Sami Keijonen <sami.keijonen@foxnet.fi> + * @copyright Copyright (c) 2012 + * @link http://themehybrid.com/support/topic/add-theme-layout-in-theme-customize + * @return void + */ +function theme_layouts_customize_preview_script() { ?> + + <script type="text/javascript"> + wp.customize( + 'theme_layout', + function( value ) { + value.bind( + function( to ) { + var classes = jQuery( 'body' ).attr( 'class' ).replace( /layout-[a-zA-Z0-9_-]*/g, '' ); + jQuery( 'body' ).attr( 'class', classes ).addClass( 'layout-' + to ); + } + ); + } + ); + </script> + <?php +} + /** * @since 0.1.0 * @deprecated 0.2.0 Use theme_layouts_get_layout(). diff --git a/wp-content/themes/hybrid/library/functions/comments.php b/wp-content/themes/hybrid/library/functions/comments.php index b4899f924003d7d926bb249fad5667086a48951f..889db50ed88ba9672e3d8784904fc55d1a84bbd2 100644 --- a/wp-content/themes/hybrid/library/functions/comments.php +++ b/wp-content/themes/hybrid/library/functions/comments.php @@ -4,12 +4,12 @@ * control over their display and makes more filter and action hooks available to developers to use in their * customizations. * - * @package HybridCore + * @package HybridCore * @subpackage Functions - * @author Justin Tadlock <justin@justintadlock.com> - * @copyright Copyright (c) 2008 - 2012, Justin Tadlock - * @link http://themehybrid.com/hybrid-core - * @license http://www.gnu.org/licenses/old-licenses/gpl-2.0.html + * @author Justin Tadlock <justin@justintadlock.com> + * @copyright Copyright (c) 2008 - 2012, Justin Tadlock + * @link http://themehybrid.com/hybrid-core + * @license http://www.gnu.org/licenses/old-licenses/gpl-2.0.html */ /* Filter the comment form defaults. */ @@ -32,10 +32,10 @@ function hybrid_list_comments_args() { /* Set the default arguments for listing comments. */ $args = array( - 'style' => 'ol', - 'type' => 'all', - 'avatar_size' => 80, - 'callback' => 'hybrid_comments_callback', + 'style' => 'ol', + 'type' => 'all', + 'avatar_size' => 80, + 'callback' => 'hybrid_comments_callback', 'end-callback' => 'hybrid_comments_end_callback' ); @@ -88,12 +88,12 @@ function hybrid_comments_callback( $comment, $args, $depth ) { $template = locate_template( $templates ); /* Set the template in the comment template array. */ - $hybrid->comment_template[$comment_type] = $template; + $hybrid->comment_template[ $comment_type ] = $template; } /* If a template was found, load the template. */ - if ( !empty( $hybrid->comment_template[$comment_type] ) ) - require( $hybrid->comment_template[$comment_type] ); + if ( !empty( $hybrid->comment_template[ $comment_type ] ) ) + require( $hybrid->comment_template[ $comment_type ] ); } /** @@ -185,24 +185,24 @@ function hybrid_comment_form_args( $args ) { /* Sets up the default comment form fields. */ $fields = array( 'author' => '<p class="form-author' . esc_attr( $input_class ) . '"><label for="author">' . __( 'Name', 'hybrid-core' ) . $req . '</label> <input type="text" class="text-input" name="author" id="author" value="' . esc_attr( $commenter['comment_author'] ) . '" size="40" /></p>', - 'email' => '<p class="form-email' . esc_attr( $input_class ) . '"><label for="email">' . __( 'Email', 'hybrid-core' ) . $req . '</label> <input type="text" class="text-input" name="email" id="email" value="' . esc_attr( $commenter['comment_author_email'] ) . '" size="40" /></p>', - 'url' => '<p class="form-url"><label for="url">' . __( 'Website', 'hybrid-core' ) . '</label><input type="text" class="text-input" name="url" id="url" value="' . esc_attr( $commenter['comment_author_url'] ) . '" size="40" /></p>' + 'email' => '<p class="form-email' . esc_attr( $input_class ) . '"><label for="email">' . __( 'Email', 'hybrid-core' ) . $req . '</label> <input type="text" class="text-input" name="email" id="email" value="' . esc_attr( $commenter['comment_author_email'] ) . '" size="40" /></p>', + 'url' => '<p class="form-url"><label for="url">' . __( 'Website', 'hybrid-core' ) . '</label><input type="text" class="text-input" name="url" id="url" value="' . esc_attr( $commenter['comment_author_url'] ) . '" size="40" /></p>' ); /* Sets the default arguments for displaying the comment form. */ $args = array( - 'fields' => apply_filters( 'comment_form_default_fields', $fields ), - 'comment_field' => '<p class="form-textarea req"><label for="comment">' . __( 'Comment', 'hybrid-core' ) . '</label><textarea name="comment" id="comment" cols="60" rows="10"></textarea></p>', - 'must_log_in' => '<p class="alert">' . sprintf( __( 'You must be <a href="%1$s" title="Log in">logged in</a> to post a comment.', 'hybrid-core' ), wp_login_url( get_permalink() ) ) . '</p><!-- .alert -->', - 'logged_in_as' => '<p class="log-in-out">' . sprintf( __( 'Logged in as <a href="%1$s" title="%2$s">%2$s</a>.', 'hybrid-core' ), admin_url( 'profile.php' ), esc_attr( $user_identity ) ) . ' <a href="' . wp_logout_url( get_permalink() ) . '" title="' . esc_attr__( 'Log out of this account', 'hybrid-core' ) . '">' . __( 'Log out »', 'hybrid-core' ) . '</a></p><!-- .log-in-out -->', + 'fields' => apply_filters( 'comment_form_default_fields', $fields ), + 'comment_field' => '<p class="form-textarea req"><label for="comment">' . __( 'Comment', 'hybrid-core' ) . '</label><textarea name="comment" id="comment" cols="60" rows="10"></textarea></p>', + 'must_log_in' => '<p class="alert">' . sprintf( __( 'You must be <a href="%1$s" title="Log in">logged in</a> to post a comment.', 'hybrid-core' ), wp_login_url( get_permalink() ) ) . '</p><!-- .alert -->', + 'logged_in_as' => '<p class="log-in-out">' . sprintf( __( 'Logged in as <a href="%1$s" title="%2$s">%2$s</a>.', 'hybrid-core' ), admin_url( 'profile.php' ), esc_attr( $user_identity ) ) . ' <a href="' . wp_logout_url( get_permalink() ) . '" title="' . esc_attr__( 'Log out of this account', 'hybrid-core' ) . '">' . __( 'Log out »', 'hybrid-core' ) . '</a></p><!-- .log-in-out -->', 'comment_notes_before' => '', - 'comment_notes_after' => '', - 'id_form' => 'commentform', - 'id_submit' => 'submit', - 'title_reply' => __( 'Leave a Reply', 'hybrid-core' ), - 'title_reply_to' => __( 'Leave a Reply to %s', 'hybrid-core' ), - 'cancel_reply_link' => __( 'Click here to cancel reply.', 'hybrid-core' ), - 'label_submit' => __( 'Post Comment', 'hybrid-core' ), + 'comment_notes_after' => '', + 'id_form' => 'commentform', + 'id_submit' => 'submit', + 'title_reply' => __( 'Leave a Reply', 'hybrid-core' ), + 'title_reply_to' => __( 'Leave a Reply to %s', 'hybrid-core' ), + 'cancel_reply_link' => __( 'Click here to cancel reply.', 'hybrid-core' ), + 'label_submit' => __( 'Post Comment', 'hybrid-core' ), ); /* Return the arguments for displaying the comment form. */ @@ -214,7 +214,7 @@ function hybrid_comment_form_args( $args ) { * default, WordPress only allows the 'comment' comment type to have an avatar. * * @since 1.2.0 - * @access private + * @access public * @param array $types List of all comment types allowed to have avatars. * @return array $types */ diff --git a/wp-content/themes/hybrid/library/functions/context.php b/wp-content/themes/hybrid/library/functions/context.php index d73be8f442648e37e33b8a1035becba9095bae8c..596b4a28955f802fa580783631af2296fdb6caff 100644 --- a/wp-content/themes/hybrid/library/functions/context.php +++ b/wp-content/themes/hybrid/library/functions/context.php @@ -5,12 +5,12 @@ * The functions also integrate with WordPress' implementations of body_class, post_class, and * comment_class, so your theme won't have any trouble with plugin integration. * - * @package HybridCore + * @package HybridCore * @subpackage Functions - * @author Justin Tadlock <justin@justintadlock.com> - * @copyright Copyright (c) 2008 - 2012, Justin Tadlock - * @link http://themehybrid.com/hybrid-core - * @license http://www.gnu.org/licenses/old-licenses/gpl-2.0.html + * @author Justin Tadlock <justin@justintadlock.com> + * @copyright Copyright (c) 2008 - 2012, Justin Tadlock + * @link http://themehybrid.com/hybrid-core + * @license http://www.gnu.org/licenses/old-licenses/gpl-2.0.html */ /** @@ -61,6 +61,12 @@ function hybrid_get_context() { elseif ( is_archive() ) { $hybrid->context[] = 'archive'; + /* Post type archives. */ + if ( is_post_type_archive() ) { + $post_type = get_post_type_object( get_query_var( 'post_type' ) ); + $hybrid->context[] = "archive-{$post_type->name}"; + } + /* Taxonomy archives. */ if ( is_tax() || is_category() || is_tag() ) { $hybrid->context[] = 'taxonomy'; @@ -70,38 +76,39 @@ function hybrid_get_context() { $hybrid->context[] = "taxonomy-{$object->taxonomy}-" . sanitize_html_class( $slug, $object->term_id ); } - /* Post type archives. */ - elseif ( is_post_type_archive() ) { - $post_type = get_post_type_object( get_query_var( 'post_type' ) ); - $hybrid->context[] = "archive-{$post_type->name}"; - } - /* User/author archives. */ - elseif ( is_author() ) { + if ( is_author() ) { + $user_id = get_query_var( 'author' ); $hybrid->context[] = 'user'; - $hybrid->context[] = 'user-' . sanitize_html_class( get_the_author_meta( 'user_nicename', $object_id ), $object_id ); + $hybrid->context[] = 'user-' . sanitize_html_class( get_the_author_meta( 'user_nicename', $user_id ), $user_id ); } - /* Time/Date archives. */ - else { - if ( is_date() ) { - $hybrid->context[] = 'date'; - if ( is_year() ) - $hybrid->context[] = 'year'; - if ( is_month() ) - $hybrid->context[] = 'month'; - if ( get_query_var( 'w' ) ) - $hybrid->context[] = 'week'; - if ( is_day() ) - $hybrid->context[] = 'day'; - } - if ( is_time() ) { - $hybrid->context[] = 'time'; - if ( get_query_var( 'hour' ) ) - $hybrid->context[] = 'hour'; - if ( get_query_var( 'minute' ) ) - $hybrid->context[] = 'minute'; - } + /* Date archives. */ + if ( is_date() ) { + $hybrid->context[] = 'date'; + + if ( is_year() ) + $hybrid->context[] = 'year'; + + if ( is_month() ) + $hybrid->context[] = 'month'; + + if ( get_query_var( 'w' ) ) + $hybrid->context[] = 'week'; + + if ( is_day() ) + $hybrid->context[] = 'day'; + } + + /* Time archives. */ + if ( is_time() ) { + $hybrid->context[] = 'time'; + + if ( get_query_var( 'hour' ) ) + $hybrid->context[] = 'hour'; + + if ( get_query_var( 'minute' ) ) + $hybrid->context[] = 'minute'; } } @@ -115,7 +122,7 @@ function hybrid_get_context() { $hybrid->context[] = 'error-404'; } - return array_map( 'esc_attr', $hybrid->context ); + return array_map( 'esc_attr', apply_filters( 'hybrid_context', $hybrid->context ) ); } /** @@ -217,7 +224,7 @@ function hybrid_entry_class( $class = '', $post_id = null ) { * @return void */ function hybrid_comment_class( $class = '' ) { - global $post, $comment, $hybrid; + global $comment, $hybrid; /* Gets default WP comment classes. */ $classes = get_comment_class( $class ); @@ -251,7 +258,7 @@ function hybrid_comment_class( $class = '' ) { } /* Comment by the entry/post author. */ - if ( $post = get_post( $post_id ) ) { + if ( $post = get_post( get_the_ID() ) ) { if ( $comment->user_id === $post->post_author ) $classes[] = 'entry-author'; } @@ -405,8 +412,7 @@ function hybrid_document_title() { /* If viewing a post type archive. */ elseif ( is_post_type_archive() ) { - $post_type = get_post_type_object( get_query_var( 'post_type' ) ); - $doctitle = $post_type->labels->name; + $doctitle = post_type_archive_title( '', false ); } /* If viewing an author/user archive. */ diff --git a/wp-content/themes/hybrid/library/functions/core-seo.php b/wp-content/themes/hybrid/library/functions/core-seo.php index 97c3d6943f70a9f3cd7dcd5cd8f30cf813cf4881..cf3b73f61fcb78e5bb569f3842a9966c5b68be9e 100644 --- a/wp-content/themes/hybrid/library/functions/core-seo.php +++ b/wp-content/themes/hybrid/library/functions/core-seo.php @@ -4,12 +4,16 @@ * of the functions handle basic <meta> elements for the <head> area of the site. This file is a catchall file * for adding these types of things to themes. * - * @package HybridCore + * Theme authors, please do not use this in your publicly-released themes. This feature is no longer + * officially supported as a theme feature. Please recommend to your users that they should install an SEO + * plugin, such as WP SEO, for this. + * + * @package HybridCore * @subpackage Functions - * @author Justin Tadlock <justin@justintadlock.com> - * @copyright Copyright (c) 2008 - 2012, Justin Tadlock - * @link http://themehybrid.com/hybrid-core - * @license http://www.gnu.org/licenses/old-licenses/gpl-2.0.html + * @author Justin Tadlock <justin@justintadlock.com> + * @copyright Copyright (c) 2008 - 2012, Justin Tadlock + * @link http://themehybrid.com/hybrid-core + * @license http://www.gnu.org/licenses/old-licenses/gpl-2.0.html */ /* Add <meta> elements to the <head> area. */ @@ -25,7 +29,7 @@ add_action( 'wp_head', 'hybrid_meta_keywords', 1 ); * hybrid_meta_robots filter hook at the end. * * @since 0.2.3 - * @access private + * @access public * @return void */ function hybrid_meta_robots() { @@ -45,7 +49,7 @@ function hybrid_meta_robots() { * archives, it uses the user's display name. * * @since 0.3.3 - * @access private + * @access public * @return void */ function hybrid_meta_author() { @@ -76,7 +80,7 @@ function hybrid_meta_author() { * published. All other pages will show the current year. * * @since 0.4.0 - * @access private + * @access public * @return void */ function hybrid_meta_copyright() { @@ -99,7 +103,7 @@ function hybrid_meta_copyright() { * Add the revised meta tag on the singular view of posts. This shows the last time the post was modified. * * @since 0.4.0 - * @access private + * @access public * @return void */ function hybrid_meta_revised() { @@ -118,7 +122,7 @@ function hybrid_meta_revised() { * Generates the meta description based on either metadata or the description for the object. * * @since 0.2.3 - * @access private + * @access public * @return void */ function hybrid_meta_description() { @@ -187,7 +191,7 @@ function hybrid_meta_description() { * Generates meta keywords/tags for the site. * * @since 0.2.3 - * @access private + * @access public * @return void */ function hybrid_meta_keywords() { diff --git a/wp-content/themes/hybrid/library/functions/core.php b/wp-content/themes/hybrid/library/functions/core.php index 73f428bbd3f5ad1a08d21993925d0d4d83ecb0ae..5374c794bc59b9d383d35574eaec8ea7d91e371d 100644 --- a/wp-content/themes/hybrid/library/functions/core.php +++ b/wp-content/themes/hybrid/library/functions/core.php @@ -4,12 +4,12 @@ * used across the entire framework to make various tasks faster. This file should be loaded * prior to any other files because its functions are needed to run the framework. * - * @package HybridCore + * @package HybridCore * @subpackage Functions - * @author Justin Tadlock <justin@justintadlock.com> - * @copyright Copyright (c) 2008 - 2012, Justin Tadlock - * @link http://themehybrid.com/hybrid-core - * @license http://www.gnu.org/licenses/old-licenses/gpl-2.0.html + * @author Justin Tadlock <justin@justintadlock.com> + * @copyright Copyright (c) 2008 - 2012, Justin Tadlock + * @link http://themehybrid.com/hybrid-core + * @license http://www.gnu.org/licenses/old-licenses/gpl-2.0.html */ /** @@ -42,6 +42,10 @@ function hybrid_get_prefix() { * give extra hooks such as 'hybrid_singular_header', 'hybrid_singular-post_header', and * 'hybrid_singular-post-ID_header'. * + * @author Justin Tadlock <justin@justintadlock.com> + * @author Ptah Dunbar <pt@ptahd.com> + * @link http://ptahdunbar.com/wordpress/smarter-hooks-context-sensitive-hooks + * * @since 0.7.0 * @access public * @uses hybrid_get_prefix() Gets the theme prefix. @@ -50,6 +54,7 @@ function hybrid_get_prefix() { * @param mixed $arg,... Optional additional arguments which are passed on to the functions hooked to the action. */ function do_atomic( $tag = '', $arg = '' ) { + if ( empty( $tag ) ) return false; @@ -64,7 +69,7 @@ function do_atomic( $tag = '', $arg = '' ) { do_action_ref_array( "{$pre}_{$tag}", $args ); /* Loop through context array and fire actions on a contextual scale. */ - foreach ( (array)hybrid_get_context() as $context ) + foreach ( (array) hybrid_get_context() as $context ) do_action_ref_array( "{$pre}_{$context}_{$tag}", $args ); } @@ -86,6 +91,7 @@ function do_atomic( $tag = '', $arg = '' ) { * @return mixed $value The value after it has been filtered. */ function apply_atomic( $tag = '', $value = '' ) { + if ( empty( $tag ) ) return false; @@ -100,7 +106,7 @@ function apply_atomic( $tag = '', $value = '' ) { $value = $args[0] = apply_filters_ref_array( "{$pre}_{$tag}", $args ); /* Loop through context array and apply filters on a contextual scale. */ - foreach ( (array)hybrid_get_context() as $context ) + foreach ( (array) hybrid_get_context() as $context ) $value = $args[0] = apply_filters_ref_array( "{$pre}_{$context}_{$tag}", $args ); /* Return the final value once all filters have been applied. */ @@ -176,41 +182,4 @@ function hybrid_get_content_width() { return $content_width; } -/** - * Gets theme data and stores it in the global $hybrid variable. By storing it, it can be accessed quickly without - * having to run through the get_theme_data() function again. - * - * @since 1.2.0 - * @access public - * @param string $path Whether to use the template (parent theme) or stylesheet (child theme) path. - */ -function hybrid_get_theme_data( $path = 'template' ) { - global $hybrid; - - /* If 'template' is requested, get the parent theme data. */ - if ( 'template' == $path ) { - - /* If the parent theme data isn't set, grab it with the get_theme_data() function. */ - if ( empty( $hybrid->theme_data ) ) - $hybrid->theme_data = get_theme_data( trailingslashit( TEMPLATEPATH ) . 'style.css' ); - - /* Return the parent theme data. */ - return $hybrid->theme_data; - } - - /* If 'stylesheet' is requested, get the child theme data. */ - elseif ( 'stylesheet' == $path ) { - - /* If the child theme data isn't set, grab it with the get_theme_data() function. */ - if ( empty( $hybrid->child_theme_data ) ) - $hybrid->child_theme_data = get_theme_data( trailingslashit( STYLESHEETPATH ) . 'style.css' ); - - /* Return the child theme data. */ - return $hybrid->child_theme_data; - } - - /* Return false for everything else. */ - return false; -} - ?> \ No newline at end of file diff --git a/wp-content/themes/hybrid/library/functions/customize.php b/wp-content/themes/hybrid/library/functions/customize.php index a9361d69e2021d5e0133f81f38c5bb2ee5e80558..1111f695d83b6ad5d66f6303a00e5a2a3c4525c6 100644 --- a/wp-content/themes/hybrid/library/functions/customize.php +++ b/wp-content/themes/hybrid/library/functions/customize.php @@ -4,12 +4,12 @@ * This file loads additional classes and adds settings to the customizer for the built-in Hybrid Core * settings. * - * @package HybridCore + * @package HybridCore * @subpackage Functions - * @author Justin Tadlock <justin@justintadlock.com> - * @copyright Copyright (c) 2008 - 2012, Justin Tadlock - * @link http://themehybrid.com/hybrid-core - * @license http://www.gnu.org/licenses/old-licenses/gpl-2.0.html + * @author Justin Tadlock <justin@justintadlock.com> + * @copyright Copyright (c) 2008 - 2012, Justin Tadlock + * @link http://themehybrid.com/hybrid-core + * @license http://www.gnu.org/licenses/old-licenses/gpl-2.0.html */ /* Load custom control classes. */ @@ -60,9 +60,9 @@ function hybrid_customize_register( $wp_customize ) { $wp_customize->add_section( 'hybrid-core-footer', array( - 'title' => esc_html__( 'Footer', 'hybrid-core' ), - 'priority' => 200, - 'capability' => 'edit_theme_options' + 'title' => esc_html__( 'Footer', 'hybrid-core' ), + 'priority' => 200, + 'capability' => 'edit_theme_options' ) ); @@ -70,12 +70,12 @@ function hybrid_customize_register( $wp_customize ) { $wp_customize->add_setting( "{$prefix}_theme_settings[footer_insert]", array( - 'default' => $default_settings['footer_insert'], - 'type' => 'option', - 'capability' => 'edit_theme_options', - 'sanitize_callback' => 'hybrid_customize_sanitize', - 'sanitize_js_callback' => 'hybrid_customize_sanitize', - 'transport' => 'postMessage', + 'default' => $default_settings['footer_insert'], + 'type' => 'option', + 'capability' => 'edit_theme_options', + 'sanitize_callback' => 'hybrid_customize_sanitize', + 'sanitize_js_callback' => 'hybrid_customize_sanitize', + 'transport' => 'postMessage', ) ); @@ -85,9 +85,9 @@ function hybrid_customize_register( $wp_customize ) { $wp_customize, 'hybrid-core-footer', array( - 'label' => esc_html__( 'Footer', 'hybrid-core' ), - 'section' => 'hybrid-core-footer', - 'settings' => "{$prefix}_theme_settings[footer_insert]", + 'label' => esc_html__( 'Footer', 'hybrid-core' ), + 'section' => 'hybrid-core-footer', + 'settings' => "{$prefix}_theme_settings[footer_insert]", ) ) ); diff --git a/wp-content/themes/hybrid/library/functions/deprecated.php b/wp-content/themes/hybrid/library/functions/deprecated.php index ff7dce5ad255297b79597639f7003cc5126179fa..34d4a8f99b5a877d4349a267d21a669a898b679e 100644 --- a/wp-content/themes/hybrid/library/functions/deprecated.php +++ b/wp-content/themes/hybrid/library/functions/deprecated.php @@ -6,12 +6,12 @@ * point in a future release. If your theme is using one of these, you should use the listed alternative or * remove it from your theme if necessary. * - * @package HybridCore + * @package HybridCore * @subpackage Functions - * @author Justin Tadlock <justin@justintadlock.com> - * @copyright Copyright (c) 2008 - 2012, Justin Tadlock - * @link http://themehybrid.com/hybrid-core - * @license http://www.gnu.org/licenses/old-licenses/gpl-2.0.html + * @author Justin Tadlock <justin@justintadlock.com> + * @copyright Copyright (c) 2008 - 2012, Justin Tadlock + * @link http://themehybrid.com/hybrid-core + * @license http://www.gnu.org/licenses/old-licenses/gpl-2.0.html */ /** @@ -426,6 +426,15 @@ function hybrid_load_textdomain( $mofile, $domain ) { return hybrid_load_textdomain_mofile( $mofile, $domain ); } +/** + * @since 0.9.0 + * @deprecated 1.5.0 + */ +function hybrid_debug_stylesheet( $stylesheet_uri, $stylesheet_dir_uri ) { + _deprecated_function( __FUNCTION__, '1.5.0', 'hybrid_min_stylesheet_uri' ); + return hybrid_min_stylesheet_uri( $stylesheet_uri, $stylesheet_dir_uri ); +} + /* === Removed Functions === */ /* Functions removed in the 0.8 branch. */ @@ -564,6 +573,12 @@ function hybrid_post_stylesheets() { hybrid_function_removed( __FUNCTION__ ); } +/* Functions removed in the 1.5 branch. */ + +function hybrid_get_theme_data() { + hybrid_function_removed( __FUNCTION__ ); +} + /** * Message to display for removed functions. * @since 0.5.0 diff --git a/wp-content/themes/hybrid/library/functions/i18n.php b/wp-content/themes/hybrid/library/functions/i18n.php index 25ef14cec382173d587b90ec1b6ac01e5729101c..8109bc2d0c983f2df22ae065d702200ab855a478 100644 --- a/wp-content/themes/hybrid/library/functions/i18n.php +++ b/wp-content/themes/hybrid/library/functions/i18n.php @@ -4,12 +4,12 @@ * extensions with different textdomains, it must filter 'gettext' so that a single translation file can * handle all translations. * - * @package HybridCore + * @package HybridCore * @subpackage Functions - * @author Justin Tadlock <justin@justintadlock.com> - * @copyright Copyright (c) 2008 - 2012, Justin Tadlock - * @link http://themehybrid.com/hybrid-core - * @license http://www.gnu.org/licenses/old-licenses/gpl-2.0.html + * @author Justin Tadlock <justin@justintadlock.com> + * @copyright Copyright (c) 2008 - 2012, Justin Tadlock + * @link http://themehybrid.com/hybrid-core + * @license http://www.gnu.org/licenses/old-licenses/gpl-2.0.html */ /** @@ -25,7 +25,7 @@ function hybrid_is_textdomain_loaded( $domain ) { global $hybrid; - return ( isset( $hybrid->textdomain_loaded[$domain] ) && true === $hybrid->textdomain_loaded[$domain] ) ? true : false; + return ( isset( $hybrid->textdomain_loaded[ $domain ] ) && true === $hybrid->textdomain_loaded[ $domain ] ) ? true : false; } /** diff --git a/wp-content/themes/hybrid/library/functions/media.php b/wp-content/themes/hybrid/library/functions/media.php index f3a29bcb8acfb6f0b2402706ebdf36610f0c66e0..734a95570ea5b10b86f97638be383ed21aafa5ef 100644 --- a/wp-content/themes/hybrid/library/functions/media.php +++ b/wp-content/themes/hybrid/library/functions/media.php @@ -1,7 +1,7 @@ <?php /** - * Functions file for loading scripts and stylesheets. This file also handles the output of attachment files - * by displaying appropriate HTML elements for the attachments. + * Functions for handling media (i.e., attachments) within themes. Most functions are for handling + * the display of appropriate HTML elements on attachment pages. * * @package HybridCore * @subpackage Functions @@ -11,97 +11,9 @@ * @license http://www.gnu.org/licenses/old-licenses/gpl-2.0.html */ -/* Register Hybrid Core scripts. */ -add_action( 'wp_enqueue_scripts', 'hybrid_register_scripts', 1 ); - -/* Load Hybrid Core scripts. */ -add_action( 'wp_enqueue_scripts', 'hybrid_enqueue_scripts' ); - -/* Load the development stylsheet in script debug mode. */ -add_filter( 'stylesheet_uri', 'hybrid_debug_stylesheet', 10, 2 ); - /* Add all image sizes to the image editor to insert into post. */ add_filter( 'image_size_names_choose', 'hybrid_image_size_names_choose' ); -/** - * Registers JavaScript files for the framework. This function merely registers scripts with WordPress using - * the wp_register_script() function. It does not load any script files on the site. If a theme wants to register - * its own custom scripts, it should do so on the 'wp_enqueue_scripts' hook. - * - * @since 1.2.0 - * @access private - * @return void - */ -function hybrid_register_scripts() { - - /* Supported JavaScript. */ - $supports = get_theme_support( 'hybrid-core-javascript' ); - - /* Register the 'drop-downs' script if the current theme supports 'hybrid-core-drop-downs'. */ - if ( current_theme_supports( 'hybrid-core-drop-downs' ) || ( isset( $supports[0] ) && in_array( 'drop-downs', $supports[0] ) ) ) - wp_register_script( 'drop-downs', esc_url( apply_atomic( 'drop_downs_script', trailingslashit( HYBRID_JS ) . 'drop-downs.js' ) ), array( 'jquery' ), '20110920', true ); - - /* Register the 'nav-bar' script if the current theme supports 'hybrid-core-nav-bar'. */ - if ( isset( $supports[0] ) && in_array( 'nav-bar', $supports[0] ) ) - wp_register_script( 'nav-bar', esc_url( apply_atomic( 'nav_bar_script', trailingslashit( HYBRID_JS ) . 'nav-bar.js' ) ), array( 'jquery' ), '20111008', true ); -} - -/** - * Tells WordPress to load the scripts needed for the framework using the wp_enqueue_script() function. - * - * @since 1.2.0 - * @access private - * @return void - */ -function hybrid_enqueue_scripts() { - - /* Supported JavaScript. */ - $supports = get_theme_support( 'hybrid-core-javascript' ); - - /* Load the comment reply script on singular posts with open comments if threaded comments are supported. */ - if ( is_singular() && get_option( 'thread_comments' ) && comments_open() ) - wp_enqueue_script( 'comment-reply' ); - - /* Load the 'drop-downs' script if the current theme supports 'hybrid-core-drop-downs'. */ - if ( current_theme_supports( 'hybrid-core-drop-downs' ) || ( isset( $supports[0] ) && in_array( 'drop-downs', $supports[0] ) ) ) - wp_enqueue_script( 'drop-downs' ); - - /* Load the 'nav-bar' script if the current theme supports 'hybrid-core-nav-bar'. */ - if ( isset( $supports[0] ) && in_array( 'nav-bar', $supports[0] ) ) - wp_enqueue_script( 'nav-bar' ); -} - -/** - * Function for using a debug stylesheet when developing. To develop with the debug stylesheet, - * SCRIPT_DEBUG must be set to 'true' in the 'wp-config.php' file. This will check if a 'style.dev.css' - * file is present within the theme folder and use it if it exists. Else, it defaults to 'style.css'. - * - * @since 0.9.0 - * @access private - * @param string $stylesheet_uri The URI of the active theme's stylesheet. - * @param string $stylesheet_dir_uri The directory URI of the active theme's stylesheet. - * @return string $stylesheet_uri - */ -function hybrid_debug_stylesheet( $stylesheet_uri, $stylesheet_dir_uri ) { - - /* If SCRIPT_DEBUG is set to true and the theme supports 'dev-stylesheet'. */ - if ( defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG && current_theme_supports( 'dev-stylesheet' ) ) { - - /* Remove the stylesheet directory URI from the file name. */ - $stylesheet = str_replace( trailingslashit( $stylesheet_dir_uri ), '', $stylesheet_uri ); - - /* Change the stylesheet name to 'style.dev.css'. */ - $stylesheet = str_replace( '.css', '.dev.css', $stylesheet ); - - /* If the stylesheet exists in the stylesheet directory, set the stylesheet URI to the dev stylesheet. */ - if ( file_exists( trailingslashit( get_stylesheet_directory() ) . $stylesheet ) ) - $stylesheet_uri = trailingslashit( $stylesheet_dir_uri ) . $stylesheet; - } - - /* Return the theme stylesheet. */ - return $stylesheet_uri; -} - /** * Adds theme/plugin custom images sizes added with add_image_size() to the image uploader/editor. This * allows users to insert these images within their post content editor. diff --git a/wp-content/themes/hybrid/library/functions/menus.php b/wp-content/themes/hybrid/library/functions/menus.php index 7439d84f5cf2a193b8b19b3526ff8430323e833b..ec66326744327cba6f83f1314cbd0206c2e63452 100644 --- a/wp-content/themes/hybrid/library/functions/menus.php +++ b/wp-content/themes/hybrid/library/functions/menus.php @@ -4,12 +4,12 @@ * developers may use the default menu(s) provided by the framework within their own themes, decide not * to use them, or register additional menus. * - * @package HybridCore + * @package HybridCore * @subpackage Functions - * @author Justin Tadlock <justin@justintadlock.com> - * @copyright Copyright (c) 2008 - 2012, Justin Tadlock - * @link http://themehybrid.com/hybrid-core - * @license http://www.gnu.org/licenses/old-licenses/gpl-2.0.html + * @author Justin Tadlock <justin@justintadlock.com> + * @copyright Copyright (c) 2008 - 2012, Justin Tadlock + * @link http://themehybrid.com/hybrid-core + * @license http://www.gnu.org/licenses/old-licenses/gpl-2.0.html */ /* Register nav menus. */ diff --git a/wp-content/themes/hybrid/library/functions/meta.php b/wp-content/themes/hybrid/library/functions/meta.php index b094734f7278815eb62029684cb113005d89c85f..3b316539d3b64d04a46d80654f23fbd73c8da11e 100644 --- a/wp-content/themes/hybrid/library/functions/meta.php +++ b/wp-content/themes/hybrid/library/functions/meta.php @@ -3,12 +3,12 @@ * Metadata functions used in the core framework. This file registers meta keys for use in WordPress * in a safe manner by setting up a custom sanitize callback. * - * @package HybridCore + * @package HybridCore * @subpackage Functions - * @author Justin Tadlock <justin@justintadlock.com> - * @copyright Copyright (c) 2008 - 2012, Justin Tadlock - * @link http://themehybrid.com/hybrid-core - * @license http://www.gnu.org/licenses/old-licenses/gpl-2.0.html + * @author Justin Tadlock <justin@justintadlock.com> + * @copyright Copyright (c) 2008 - 2012, Justin Tadlock + * @link http://themehybrid.com/hybrid-core + * @license http://www.gnu.org/licenses/old-licenses/gpl-2.0.html */ /* Register meta on the 'init' hook. */ diff --git a/wp-content/themes/hybrid/library/functions/scripts.php b/wp-content/themes/hybrid/library/functions/scripts.php new file mode 100644 index 0000000000000000000000000000000000000000..fbaf7f8ad031b712cb6dbeaf455cb33e16e71582 --- /dev/null +++ b/wp-content/themes/hybrid/library/functions/scripts.php @@ -0,0 +1,72 @@ +<?php +/** + * Functions for handling JavaScript in the framework. Themes can add support for the + * 'hybrid-core-scripts' feature to allow the framework to handle loading the stylesheets into + * the theme header or footer at an appropriate time. + * + * @package HybridCore + * @subpackage Functions + * @author Justin Tadlock <justin@justintadlock.com> + * @copyright Copyright (c) 2008 - 2012, Justin Tadlock + * @link http://themehybrid.com/hybrid-core + * @license http://www.gnu.org/licenses/old-licenses/gpl-2.0.html + */ + +/* Register Hybrid Core scripts. */ +add_action( 'wp_enqueue_scripts', 'hybrid_register_scripts', 1 ); + +/* Load Hybrid Core scripts. */ +add_action( 'wp_enqueue_scripts', 'hybrid_enqueue_scripts' ); + +/** + * Registers JavaScript files for the framework. This function merely registers scripts with WordPress using + * the wp_register_script() function. It does not load any script files on the site. If a theme wants to register + * its own custom scripts, it should do so on the 'wp_enqueue_scripts' hook. + * + * @since 1.2.0 + * @access private + * @return void + */ +function hybrid_register_scripts() { + + /* Supported JavaScript. */ + $supports = get_theme_support( 'hybrid-core-scripts' ); + + /* Use the .min script if SCRIPT_DEBUG is turned off. */ + $suffix = ( defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ) ? '' : '.min'; + + /* Register the 'drop-downs' script if the current theme supports 'drop-downs'. */ + if ( isset( $supports[0] ) && in_array( 'drop-downs', $supports[0] ) ) + wp_register_script( 'drop-downs', esc_url( apply_atomic( 'drop_downs_script', trailingslashit( HYBRID_JS ) . "drop-downs{$suffix}.js" ) ), array( 'jquery' ), '20110920', true ); + + /* Register the 'nav-bar' script if the current theme supports 'nav-bar'. */ + if ( isset( $supports[0] ) && in_array( 'nav-bar', $supports[0] ) ) + wp_register_script( 'nav-bar', esc_url( apply_atomic( 'nav_bar_script', trailingslashit( HYBRID_JS ) . "nav-bar{$suffix}.js" ) ), array( 'jquery' ), '20111008', true ); +} + +/** + * Tells WordPress to load the scripts needed for the framework using the wp_enqueue_script() function. + * + * @since 1.2.0 + * @access private + * @return void + */ +function hybrid_enqueue_scripts() { + + /* Supported JavaScript. */ + $supports = get_theme_support( 'hybrid-core-scripts' ); + + /* Load the comment reply script on singular posts with open comments if threaded comments are supported. */ + if ( is_singular() && get_option( 'thread_comments' ) && comments_open() ) + wp_enqueue_script( 'comment-reply' ); + + /* Load the 'drop-downs' script if the current theme supports 'drop-downs'. */ + if ( isset( $supports[0] ) && in_array( 'drop-downs', $supports[0] ) ) + wp_enqueue_script( 'drop-downs' ); + + /* Load the 'nav-bar' script if the current theme supports 'nav-bar'. */ + if ( isset( $supports[0] ) && in_array( 'nav-bar', $supports[0] ) ) + wp_enqueue_script( 'nav-bar' ); +} + +?> \ No newline at end of file diff --git a/wp-content/themes/hybrid/library/functions/settings.php b/wp-content/themes/hybrid/library/functions/settings.php index f8d4acba6c195b9150f821ebccab810daf5ab0fb..9bae058abc3e55884c6a6be3363090e8d909adb4 100644 --- a/wp-content/themes/hybrid/library/functions/settings.php +++ b/wp-content/themes/hybrid/library/functions/settings.php @@ -5,12 +5,12 @@ * the database. This file is only loaded if the theme adds support for the 'hybrid-core-theme-settings' * feature. * - * @package HybridCore + * @package HybridCore * @subpackage Functions - * @author Justin Tadlock <justin@justintadlock.com> - * @copyright Copyright (c) 2008 - 2012, Justin Tadlock - * @link http://themehybrid.com/hybrid-core - * @license http://www.gnu.org/licenses/old-licenses/gpl-2.0.html + * @author Justin Tadlock <justin@justintadlock.com> + * @copyright Copyright (c) 2008 - 2012, Justin Tadlock + * @link http://themehybrid.com/hybrid-core + * @license http://www.gnu.org/licenses/old-licenses/gpl-2.0.html */ /** @@ -38,16 +38,16 @@ function hybrid_get_setting( $option = '' ) { $hybrid->settings = get_option( hybrid_get_prefix() . '_theme_settings', hybrid_get_default_theme_settings() ); /* If the settings isn't an array or the specific option isn't in the array, return false. */ - if ( !is_array( $hybrid->settings ) || empty( $hybrid->settings[$option] ) ) + if ( !is_array( $hybrid->settings ) || empty( $hybrid->settings[ $option ] ) ) return false; /* If the specific option is an array, return it. */ - if ( is_array( $hybrid->settings[$option] ) ) - return $hybrid->settings[$option]; + if ( is_array( $hybrid->settings[ $option ] ) ) + return $hybrid->settings[ $option ]; /* Strip slashes from the setting and return. */ else - return wp_kses_stripslashes( $hybrid->settings[$option] ); + return wp_kses_stripslashes( $hybrid->settings[ $option ] ); } /** diff --git a/wp-content/themes/hybrid/library/functions/shortcodes.php b/wp-content/themes/hybrid/library/functions/shortcodes.php index ffde6aa8b8822a75c6fb1e75aca1e929a22552db..5cc5e03b96336341c95fadd717db7f7168b30501 100644 --- a/wp-content/themes/hybrid/library/functions/shortcodes.php +++ b/wp-content/themes/hybrid/library/functions/shortcodes.php @@ -6,12 +6,12 @@ * some shortcodes are specific to posts and comments and would be useless outside of the post and comment * loops. To use the shortcodes, a theme must register support for 'hybrid-core-shortcodes'. * - * @package HybridCore + * @package HybridCore * @subpackage Functions - * @author Justin Tadlock <justin@justintadlock.com> - * @copyright Copyright (c) 2008 - 2012, Justin Tadlock - * @link http://themehybrid.com/hybrid-core - * @license http://www.gnu.org/licenses/old-licenses/gpl-2.0.html + * @author Justin Tadlock <justin@justintadlock.com> + * @copyright Copyright (c) 2008 - 2012, Justin Tadlock + * @link http://themehybrid.com/hybrid-core + * @license http://www.gnu.org/licenses/old-licenses/gpl-2.0.html */ /* Register shortcodes. */ @@ -22,7 +22,7 @@ add_action( 'init', 'hybrid_add_shortcodes' ); * function to register new shortcodes with WordPress. * * @since 0.8.0 - * @access private + * @access public * @uses add_shortcode() to create new shortcodes. * @link http://codex.wordpress.org/Shortcode_API * @return void @@ -30,32 +30,32 @@ add_action( 'init', 'hybrid_add_shortcodes' ); function hybrid_add_shortcodes() { /* Add theme-specific shortcodes. */ - add_shortcode( 'the-year', 'hybrid_the_year_shortcode' ); - add_shortcode( 'site-link', 'hybrid_site_link_shortcode' ); - add_shortcode( 'wp-link', 'hybrid_wp_link_shortcode' ); - add_shortcode( 'theme-link', 'hybrid_theme_link_shortcode' ); - add_shortcode( 'child-link', 'hybrid_child_link_shortcode' ); + add_shortcode( 'the-year', 'hybrid_the_year_shortcode' ); + add_shortcode( 'site-link', 'hybrid_site_link_shortcode' ); + add_shortcode( 'wp-link', 'hybrid_wp_link_shortcode' ); + add_shortcode( 'theme-link', 'hybrid_theme_link_shortcode' ); + add_shortcode( 'child-link', 'hybrid_child_link_shortcode' ); add_shortcode( 'loginout-link', 'hybrid_loginout_link_shortcode' ); add_shortcode( 'query-counter', 'hybrid_query_counter_shortcode' ); - add_shortcode( 'nav-menu', 'hybrid_nav_menu_shortcode' ); + add_shortcode( 'nav-menu', 'hybrid_nav_menu_shortcode' ); /* Add entry-specific shortcodes. */ - add_shortcode( 'entry-title', 'hybrid_entry_title_shortcode' ); - add_shortcode( 'entry-author', 'hybrid_entry_author_shortcode' ); - add_shortcode( 'entry-terms', 'hybrid_entry_terms_shortcode' ); + add_shortcode( 'entry-title', 'hybrid_entry_title_shortcode' ); + add_shortcode( 'entry-author', 'hybrid_entry_author_shortcode' ); + add_shortcode( 'entry-terms', 'hybrid_entry_terms_shortcode' ); add_shortcode( 'entry-comments-link', 'hybrid_entry_comments_link_shortcode' ); - add_shortcode( 'entry-published', 'hybrid_entry_published_shortcode' ); - add_shortcode( 'entry-edit-link', 'hybrid_entry_edit_link_shortcode' ); - add_shortcode( 'entry-shortlink', 'hybrid_entry_shortlink_shortcode' ); - add_shortcode( 'entry-permalink', 'hybrid_entry_permalink_shortcode' ); - add_shortcode( 'post-format-link', 'hybrid_post_format_link_shortcode' ); + add_shortcode( 'entry-published', 'hybrid_entry_published_shortcode' ); + add_shortcode( 'entry-edit-link', 'hybrid_entry_edit_link_shortcode' ); + add_shortcode( 'entry-shortlink', 'hybrid_entry_shortlink_shortcode' ); + add_shortcode( 'entry-permalink', 'hybrid_entry_permalink_shortcode' ); + add_shortcode( 'post-format-link', 'hybrid_post_format_link_shortcode' ); /* Add comment-specific shortcodes. */ - add_shortcode( 'comment-published', 'hybrid_comment_published_shortcode' ); - add_shortcode( 'comment-author', 'hybrid_comment_author_shortcode' ); - add_shortcode( 'comment-edit-link', 'hybrid_comment_edit_link_shortcode' ); + add_shortcode( 'comment-published', 'hybrid_comment_published_shortcode' ); + add_shortcode( 'comment-author', 'hybrid_comment_author_shortcode' ); + add_shortcode( 'comment-edit-link', 'hybrid_comment_edit_link_shortcode' ); add_shortcode( 'comment-reply-link', 'hybrid_comment_reply_link_shortcode' ); - add_shortcode( 'comment-permalink', 'hybrid_comment_permalink_shortcode' ); + add_shortcode( 'comment-permalink', 'hybrid_comment_permalink_shortcode' ); } /** @@ -164,18 +164,18 @@ function hybrid_nav_menu_shortcode( $attr ) { $attr = shortcode_atts( array( - 'menu' => '', - 'container' => 'div', - 'container_id' => '', + 'menu' => '', + 'container' => 'div', + 'container_id' => '', 'container_class' => 'nav-menu', - 'menu_id' => '', - 'menu_class' => '', - 'link_before' => '', - 'link_after' => '', - 'before' => '', - 'after' => '', - 'fallback_cb' => 'wp_page_menu', - 'walker' => '' + 'menu_id' => '', + 'menu_class' => '', + 'link_before' => '', + 'link_after' => '', + 'before' => '', + 'after' => '', + 'fallback_cb' => 'wp_page_menu', + 'walker' => '' ), $attr ); @@ -215,7 +215,7 @@ function hybrid_entry_edit_link_shortcode( $attr ) { function hybrid_entry_published_shortcode( $attr ) { $attr = shortcode_atts( array( 'before' => '', 'after' => '', 'format' => get_option( 'date_format' ) ), $attr ); - $published = '<abbr class="published" title="' . sprintf( get_the_time( esc_attr__( 'l, F jS, Y, g:i a', 'hybrid-core' ) ) ) . '">' . sprintf( get_the_time( $attr['format'] ) ) . '</abbr>'; + $published = '<abbr class="published" title="' . get_the_time( esc_attr__( 'l, F jS, Y, g:i a', 'hybrid-core' ) ) . '">' . get_the_time( $attr['format'] ) . '</abbr>'; return $attr['before'] . $published . $attr['after']; } @@ -260,7 +260,7 @@ function hybrid_entry_comments_link_shortcode( $attr ) { */ function hybrid_entry_author_shortcode( $attr ) { $attr = shortcode_atts( array( 'before' => '', 'after' => '' ), $attr ); - $author = '<span class="author vcard"><a class="url fn n" href="' . esc_url( get_author_posts_url( get_the_author_meta( 'ID' ) ) ) . '" title="' . esc_attr( get_the_author_meta( 'display_name' ) ) . '">' . get_the_author_meta( 'display_name' ) . '</a></span>'; + $author = '<span class="author vcard"><a class="url fn n" rel="author" href="' . esc_url( get_author_posts_url( get_the_author_meta( 'ID' ) ) ) . '" title="' . esc_attr( get_the_author_meta( 'display_name' ) ) . '">' . get_the_author_meta( 'display_name' ) . '</a></span>'; return $attr['before'] . $author . $attr['after']; } @@ -291,9 +291,14 @@ function hybrid_entry_terms_shortcode( $attr ) { */ function hybrid_entry_title_shortcode( $attr ) { - $attr = shortcode_atts( array( 'permalink' => true ), $attr ); + $attr = shortcode_atts( + array( + 'permalink' => true, + 'tag' => is_singular() ? 'h1' : 'h2' + ), + $attr ); - $tag = is_singular() ? 'h1' : 'h2'; + $tag = tag_escape( $attr['tag'] ); $class = sanitize_html_class( get_post_type() ) . '-title entry-title'; if ( false == (bool)$attr['permalink'] ) diff --git a/wp-content/themes/hybrid/library/functions/sidebars.php b/wp-content/themes/hybrid/library/functions/sidebars.php index 0e7ce78113535056b727817df8173850b5b111f1..51c9d5f54f1ac8b9e50e2c1cf9cd4ec40b654d5a 100644 --- a/wp-content/themes/hybrid/library/functions/sidebars.php +++ b/wp-content/themes/hybrid/library/functions/sidebars.php @@ -5,12 +5,12 @@ * for 'hybrid-core-sidebars' to use them and register each sidebar ID within an array for the second * parameter of add_theme_support(). * - * @package HybridCore + * @package HybridCore * @subpackage Functions - * @author Justin Tadlock <justin@justintadlock.com> - * @copyright Copyright (c) 2008 - 2012, Justin Tadlock - * @link http://themehybrid.com/hybrid-core - * @license http://www.gnu.org/licenses/old-licenses/gpl-2.0.html + * @author Justin Tadlock <justin@justintadlock.com> + * @copyright Copyright (c) 2008 - 2012, Justin Tadlock + * @link http://themehybrid.com/hybrid-core + * @license http://www.gnu.org/licenses/old-licenses/gpl-2.0.html */ /* Register widget areas. */ @@ -21,7 +21,7 @@ add_action( 'widgets_init', 'hybrid_register_sidebars' ); * for using add_theme_support(). * * @since 0.7.0 - * @access private + * @access public * @uses register_sidebar() Registers a sidebar with WordPress. * @link http://codex.wordpress.org/Function_Reference/register_sidebar * @return void @@ -42,21 +42,21 @@ function hybrid_register_sidebars() { foreach ( $supported_sidebars[0] as $sidebar ) { /* Make sure the given sidebar is one of the core sidebars. */ - if ( isset( $core_sidebars[$sidebar] ) ) { + if ( isset( $core_sidebars[ $sidebar ] ) ) { /* Set up some default sidebar arguments. */ $defaults = array( - 'before_widget' => '<div id="%1$s" class="widget %2$s widget-%2$s"><div class="widget-wrap widget-inside">', - 'after_widget' => '</div></div>', - 'before_title' => '<h3 class="widget-title">', - 'after_title' => '</h3>' + 'before_widget' => '<div id="%1$s" class="widget %2$s widget-%2$s"><div class="widget-wrap widget-inside">', + 'after_widget' => '</div></div>', + 'before_title' => '<h3 class="widget-title">', + 'after_title' => '</h3>' ); /* Allow developers to filter the default sidebar arguments. */ $defaults = apply_filters( hybrid_get_prefix() . '_sidebar_defaults', $defaults, $sidebar ); /* Parse the sidebar arguments and defaults. */ - $args = wp_parse_args( $core_sidebars[$sidebar], $defaults ); + $args = wp_parse_args( $core_sidebars[ $sidebar ], $defaults ); /* If no 'id' was given, use the $sidebar variable and sanitize it. */ $args['id'] = ( isset( $args['id'] ) ? sanitize_key( $args['id'] ) : sanitize_key( $sidebar ) ); @@ -76,7 +76,7 @@ function hybrid_register_sidebars() { * sidebar is registered. * * @since 1.2.0 - * @access private + * @access public * @return array $sidebars All the available framework sidebars. */ function hybrid_get_sidebars() { @@ -84,32 +84,32 @@ function hybrid_get_sidebars() { /* Set up an array of sidebars. */ $sidebars = array( 'primary' => array( - 'name' => _x( 'Primary', 'sidebar', 'hybrid-core' ), - 'description' => __( 'The main (primary) widget area, most often used as a sidebar.', 'hybrid-core' ) + 'name' => _x( 'Primary', 'sidebar', 'hybrid-core' ), + 'description' => __( 'The main (primary) widget area, most often used as a sidebar.', 'hybrid-core' ) ), 'secondary' => array( - 'name' => _x( 'Secondary', 'sidebar', 'hybrid-core' ), - 'description' => __( 'The second most important widget area, most often used as a secondary sidebar.', 'hybrid-core' ), + 'name' => _x( 'Secondary', 'sidebar', 'hybrid-core' ), + 'description' => __( 'The second most important widget area, most often used as a secondary sidebar.', 'hybrid-core' ), ), 'subsidiary' => array( - 'name' => _x( 'Subsidiary', 'sidebar', 'hybrid-core' ), - 'description' => __( 'A widget area loaded in the footer of the site.', 'hybrid-core' ), + 'name' => _x( 'Subsidiary', 'sidebar', 'hybrid-core' ), + 'description' => __( 'A widget area loaded in the footer of the site.', 'hybrid-core' ), ), 'header' => array( - 'name' => _x( 'Header', 'sidebar', 'hybrid-core' ), - 'description' => __( "Displayed within the site's header area.", 'hybrid-core' ), + 'name' => _x( 'Header', 'sidebar', 'hybrid-core' ), + 'description' => __( "Displayed within the site's header area.", 'hybrid-core' ), ), 'before-content' => array( - 'name' => _x( 'Before Content', 'sidebar', 'hybrid-core' ), - 'description' => __( "Loaded before the page's main content area.", 'hybrid-core' ), + 'name' => _x( 'Before Content', 'sidebar', 'hybrid-core' ), + 'description' => __( "Loaded before the page's main content area.", 'hybrid-core' ), ), 'after-content' => array( - 'name' => _x( 'After Content', 'sidebar', 'hybrid-core' ), - 'description' => __( "Loaded after the page's main content area.", 'hybrid-core' ), + 'name' => _x( 'After Content', 'sidebar', 'hybrid-core' ), + 'description' => __( "Loaded after the page's main content area.", 'hybrid-core' ), ), 'after-singular' => array( - 'name' => _x( 'After Singular', 'sidebar', 'hybrid-core' ), - 'description' => __( 'Loaded on singular post (page, attachment, etc.) views before the comments area.', 'hybrid-core' ), + 'name' => _x( 'After Singular', 'sidebar', 'hybrid-core' ), + 'description' => __( 'Loaded on singular post (page, attachment, etc.) views before the comments area.', 'hybrid-core' ), ) ); diff --git a/wp-content/themes/hybrid/library/functions/styles.php b/wp-content/themes/hybrid/library/functions/styles.php new file mode 100644 index 0000000000000000000000000000000000000000..a1c90943eb84ec7a4fc14a9b5444b1e4f1494c69 --- /dev/null +++ b/wp-content/themes/hybrid/library/functions/styles.php @@ -0,0 +1,169 @@ +<?php +/** + * Functions for handling stylesheets in the framework. Themes can add support for the + * 'hybrid-core-styles' feature to allow the framework to handle loading the stylesheets into the + * theme header at an appropriate point. + * + * @package HybridCore + * @subpackage Functions + * @author Justin Tadlock <justin@justintadlock.com> + * @copyright Copyright (c) 2008 - 2012, Justin Tadlock + * @link http://themehybrid.com/hybrid-core + * @license http://www.gnu.org/licenses/old-licenses/gpl-2.0.html + */ + +/* Register Hybrid Core styles. */ +add_action( 'wp_enqueue_scripts', 'hybrid_register_styles', 1 ); + +/* Load Hybrid Core styles. */ +add_action( 'wp_enqueue_scripts', 'hybrid_enqueue_styles', 5 ); + +/* Load the development stylsheet in script debug mode. */ +add_filter( 'stylesheet_uri', 'hybrid_min_stylesheet_uri', 10, 2 ); + +/** + * Registers stylesheets for the framework. This function merely registers styles with WordPress using + * the wp_register_style() function. It does not load any stylesheets on the site. If a theme wants to + * register its own custom styles, it should do so on the 'wp_enqueue_scripts' hook. + * + * @since 1.5.0 + * @access private + * @return void + */ +function hybrid_register_styles() { + + /* Get framework styles. */ + $styles = hybrid_get_styles(); + + /* Use the .min stylesheet if SCRIPT_DEBUG is turned off. */ + $suffix = ( defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ) ? '' : '.min'; + + /* Loop through each style and register it. */ + foreach ( $styles as $style => $args ) { + + $defaults = array( + 'handle' => $style, + 'src' => trailingslashit( HYBRID_CSS ) . "{$style}{$suffix}.css", + 'deps' => null, + 'version' => false, + 'media' => 'all' + ); + + $args = wp_parse_args( $args, $defaults ); + + wp_register_style( + sanitize_key( $args['handle'] ), + esc_url( $args['src'] ), + is_array( $args['deps'] ) ? $args['deps'] : null, + preg_replace( '/[^a-z0-9_\-.]/', '', strtolower( $args['version'] ) ), + esc_attr( $args['media'] ) + ); + } +} + +/** + * Tells WordPress to load the styles needed for the framework using the wp_enqueue_style() function. + * + * @since 1.5.0 + * @access private + * @return void + */ +function hybrid_enqueue_styles() { + + /* Get the theme-supported stylesheets. */ + $supports = get_theme_support( 'hybrid-core-styles' ); + + /* If the theme doesn't add support for any styles, return. */ + if ( !is_array( $supports[0] ) ) + return; + + /* Get framework styles. */ + $styles = hybrid_get_styles(); + + /* Loop through each of the core framework styles and enqueue them if supported. */ + foreach ( $supports[0] as $style ) { + + if ( isset( $styles[$style] ) ) + wp_enqueue_style( $style ); + } +} + +/** + * Returns an array of the core framework's available styles for use in themes. + * + * @since 1.5.0 + * @access private + * @return array $styles All the available framework styles. + */ +function hybrid_get_styles() { + + /* Use the .min stylesheet if SCRIPT_DEBUG is turned off. */ + $suffix = ( defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ) ? '' : '.min'; + + /* Default styles available. */ + $styles = array( + '18px' => array( 'version' => '20110523' ), + '20px' => array( 'version' => '20110523' ), + '21px' => array( 'version' => '20110523' ), + '22px' => array( 'version' => '20110523' ), + '24px' => array( 'version' => '20110523' ), + '25px' => array( 'version' => '20110523' ), + 'drop-downs' => array( 'version' => '20110919' ), + 'nav-bar' => array( 'version' => '20110519' ), + 'gallery' => array( 'version' => '20120222' ), + ); + + /* If a child theme is active, add the parent theme's style. */ + if ( is_child_theme() ) { + $parent = wp_get_theme( get_template(), get_theme_root( get_template_directory() ) ); + + /* Get the parent theme stylesheet. */ + $src = trailingslashit( THEME_URI ) . "style.css"; + + /* If a '.min' version of the parent theme stylesheet exists, use it. */ + if ( !empty( $suffix ) && file_exists( trailingslashit( THEME_DIR ) . "style{$suffix}.css" ) ) + $src = trailingslashit( THEME_URI ) . "style{$suffix}.css"; + + $styles['parent'] = array( 'src' => $src, 'version' => $parent->get( 'Version' ) ); + } + + /* Add the active theme style. */ + $styles['style'] = array( 'src' => get_stylesheet_uri(), 'version' => wp_get_theme()->get( 'Version' ) ); + + /* Return the array of styles. */ + return apply_filters( hybrid_get_prefix() . '_styles', $styles ); +} + +/** + * Filters the 'stylesheet_uri' to allow theme developers to offer a minimized version of their main + * 'style.css' file. It will detect if a 'style.min.css' file is available and use it if SCRIPT_DEBUG + * is disabled. + * + * @since 1.5.0 + * @access public + * @param string $stylesheet_uri The URI of the active theme's stylesheet. + * @param string $stylesheet_dir_uri The directory URI of the active theme's stylesheet. + * @return string $stylesheet_uri + */ +function hybrid_min_stylesheet_uri( $stylesheet_uri, $stylesheet_dir_uri ) { + + /* Use the .min stylesheet if SCRIPT_DEBUG is turned off. */ + if ( !defined( 'SCRIPT_DEBUG' ) || false === SCRIPT_DEBUG ) { + $suffix = '.min'; + + /* Remove the stylesheet directory URI from the file name. */ + $stylesheet = str_replace( trailingslashit( $stylesheet_dir_uri ), '', $stylesheet_uri ); + + /* Change the stylesheet name to 'style.min.css'. */ + $stylesheet = str_replace( '.css', "{$suffix}.css", $stylesheet ); + + /* If the stylesheet exists in the stylesheet directory, set the stylesheet URI to the dev stylesheet. */ + if ( file_exists( trailingslashit( get_stylesheet_directory() ) . $stylesheet ) ) + $stylesheet_uri = trailingslashit( $stylesheet_dir_uri ) . $stylesheet; + } + + /* Return the theme stylesheet. */ + return $stylesheet_uri; +} + +?> \ No newline at end of file diff --git a/wp-content/themes/hybrid/library/functions/template-hierarchy.php b/wp-content/themes/hybrid/library/functions/template-hierarchy.php index 431e17d393270b653fafe37915771c9642da13e6..0074c3ed1132f119afcb87052bdbfe75339ed238 100644 --- a/wp-content/themes/hybrid/library/functions/template-hierarchy.php +++ b/wp-content/themes/hybrid/library/functions/template-hierarchy.php @@ -5,12 +5,12 @@ * making it smarter and more flexible. The goal is to give theme developers and end users an * easy-to-override system that doesn't involve massive amounts of conditional tags within files. * - * @package HybridCore + * @package HybridCore * @subpackage Functions - * @author Justin Tadlock <justin@justintadlock.com> - * @copyright Copyright (c) 2008 - 2012, Justin Tadlock - * @link http://themehybrid.com/hybrid-core - * @license http://www.gnu.org/licenses/old-licenses/gpl-2.0.html + * @author Justin Tadlock <justin@justintadlock.com> + * @copyright Copyright (c) 2008 - 2012, Justin Tadlock + * @link http://themehybrid.com/hybrid-core + * @license http://www.gnu.org/licenses/old-licenses/gpl-2.0.html */ /* Filter the date template. */ @@ -29,12 +29,15 @@ add_filter( 'single_template', 'hybrid_singular_template' ); add_filter( 'page_template', 'hybrid_singular_template' ); add_filter( 'attachment_template', 'hybrid_singular_template' ); +/* Filter the comments template. */ +add_filter( 'comments_template', 'hybrid_comments_template' ); + /** * Overrides WP's default template for date-based archives. Better abstraction of templates than * is_date() allows by checking for the year, month, week, day, hour, and minute. * * @since 0.6.0 - * @access private + * @access public * @uses locate_template() Checks for template in child and parent theme. * @param string $template * @return string $template Full path to file. @@ -89,7 +92,7 @@ function hybrid_date_template( $template ) { * user-$nicename.php, $user-role-$role.php, user.php, author.php, archive.php. * * @since 0.7.0 - * @access private + * @access public * @uses locate_template() Checks for template in child and parent theme. * @param string $template * @return string Full path to file. @@ -132,7 +135,7 @@ function hybrid_user_template( $template ) { * taxonomy.php, archive.php. * * @since 0.7.0 - * @access private + * @access public * @uses locate_template() Checks for template in child and parent theme. * @param string $template * @return string Full path to file. @@ -158,7 +161,7 @@ function hybrid_taxonomy_template( $template ) { * attachment-$mime[1].php, or attachment-$mime[0].php. * * @since 0.7.0 - * @access private + * @access public * @param string $template The default WordPress post template. * @return string $template The theme post template after all templates have been checked for. */ @@ -208,4 +211,34 @@ function hybrid_singular_template( $template ) { return locate_template( $templates ); } +/** + * Overrides the default comments template. This filter allows for a "comments-{$post_type}.php" + * template based on the post type of the current single post view. If this template is not found, it falls + * back to the default "comments.php" template. + * + * @since 1.5.0 + * @access public + * @param string $template The comments template file name. + * @return string $template The theme comments template after all templates have been checked for. + */ +function hybrid_comments_template( $template ) { + + $templates = array(); + + /* Allow for custom templates entered into comments_template( $file ). */ + $template = str_replace( trailingslashit( get_stylesheet_directory() ), '', $template ); + + if ( 'comments.php' !== $template ) + $templates[] = $template; + + /* Add a comments template based on the post type. */ + $templates[] = 'comments-' . get_post_type() . '.php'; + + /* Add the default comments template. */ + $templates[] = 'comments.php'; + + /* Return the found template. */ + return locate_template( $templates ); +} + ?> \ No newline at end of file diff --git a/wp-content/themes/hybrid/library/functions/utility.php b/wp-content/themes/hybrid/library/functions/utility.php index 847e7b16d7becc30f97a30d46d280a2d6f36a096..77bf192feb4eede98e2386fd5c24c2d57cc869ef 100644 --- a/wp-content/themes/hybrid/library/functions/utility.php +++ b/wp-content/themes/hybrid/library/functions/utility.php @@ -3,12 +3,12 @@ * Additional helper functions that the framework or themes may use. The functions in this file are functions * that don't really have a home within any other parts of the framework. * - * @package HybridCore + * @package HybridCore * @subpackage Functions - * @author Justin Tadlock <justin@justintadlock.com> - * @copyright Copyright (c) 2008 - 2012, Justin Tadlock - * @link http://themehybrid.com/hybrid-core - * @license http://www.gnu.org/licenses/old-licenses/gpl-2.0.html + * @author Justin Tadlock <justin@justintadlock.com> + * @copyright Copyright (c) 2008 - 2012, Justin Tadlock + * @link http://themehybrid.com/hybrid-core + * @license http://www.gnu.org/licenses/old-licenses/gpl-2.0.html */ /* Add extra support for post types. */ @@ -24,7 +24,7 @@ add_filter( 'extra_theme_headers', 'hybrid_extra_theme_headers' ); * they're not registered. * * @since 0.8.0 - * @access private + * @access public * @return void */ function hybrid_add_post_type_support() { @@ -42,7 +42,7 @@ function hybrid_add_post_type_support() { * displaying additional information to the theme user. * * @since 1.2.0 - * @access private + * @access public * @link http://codex.wordpress.org/Theme_Review#Licensing * @param array $headers Array of extra headers added by plugins/themes. * @return array $headers @@ -112,7 +112,7 @@ function get_atomic_template( $template ) { * filter hook. * * @since 0.4.0 - * @access private + * @access public * @return void */ function hybrid_meta_template() { @@ -210,4 +210,38 @@ function hybrid_has_post_template( $template = '' ) { return false; } +/** + * Retrieves the file with the highest priority that exists. The function searches both the stylesheet + * and template directories. This function is similar to the locate_template() function in WordPress + * but returns the file name with the URI path instead of the directory path. + * + * @since 1.5.0 + * @access public + * @link http://core.trac.wordpress.org/ticket/18302 + * @param array $file_names The files to search for. + * @return string + */ +function hybrid_locate_theme_file( $file_names ) { + + $located = ''; + + /* Loops through each of the given file names. */ + foreach ( (array) $file_names as $file ) { + + /* If the file exists in the stylesheet (child theme) directory. */ + if ( is_child_theme() && file_exists( trailingslashit( get_stylesheet_directory() ) . $file ) ) { + $located = trailingslashit( get_stylesheet_directory_uri() ) . $file; + break; + } + + /* If the file exists in the template (parent theme) directory. */ + elseif ( file_exists( trailingslashit( get_template_directory ) ) . $file ) { + $located = trailingslashit( get_template_directory_uri() ) . $file; + break; + } + } + + return $located; +} + ?> \ No newline at end of file diff --git a/wp-content/themes/hybrid/library/functions/widgets.php b/wp-content/themes/hybrid/library/functions/widgets.php index 2d1bf9737741af6aa50d1ce95bf18831d0296dde..d3629bb9766b156504570aca7bb6b260ab10c9c5 100644 --- a/wp-content/themes/hybrid/library/functions/widgets.php +++ b/wp-content/themes/hybrid/library/functions/widgets.php @@ -5,12 +5,12 @@ * widgets by giving users highly-customizable widget settings. A theme must register support for the * 'hybrid-core-widgets' feature to use the framework widgets. * - * @package HybridCore + * @package HybridCore * @subpackage Functions - * @author Justin Tadlock <justin@justintadlock.com> - * @copyright Copyright (c) 2008 - 2012, Justin Tadlock - * @link http://themehybrid.com/hybrid-core - * @license http://www.gnu.org/licenses/old-licenses/gpl-2.0.html + * @author Justin Tadlock <justin@justintadlock.com> + * @copyright Copyright (c) 2008 - 2012, Justin Tadlock + * @link http://themehybrid.com/hybrid-core + * @license http://www.gnu.org/licenses/old-licenses/gpl-2.0.html */ /* Unregister WP widgets. */ @@ -24,7 +24,7 @@ add_action( 'widgets_init', 'hybrid_register_widgets' ); * widget by extending the available options of the widget. * * @since 0.6.0 - * @access private + * @access public * @uses register_widget() Registers individual widgets with WordPress * @link http://codex.wordpress.org/Function_Reference/register_widget * @return void @@ -38,7 +38,8 @@ function hybrid_register_widgets() { require_once( trailingslashit( HYBRID_CLASSES ) . 'widget-authors.php' ); /* Load the bookmarks widget class. */ - require_once( trailingslashit( HYBRID_CLASSES ) . 'widget-bookmarks.php' ); + if ( get_option( 'link_manager_enabled' ) ) + require_once( trailingslashit( HYBRID_CLASSES ) . 'widget-bookmarks.php' ); /* Load the calendar widget class. */ require_once( trailingslashit( HYBRID_CLASSES ) . 'widget-calendar.php' ); @@ -65,7 +66,8 @@ function hybrid_register_widgets() { register_widget( 'Hybrid_Widget_Authors' ); /* Register the bookmarks widget. */ - register_widget( 'Hybrid_Widget_Bookmarks' ); + if ( get_option( 'link_manager_enabled' ) ) + register_widget( 'Hybrid_Widget_Bookmarks' ); /* Register the calendar widget. */ register_widget( 'Hybrid_Widget_Calendar' ); @@ -91,7 +93,7 @@ function hybrid_register_widgets() { * aren't replaced by the framework widgets are not unregistered. * * @since 0.3.2 - * @access private + * @access public * @uses unregister_widget() Unregisters a registered widget. * @link http://codex.wordpress.org/Function_Reference/unregister_widget * @return void diff --git a/wp-content/themes/hybrid/library/hybrid.php b/wp-content/themes/hybrid/library/hybrid.php index 997c298e0a830249850d8b7d6a5c8b12d10499b6..3d0c4c53f54d56a23ea2051ca6de7e9b060b806a 100644 --- a/wp-content/themes/hybrid/library/hybrid.php +++ b/wp-content/themes/hybrid/library/hybrid.php @@ -23,12 +23,12 @@ * You should have received a copy of the GNU General Public License along with this program; if not, write * to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA * - * @package HybridCore - * @version 1.4.2 - * @author Justin Tadlock <justin@justintadlock.com> - * @copyright Copyright (c) 2008 - 2012, Justin Tadlock - * @link http://themehybrid.com/hybrid-core - * @license http://www.gnu.org/licenses/old-licenses/gpl-2.0.html + * @package HybridCore + * @version 1.5.0 + * @author Justin Tadlock <justin@justintadlock.com> + * @copyright Copyright (c) 2008 - 2013, Justin Tadlock + * @link http://themehybrid.com/hybrid-core + * @license http://www.gnu.org/licenses/old-licenses/gpl-2.0.html */ /** @@ -93,7 +93,7 @@ class Hybrid { function constants() { /* Sets the framework version number. */ - define( 'HYBRID_VERSION', '1.4.2' ); + define( 'HYBRID_VERSION', '1.5.0' ); /* Sets the path to the parent theme directory. */ define( 'THEME_DIR', get_template_directory() ); @@ -215,6 +215,14 @@ class Hybrid { /* Remove support for the the Get the Image extension if the plugin is installed. */ if ( function_exists( 'get_the_image' ) ) remove_theme_support( 'get-the-image' ); + + /* Remove support for the Featured Header extension if the class exists. */ + if ( class_exists( 'Featured_Header' ) ) + remove_theme_support( 'featured-header' ); + + /* Remove support for the Random Custom Background extension if the class exists. */ + if ( class_exists( 'Random_Custom_Background' ) ) + remove_theme_support( 'random-custom-background' ); } /** @@ -261,6 +269,12 @@ class Hybrid { /* Load the template hierarchy if supported. */ require_if_theme_supports( 'hybrid-core-template-hierarchy', trailingslashit( HYBRID_FUNCTIONS ) . 'template-hierarchy.php' ); + /* Load the styles if supported. */ + require_if_theme_supports( 'hybrid-core-styles', trailingslashit( HYBRID_FUNCTIONS ) . 'styles.php' ); + + /* Load the scripts if supported. */ + require_if_theme_supports( 'hybrid-core-scripts', trailingslashit( HYBRID_FUNCTIONS ) . 'scripts.php' ); + /* Load the deprecated functions if supported. */ require_if_theme_supports( 'hybrid-core-deprecated', trailingslashit( HYBRID_FUNCTIONS ) . 'deprecated.php' ); } @@ -301,6 +315,15 @@ class Hybrid { /* Load the Post Stylesheets extension if supported. */ require_if_theme_supports( 'post-stylesheets', trailingslashit( HYBRID_EXTENSIONS ) . 'post-stylesheets.php' ); + + /* Load the Featured Header extension if supported. */ + require_if_theme_supports( 'featured-header', trailingslashit( HYBRID_EXTENSIONS ) . 'featured-header.php' ); + + /* Load the Random Custom Background extension if supported. */ + require_if_theme_supports( 'random-custom-background', trailingslashit( HYBRID_EXTENSIONS ) . 'random-custom-background.php' ); + + /* Load the Post Format Tools extension if post formats are supported. */ + require_if_theme_supports( 'post-formats', trailingslashit( HYBRID_EXTENSIONS ) . 'post-format-tools.php' ); } /** diff --git a/wp-content/themes/hybrid/library/js/drop-downs.js b/wp-content/themes/hybrid/library/js/drop-downs.js index 24f6ccf2d8f0e031aa9138bad45a7ba151d1f616..e172e14a973bb002b1de33eba29f6bc7d641f557 100644 --- a/wp-content/themes/hybrid/library/js/drop-downs.js +++ b/wp-content/themes/hybrid/library/js/drop-downs.js @@ -1 +1,248 @@ -;(function($){$.fn.superfish=function(op){var sf=$.fn.superfish,c=sf.c,$arrow=$(['<span class="',c.arrowClass,'"> »</span>'].join('')),over=function(){var $$=$(this),menu=getMenu($$);clearTimeout(menu.sfTimer);$$.showSuperfishUl().siblings().hideSuperfishUl()},out=function(){var $$=$(this),menu=getMenu($$),o=sf.op;clearTimeout(menu.sfTimer);menu.sfTimer=setTimeout(function(){o.retainPath=($.inArray($$[0],o.$path)>-1);$$.hideSuperfishUl();if(o.$path.length&&$$.parents(['li.',o.hoverClass].join('')).length<1){over.call(o.$path)}},o.delay)},getMenu=function($menu){var menu=$menu.parents(['ul.',c.menuClass,':first'].join(''))[0];sf.op=sf.o[menu.serial];return menu},addArrow=function($a){$a.addClass(c.anchorClass).append($arrow.clone())};return this.each(function(){var s=this.serial=sf.o.length;var o=$.extend({},sf.defaults,op);o.$path=$('li.'+o.pathClass,this).slice(0,o.pathLevels).each(function(){$(this).addClass([o.hoverClass,c.bcClass].join(' ')).filter('li:has(ul)').removeClass(o.pathClass)});sf.o[s]=sf.op=o;$('li:has(ul)',this)[($.fn.hoverIntent&&!o.disableHI)?'hoverIntent':'hover'](over,out).each(function(){if(o.autoArrows)addArrow($('>a:first-child',this))}).not('.'+c.bcClass).hideSuperfishUl();var $a=$('a',this);$a.each(function(i){var $li=$a.eq(i).parents('li');$a.eq(i).focus(function(){over.call($li)}).blur(function(){out.call($li)})});o.onInit.call(this)}).each(function(){var menuClasses=[c.menuClass];if(sf.op.dropShadows&&!($.browser.msie&&$.browser.version<7))menuClasses.push(c.shadowClass);$(this).addClass(menuClasses.join(' '))})};var sf=$.fn.superfish;sf.o=[];sf.op={};sf.IE7fix=function(){var o=sf.op;if($.browser.msie&&$.browser.version>6&&o.dropShadows&&o.animation.opacity!=undefined)this.toggleClass(sf.c.shadowClass+'-off')};sf.c={bcClass:'sf-breadcrumb',menuClass:'sf-js-enabled',anchorClass:'sf-with-ul',arrowClass:'sf-sub-indicator',shadowClass:'sf-shadow'};sf.defaults={hoverClass:'sfHover',pathClass:'overideThisToUse',pathLevels:1,delay:800,animation:{opacity:'show'},speed:'normal',autoArrows:true,dropShadows:true,disableHI:false,onInit:function(){},onBeforeShow:function(){},onShow:function(){},onHide:function(){}};$.fn.extend({hideSuperfishUl:function(){var o=sf.op,not=(o.retainPath===true)?o.$path:'';o.retainPath=false;var $ul=$(['li.',o.hoverClass].join(''),this).add(this).not(not).removeClass(o.hoverClass).find('>ul').hide().css('visibility','hidden');o.onHide.call($ul);return this},showSuperfishUl:function(){var o=sf.op,sh=sf.c.shadowClass+'-off',$ul=this.addClass(o.hoverClass).find('>ul:hidden').css('visibility','visible');sf.IE7fix.call($ul);o.onBeforeShow.call($ul);$ul.animate(o.animation,o.speed,function(){sf.IE7fix.call($ul);o.onShow.call($ul)});return this}})})(jQuery);(function($){$.fn.supersubs=function(options){var opts=$.extend({},$.fn.supersubs.defaults,options);return this.each(function(){var $$=$(this);var o=$.meta?$.extend({},opts,$$.data()):opts;var fontsize=$('<li id="menu-fontsize">—</li>').css({'padding':0,'position':'absolute','top':'-999em','width':'auto'}).appendTo($$).width();$('#menu-fontsize').remove();$ULs=$$.find('ul');$ULs.each(function(i){var $ul=$ULs.eq(i);var $LIs=$ul.children();var $As=$LIs.children('a');var liFloat=$LIs.css('white-space','nowrap').css('float');var emWidth=$ul.add($LIs).add($As).css({'float':'none','width':'auto'}).end().end()[0].clientWidth/fontsize;emWidth+=o.extraWidth;if(emWidth>o.maxWidth){emWidth=o.maxWidth}else if(emWidth<o.minWidth){emWidth=o.minWidth}emWidth+='em';$ul.css('width',emWidth);$LIs.css({'float':liFloat,'width':'100%','white-space':'normal'}).each(function(){var $childUl=$('>ul',this);var offsetDirection=$childUl.css('left')!==undefined?'left':'right';$childUl.css(offsetDirection,emWidth)})})})};$.fn.supersubs.defaults={minWidth:9,maxWidth:25,extraWidth:0}})(jQuery);$j=jQuery.noConflict();$j(document).ready(function(){$j('div.menu ul:first-child').supersubs({minWidth:12,maxWidth:27,extraWidth:1}).superfish({delay:100,animation:{opacity:'show',height:'show'},dropShadows:false});$j('nav.menu ul:first-child').supersubs({minWidth:12,maxWidth:27,extraWidth:1}).superfish({delay:100,animation:{opacity:'show',height:'show'},dropShadows:false})}); \ No newline at end of file +/* + * Superfish v1.4.8 - jQuery menu widget + * Copyright (c) 2008 Joel Birch + * + * Dual licensed under the MIT and GPL licenses: + * http://www.opensource.org/licenses/mit-license.php + * http://www.gnu.org/licenses/gpl.html + * + * CHANGELOG: http://users.tpg.com.au/j_birch/plugins/superfish/changelog.txt + */ + +;(function($){ + $.fn.superfish = function(op){ + + var sf = $.fn.superfish, + c = sf.c, + $arrow = $(['<span class="',c.arrowClass,'"> »</span>'].join('')), + over = function(){ + var $$ = $(this), menu = getMenu($$); + clearTimeout(menu.sfTimer); + $$.showSuperfishUl().siblings().hideSuperfishUl(); + }, + out = function(){ + var $$ = $(this), menu = getMenu($$), o = sf.op; + clearTimeout(menu.sfTimer); + menu.sfTimer=setTimeout(function(){ + o.retainPath=($.inArray($$[0],o.$path)>-1); + $$.hideSuperfishUl(); + if (o.$path.length && $$.parents(['li.',o.hoverClass].join('')).length<1){over.call(o.$path);} + },o.delay); + }, + getMenu = function($menu){ + var menu = $menu.parents(['ul.',c.menuClass,':first'].join(''))[0]; + sf.op = sf.o[menu.serial]; + return menu; + }, + addArrow = function($a){ $a.addClass(c.anchorClass).append($arrow.clone()); }; + + return this.each(function() { + var s = this.serial = sf.o.length; + var o = $.extend({},sf.defaults,op); + o.$path = $('li.'+o.pathClass,this).slice(0,o.pathLevels).each(function(){ + $(this).addClass([o.hoverClass,c.bcClass].join(' ')) + .filter('li:has(ul)').removeClass(o.pathClass); + }); + sf.o[s] = sf.op = o; + + $('li:has(ul)',this)[($.fn.hoverIntent && !o.disableHI) ? 'hoverIntent' : 'hover'](over,out).each(function() { + if (o.autoArrows) addArrow( $('>a:first-child',this) ); + }) + .not('.'+c.bcClass) + .hideSuperfishUl(); + + var $a = $('a',this); + $a.each(function(i){ + var $li = $a.eq(i).parents('li'); + $a.eq(i).focus(function(){over.call($li);}).blur(function(){out.call($li);}); + }); + o.onInit.call(this); + + }).each(function() { + var menuClasses = [c.menuClass]; + if (sf.op.dropShadows && !($.browser.msie && $.browser.version < 7)) menuClasses.push(c.shadowClass); + $(this).addClass(menuClasses.join(' ')); + }); + }; + + var sf = $.fn.superfish; + sf.o = []; + sf.op = {}; + sf.IE7fix = function(){ + var o = sf.op; + if ($.browser.msie && $.browser.version > 6 && o.dropShadows && o.animation.opacity!=undefined) + this.toggleClass(sf.c.shadowClass+'-off'); + }; + sf.c = { + bcClass : 'sf-breadcrumb', + menuClass : 'sf-js-enabled', + anchorClass : 'sf-with-ul', + arrowClass : 'sf-sub-indicator', + shadowClass : 'sf-shadow' + }; + sf.defaults = { + hoverClass : 'sfHover', + pathClass : 'overideThisToUse', + pathLevels : 1, + delay : 800, + animation : {opacity:'show'}, + speed : 'normal', + autoArrows : true, + dropShadows : true, + disableHI : false, // true disables hoverIntent detection + onInit : function(){}, // callback functions + onBeforeShow: function(){}, + onShow : function(){}, + onHide : function(){} + }; + $.fn.extend({ + hideSuperfishUl : function(){ + var o = sf.op, + not = (o.retainPath===true) ? o.$path : ''; + o.retainPath = false; + var $ul = $(['li.',o.hoverClass].join(''),this).add(this).not(not).removeClass(o.hoverClass) + .find('>ul').hide().css('visibility','hidden'); + o.onHide.call($ul); + return this; + }, + showSuperfishUl : function(){ + var o = sf.op, + sh = sf.c.shadowClass+'-off', + $ul = this.addClass(o.hoverClass) + .find('>ul:hidden').css('visibility','visible'); + sf.IE7fix.call($ul); + o.onBeforeShow.call($ul); + $ul.animate(o.animation,o.speed,function(){ sf.IE7fix.call($ul); o.onShow.call($ul); }); + return this; + } + }); + +})(jQuery); + +/* + * Supersubs v0.2b - jQuery plugin + * Copyright (c) 2008 Joel Birch + * + * Dual licensed under the MIT and GPL licenses: + * http://www.opensource.org/licenses/mit-license.php + * http://www.gnu.org/licenses/gpl.html + * + * + * This plugin automatically adjusts submenu widths of suckerfish-style menus to that of + * their longest list item children. If you use this, please expect bugs and report them + * to the jQuery Google Group with the word 'Superfish' in the subject line. + * + */ + +;(function($){ // $ will refer to jQuery within this closure + + $.fn.supersubs = function(options){ + var opts = $.extend({}, $.fn.supersubs.defaults, options); + // return original object to support chaining + return this.each(function() { + // cache selections + var $$ = $(this); + // support metadata + var o = $.meta ? $.extend({}, opts, $$.data()) : opts; + // get the font size of menu. + // .css('fontSize') returns various results cross-browser, so measure an em dash instead + var fontsize = $('<li id="menu-fontsize">—</li>').css({ + 'padding' : 0, + 'position' : 'absolute', + 'top' : '-999em', + 'width' : 'auto' + }).appendTo($$).width(); //clientWidth is faster, but was incorrect here + // remove em dash + $('#menu-fontsize').remove(); + // cache all ul elements + $ULs = $$.find('ul'); + // loop through each ul in menu + $ULs.each(function(i) { + // cache this ul + var $ul = $ULs.eq(i); + // get all (li) children of this ul + var $LIs = $ul.children(); + // get all anchor grand-children + var $As = $LIs.children('a'); + // force content to one line and save current float property + var liFloat = $LIs.css('white-space','nowrap').css('float'); + // remove width restrictions and floats so elements remain vertically stacked + var emWidth = $ul.add($LIs).add($As).css({ + 'float' : 'none', + 'width' : 'auto' + }) + // this ul will now be shrink-wrapped to longest li due to position:absolute + // so save its width as ems. Clientwidth is 2 times faster than .width() - thanks Dan Switzer + .end().end()[0].clientWidth / fontsize; + // add more width to ensure lines don't turn over at certain sizes in various browsers + emWidth += o.extraWidth; + // restrict to at least minWidth and at most maxWidth + if (emWidth > o.maxWidth) { emWidth = o.maxWidth; } + else if (emWidth < o.minWidth) { emWidth = o.minWidth; } + emWidth += 'em'; + // set ul to width in ems + $ul.css('width',emWidth); + // restore li floats to avoid IE bugs + // set li width to full width of this ul + // revert white-space to normal + $LIs.css({ + 'float' : liFloat, + 'width' : '100%', + 'white-space' : 'normal' + }) + // update offset position of descendant ul to reflect new width of parent + .each(function(){ + var $childUl = $('>ul',this); + var offsetDirection = $childUl.css('left')!==undefined ? 'left' : 'right'; + $childUl.css(offsetDirection,emWidth); + }); + }); + + }); + }; + // expose defaults + $.fn.supersubs.defaults = { + minWidth : 9, // requires em unit. + maxWidth : 25, // requires em unit. + extraWidth : 0 // extra width can ensure lines don't sometimes turn over due to slight browser differences in how they round-off values + }; + +})(jQuery); // plugin code ends + +/** + * Hybrid drop-downs. + * @author Justin Tadlock + * @license http://www.gnu.org/licenses/gpl.html + * @copyright 2008 - 2012 Justin Tadlock + */ +$j = jQuery.noConflict(); + +$j(document).ready( + function() { + + /* Drop-down controls. */ + $j('div.menu ul:first-child').supersubs( { + minWidth: 12, + maxWidth: 27, + extraWidth: 1 + } + ).superfish( { + delay: 100, + animation: { opacity: 'show', height: 'show' }, + dropShadows: false + } + ); + + $j( 'nav.menu ul:first-child' ).supersubs( { + minWidth: 12, + maxWidth: 27, + extraWidth: 1 + } + ).superfish( { + delay: 100, + animation: { opacity: 'show', height: 'show' }, + dropShadows: false + } + ); + } +); \ No newline at end of file diff --git a/wp-content/themes/hybrid/library/js/drop-downs.min.js b/wp-content/themes/hybrid/library/js/drop-downs.min.js new file mode 100644 index 0000000000000000000000000000000000000000..24f6ccf2d8f0e031aa9138bad45a7ba151d1f616 --- /dev/null +++ b/wp-content/themes/hybrid/library/js/drop-downs.min.js @@ -0,0 +1 @@ +;(function($){$.fn.superfish=function(op){var sf=$.fn.superfish,c=sf.c,$arrow=$(['<span class="',c.arrowClass,'"> »</span>'].join('')),over=function(){var $$=$(this),menu=getMenu($$);clearTimeout(menu.sfTimer);$$.showSuperfishUl().siblings().hideSuperfishUl()},out=function(){var $$=$(this),menu=getMenu($$),o=sf.op;clearTimeout(menu.sfTimer);menu.sfTimer=setTimeout(function(){o.retainPath=($.inArray($$[0],o.$path)>-1);$$.hideSuperfishUl();if(o.$path.length&&$$.parents(['li.',o.hoverClass].join('')).length<1){over.call(o.$path)}},o.delay)},getMenu=function($menu){var menu=$menu.parents(['ul.',c.menuClass,':first'].join(''))[0];sf.op=sf.o[menu.serial];return menu},addArrow=function($a){$a.addClass(c.anchorClass).append($arrow.clone())};return this.each(function(){var s=this.serial=sf.o.length;var o=$.extend({},sf.defaults,op);o.$path=$('li.'+o.pathClass,this).slice(0,o.pathLevels).each(function(){$(this).addClass([o.hoverClass,c.bcClass].join(' ')).filter('li:has(ul)').removeClass(o.pathClass)});sf.o[s]=sf.op=o;$('li:has(ul)',this)[($.fn.hoverIntent&&!o.disableHI)?'hoverIntent':'hover'](over,out).each(function(){if(o.autoArrows)addArrow($('>a:first-child',this))}).not('.'+c.bcClass).hideSuperfishUl();var $a=$('a',this);$a.each(function(i){var $li=$a.eq(i).parents('li');$a.eq(i).focus(function(){over.call($li)}).blur(function(){out.call($li)})});o.onInit.call(this)}).each(function(){var menuClasses=[c.menuClass];if(sf.op.dropShadows&&!($.browser.msie&&$.browser.version<7))menuClasses.push(c.shadowClass);$(this).addClass(menuClasses.join(' '))})};var sf=$.fn.superfish;sf.o=[];sf.op={};sf.IE7fix=function(){var o=sf.op;if($.browser.msie&&$.browser.version>6&&o.dropShadows&&o.animation.opacity!=undefined)this.toggleClass(sf.c.shadowClass+'-off')};sf.c={bcClass:'sf-breadcrumb',menuClass:'sf-js-enabled',anchorClass:'sf-with-ul',arrowClass:'sf-sub-indicator',shadowClass:'sf-shadow'};sf.defaults={hoverClass:'sfHover',pathClass:'overideThisToUse',pathLevels:1,delay:800,animation:{opacity:'show'},speed:'normal',autoArrows:true,dropShadows:true,disableHI:false,onInit:function(){},onBeforeShow:function(){},onShow:function(){},onHide:function(){}};$.fn.extend({hideSuperfishUl:function(){var o=sf.op,not=(o.retainPath===true)?o.$path:'';o.retainPath=false;var $ul=$(['li.',o.hoverClass].join(''),this).add(this).not(not).removeClass(o.hoverClass).find('>ul').hide().css('visibility','hidden');o.onHide.call($ul);return this},showSuperfishUl:function(){var o=sf.op,sh=sf.c.shadowClass+'-off',$ul=this.addClass(o.hoverClass).find('>ul:hidden').css('visibility','visible');sf.IE7fix.call($ul);o.onBeforeShow.call($ul);$ul.animate(o.animation,o.speed,function(){sf.IE7fix.call($ul);o.onShow.call($ul)});return this}})})(jQuery);(function($){$.fn.supersubs=function(options){var opts=$.extend({},$.fn.supersubs.defaults,options);return this.each(function(){var $$=$(this);var o=$.meta?$.extend({},opts,$$.data()):opts;var fontsize=$('<li id="menu-fontsize">—</li>').css({'padding':0,'position':'absolute','top':'-999em','width':'auto'}).appendTo($$).width();$('#menu-fontsize').remove();$ULs=$$.find('ul');$ULs.each(function(i){var $ul=$ULs.eq(i);var $LIs=$ul.children();var $As=$LIs.children('a');var liFloat=$LIs.css('white-space','nowrap').css('float');var emWidth=$ul.add($LIs).add($As).css({'float':'none','width':'auto'}).end().end()[0].clientWidth/fontsize;emWidth+=o.extraWidth;if(emWidth>o.maxWidth){emWidth=o.maxWidth}else if(emWidth<o.minWidth){emWidth=o.minWidth}emWidth+='em';$ul.css('width',emWidth);$LIs.css({'float':liFloat,'width':'100%','white-space':'normal'}).each(function(){var $childUl=$('>ul',this);var offsetDirection=$childUl.css('left')!==undefined?'left':'right';$childUl.css(offsetDirection,emWidth)})})})};$.fn.supersubs.defaults={minWidth:9,maxWidth:25,extraWidth:0}})(jQuery);$j=jQuery.noConflict();$j(document).ready(function(){$j('div.menu ul:first-child').supersubs({minWidth:12,maxWidth:27,extraWidth:1}).superfish({delay:100,animation:{opacity:'show',height:'show'},dropShadows:false});$j('nav.menu ul:first-child').supersubs({minWidth:12,maxWidth:27,extraWidth:1}).superfish({delay:100,animation:{opacity:'show',height:'show'},dropShadows:false})}); \ No newline at end of file diff --git a/wp-content/themes/hybrid/library/js/nav-bar.js b/wp-content/themes/hybrid/library/js/nav-bar.js index dca4ae8cfad257f7bf1616b832cb50bfb4e73643..73e6f4564b2088f62d5525dce54d5827a63952fd 100644 --- a/wp-content/themes/hybrid/library/js/nav-bar.js +++ b/wp-content/themes/hybrid/library/js/nav-bar.js @@ -1 +1,153 @@ -;(function($){$.fn.superfish=function(op){var sf=$.fn.superfish,c=sf.c,$arrow=$(['<span class="',c.arrowClass,'"> »</span>'].join('')),over=function(){var $$=$(this),menu=getMenu($$);clearTimeout(menu.sfTimer);$$.showSuperfishUl().siblings().hideSuperfishUl()},out=function(){var $$=$(this),menu=getMenu($$),o=sf.op;clearTimeout(menu.sfTimer);menu.sfTimer=setTimeout(function(){o.retainPath=($.inArray($$[0],o.$path)>-1);$$.hideSuperfishUl();if(o.$path.length&&$$.parents(['li.',o.hoverClass].join('')).length<1){over.call(o.$path)}},o.delay)},getMenu=function($menu){var menu=$menu.parents(['ul.',c.menuClass,':first'].join(''))[0];sf.op=sf.o[menu.serial];return menu},addArrow=function($a){$a.addClass(c.anchorClass).append($arrow.clone())};return this.each(function(){var s=this.serial=sf.o.length;var o=$.extend({},sf.defaults,op);o.$path=$('li.'+o.pathClass,this).slice(0,o.pathLevels).each(function(){$(this).addClass([o.hoverClass,c.bcClass].join(' ')).filter('li:has(ul)').removeClass(o.pathClass)});sf.o[s]=sf.op=o;$('li:has(ul)',this)[($.fn.hoverIntent&&!o.disableHI)?'hoverIntent':'hover'](over,out).each(function(){if(o.autoArrows)addArrow($('>a:first-child',this))}).not('.'+c.bcClass).hideSuperfishUl();var $a=$('a',this);$a.each(function(i){var $li=$a.eq(i).parents('li');$a.eq(i).focus(function(){over.call($li)}).blur(function(){out.call($li)})});o.onInit.call(this)}).each(function(){var menuClasses=[c.menuClass];if(sf.op.dropShadows&&!($.browser.msie&&$.browser.version<7))menuClasses.push(c.shadowClass);$(this).addClass(menuClasses.join(' '))})};var sf=$.fn.superfish;sf.o=[];sf.op={};sf.IE7fix=function(){var o=sf.op;if($.browser.msie&&$.browser.version>6&&o.dropShadows&&o.animation.opacity!=undefined)this.toggleClass(sf.c.shadowClass+'-off')};sf.c={bcClass:'sf-breadcrumb',menuClass:'sf-js-enabled',anchorClass:'sf-with-ul',arrowClass:'sf-sub-indicator',shadowClass:'sf-shadow'};sf.defaults={hoverClass:'sfHover',pathClass:'overideThisToUse',pathLevels:1,delay:800,animation:{opacity:'show'},speed:'normal',autoArrows:true,dropShadows:true,disableHI:false,onInit:function(){},onBeforeShow:function(){},onShow:function(){},onHide:function(){}};$.fn.extend({hideSuperfishUl:function(){var o=sf.op,not=(o.retainPath===true)?o.$path:'';o.retainPath=false;var $ul=$(['li.',o.hoverClass].join(''),this).add(this).not(not).removeClass(o.hoverClass).find('>ul').hide().css('visibility','hidden');o.onHide.call($ul);return this},showSuperfishUl:function(){var o=sf.op,sh=sf.c.shadowClass+'-off',$ul=this.addClass(o.hoverClass).find('>ul:hidden').css('visibility','visible');sf.IE7fix.call($ul);o.onBeforeShow.call($ul);$ul.animate(o.animation,o.speed,function(){sf.IE7fix.call($ul);o.onShow.call($ul)});return this}})})(jQuery);$j=jQuery.noConflict();$j(document).ready(function(){$j('div.menu ul li.current-menu-ancestor').addClass('current-menu-item');$j('nav.menu ul li.current-menu-ancestor').addClass('current-menu-item');$j('div.menu ul:first-child').superfish({pathClass:'current-menu-item',delay:100,animation:{opacity:'show',height:'show'},dropShadows:false});$j('nav.menu ul:first-child').superfish({pathClass:'current-menu-item',delay:100,animation:{opacity:'show',height:'show'},dropShadows:false})}); \ No newline at end of file +/* + * Superfish v1.4.8 - jQuery menu widget + * Copyright (c) 2008 Joel Birch + * + * Dual licensed under the MIT and GPL licenses: + * http://www.opensource.org/licenses/mit-license.php + * http://www.gnu.org/licenses/gpl.html + * + * CHANGELOG: http://users.tpg.com.au/j_birch/plugins/superfish/changelog.txt + */ + +;(function($){ + $.fn.superfish = function(op){ + + var sf = $.fn.superfish, + c = sf.c, + $arrow = $(['<span class="',c.arrowClass,'"> »</span>'].join('')), + over = function(){ + var $$ = $(this), menu = getMenu($$); + clearTimeout(menu.sfTimer); + $$.showSuperfishUl().siblings().hideSuperfishUl(); + }, + out = function(){ + var $$ = $(this), menu = getMenu($$), o = sf.op; + clearTimeout(menu.sfTimer); + menu.sfTimer=setTimeout(function(){ + o.retainPath=($.inArray($$[0],o.$path)>-1); + $$.hideSuperfishUl(); + if (o.$path.length && $$.parents(['li.',o.hoverClass].join('')).length<1){over.call(o.$path);} + },o.delay); + }, + getMenu = function($menu){ + var menu = $menu.parents(['ul.',c.menuClass,':first'].join(''))[0]; + sf.op = sf.o[menu.serial]; + return menu; + }, + addArrow = function($a){ $a.addClass(c.anchorClass).append($arrow.clone()); }; + + return this.each(function() { + var s = this.serial = sf.o.length; + var o = $.extend({},sf.defaults,op); + o.$path = $('li.'+o.pathClass,this).slice(0,o.pathLevels).each(function(){ + $(this).addClass([o.hoverClass,c.bcClass].join(' ')) + .filter('li:has(ul)').removeClass(o.pathClass); + }); + sf.o[s] = sf.op = o; + + $('li:has(ul)',this)[($.fn.hoverIntent && !o.disableHI) ? 'hoverIntent' : 'hover'](over,out).each(function() { + if (o.autoArrows) addArrow( $('>a:first-child',this) ); + }) + .not('.'+c.bcClass) + .hideSuperfishUl(); + + var $a = $('a',this); + $a.each(function(i){ + var $li = $a.eq(i).parents('li'); + $a.eq(i).focus(function(){over.call($li);}).blur(function(){out.call($li);}); + }); + o.onInit.call(this); + + }).each(function() { + var menuClasses = [c.menuClass]; + if (sf.op.dropShadows && !($.browser.msie && $.browser.version < 7)) menuClasses.push(c.shadowClass); + $(this).addClass(menuClasses.join(' ')); + }); + }; + + var sf = $.fn.superfish; + sf.o = []; + sf.op = {}; + sf.IE7fix = function(){ + var o = sf.op; + if ($.browser.msie && $.browser.version > 6 && o.dropShadows && o.animation.opacity!=undefined) + this.toggleClass(sf.c.shadowClass+'-off'); + }; + sf.c = { + bcClass : 'sf-breadcrumb', + menuClass : 'sf-js-enabled', + anchorClass : 'sf-with-ul', + arrowClass : 'sf-sub-indicator', + shadowClass : 'sf-shadow' + }; + sf.defaults = { + hoverClass : 'sfHover', + pathClass : 'overideThisToUse', + pathLevels : 1, + delay : 800, + animation : {opacity:'show'}, + speed : 'normal', + autoArrows : true, + dropShadows : true, + disableHI : false, // true disables hoverIntent detection + onInit : function(){}, // callback functions + onBeforeShow: function(){}, + onShow : function(){}, + onHide : function(){} + }; + $.fn.extend({ + hideSuperfishUl : function(){ + var o = sf.op, + not = (o.retainPath===true) ? o.$path : ''; + o.retainPath = false; + var $ul = $(['li.',o.hoverClass].join(''),this).add(this).not(not).removeClass(o.hoverClass) + .find('>ul').hide().css('visibility','hidden'); + o.onHide.call($ul); + return this; + }, + showSuperfishUl : function(){ + var o = sf.op, + sh = sf.c.shadowClass+'-off', + $ul = this.addClass(o.hoverClass) + .find('>ul:hidden').css('visibility','visible'); + sf.IE7fix.call($ul); + o.onBeforeShow.call($ul); + $ul.animate(o.animation,o.speed,function(){ sf.IE7fix.call($ul); o.onShow.call($ul); }); + return this; + } + }); + +})(jQuery); + +/** + * Hybrid drop-downs. + * @author Justin Tadlock + * @license http://www.gnu.org/licenses/gpl.html + * @copyright 2008 - 2012 Justin Tadlock + */ +$j = jQuery.noConflict(); + +$j(document).ready( + function() { + + $j( 'div.menu ul li.current-menu-ancestor' ).addClass( 'current-menu-item' ); + $j( 'nav.menu ul li.current-menu-ancestor' ).addClass( 'current-menu-item' ); + + /* Drop-down controls. */ + $j('div.menu ul:first-child').superfish( { + pathClass: 'current-menu-item', + delay: 100, + animation: { opacity: 'show', height: 'show' }, + dropShadows: false + } + ); + + $j( 'nav.menu ul:first-child' ).superfish( { + pathClass: 'current-menu-item', + delay: 100, + animation: { opacity: 'show', height: 'show' }, + dropShadows: false + } + ); + } +); \ No newline at end of file diff --git a/wp-content/themes/hybrid/library/js/nav-bar.min.js b/wp-content/themes/hybrid/library/js/nav-bar.min.js new file mode 100644 index 0000000000000000000000000000000000000000..dca4ae8cfad257f7bf1616b832cb50bfb4e73643 --- /dev/null +++ b/wp-content/themes/hybrid/library/js/nav-bar.min.js @@ -0,0 +1 @@ +;(function($){$.fn.superfish=function(op){var sf=$.fn.superfish,c=sf.c,$arrow=$(['<span class="',c.arrowClass,'"> »</span>'].join('')),over=function(){var $$=$(this),menu=getMenu($$);clearTimeout(menu.sfTimer);$$.showSuperfishUl().siblings().hideSuperfishUl()},out=function(){var $$=$(this),menu=getMenu($$),o=sf.op;clearTimeout(menu.sfTimer);menu.sfTimer=setTimeout(function(){o.retainPath=($.inArray($$[0],o.$path)>-1);$$.hideSuperfishUl();if(o.$path.length&&$$.parents(['li.',o.hoverClass].join('')).length<1){over.call(o.$path)}},o.delay)},getMenu=function($menu){var menu=$menu.parents(['ul.',c.menuClass,':first'].join(''))[0];sf.op=sf.o[menu.serial];return menu},addArrow=function($a){$a.addClass(c.anchorClass).append($arrow.clone())};return this.each(function(){var s=this.serial=sf.o.length;var o=$.extend({},sf.defaults,op);o.$path=$('li.'+o.pathClass,this).slice(0,o.pathLevels).each(function(){$(this).addClass([o.hoverClass,c.bcClass].join(' ')).filter('li:has(ul)').removeClass(o.pathClass)});sf.o[s]=sf.op=o;$('li:has(ul)',this)[($.fn.hoverIntent&&!o.disableHI)?'hoverIntent':'hover'](over,out).each(function(){if(o.autoArrows)addArrow($('>a:first-child',this))}).not('.'+c.bcClass).hideSuperfishUl();var $a=$('a',this);$a.each(function(i){var $li=$a.eq(i).parents('li');$a.eq(i).focus(function(){over.call($li)}).blur(function(){out.call($li)})});o.onInit.call(this)}).each(function(){var menuClasses=[c.menuClass];if(sf.op.dropShadows&&!($.browser.msie&&$.browser.version<7))menuClasses.push(c.shadowClass);$(this).addClass(menuClasses.join(' '))})};var sf=$.fn.superfish;sf.o=[];sf.op={};sf.IE7fix=function(){var o=sf.op;if($.browser.msie&&$.browser.version>6&&o.dropShadows&&o.animation.opacity!=undefined)this.toggleClass(sf.c.shadowClass+'-off')};sf.c={bcClass:'sf-breadcrumb',menuClass:'sf-js-enabled',anchorClass:'sf-with-ul',arrowClass:'sf-sub-indicator',shadowClass:'sf-shadow'};sf.defaults={hoverClass:'sfHover',pathClass:'overideThisToUse',pathLevels:1,delay:800,animation:{opacity:'show'},speed:'normal',autoArrows:true,dropShadows:true,disableHI:false,onInit:function(){},onBeforeShow:function(){},onShow:function(){},onHide:function(){}};$.fn.extend({hideSuperfishUl:function(){var o=sf.op,not=(o.retainPath===true)?o.$path:'';o.retainPath=false;var $ul=$(['li.',o.hoverClass].join(''),this).add(this).not(not).removeClass(o.hoverClass).find('>ul').hide().css('visibility','hidden');o.onHide.call($ul);return this},showSuperfishUl:function(){var o=sf.op,sh=sf.c.shadowClass+'-off',$ul=this.addClass(o.hoverClass).find('>ul:hidden').css('visibility','visible');sf.IE7fix.call($ul);o.onBeforeShow.call($ul);$ul.animate(o.animation,o.speed,function(){sf.IE7fix.call($ul);o.onShow.call($ul)});return this}})})(jQuery);$j=jQuery.noConflict();$j(document).ready(function(){$j('div.menu ul li.current-menu-ancestor').addClass('current-menu-item');$j('nav.menu ul li.current-menu-ancestor').addClass('current-menu-item');$j('div.menu ul:first-child').superfish({pathClass:'current-menu-item',delay:100,animation:{opacity:'show',height:'show'},dropShadows:false});$j('nav.menu ul:first-child').superfish({pathClass:'current-menu-item',delay:100,animation:{opacity:'show',height:'show'},dropShadows:false})}); \ No newline at end of file diff --git a/wp-content/themes/hybrid/loop-meta.php b/wp-content/themes/hybrid/loop-meta.php index d3d010d1fc0aa3b00e5a50fa782f9b7c97ed0a0d..42d1b448fa266b48c6b7f63363fd5bbfebdb6ba5 100644 --- a/wp-content/themes/hybrid/loop-meta.php +++ b/wp-content/themes/hybrid/loop-meta.php @@ -12,10 +12,8 @@ <?php if ( is_home() && !is_front_page() ) : ?> - <?php global $wp_query; ?> - <div class="loop-meta"> - <h1 class="loop-title"><?php echo get_post_field( 'post_title', $wp_query->get_queried_object_id() ); ?></h1> + <h1 class="loop-title"><?php echo get_post_field( 'post_title', get_queried_object_id() ); ?></h1> </div><!-- .loop-meta --> <?php elseif ( is_category() ) : ?> diff --git a/wp-content/themes/hybrid/style.css b/wp-content/themes/hybrid/style.css index 7657972566046a355734c4ba6ea1f81eaa1b52ed..a01852c0807c2d9e6efb2883689df2f0938a5c56 100644 --- a/wp-content/themes/hybrid/style.css +++ b/wp-content/themes/hybrid/style.css @@ -2,15 +2,567 @@ * Theme Name: Hybrid * Theme URI: http://themehybrid.com/themes/hybrid * Description: A user-friendly, search-engine optimized parent theme, featuring 15 custom page templates and multiple widget-ready areas, allowing you to create any type of site you want. - * Version: 1.1 + * Version: 1.2 * Author: Justin Tadlock * Author URI: http://justintadlock.com * Tags: theme-options, threaded-comments, microformats, translation-ready, rtl-language-support, one-column, two-columns, right-sidebar, fixed-width, sticky-post, custom-menu, full-width-template, featured-images * License: GNU General Public License v2.0 * License URI: http://www.gnu.org/licenses/gpl-2.0.html * - * Copyright (c) 2008 - 2012 Justin Tadlock. + * Copyright (c) 2008 - 2013 Justin Tadlock. * http://justintadlock.com */ -html,body,div,span,object,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,samp,small,strong,sub,sup,tt,var,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,figcaption,figure,footer,header,hgroup,menu,nav,section,summary,time,mark,audio,video{margin:0;padding:0;vertical-align:baseline;outline:none;font-size:100%;background:transparent;border:none;text-decoration:none}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}b,i,hr,u,center,menu,layer,s,strike,font,xmp{margin:0;padding:0;vertical-align:baseline;outline:none;font-size:100%;font-weight:normal;font-style:normal;background:transparent;border:none;text-decoration:none}body{line-height:24px;font-family:Georgia,Times,"Times New Roman",serif;color:#333;background:#fff}h1,h2,h3,h4,h5,h6{font-style:normal;font-weight:normal;margin:0 0 21px 0}h1{font-size:1.8em}h2{font-size:1.7em}h3{font-size:1.55em}h4{font-size:1.4em}h5{font-size:1.25em}h6{font-size:1.1em}p{margin:0 0 21px 0}ol,ul{list-style:none}ul{list-style:disc;margin:0 0 21px 2.5em}ol{list-style-type:decimal;margin:0 0 21px 3em}ol ol{list-style:upper-roman}ol ol ol{list-style:lower-roman}ol ol ol ol{list-style:upper-alpha}ol ol ol ol ol{list-style:lower-alpha}ul ul,ol ol,ul ol,ol ul{margin-bottom:0}dl{margin:0 0 18px 3px}dl dt{font-weight:bold;margin:12px 0 0 0}dl dd{margin:6px 0 0 1.5em}strong{font-weight:bold}strong strong{font-weight:normal}em,cite{font-style:italic}em em,cite cite{font-style:normal}abbr{cursor:help}acronym{text-transform:uppercase;border-bottom:1px dashed #666;cursor:help}big{font-size:120%}small,sup,sub{font-size:80%}sup{vertical-align:baseline;position:relative;bottom:0.3em}sub{vertical-align:baseline;position:relative;top:0.3em}address{font-style:italic;margin:0 0 21px 0}li address,dd address{margin:0}blockquote{margin:0 2.5em;font-style:normal}blockquote em,blockquote cite{font-style:italic}blockquote,q{quotes:none}blockquote:before,blockquote:after,q:before,q:after{content:'';content:none}a{cursor:pointer}a img{border:none}pre{overflow:auto;font:.9em Monaco,monospace,Courier,"Courier New";line-height:21px;margin-bottom:21px;padding:9px}code{font:.9em Monaco,monospace,Courier,"Courier New"}pre code{font-size:1em}ins,dfn{font-style:italic;text-decoration:none;border-bottom:1px solid #666}del,s,strike{text-decoration:line-through}object{margin-bottom:21px}input,textarea{font-size:1em;padding:3px}input[type="submit"]{cursor:pointer}:focus{outline:none}form label{cursor:pointer}option{padding:1px 3px}table{border-collapse:collapse;border-spacing:0;margin-bottom:21px}th,td{text-align:left}hr{height:1px;margin-bottom:21px;background:#333}img.wp-smiley{max-height:12px;margin:0;padding:0;border:none}.gallery{display:block;text-align:center;margin-bottom:21px}.alignleft,.left{float:left;margin-right:15px}.alignright,.right{float:right;margin-left:15px}.aligncenter,.center{display:block;margin:0 auto 21px auto}.alignnone,.block{clear:both;margin:0 0 21px 0}.clear{clear:both}img.alignleft,img.alignright{display:inline}blockquote.alignleft,blockquote.alignright{width:33%}#body-container{overflow:hidden;width:960px;margin:0 auto}#container{overflow:hidden;float:left;width:960px}.content{overflow:hidden;float:left;width:620px}.no-widgets .content,.no-default-widgets .content{width:960px}#primary{position:relative;float:right;width:300px}#secondary{position:relative;clear:right;float:right;width:300px}#subsidiary{overflow:hidden}#subsidiary .widget{overflow:hidden;float:left;width:300px;margin:0 20px 0 0}#footer-container{clear:both;overflow:hidden}#footer{clear:both;overflow:hidden}div.menu ul{margin:0;padding:0;list-style:none;line-height:1.0}div.menu ul ul{position:absolute;top:-999em;width:10em}div.menu ul ul li{width:100%}div.menu li:hover{visibility:inherit}div.menu li{float:left;position:relative}div.menu a{display:block;position:relative}div.menu li:hover ul,li.sfHover ul{left:0;top:2em;z-index:99}div.menu li:hover li ul,li.sfHover li ul{top:-999em}div.menu li li:hover ul,li li.sfHover ul{left:10em;top:0}div.menu li li:hover li ul,li li.sfHover li ul{top:-999em}div.menu li li li:hover ul,li li li.sfHover ul{left:10em;top:0}.gallery{display:block;clear:both;overflow:hidden;margin:0 auto}.gallery .gallery-row{display:block;clear:both;overflow:hidden;margin:0}.gallery .gallery-item{overflow:hidden;float:left;margin:0;text-align:center;list-style:none;padding:0}.gallery .gallery-item .gallery-icon img{width:auto;max-width:89%;height:auto;padding:1%;margin:0 auto}.gallery-caption{margin-left:0}.gallery .col-0{width:100%}.gallery .col-1{width:100%}.gallery .col-2{width:50%}.gallery .col-3{width:33.33%}.gallery .col-4{width:25%}.gallery .col-5{width:20%}.gallery .col-6{width:16.66%}.gallery .col-7{width:14.28%}.gallery .col-8{width:12.5%}.gallery .col-9{width:11.11%}.gallery .col-10{width:10%}.gallery .col-11{width:9.09%}.gallery .col-12{width:8.33%}.gallery .col-13{width:7.69%}.gallery .col-14{width:7.14%}.gallery .col-15{width:6.66%}.gallery .col-16{width:6.25%}.gallery .col-17{width:5.88%}.gallery .col-18{width:5.55%}.gallery .col-19{width:5.26%}.gallery .col-20{width:5%}.gallery .col-21{width:4.76%}.gallery .col-22{width:4.54%}.gallery .col-23{width:4.34%}.gallery .col-24{width:4.16%}.gallery .col-25{width:4%}.gallery .col-26{width:3.84%}.gallery .col-27{width:3.7%}.gallery .col-28{width:3.57%}.gallery .col-29{width:3.44%}.gallery .col-30{width:3.33%}.sticky,.bypostauthor{}body{font:normal normal normal 15px/21px Georgia,Times,"Times New Roman",serif;color:#000}#body-container{margin:90px auto 21px auto}a{color:#21759b;text-decoration:none}a:visited{color:#551a8b}a:hover,a:active{color:#d54e21;text-decoration:underline}h1,h2,h3,h4,h5,h6{font-family:Arial,Verdana,sans-serif;color:#000;font-weight:bold}h1{font-size:24px}h2{font-size:21px}h3{font-size:19px}h4{font-size:17px}h5{font-size:15px}h6{font-size:13px}ul{list-style:square}blockquote{font-style:italic;color:#555}blockquote blockquote{color:#777}blockquote em{font-style:normal}pre{padding:9px;background:#f9f9f9;border:1px solid #ccc}code{padding:0 3px;background:#eee}pre code{background:transparent}table{width:100%;border-collapse:separate;border-top:1px solid #ccc;border-left:1px solid #ccc}caption{font-size:.9em;font-style:italic;text-align:right}td,th{padding:3px 6px;border-bottom:1px solid #ccc;border-right:1px solid #ccc}th{background:#eee}.drop-cap{float:left;margin:3px 3px 0 0;font:normal normal normal 47px/35px "Warnock Pro","Goudy Old Style",Palatino,"Book Antiqua",Georgia,serif;color:#333}.note{padding:6px 9px;background:#eee;border:1px solid #ccc}.warning,.alert{padding:6px 9px;background:#fffbbc;border:1px solid #E6DB55}.error{padding:6px 9px;background:#ffebe8;border:1px solid #C00}.download{padding:6px 9px;background:#e7f7d3;border:1px solid #6c3}.breadcrumbs{margin:0 0 30px 0;font-size:.9em;font-style:italic;color:#666}.breadcrumbs a{color:#111;text-decoration:none}.breadcrumbs a:hover{color:#d54e21;text-decoration:underline}.hentry img{max-width:610px;height:auto;padding:4px;border:1px solid #ccc}.no-widgets .hentry img{max-width:950px}img.alignleft,img.alignright{margin-bottom:10px}.thumbnail{float:left;width:100px;height:100px;margin:5px 15px 10px 0}img.wp-smiley{max-width:12px;padding:0;background:transparent;border:none}.wp-caption{max-width:616px;margin-top:6px;padding:6px 1px 3px 1px;border:1px solid #ccc;text-align:center}.wp-caption .wp-caption-text{margin:0;padding:0 5px;text-align:right;font-size:.9em;font-style:italic;color:#666}.wp-caption img{max-width:604px;margin:0 auto;padding:0;border:1px solid #666}.no-widgets .wp-caption{max-width:956px}.no-widgets .wp-caption img{max-width:946px}.gallery img{border:1px solid #ccc}.avatar{float:left;width:100px;height:100px;margin:5px 15px 0 0;padding:4px;border:1px solid #ccc}#header{margin:0 0 40px 0}#site-title{font:normal normal bold 35px/35px Arial,Verdana,sans-serif;margin:0 0 10px 0}#site-title a{color:#000}#site-description{font:normal normal normal 16px/20px Georgia,Times,"Times New Roman",serif;margin:0;color:#666}#primary-menu,#navigation{overflow:visible;height:34px;margin:0 0 60px 0;z-index:100}#primary-menu li,#page-nav li{margin-right:15px}#primary-menu li li,#page-nav li li{margin-right:0}#primary-menu li a,#page-nav li a{padding:8px 15px 8px 15px;color:#111;background:#fff;border:1px solid #ccc}#primary-menu li:hover ul,#primary-menu li.sfHover ul,#page-nav li:hover ul,#page-nav li.sfHover ul{top:32px}#primary-menu li li a,#page-nav li li a{border-top:none;margin-right:0}#primary-menu li ul,#page-nav li ul{background:#fff;border-top:1px solid #ccc}#primary-menu li li:hover ul,#primary-menu li li.sfHover ul,#primary-menu li li li:hover ul,#primary-menu li li li.sfHover ul,#page-nav li li:hover ul,#page-nav li li.sfHover ul,#page-nav li li li:hover ul,#page-nav li li li.sfHover ul {top:-1px}#primary-menu li li li,#page-nav li li li{margin-left:-1px}#container{margin-bottom:21px}.content{margin:0 0 21px 0}.no-widgets .content,.page-template-no-widgets .content{width:960px}.hentry{overflow:hidden;margin:0 0 40px 0}.singular .hentry{margin:0}.loop-meta{overflow:hidden;margin:0 0 40px 0}.loop-title{font:normal normal bold 24px/24px Arial,Verdana,sans-serif}.entry-title{font:normal normal bold 24px/24px Arial,Verdana,sans-serif;margin:0 0 12px 0}.archive .entry-title,.search .entry-title{font-size:21px;margin:0 0 5px 0}.singular-page .entry-title,.singular-attachment .entry-title{margin:0 0 21px 0}.entry-title a{color:#000}.byline{margin:0 0 30px 0;font-style:italic;color:#666}.archive .byline,.search .byline{margin:0 0 5px 0}.entry-content{margin:0 0 10px 0}.entry-meta{clear:both;font-style:italic;color:#666}p.page-links,.comment-pagination{clear:both}.comment-pagination{margin-bottom:21px}p.page-links a,.comment-pagination .page-numbers{margin:0 3px;padding:3px 9px 3px 9px;border:1px solid #ccc}.navigation-links{margin-bottom:21px;font-style:italic}.navigation-links .previous{float:left;max-width:50%}.navigation-links .next{float:right;max-width:50%;text-align:right}.navigation-attachment{overflow:hidden}.widget{overflow:hidden;margin:0 0 15px 0;color:#464646}.widget a{color:#464646;text-decoration:underline}.widget a:hover{color:#d54e21;text-decoration:none}.widget-title{font-size:18px;color:#111}#utility-before-content,#utility-after-content,#utility-after-page,#utility-after-single{margin:0 0 21px 0;padding:20px 20px 0 20px;border:1px solid #ccc}#comments-template{clear:both}.comments-header{font-size:1.2em}.comments-closed{font-style:italic}ol.comment-list,ol.comment-list ol.children{list-style:none;margin:0 0 21px 0}li.comment,li li li.comment,li li li li li.comment,li li li li li li li.comment,li li li li li li li li li.comment,li.pingback,li.trackback{overflow:hidden;margin:0 0 21px 0;padding:21px 21px 0 21px;background:#fff;border:1px solid #ccc}li li.comment,li li li li.comment,li li li li li li.comment,li li li li li li li li.comment,li li li li li li li li li li.comment{background:#f9f9f9}#comments-template .avatar{width:40px;height:40px;float:left;margin-right:15px;padding:0;border:1px solid #666}.comment-meta{margin:10px 0 21px 0;font-size:13px;color:#666}.comment-author{font-size:15px;color:#000}.comment-reply-link,.permalink,.comment-edit-link{font-style:italic;color:#666}.comment-text{clear:left;margin:0 15px}.text-input{display:block;padding:3px 6px;width:97%}#comments-template label{font-size:.9em}textarea{width:98%}#submit{display:inline-block;margin-right:15px;padding:7px 15px 8px 15px;background:#fff;border:1px solid #ccc}#submit:hover{cursor:pointer;background:#f9f9f9}#footer-container{clear:both;margin:0 0 21px 0}#subsidiary{margin:0 0 21px 0}#footer{font-style:italic;color:#444}#footer .copyright{display:inline;float:left;margin-right:9px}.content{float:left;width:620px}#primary{float:right;width:300px}#secondary{clear:right;float:right;width:300px} \ No newline at end of file +/* Get base CSS */ +html,body,div,span,object,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,samp,small,strong,sub,sup,tt,var,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,figcaption,figure,footer,header,hgroup,menu,nav,section,summary,time,mark,audio,video{margin:0;padding:0;vertical-align:baseline;outline:none;font-size:100%;background:transparent;border:none;text-decoration:none}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}b,i,hr,u,center,menu,layer,s,strike,font,xmp{margin:0;padding:0;vertical-align:baseline;outline:none;font-size:100%;font-weight:normal;font-style:normal;background:transparent;border:none;text-decoration:none}body{line-height:24px;font-family:Georgia,Times,"Times New Roman",serif;color:#333;background:#fff}h1,h2,h3,h4,h5,h6{font-style:normal;font-weight:normal;margin:0 0 21px 0}h1{font-size:1.8em}h2{font-size:1.7em}h3{font-size:1.55em}h4{font-size:1.4em}h5{font-size:1.25em}h6{font-size:1.1em}p{margin:0 0 21px 0}ol,ul{list-style:none}ul{list-style:disc;margin:0 0 21px 2.5em}ol{list-style-type:decimal;margin:0 0 21px 3em}ol ol{list-style:upper-roman}ol ol ol{list-style:lower-roman}ol ol ol ol{list-style:upper-alpha}ol ol ol ol ol{list-style:lower-alpha}ul ul,ol ol,ul ol,ol ul{margin-bottom:0}dl{margin:0 0 18px 3px}dl dt{font-weight:bold;margin:12px 0 0 0}dl dd{margin:6px 0 0 1.5em}strong{font-weight:bold}strong strong{font-weight:normal}em,cite{font-style:italic}em em,cite cite{font-style:normal}abbr{cursor:help}acronym{text-transform:uppercase;border-bottom:1px dashed #666;cursor:help}big{font-size:120%}small,sup,sub{font-size:80%}sup{vertical-align:baseline;position:relative;bottom:0.3em}sub{vertical-align:baseline;position:relative;top:0.3em}address{font-style:italic;margin:0 0 21px 0}li address,dd address{margin:0}blockquote{margin:0 2.5em;font-style:normal}blockquote em,blockquote cite{font-style:italic}blockquote,q{quotes:none}blockquote:before,blockquote:after,q:before,q:after{content:'';content:none}a{cursor:pointer}a img{border:none}pre{overflow:auto;font:.9em Monaco,monospace,Courier,"Courier New";line-height:21px;margin-bottom:21px;padding:9px}code{font:.9em Monaco,monospace,Courier,"Courier New"}pre code{font-size:1em}ins,dfn{font-style:italic;text-decoration:none;border-bottom:1px solid #666}del,s,strike{text-decoration:line-through}object{margin-bottom:21px}input,textarea{font-size:1em;padding:3px}input[type="submit"]{cursor:pointer}:focus{outline:none}form label{cursor:pointer}option{padding:1px 3px}table{border-collapse:collapse;border-spacing:0;margin-bottom:21px}th,td{text-align:left}hr{height:1px;margin-bottom:21px;background:#333}img.wp-smiley{max-height:12px;margin:0;padding:0;border:none}.gallery{display:block;text-align:center;margin-bottom:21px}.alignleft,.left{float:left;margin-right:15px}.alignright,.right{float:right;margin-left:15px}.aligncenter,.center{display:block;margin:0 auto 21px auto}.alignnone,.block{clear:both;margin:0 0 21px 0}.clear{clear:both}img.alignleft,img.alignright{display:inline}blockquote.alignleft,blockquote.alignright{width:33%} + +/* Get layout CSS */ +#body-container{overflow:hidden;width:960px;margin:0 auto}#container{overflow:hidden;float:left;width:960px}.content{overflow:hidden;float:left;width:620px}.no-widgets .content,.no-default-widgets .content{width:960px}#primary{position:relative;float:right;width:300px}#secondary{position:relative;clear:right;float:right;width:300px}#subsidiary{overflow:hidden}#subsidiary .widget{overflow:hidden;float:left;width:300px;margin:0 20px 0 0}#footer-container{clear:both;overflow:hidden}#footer{clear:both;overflow:hidden} + +/* Get drop-downs CSS */ +div.menu ul{margin:0;padding:0;list-style:none;line-height:1.0}div.menu ul ul{position:absolute;top:-999em;width:10em}div.menu ul ul li{width:100%}div.menu li:hover{visibility:inherit}div.menu li{float:left;position:relative}div.menu a{display:block;position:relative}div.menu li:hover ul,li.sfHover ul{left:0;top:2em;z-index:99}div.menu li:hover li ul,li.sfHover li ul{top:-999em}div.menu li li:hover ul,li li.sfHover ul{left:10em;top:0}div.menu li li:hover li ul,li li.sfHover li ul{top:-999em}div.menu li li li:hover ul,li li li.sfHover ul{left:10em;top:0} + +/* Get gallery CSS */ +.gallery{display:block;clear:both;overflow:hidden;margin:0 auto}.gallery .gallery-row{display:block;clear:both;overflow:hidden;margin:0}.gallery .gallery-item{overflow:hidden;float:left;margin:0;text-align:center;list-style:none;padding:0}.gallery .gallery-item .gallery-icon img{width:auto;max-width:89%;height:auto;padding:1%;margin:0 auto}.gallery-caption{margin-left:0}.gallery .col-0{width:100%}.gallery .col-1{width:100%}.gallery .col-2{width:50%}.gallery .col-3{width:33.33%}.gallery .col-4{width:25%}.gallery .col-5{width:20%}.gallery .col-6{width:16.66%}.gallery .col-7{width:14.28%}.gallery .col-8{width:12.5%}.gallery .col-9{width:11.11%}.gallery .col-10{width:10%}.gallery .col-11{width:9.09%}.gallery .col-12{width:8.33%}.gallery .col-13{width:7.69%}.gallery .col-14{width:7.14%}.gallery .col-15{width:6.66%}.gallery .col-16{width:6.25%}.gallery .col-17{width:5.88%}.gallery .col-18{width:5.55%}.gallery .col-19{width:5.26%}.gallery .col-20{width:5%}.gallery .col-21{width:4.76%}.gallery .col-22{width:4.54%}.gallery .col-23{width:4.34%}.gallery .col-24{width:4.16%}.gallery .col-25{width:4%}.gallery .col-26{width:3.84%}.gallery .col-27{width:3.7%}.gallery .col-28{width:3.57%}.gallery .col-29{width:3.44%}.gallery .col-30{width:3.33%} + +/* WP.org theme repository requirements. */ +.sticky, .bypostauthor {} + +/* Body */ +body { + font: normal normal normal 15px/21px Georgia, Times, "Times New Roman", serif; + color: #000; + } + +/* Body container */ +#body-container { + margin: 90px auto 21px auto; + } + +/* Links */ +a { + color: #21759b; + text-decoration: none; + } +a:visited { + color: #551a8b; + } +a:hover, a:active { + color: #d54e21; + text-decoration: underline; + } + +/* Headers */ +h1, h2, h3, h4, h5, h6 { + font-family: Arial, Verdana, sans-serif; + color: #000; + font-weight: bold; + } +h1 { font-size: 24px; } +h2 { font-size: 21px; } +h3 { font-size: 19px; } +h4 { font-size: 17px; } +h5 { font-size: 15px; } +h6 { font-size: 13px; } + +/* Lists */ +ul { + list-style: square; + } + +/* Blockquotes */ +blockquote { + font-style: italic; + color: #555; + } +blockquote blockquote { + color: #777; + } +blockquote em { + font-style: normal; + } + +/* Code */ +pre { + padding: 9px; + background: #f9f9f9; + border: 1px solid #ccc; + } +code { + padding: 0 3px; + background: #eee; + } +pre code { + background: transparent; + } + +/* Tables */ +table { + width: 100%; + border-collapse: separate; + border-top: 1px solid #ccc; + border-left: 1px solid #ccc; + } +caption { + font-size: .9em; + font-style: italic; + text-align: right; + } +td, th { + padding: 3px 6px; + border-bottom: 1px solid #ccc; + border-right: 1px solid #ccc; + } +th { + background: #eee; + } + +/* Drop caps */ +.drop-cap { + float: left; + margin: 3px 3px 0 0; + font: normal normal normal 47px/35px "Warnock Pro", "Goudy Old Style", Palatino,"Book Antiqua", Georgia, serif; + color: #333; + } + +/* Notes */ +.note { + padding: 6px 9px; + background: #eee; + border: 1px solid #ccc; + } + +/* Warnings/Alerts */ +.warning, .alert { + padding: 6px 9px; + background: #fffbbc; + border: 1px solid #E6DB55; + } + +/* Errors */ +.error { + padding: 6px 9px; + background: #ffebe8; + border: 1px solid #C00; + } + +/* Downloads */ +.download { + padding: 6px 9px; + background: #e7f7d3; + border: 1px solid #6c3; + } + +/* Breadcrumb */ +.breadcrumbs { + margin: 0 0 30px 0; + font-size: .9em; + font-style: italic; + color: #666; + } +.breadcrumbs a { + color: #111; + text-decoration: none; + } +.breadcrumbs a:hover { + color: #d54e21; + text-decoration: underline; + } + +/* Images */ +.hentry img { + max-width: 610px; + height: auto; + padding: 4px; + border: 1px solid #ccc; + } +.no-widgets .hentry img { + max-width: 950px; + } +img.alignleft, img.alignright { + margin-bottom: 10px; + } + +.thumbnail { + float: left; + width: 100px; + height: 100px; + margin: 5px 15px 10px 0; + } + +/* Smiley */ +img.wp-smiley { + max-width: 12px; + padding: 0; + background: transparent; + border: none; + } + +/* Captions [caption] */ +.wp-caption { + max-width: 616px; + margin-top: 6px; + padding: 6px 1px 3px 1px; + border: 1px solid #ccc; + text-align: center; + } +.wp-caption .wp-caption-text { + margin: 0; + padding: 0 5px; + text-align: right; + font-size: .9em; + font-style: italic; + color: #666; + } +.wp-caption img { + max-width: 604px; + margin: 0 auto; + padding: 0; + border: 1px solid #666; + } +.no-widgets .wp-caption { + max-width: 956px; + } +.no-widgets .wp-caption img { + max-width: 946px; + } + +/* Gallery [gallery] */ +.gallery img { + border: 1px solid #ccc; + } + +/* Avatars */ +.avatar { + float: left; + width: 100px; + height: 100px; + margin: 5px 15px 0 0; + padding: 4px; + border: 1px solid #ccc; + } + +/* Header */ +#header { + margin: 0 0 40px 0; + } + +/* Blog title */ +#site-title { + font: normal normal bold 35px/35px Arial, Verdana, sans-serif; + margin: 0 0 10px 0; + } +#site-title a { + color: #000; + } + +/* Blog description */ +#site-description { + font: normal normal normal 16px/20px Georgia, Times, "Times New Roman", serif; + margin: 0; + color: #666; + } + +/* Navigation */ +#primary-menu, #navigation { + overflow: visible; + height: 34px; + margin: 0 0 60px 0; + z-index: 100; + } +#primary-menu li, #page-nav li { + margin-right: 15px; + } +#primary-menu li li, #page-nav li li { + margin-right: 0; + } +#primary-menu li a, #page-nav li a { + padding: 8px 15px 8px 15px; + color: #111; + background: #fff; + border: 1px solid #ccc; + } + +/* Drop-downs style */ +#primary-menu li:hover ul, #primary-menu li.sfHover ul, #page-nav li:hover ul, #page-nav li.sfHover ul { + top: 32px; + } +#primary-menu li li a, #page-nav li li a { + border-top: none; + margin-right: 0; + } +#primary-menu li ul, #page-nav li ul { + background: #fff; + border-top: 1px solid #ccc; + } +#primary-menu li li:hover ul, #primary-menu li li.sfHover ul, #primary-menu li li li:hover ul, #primary-menu li li li.sfHover ul, +#page-nav li li:hover ul, #page-nav li li.sfHover ul , #page-nav li li li:hover ul, #page-nav li li li.sfHover ul { + top: -1px; + } +#primary-menu li li li, #page-nav li li li { + margin-left: -1px; + } + +/* Container (wraps content, primary, and secondary) */ +#container { + margin-bottom: 21px; + } + +/* Main content */ +.content { + margin: 0 0 21px 0; + } +.no-widgets .content, .page-template-no-widgets .content { + width: 960px; + } + +/* Posts */ +.hentry { + overflow: hidden; + margin: 0 0 40px 0; + } +.singular .hentry { + margin: 0; + } + +/* Archive information */ +.loop-meta { + overflow: hidden; + margin: 0 0 40px 0; + } +.loop-title { + font: normal normal bold 24px/24px Arial, Verdana, sans-serif; + } + +/* Entry title */ +.entry-title { + font: normal normal bold 24px/24px Arial, Verdana, sans-serif; + margin: 0 0 12px 0; + } +.archive .entry-title, .search .entry-title { + font-size: 21px; + margin: 0 0 5px 0; + } +.singular-page .entry-title, .singular-attachment .entry-title { + margin: 0 0 21px 0; + } +.entry-title a { + color: #000; + } + +/* Byline */ +.byline { + margin: 0 0 30px 0; + font-style: italic; + color: #666; + } +.archive .byline, .search .byline { + margin: 0 0 5px 0; + } + +/* Entry content */ +.entry-content { + margin: 0 0 10px 0; + } + +/* Entry metadata */ +.entry-meta { + clear: both; + font-style: italic; + color: #666; + } + +/* Page links (multiple-paged posts) */ +p.page-links, .comment-pagination { + clear: both; + } +.comment-pagination { + margin-bottom: 21px; + } +p.page-links a, .comment-pagination .page-numbers { + margin: 0 3px; + padding: 3px 9px 3px 9px; + border: 1px solid #ccc; + } + +/* Navigation links */ +.navigation-links { + margin-bottom: 21px; + font-style: italic; + } +.navigation-links .previous { + float: left; + max-width: 50%; + } +.navigation-links .next { + float: right; + max-width: 50%; + text-align: right; + } +.navigation-attachment { + overflow: hidden; + } + +/* Widgets */ +.widget { + overflow: hidden; + margin: 0 0 15px 0; + color: #464646; + } +.widget a { + color: #464646; + text-decoration: underline; + } +.widget a:hover { + color: #d54e21; + text-decoration: none; + } + +/* Widget titles */ +.widget-title { + font-size: 18px; + color: #111; + } + +/* Utility widget areas */ +#utility-before-content, #utility-after-content, #utility-after-page, #utility-after-single { + margin: 0 0 21px 0; + padding: 20px 20px 0 20px; + border: 1px solid #ccc; + } + +/* Comments template */ +#comments-template { + clear: both; + } + +/* Comment headers */ +.comments-header { + font-size: 1.2em; + } + +/* Comments are closed */ +.comments-closed { + font-style: italic; + } + +/* Comment list */ +ol.comment-list, ol.comment-list ol.children { + list-style: none; + margin: 0 0 21px 0; + } +li.comment, +li li li.comment, +li li li li li.comment, +li li li li li li li.comment, +li li li li li li li li li.comment, +li.pingback, li.trackback { + overflow: hidden; + margin: 0 0 21px 0; + padding: 21px 21px 0 21px; + background: #fff; + border: 1px solid #ccc; + } +li li.comment, +li li li li.comment, +li li li li li li.comment, +li li li li li li li li.comment, +li li li li li li li li li li.comment { + background: #f9f9f9; + } + +/* Avatar */ +#comments-template .avatar { + width: 40px; + height: 40px; + float: left; + margin-right: 15px; + padding: 0; + border: 1px solid #666; + } + +/* Comment metadata */ +.comment-meta { + margin: 10px 0 21px 0; + font-size: 13px; + color: #666; + } +.comment-author { + font-size: 15px; + color: #000; + } +.comment-reply-link, .permalink, .comment-edit-link { + font-style: italic; + color: #666; + } + +/* Comment text */ +.comment-text { + clear: left; + margin: 0 15px; + } + +/* Form */ +.text-input { + display: block; + padding: 3px 6px; + width: 97%; + } +#comments-template label { + font-size: .9em; + } + +/* Respond textarea */ +textarea { + width: 98%; + } + +/* Submit and rest buttons */ +#submit { + display: inline-block; + margin-right: 15px; + padding: 7px 15px 8px 15px; + background: #fff; + border: 1px solid #ccc; + } +#submit:hover { + cursor: pointer; + background: #f9f9f9; + } + +/* Footer container */ +#footer-container { + clear: both; + margin: 0 0 21px 0; + } + +/* Subsidiary */ +#subsidiary { + margin: 0 0 21px 0; + } + +/* Footer */ +#footer { + font-style: italic; + color: #444; + } +#footer .copyright { + display: inline; + float: left; + margin-right: 9px; + } + +/* Layout */ +.content { + float: left; + width: 620px; + } +#primary { + float: right; + width: 300px; + } +#secondary { + clear: right; + float: right; + width: 300px; + } \ No newline at end of file diff --git a/wp-content/themes/hybrid/style.min.css b/wp-content/themes/hybrid/style.min.css new file mode 100644 index 0000000000000000000000000000000000000000..fe5b42c3e671208a8820b186ba0fe10afb57299c --- /dev/null +++ b/wp-content/themes/hybrid/style.min.css @@ -0,0 +1 @@ +html,body,div,span,object,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,samp,small,strong,sub,sup,tt,var,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,figcaption,figure,footer,header,hgroup,menu,nav,section,summary,time,mark,audio,video{margin:0;padding:0;vertical-align:baseline;outline:none;font-size:100%;background:transparent;border:none;text-decoration:none}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}b,i,hr,u,center,menu,layer,s,strike,font,xmp{margin:0;padding:0;vertical-align:baseline;outline:none;font-size:100%;font-weight:normal;font-style:normal;background:transparent;border:none;text-decoration:none}body{line-height:24px;font-family:Georgia,Times,"Times New Roman",serif;color:#333;background:#fff}h1,h2,h3,h4,h5,h6{font-style:normal;font-weight:normal;margin:0 0 21px 0}h1{font-size:1.8em}h2{font-size:1.7em}h3{font-size:1.55em}h4{font-size:1.4em}h5{font-size:1.25em}h6{font-size:1.1em}p{margin:0 0 21px 0}ol,ul{list-style:none}ul{list-style:disc;margin:0 0 21px 2.5em}ol{list-style-type:decimal;margin:0 0 21px 3em}ol ol{list-style:upper-roman}ol ol ol{list-style:lower-roman}ol ol ol ol{list-style:upper-alpha}ol ol ol ol ol{list-style:lower-alpha}ul ul,ol ol,ul ol,ol ul{margin-bottom:0}dl{margin:0 0 18px 3px}dl dt{font-weight:bold;margin:12px 0 0 0}dl dd{margin:6px 0 0 1.5em}strong{font-weight:bold}strong strong{font-weight:normal}em,cite{font-style:italic}em em,cite cite{font-style:normal}abbr{cursor:help}acronym{text-transform:uppercase;border-bottom:1px dashed #666;cursor:help}big{font-size:120%}small,sup,sub{font-size:80%}sup{vertical-align:baseline;position:relative;bottom:0.3em}sub{vertical-align:baseline;position:relative;top:0.3em}address{font-style:italic;margin:0 0 21px 0}li address,dd address{margin:0}blockquote{margin:0 2.5em;font-style:normal}blockquote em,blockquote cite{font-style:italic}blockquote,q{quotes:none}blockquote:before,blockquote:after,q:before,q:after{content:'';content:none}a{cursor:pointer}a img{border:none}pre{overflow:auto;font:.9em Monaco,monospace,Courier,"Courier New";line-height:21px;margin-bottom:21px;padding:9px}code{font:.9em Monaco,monospace,Courier,"Courier New"}pre code{font-size:1em}ins,dfn{font-style:italic;text-decoration:none;border-bottom:1px solid #666}del,s,strike{text-decoration:line-through}object{margin-bottom:21px}input,textarea{font-size:1em;padding:3px}input[type="submit"]{cursor:pointer}:focus{outline:none}form label{cursor:pointer}option{padding:1px 3px}table{border-collapse:collapse;border-spacing:0;margin-bottom:21px}th,td{text-align:left}hr{height:1px;margin-bottom:21px;background:#333}img.wp-smiley{max-height:12px;margin:0;padding:0;border:none}.gallery{display:block;text-align:center;margin-bottom:21px}.alignleft,.left{float:left;margin-right:15px}.alignright,.right{float:right;margin-left:15px}.aligncenter,.center{display:block;margin:0 auto 21px auto}.alignnone,.block{clear:both;margin:0 0 21px 0}.clear{clear:both}img.alignleft,img.alignright{display:inline}blockquote.alignleft,blockquote.alignright{width:33%}#body-container{overflow:hidden;width:960px;margin:0 auto}#container{overflow:hidden;float:left;width:960px}.content{overflow:hidden;float:left;width:620px}.no-widgets .content,.no-default-widgets .content{width:960px}#primary{position:relative;float:right;width:300px}#secondary{position:relative;clear:right;float:right;width:300px}#subsidiary{overflow:hidden}#subsidiary .widget{overflow:hidden;float:left;width:300px;margin:0 20px 0 0}#footer-container{clear:both;overflow:hidden}#footer{clear:both;overflow:hidden}div.menu ul{margin:0;padding:0;list-style:none;line-height:1.0}div.menu ul ul{position:absolute;top:-999em;width:10em}div.menu ul ul li{width:100%}div.menu li:hover{visibility:inherit}div.menu li{float:left;position:relative}div.menu a{display:block;position:relative}div.menu li:hover ul,li.sfHover ul{left:0;top:2em;z-index:99}div.menu li:hover li ul,li.sfHover li ul{top:-999em}div.menu li li:hover ul,li li.sfHover ul{left:10em;top:0}div.menu li li:hover li ul,li li.sfHover li ul{top:-999em}div.menu li li li:hover ul,li li li.sfHover ul{left:10em;top:0}.gallery{display:block;clear:both;overflow:hidden;margin:0 auto}.gallery .gallery-row{display:block;clear:both;overflow:hidden;margin:0}.gallery .gallery-item{overflow:hidden;float:left;margin:0;text-align:center;list-style:none;padding:0}.gallery .gallery-item .gallery-icon img{width:auto;max-width:89%;height:auto;padding:1%;margin:0 auto}.gallery-caption{margin-left:0}.gallery .col-0{width:100%}.gallery .col-1{width:100%}.gallery .col-2{width:50%}.gallery .col-3{width:33.33%}.gallery .col-4{width:25%}.gallery .col-5{width:20%}.gallery .col-6{width:16.66%}.gallery .col-7{width:14.28%}.gallery .col-8{width:12.5%}.gallery .col-9{width:11.11%}.gallery .col-10{width:10%}.gallery .col-11{width:9.09%}.gallery .col-12{width:8.33%}.gallery .col-13{width:7.69%}.gallery .col-14{width:7.14%}.gallery .col-15{width:6.66%}.gallery .col-16{width:6.25%}.gallery .col-17{width:5.88%}.gallery .col-18{width:5.55%}.gallery .col-19{width:5.26%}.gallery .col-20{width:5%}.gallery .col-21{width:4.76%}.gallery .col-22{width:4.54%}.gallery .col-23{width:4.34%}.gallery .col-24{width:4.16%}.gallery .col-25{width:4%}.gallery .col-26{width:3.84%}.gallery .col-27{width:3.7%}.gallery .col-28{width:3.57%}.gallery .col-29{width:3.44%}.gallery .col-30{width:3.33%}.sticky,.bypostauthor{}body{font:normal normal normal 15px/21px Georgia,Times,"Times New Roman",serif;color:#000}#body-container{margin:90px auto 21px auto}a{color:#21759b;text-decoration:none}a:visited{color:#551a8b}a:hover,a:active{color:#d54e21;text-decoration:underline}h1,h2,h3,h4,h5,h6{font-family:Arial,Verdana,sans-serif;color:#000;font-weight:bold}h1{font-size:24px}h2{font-size:21px}h3{font-size:19px}h4{font-size:17px}h5{font-size:15px}h6{font-size:13px}ul{list-style:square}blockquote{font-style:italic;color:#555}blockquote blockquote{color:#777}blockquote em{font-style:normal}pre{padding:9px;background:#f9f9f9;border:1px solid #ccc}code{padding:0 3px;background:#eee}pre code{background:transparent}table{width:100%;border-collapse:separate;border-top:1px solid #ccc;border-left:1px solid #ccc}caption{font-size:.9em;font-style:italic;text-align:right}td,th{padding:3px 6px;border-bottom:1px solid #ccc;border-right:1px solid #ccc}th{background:#eee}.drop-cap{float:left;margin:3px 3px 0 0;font:normal normal normal 47px/35px "Warnock Pro","Goudy Old Style",Palatino,"Book Antiqua",Georgia,serif;color:#333}.note{padding:6px 9px;background:#eee;border:1px solid #ccc}.warning,.alert{padding:6px 9px;background:#fffbbc;border:1px solid #E6DB55}.error{padding:6px 9px;background:#ffebe8;border:1px solid #C00}.download{padding:6px 9px;background:#e7f7d3;border:1px solid #6c3}.breadcrumbs{margin:0 0 30px 0;font-size:.9em;font-style:italic;color:#666}.breadcrumbs a{color:#111;text-decoration:none}.breadcrumbs a:hover{color:#d54e21;text-decoration:underline}.hentry img{max-width:610px;height:auto;padding:4px;border:1px solid #ccc}.no-widgets .hentry img{max-width:950px}img.alignleft,img.alignright{margin-bottom:10px}.thumbnail{float:left;width:100px;height:100px;margin:5px 15px 10px 0}img.wp-smiley{max-width:12px;padding:0;background:transparent;border:none}.wp-caption{max-width:616px;margin-top:6px;padding:6px 1px 3px 1px;border:1px solid #ccc;text-align:center}.wp-caption .wp-caption-text{margin:0;padding:0 5px;text-align:right;font-size:.9em;font-style:italic;color:#666}.wp-caption img{max-width:604px;margin:0 auto;padding:0;border:1px solid #666}.no-widgets .wp-caption{max-width:956px}.no-widgets .wp-caption img{max-width:946px}.gallery img{border:1px solid #ccc}.avatar{float:left;width:100px;height:100px;margin:5px 15px 0 0;padding:4px;border:1px solid #ccc}#header{margin:0 0 40px 0}#site-title{font:normal normal bold 35px/35px Arial,Verdana,sans-serif;margin:0 0 10px 0}#site-title a{color:#000}#site-description{font:normal normal normal 16px/20px Georgia,Times,"Times New Roman",serif;margin:0;color:#666}#primary-menu,#navigation{overflow:visible;height:34px;margin:0 0 60px 0;z-index:100}#primary-menu li,#page-nav li{margin-right:15px}#primary-menu li li,#page-nav li li{margin-right:0}#primary-menu li a,#page-nav li a{padding:8px 15px 8px 15px;color:#111;background:#fff;border:1px solid #ccc}#primary-menu li:hover ul,#primary-menu li.sfHover ul,#page-nav li:hover ul,#page-nav li.sfHover ul{top:32px}#primary-menu li li a,#page-nav li li a{border-top:none;margin-right:0}#primary-menu li ul,#page-nav li ul{background:#fff;border-top:1px solid #ccc}#primary-menu li li:hover ul,#primary-menu li li.sfHover ul,#primary-menu li li li:hover ul,#primary-menu li li li.sfHover ul,#page-nav li li:hover ul,#page-nav li li.sfHover ul,#page-nav li li li:hover ul,#page-nav li li li.sfHover ul {top:-1px}#primary-menu li li li,#page-nav li li li{margin-left:-1px}#container{margin-bottom:21px}.content{margin:0 0 21px 0}.no-widgets .content,.page-template-no-widgets .content{width:960px}.hentry{overflow:hidden;margin:0 0 40px 0}.singular .hentry{margin:0}.loop-meta{overflow:hidden;margin:0 0 40px 0}.loop-title{font:normal normal bold 24px/24px Arial,Verdana,sans-serif}.entry-title{font:normal normal bold 24px/24px Arial,Verdana,sans-serif;margin:0 0 12px 0}.archive .entry-title,.search .entry-title{font-size:21px;margin:0 0 5px 0}.singular-page .entry-title,.singular-attachment .entry-title{margin:0 0 21px 0}.entry-title a{color:#000}.byline{margin:0 0 30px 0;font-style:italic;color:#666}.archive .byline,.search .byline{margin:0 0 5px 0}.entry-content{margin:0 0 10px 0}.entry-meta{clear:both;font-style:italic;color:#666}p.page-links,.comment-pagination{clear:both}.comment-pagination{margin-bottom:21px}p.page-links a,.comment-pagination .page-numbers{margin:0 3px;padding:3px 9px 3px 9px;border:1px solid #ccc}.navigation-links{margin-bottom:21px;font-style:italic}.navigation-links .previous{float:left;max-width:50%}.navigation-links .next{float:right;max-width:50%;text-align:right}.navigation-attachment{overflow:hidden}.widget{overflow:hidden;margin:0 0 15px 0;color:#464646}.widget a{color:#464646;text-decoration:underline}.widget a:hover{color:#d54e21;text-decoration:none}.widget-title{font-size:18px;color:#111}#utility-before-content,#utility-after-content,#utility-after-page,#utility-after-single{margin:0 0 21px 0;padding:20px 20px 0 20px;border:1px solid #ccc}#comments-template{clear:both}.comments-header{font-size:1.2em}.comments-closed{font-style:italic}ol.comment-list,ol.comment-list ol.children{list-style:none;margin:0 0 21px 0}li.comment,li li li.comment,li li li li li.comment,li li li li li li li.comment,li li li li li li li li li.comment,li.pingback,li.trackback{overflow:hidden;margin:0 0 21px 0;padding:21px 21px 0 21px;background:#fff;border:1px solid #ccc}li li.comment,li li li li.comment,li li li li li li.comment,li li li li li li li li.comment,li li li li li li li li li li.comment{background:#f9f9f9}#comments-template .avatar{width:40px;height:40px;float:left;margin-right:15px;padding:0;border:1px solid #666}.comment-meta{margin:10px 0 21px 0;font-size:13px;color:#666}.comment-author{font-size:15px;color:#000}.comment-reply-link,.permalink,.comment-edit-link{font-style:italic;color:#666}.comment-text{clear:left;margin:0 15px}.text-input{display:block;padding:3px 6px;width:97%}#comments-template label{font-size:.9em}textarea{width:98%}#submit{display:inline-block;margin-right:15px;padding:7px 15px 8px 15px;background:#fff;border:1px solid #ccc}#submit:hover{cursor:pointer;background:#f9f9f9}#footer-container{clear:both;margin:0 0 21px 0}#subsidiary{margin:0 0 21px 0}#footer{font-style:italic;color:#444}#footer .copyright{display:inline;float:left;margin-right:9px}.content{float:left;width:620px}#primary{float:right;width:300px}#secondary{clear:right;float:right;width:300px} \ No newline at end of file