From 24f95d75b621cabe9d8e0082934b63bade94a006 Mon Sep 17 00:00:00 2001 From: Brian Miyaji Date: Mon, 28 Apr 2014 01:38:03 +1000 Subject: [PATCH] Add blocks layout to calendar close #22 --- assets/css/admin.css | 4 + assets/css/menu.css | 3 + assets/css/sportspress.css | 40 ++++++- assets/fonts/sportspress.eot | Bin 3732 -> 3888 bytes assets/fonts/sportspress.svg | 1 + assets/fonts/sportspress.ttf | Bin 3552 -> 3708 bytes assets/fonts/sportspress.woff | Bin 2992 -> 3116 bytes .../class-sp-meta-box-calendar-details.php | 9 ++ .../class-sp-meta-box-list-data.php | 3 +- .../class-sp-meta-box-list-details.php | 4 +- includes/class-sp-calendar.php | 11 +- includes/class-sp-formats.php | 1 + includes/sp-template-functions.php | 24 ++--- includes/sp-template-hooks.php | 8 -- .../widgets/class-sp-widget-event-blocks.php | 94 +++++++++++++++++ .../widgets/class-sp-widget-event-list.php | 14 ++- .../widgets/class-sp-widget-player-list.php | 2 +- sportspress.php | 1 + templates/event-blocks.php | 98 ++++++++++++++++++ templates/event-list.php | 21 ++-- 20 files changed, 292 insertions(+), 46 deletions(-) create mode 100644 includes/widgets/class-sp-widget-event-blocks.php create mode 100644 templates/event-blocks.php diff --git a/assets/css/admin.css b/assets/css/admin.css index bf7d1093..a83088f1 100644 --- a/assets/css/admin.css +++ b/assets/css/admin.css @@ -19,6 +19,10 @@ content: "\f163"; } +.post-state-format.post-format-blocks:before, .post-format-icon.post-format-blocks:before, a.post-state-format.format-blocks:before { + content: "\f164"; +} + #sp_videodiv .inside > fieldset > p:last-child { margin-bottom: 1px !important; } diff --git a/assets/css/menu.css b/assets/css/menu.css index 25ebcdc7..723997b0 100644 --- a/assets/css/menu.css +++ b/assets/css/menu.css @@ -51,6 +51,9 @@ .sp-icon-list:before { content: "\f163" } +.sp-icon-blocks:before { + content: "\f164" +} .sp-icon-smile:before { content: "\f328"; } diff --git a/assets/css/sportspress.css b/assets/css/sportspress.css index 07981211..d780369e 100644 --- a/assets/css/sportspress.css +++ b/assets/css/sportspress.css @@ -26,11 +26,6 @@ content: "\f140"; position: absolute; } -.sp-data-table .team-logo { - vertical-align: middle; - height: 2.5em; - width: auto; -} /* Pagination */ .sp-paginated-table { @@ -66,6 +61,13 @@ text-align: center; } +/* League table */ +.sp-league-table .team-logo { + vertical-align: middle; + height: 2.5em; + width: auto; +} + /* Event Calendar */ .sp-event-calendar tbody td, .sp-event-calendar thead th { text-align: center; @@ -76,6 +78,7 @@ .sp-event-calendar #prev { text-align: left; } + /* Event List */ .sp-event-list .column-article { white-space: nowrap; @@ -84,6 +87,33 @@ padding-right: 3px; } +/* Event Blocks */ +.sp-event-blocks .event-date, +.sp-event-blocks .event-time, +.sp-event-blocks .event-results, +.sp-event-blocks .event-title { + text-align: center; + display: block; + margin: 10px 20%; + padding: 0 20px; + clear: none; +} +.sp-event-blocks .team-logo { + width: 20%; + height: auto; + margin: 10px; +} +.sp-event-blocks .logo-odd { + float: left; +} +.sp-event-blocks .logo-even { + float: right; +} +.widget .sp-event-blocks .event-title { + margin: 10px; + padding: 0; +} + /* Google Maps */ .sp-google-map { height: 320px; diff --git a/assets/fonts/sportspress.eot b/assets/fonts/sportspress.eot index 5e306ba4e374466481de93af8d9394cfe1007ef4..f20b918e1c4b395450d493aea13cd0214eec5aa0 100755 GIT binary patch delta 415 zcmbOtyFrf4fS-Y(hHoO98H?2KwZA4hOl4laPh#Q?nfmr!^Ent87$}sSO%u`@sW|~~g*uj`G`46MD zAS2H=o~JyId2Vno;cf#eW1JkwBr-XHi4}-hHm5TEV610lFlLZqJj=M5frWvSL5V?~ zL5G3C+?ZWi-P~AQ*<4joiI0h0m`#q!SkcIiNnKcvS(#Z;SW%b}q-54v#?y>Ibe54( z;@@m`4i08UMn+aPE>^~LRxUPHAcvWQgI(euP?0g?zyBcBn~jZqjg2?6uyeBho5{*K z*_lO%m65^Nm|=4?%UgCC)3vjX#q-;IW#DE4d5YnD)0{UjdU6VnIV1n%IXvo<_w%TU ex-jN2r7<00u3+(EnZRnszz9^wzxfx>EJgr%C1i>K delta 291 zcmdlWH$|3h3LgW*1Kx>jW-Ph)tA!>yOl4lOPk7=DnfmV3o-PIk#vKd{oL4eZ6H^%Y zdAJxDxO*5F7|b$&0?g+a-vjwafP9sV+>#2B?Tp8O{1-sJMNWQlBCi+MIR*wE1t4E8 zH?g9CL6TuNknaHGE952SruI%$iU#r%fOf6cn<&x1qNoO$;FHvjLDP# zFj@;T@OXYMnmE;weq?jt0b(sILxUjqes$m3TK8BqPKpz4D N6VL+T&6{~^838zMN>Km+ diff --git a/assets/fonts/sportspress.svg b/assets/fonts/sportspress.svg index c7ae0475..3f883872 100755 --- a/assets/fonts/sportspress.svg +++ b/assets/fonts/sportspress.svg @@ -10,6 +10,7 @@ + diff --git a/assets/fonts/sportspress.ttf b/assets/fonts/sportspress.ttf index c0c22e06d019cdbd5389d1387cb92c7bc9fed4b7..864ccb11b79cae1e2e99ce0ecb455ba4ac48b35b 100755 GIT binary patch delta 404 zcmXxfze@sP7zgm@x%0d`@6tdjGl@J^$;>cfvrl5mGU^LVeDc6z- zErC-Y+>lf>MN3#?4GlpA4FwGq1ab8^1TTE~JkJ+ip2vY7Uqvf7E<6C}1Ax7hUdU5+ zlbe)MDzlp0K0TDkEdWO*ozUapTB`%7LE4AYG~jRWog5TQ3xKo$kiP*)bEM}~rgf+GbOHH07#KLOWTYmh zF!1wmF)(oV0OidxfC9|t7~cc=M}T~ljNFn6k?oAffczIgzC})caw4x6*Et3T9t9v@ zE;q5FfI*UBH<0fDN-^*rn7E^Vaw?<9 zUIw18JWqHY@m%L#%-y@o&NR#nCG+k9oUX{G?xNoly1OHO1BrdC-8YbV-`4_VfB%}S$7DQNkC~Hu%J(TS>CHaOKCF{x za&$4KOjhBv7G&i4#`BctG0zR|CERTc%nXdcV3(QP!zm#1Ywd5Tcz&C&4BSjWFEB8i fZ<_N4Mo-?sY0k($`2(l=WMM8TM*huuTuqDsMCWqA delta 393 zcmZ1@u|Zs<+~3X3KP1GTfq{Di0~Z4jaA!;w2F768S50Qpluc>j`p!s&^{Krzl9AfE$@1u{|-Q-ES1HD+MU&%>1g z6a-J5SQ)-!HC z#q7>HS%9;fF?sSFPHRC1p07MlcpmXw=U&X+%D~LP2n;pp$;@1WGD6k&bL07KzA|t# k0bRhraK0&ZF^ryUz-7+JH#vh#eez^3F-E@4tGJpN0dXN#X8-^I diff --git a/includes/admin/post-types/meta-boxes/class-sp-meta-box-calendar-details.php b/includes/admin/post-types/meta-boxes/class-sp-meta-box-calendar-details.php index 77f377d0..105a73a7 100644 --- a/includes/admin/post-types/meta-boxes/class-sp-meta-box-calendar-details.php +++ b/includes/admin/post-types/meta-boxes/class-sp-meta-box-calendar-details.php @@ -24,6 +24,7 @@ class SP_Meta_Box_Calendar_Details { $season_id = sp_get_the_term_id( $post->ID, 'sp_season', 0 ); $venue_id = sp_get_the_term_id( $post->ID, 'sp_venue', 0 ); $team_id = get_post_meta( $post->ID, 'sp_team', true ); + $order = get_post_meta( $post->ID, 'sp_order', true ); ?>

@@ -97,6 +98,13 @@ class SP_Meta_Box_Calendar_Details { endif; ?>

+

+

+ +

ID, true ); + $list = new SP_Player_List( $post ); + list( $columns, $usecolumns, $data, $placeholders, $merged ) = $list->data( true ); $adjustments = get_post_meta( $post->ID, 'sp_adjustments', true ); self::table( $columns, $usecolumns, $data, $placeholders, $adjustments ); } diff --git a/includes/admin/post-types/meta-boxes/class-sp-meta-box-list-details.php b/includes/admin/post-types/meta-boxes/class-sp-meta-box-list-details.php index c3eed24f..7425b088 100644 --- a/includes/admin/post-types/meta-boxes/class-sp-meta-box-list-details.php +++ b/includes/admin/post-types/meta-boxes/class-sp-meta-box-list-details.php @@ -69,7 +69,7 @@ class SP_Meta_Box_List_Details { endif; ?>

-

+

-

+

+ +

+ 'sp_calendar', + 'show_option_all' => __( 'All', 'sportspress' ), + 'name' => $this->get_field_name('id'), + 'id' => $this->get_field_id('id'), + 'selected' => $id, + 'values' => 'ID', + 'class' => 'sp-event-calendar-select widefat', + ); + if ( ! sp_dropdown_pages( $args ) ): + sp_post_adder( 'sp_calendar', __( 'Add New', 'sportspress' ) ); + endif; + ?> +

+ +

+ __( 'Default', 'sportspress' ), + 'name' => $this->get_field_name('status'), + 'id' => $this->get_field_id('status'), + 'selected' => $status, + 'class' => 'sp-event-status-select widefat', + ); + sp_dropdown_statuses( $args ); + ?> +

+ +

+

+ +

+

+ +

> +

+ $id, 'status' => $status, 'number' => $number, 'columns' => $columns, 'show_all_events_link' => $show_all_events_link ) ); + sp_get_template( 'event-list.php', array( 'id' => $id, 'status' => $status, 'number' => $number, 'columns' => $columns, 'order' => $order, 'show_all_events_link' => $show_all_events_link ) ); echo $after_widget; } @@ -28,18 +29,20 @@ class SP_Widget_Event_List extends WP_Widget { $instance['status'] = $new_instance['status']; $instance['number'] = intval($new_instance['number']); $instance['columns'] = (array)$new_instance['columns']; + $instance['order'] = strip_tags($new_instance['order']); $instance['show_all_events_link'] = $new_instance['show_all_events_link']; return $instance; } function form( $instance ) { - $instance = wp_parse_args( (array) $instance, array( 'title' => '', 'id' => null, 'status' => 'default', 'number' => 5, 'columns' => null, 'show_all_events_link' => true ) ); + $instance = wp_parse_args( (array) $instance, array( 'title' => '', 'id' => null, 'status' => 'default', 'number' => 5, 'columns' => null, 'order' => 'default', 'show_all_events_link' => true ) ); $title = strip_tags($instance['title']); $id = intval($instance['id']); $status = $instance['status']; $number = intval($instance['number']); $columns = $instance['columns']; + $order = strip_tags($instance['order']); $show_all_events_link = $instance['show_all_events_link']; ?>

@@ -78,6 +81,13 @@ class SP_Widget_Event_List extends WP_Widget {

+

+

+


'; - sp_get_template( 'player-list.php', array( 'id' => $id, 'number' => $number, 'performance' => $performance, 'orderby' => $orderby , 'order' => $order, 'show_all_players_link' => $show_all_players_link ) ); + sp_get_template( 'player-list.php', array( 'id' => $id, 'number' => $number, 'performance' => $performance, 'orderby' => $orderby, 'order' => $order, 'show_all_players_link' => $show_all_players_link ) ); echo ''; echo $after_widget; } diff --git a/sportspress.php b/sportspress.php index 5a30ccc2..78a22ce8 100644 --- a/sportspress.php +++ b/sportspress.php @@ -243,6 +243,7 @@ final class SportsPress { include_once( 'includes/widgets/class-sp-widget-countdown.php' ); include_once( 'includes/widgets/class-sp-widget-event-calendar.php' ); include_once( 'includes/widgets/class-sp-widget-event-list.php' ); + include_once( 'includes/widgets/class-sp-widget-event-blocks.php' ); include_once( 'includes/widgets/class-sp-widget-league-table.php' ); include_once( 'includes/widgets/class-sp-widget-player-list.php' ); include_once( 'includes/widgets/class-sp-widget-player-gallery.php' ); diff --git a/templates/event-blocks.php b/templates/event-blocks.php new file mode 100644 index 00000000..04499456 --- /dev/null +++ b/templates/event-blocks.php @@ -0,0 +1,98 @@ + 'default', + 'number' => -1, + 'order' => 'default', + 'show_all_events_link' => false, +); + +extract( $defaults, EXTR_SKIP ); + +$calendar = new SP_Calendar( $id ); +if ( $status != 'default' ) + $calendar->status = $status; +if ( $order != 'default' ) + $calendar->order = $order; +$data = $calendar->data(); +$usecolumns = $calendar->columns; + +if ( isset( $columns ) ) + $usecolumns = $columns; +?> +

+ + + 0 ) + $limit = $number; + + foreach ( $data as $event ): + if ( isset( $limit ) && $i >= $limit ) continue; + + $results = get_post_meta( $event->ID, 'sp_results', true ); + + $teams = get_post_meta( $event->ID, 'sp_team' ); + $logos = array(); + $main_results = array(); + + $j = 0; + foreach( $teams as $team ): + if ( ! has_post_thumbnail ( $team ) ) + continue; + $j++; + $logo = get_the_post_thumbnail( $team, 'sportspress-fit-icon', array( 'class' => 'team-logo logo-' . ( $j % 2 ? 'odd' : 'even' ) ) ); + $logos[] = $logo; + $team_results = sp_array_value( $results, $team, null ); + + if ( $primary_result ): + $team_result = sp_array_value( $team_results, $primary_result, null ); + else: + if ( is_array( $team_results ) ): + end( $team_results ); + $team_result = prev( $team_results ); + else: + $team_result = null; + endif; + endif; + if ( $team_result != null ) + $main_results[] = $team_result; + + endforeach; + ?> + + + + + +
+ + + post_status == 'future' ): ?> +
+ +
+ +

post_title; ?>

+
+ ' . SP()->text->string('View all events') . ''; + ?> +
\ No newline at end of file diff --git a/templates/event-list.php b/templates/event-list.php index 4701026f..87f49b20 100644 --- a/templates/event-list.php +++ b/templates/event-list.php @@ -18,25 +18,28 @@ $defaults = array( 'responsive' => get_option( 'sportspress_enable_responsive_tables', 'yes' ) == 'yes' ? true : false, 'paginated' => get_option( 'sportspress_calendar_paginated', 'yes' ) == 'yes' ? true : false, 'rows' => get_option( 'sportspress_calendar_rows', 10 ), + 'order' => 'default', 'show_all_events_link' => false, ); extract( $defaults, EXTR_SKIP ); + +$calendar = new SP_Calendar( $id ); +if ( $status != 'default' ) + $calendar->status = $status; +if ( $order != 'default' ) + $calendar->order = $order; +$data = $calendar->data(); +$usecolumns = $calendar->columns; + +if ( isset( $columns ) ) + $usecolumns = $columns; ?>
status = $status; - $data = $calendar->data(); - $usecolumns = $calendar->columns; - - if ( isset( $columns ) ) - $usecolumns = $columns; - echo ''; if ( $usecolumns == null || in_array( 'event', $usecolumns ) )
' . SP()->text->string('Date') . '