Created
January 29, 2012 00:52
-
-
Save bhwebworks/1696490 to your computer and use it in GitHub Desktop.
Code for the modified em-events-manager.php file. Changes in lines 4,7,12,14,16,25-26,81-85,165
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
/** | |
* @author marcus | |
* modified by John Sundberg | |
* Standard events list widget | |
*/ | |
class EM_Widget_by_category extends WP_Widget {//changed | |
var $defaults; | |
/** constructor */ | |
function EM_Widget_by_category() {//changed | |
$this->defaults = <a href="http://www.php.net/array">array</a>( | |
'title' => __('Events by Category','dbem'),//changed | |
'scope' => 'future', | |
'category' => 0,// this adds 'category' to the widget's function | |
'order' => 'ASC', | |
'limit' => 5, | |
'format' => '#_LINKEDNAME<ul><li>#j #M #y</li><li>#_TOWN</li></ul>', | |
'nolistwrap' => false, | |
'orderby' => 'start_date,start_time,name', | |
'all_events' => 0, | |
'all_events_text' => __('all events', 'dbem') | |
); | |
$widget_ops = <a href="http://www.php.net/array">array</a>('description' => __( "Display a list of events on Events Manager by category.", 'dbem') ); //changed | |
parent::WP_Widget(false, $name = 'Events by Category', $widget_ops); //changed | |
} | |
/** @see WP_Widget::widget */ | |
function widget($args, $instance) { | |
$instance = <a href="http://www.php.net/array_merge">array_merge</a>($this->defaults, $instance); | |
$instance = $this->fix_scope($instance); // depcreciate | |
echo $args['before_widget']; | |
echo $args['before_title']; | |
echo $instance['title']; | |
echo $args['after_title']; | |
$instance['owner'] = false; | |
$events = EM_Events::get($instance); | |
echo "<ul>"; | |
$li_wrap = !<a href="http://www.php.net/preg_match">preg_match</a>('/^<li>/i', <a href="http://www.php.net/trim">trim</a>($instance['format'])); | |
if ( <a href="http://www.php.net/count">count</a>($events) > 0 ){ | |
foreach($events as $event){ | |
if( $li_wrap ){ | |
echo '<li>'. $event->output($instance['format']) .'</li>'; | |
}else{ | |
echo $event->output($instance['format']); | |
} | |
} | |
}else{ | |
echo '<li>'.__('No events', 'dbem').'</li>'; | |
} | |
if ( !<a href="http://www.php.net/empty">empty</a>($instance['all_events']) ){ | |
$events_link = (!<a href="http://www.php.net/empty">empty</a>($instance['all_events_text'])) ? em_get_link($instance['all_events_text']) : em_get_link(__('all events','dbem')); | |
echo '<li>'.$events_link.'</li>'; | |
} | |
echo "</ul>"; | |
echo $args['after_widget']; | |
} | |
/** @see WP_Widget::update */ | |
function update($new_instance, $old_instance) { | |
foreach($this->defaults as $key => $value){ | |
if( <a href="http://www.php.net/empty">empty</a>($new_instance[$key]) ){ | |
$new_instance[$key] = $value; | |
} | |
} | |
return $new_instance; | |
} | |
/** @see WP_Widget::form */ | |
function form($instance) { | |
$instance = <a href="http://www.php.net/array_merge">array_merge</a>($this->defaults, $instance); | |
$instance = $this->fix_scope($instance); // depcreciate | |
?> | |
<p> | |
<label for="<?php echo $this->get_field_id('title'); ?>"><?php _e('Title'); ?>: </label> | |
<input type="text" id="<?php echo $this->get_field_id('title'); ?>" name="<?php echo $this->get_field_name('title'); ?>" value="<?php echo $instance['title']; ?>" /> | |
</p> | |
<p><!-- this adds the category option to the widget's form --> | |
<label for="<?php echo $this->get_field_id('category'); ?>"><?php _e('Category ID','dbem'); ?>: </label> | |
<input type="text" id="<?php echo $this->get_field_id('category'); ?>" name="<?php echo $this->get_field_name('category'); ?>" size="3" value="<?php echo $instance['category']; ?>" /><br /> | |
<label for="<?php echo $this->get_field_id('category'); ?>"><?php _e('(separate multiple IDs by commas, or use "0" for all categories)','dbem'); ?> </label> | |
</p> | |
<p> | |
<label for="<?php echo $this->get_field_id('limit'); ?>"><?php _e('Number of events','dbem'); ?>: </label> | |
<input type="text" id="<?php echo $this->get_field_id('limit'); ?>" name="<?php echo $this->get_field_name('limit'); ?>" size="3" value="<?php echo $instance['limit']; ?>" /> | |
</p> | |
<p> | |
<label for="<?php echo $this->get_field_id('scope'); ?>"><?php _e('Scope','dbem'); ?>: </label><br/> | |
<select id="<?php echo $this->get_field_id('scope'); ?>" name="<?php echo $this->get_field_name('scope'); ?>" > | |
<?php foreach( em_get_scopes() as $key => $value) : ?> | |
<option value='<?php echo $key ?>' <?php echo ($key == get_option('dbem_events_page_scope')) ? "selected='selected'" : ''; ?>> | |
<?php echo $value; ?> | |
</option> | |
<?php endforeach; ?> | |
</select> | |
</p> | |
<p> | |
<label for="<?php echo $this->get_field_id('order'); ?>"><?php _e('Order By','dbem'); ?>: </label> | |
<select id="<?php echo $this->get_field_id('orderby'); ?>" name="<?php echo $this->get_field_name('orderby'); ?>"> | |
<?php | |
$orderby_options = apply_filters('em_widget_orderby_ddm', <a href="http://www.php.net/array">array</a>( | |
'start_date,start_time,name' => __('start date, start time, event name','dbem'), | |
'name,start_date,start_time' => __('name, start date, start time','dbem'), | |
'name,end_date,end_time' => __('name, end date, end time','dbem'), | |
'end_date,end_time,name' => __('end date, end time, event name','dbem'), | |
)); | |
?> | |
<?php foreach($orderby_options as $key => $value) : ?> | |
<option value='<?php echo $key ?>' <?php echo ( !<a href="http://www.php.net/empty">empty</a>($instance['orderby']) && $key == $instance['orderby']) ? "selected='selected'" : ''; ?>> | |
<?php echo $value; ?> | |
</option> | |
<?php endforeach; ?> | |
</select> | |
</p> | |
<p> | |
<label for="<?php echo $this->get_field_id('order'); ?>"><?php _e('Order','dbem'); ?>: </label> | |
<select id="<?php echo $this->get_field_id('order'); ?>" name="<?php echo $this->get_field_name('order'); ?>"> | |
<?php | |
$order_options = apply_filters('em_widget_order_ddm', <a href="http://www.php.net/array">array</a>( | |
'ASC' => __('Ascending','dbem'), | |
'DESC' => __('Descending','dbem') | |
)); | |
?> | |
<?php foreach( $order_options as $key => $value) : ?> | |
<option value='<?php echo $key ?>' <?php echo ($key == $instance['order']) ? "selected='selected'" : ''; ?>> | |
<?php echo $value; ?> | |
</option> | |
<?php endforeach; ?> | |
</select> | |
</p> | |
<p> | |
<label for="<?php echo $this->get_field_id('format'); ?>"><?php _e('List item format','dbem'); ?>: </label> | |
<textarea rows="5" cols="24" id="<?php echo $this->get_field_id('format'); ?>" name="<?php echo $this->get_field_name('format'); ?>"><?php echo $instance['format']; ?></textarea> | |
</p> | |
<p> | |
<label for="<?php echo $this->get_field_id('all_events'); ?>"><?php _e('Show all events link at bottom?','dbem'); ?>: </label> | |
<input type="checkbox" id="<?php echo $this->get_field_id('all_events'); ?>" name="<?php echo $this->get_field_name('all_events'); ?>" <?php echo (!<a href="http://www.php.net/empty">empty</a>($instance['all_events']) && $instance['all_events']) ? 'checked':''; ?> > | |
</p> | |
<p> | |
<label for="<?php echo $this->get_field_id('all_events'); ?>"><?php _e('All events link text?','dbem'); ?>: </label> | |
<input type="text" id="<?php echo $this->get_field_id('all_events_text'); ?>" name="<?php echo $this->get_field_name('all_events_text'); ?>" value="<?php echo (!<a href="http://www.php.net/empty">empty</a>($instance['all_events_text'])) ? $instance['all_events_text']:__('all events','dbem'); ?>" > | |
</p> | |
<?php | |
} | |
/** | |
* Backwards compatability for an old setting which is now just another scope. | |
* @param unknown_type $instance | |
* @return string | |
*/ | |
function fix_scope($instance){ | |
if( !<a href="http://www.php.net/empty">empty</a>($instance['time_limit']) && <a href="http://www.php.net/is_numeric">is_numeric</a>($instance['time_limit']) && $instance['time_limit'] > 1 ){ | |
$instance['scope'] = $instance['time_limit'].'-months'; | |
}elseif( !<a href="http://www.php.net/empty">empty</a>($instance['time_limit']) && $instance['time_limit'] == 1){ | |
$instance['scope'] = 'month'; | |
}elseif( !<a href="http://www.php.net/empty">empty</a>($instance['time_limit']) && $instance['time_limit'] == 'no-limit'){ | |
$instance['scope'] = 'all'; | |
} | |
return $instance; | |
} | |
} | |
add_action('widgets_init', <a href="http://www.php.net/create_function">create_function</a>('', 'return register_widget("EM_Widget_by_category");'));//changed | |
?> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment