Enable limiting teams in events

This commit is contained in:
Brian Miyaji
2014-05-05 17:13:11 +10:00
parent 2fd35f102f
commit dfc17f2389
3 changed files with 30 additions and 119 deletions

View File

@@ -22,15 +22,14 @@ class SP_Meta_Box_Event_Teams {
$teams = (array)get_post_meta( $post->ID, 'sp_team', false );
foreach ( $teams as $key => $value ):
?>
<div class="sp-clone">
<div class="sp-instance">
<p class="sp-tab-select sp-title-generator">
<?php
$args = array(
'post_type' => 'sp_team',
'name' => 'sp_team[]',
'class' => 'sportspress-pages',
'show_option_none' => sprintf( __( 'Remove', 'sportspress' ), 'Team' ),
'option_none_value' => '0',
'show_option_none' => sprintf( __( '&mdash; None &mdash;', 'sportspress' ), 'Team' ),
'selected' => $value
);
wp_dropdown_pages( $args );
@@ -45,28 +44,14 @@ class SP_Meta_Box_Event_Teams {
sp_post_checklist( $post->ID, 'sp_staff', 'none', 'sp_current_team', $key );
?>
</div>
<?php endforeach; ?>
<div class="sp-clone" data-clone-name="sp_team">
<p class="sp-tab-select sp-title-generator">
<?php
$args = array(
'post_type' => 'sp_team',
'name' => 'sp_team_selector',
'class' => 'sportspress-pages',
'show_option_none' => __( '&mdash; Add &mdash;', 'sportspress' ),
'option_none_value' => '0'
);
wp_dropdown_pages( $args );
?>
</p>
</div>
<?php
<?php endforeach;
}
/**
* Save meta box data
*/
public static function save( $post_id, $post ) {
sp_update_post_meta( $post_id, 'sp_limit', sp_array_value( $_POST, 'sp_limit', 2 ) );
sp_update_post_meta_recursive( $post_id, 'sp_team', sp_array_value( $_POST, 'sp_team', array() ) );
sp_update_post_meta_recursive( $post_id, 'sp_player', sp_array_value( $_POST, 'sp_player', array() ) );
sp_update_post_meta_recursive( $post_id, 'sp_staff', sp_array_value( $_POST, 'sp_staff', array() ) );

View File

@@ -41,6 +41,19 @@ class SP_Settings_Events extends SP_Settings_Page {
array( 'title' => __( 'Event Options', 'sportspress' ), 'type' => 'title','desc' => '', 'id' => 'event_options' ),
array(
'title' => __( 'Limit', 'sportspress' ),
'id' => 'sportspress_event_teams',
'class' => 'small-text',
'default' => '2',
'desc' => __( 'teams', 'sportspress' ),
'type' => 'number',
'custom_attributes' => array(
'min' => 1,
'step' => 1
),
),
array( 'type' => 'delimiter' ),
array(
@@ -125,7 +138,9 @@ class SP_Settings_Events extends SP_Settings_Page {
*/
public function delimiter_setting() {
$selection = get_option( 'sportspress_event_teams_delimiter', 'vs' );
$limit = get_option( 'sportspress_event_teams', 2 );
$example = str_repeat( __( 'Team', 'sportspress' ) . ' %1$s ', $limit );
$example = rtrim( $example, ' %1$s ' );
?>
<tr valign="top">
<th scope="row" class="titledesc">
@@ -136,10 +151,10 @@ class SP_Settings_Events extends SP_Settings_Page {
<legend class="screen-reader-text"><span><?php _e( 'Delimiter', 'sportspress' ); ?></span></legend>
<?php $delimiters = array( 'vs', 'v', '—', '/' ); ?>
<?php foreach ( $delimiters as $delimiter ): ?>
<label title="<?php echo $delimiter; ?>"><input type="radio" class="preset" name="sportspress_event_teams_delimiter_preset" value="<?php echo $delimiter; ?>" data-example="<?php _e( 'Team', 'sportspress' ); ?> <?php echo $delimiter; ?> <?php _e( 'Team', 'sportspress' ); ?>" <?php checked( $delimiter, $selection ); ?>> <span><?php _e( 'Team', 'sportspress' ); ?> <?php echo $delimiter; ?> <?php _e( 'Team', 'sportspress' ); ?></span></label><br>
<label title="<?php echo $delimiter; ?>"><input type="radio" class="preset" name="sportspress_event_teams_delimiter_preset" value="<?php echo $delimiter; ?>" data-example="<?php printf( $example, $delimiter ); ?>" <?php checked( $delimiter, $selection ); ?>> <span><?php printf( $example, $delimiter ); ?></span></label><br>
<?php endforeach; ?>
<label><input type="radio" class="preset" name="sportspress_event_teams_delimiter_preset" value="\c\u\s\t\o\m" <?php checked( false, in_array( $selection, $delimiters ) ); ?>> <?php _e( 'Custom:', 'sportspress' ); ?> </label><input type="text" class="small-text value" name="sportspress_event_teams_delimiter" value="<?php echo $selection; ?>" data-example-format="<?php _e( 'Team', 'sportspress' ); ?> __val__ <?php _e( 'Team', 'sportspress' ); ?>">
<span class="example"><?php _e( 'Team', 'sportspress' ); ?> <?php echo $selection; ?> <?php _e( 'Team', 'sportspress' ); ?></span>
<label><input type="radio" class="preset" name="sportspress_event_teams_delimiter_preset" value="\c\u\s\t\o\m" <?php checked( false, in_array( $selection, $delimiters ) ); ?>> <?php _e( 'Custom:', 'sportspress' ); ?> </label><input type="text" class="small-text value" name="sportspress_event_teams_delimiter" value="<?php echo $selection; ?>" data-example-format="<?php printf( $example, '__val__' ); ?>">
<span class="example"><?php printf( $example, $selection ); ?></span>
</fieldset>
</td>
</tr>