. */ add_action("widgets_init", array('eCalList', 'register')); class eCalList { function control(){ $options = get_option('alien_event_widget'); ?>
prefix . "alevents"; echo $args['before_widget']; echo $args['before_title'] . 'Event List' . $args['after_title']; $options = get_option('alien_event_widget'); $cats = $options['cats']; $limit = $options['many']; $getthese = "("; $i = 0; if ($cats) { foreach ($cats as $catid) { $subcats = get_categories('parent='.$catid.'&hide_empty=0'); foreach ($subcats as $subvalue) { $getthese .= "event_cat = '" . $subvalue->term_id . "' ||"; $gcats = get_categories('parent='.$subvalue->term_id.'&hide_empty=0'); foreach ($gcats as $gvalue) { $getthese .= "event_cat = '" . $gvalue->term_id . "' ||"; } } $i++; if ($i == count($cats)) { $getthese .= "event_cat = '".$catid."'"; } else { $getthese .= "event_cat = '".$catid."' || "; } } } $getthese .= ") && active = '1'"; if ($listQuery = mysql_query("SELECT * FROM " . $event_table . " WHERE " . $getthese . " ORDER BY event_date, event_start LIMIT 50")) { if (mysql_num_rows($listQuery)) { while ($event = mysql_fetch_array($listQuery)) { if ($event['event_repeat'] == "once") { if ($event['event_date'] >= strtotime(date('d F Y'))) { $dates[$event['event_date']][$event['event_id']] = $event['event_name']; } } else if ($event['event_repeat'] == "daily") { if (!$event['end_date'] || $event['end_date'] >= strtotime(date('d F Y'))) { $date = strtotime(date('d F Y')); $dates['$date'][$event['event_id']] = $event['event_name']; } } else if ($event['event_repeat'] == "weekly") { if (!$event['end_date'] || $event['end_date'] >= strtotime(date('d F Y'))) { if (date('l') == date('l', $event['event_date'])) { $nextday = strtotime(date('d F Y')); } else { $nextday = strtotime("next " . date('l', $event['event_date'])); } $dates[$nextday][$event['event_id']] = $event['event_name']; } } else if ($event['event_repeat'] == "monthly") { if (!$event['end_date'] || $event['end_date'] >= strtotime(date('d F Y'))) { if (strtotime(date('d F Y')) > $event['event_date']) { $nextday = mktime(0, 0, 0, date('m')+1, date('d', $event['event_date']), date('Y')); } else { $nextday = $event['event_date']; } $dates[$nextday][$event['event_id']] = $event['event_name']; } } else if ($event['event_repeat'] == "yearly") { if (!$event['end_date'] || $event['end_date'] >= strtotime(date('d F Y'))) { if (strtotime(date('d F Y')) > $event['event_date']) { $nextday = mktime(0, 0, 0, date('m'), date('d', $event['event_date']), date('Y')+1); } else { $nextday = $event['event_date']; } $dates[$nextday][$event['event_id']] = $event['event_name']; } } else { if (!$event['end_date'] || $event['end_date'] >= strtotime(date('d F Y'))) { $date = strtotime(date('d F Y')); $first = date('d', mktime(0, 0, 0, date('m', $date), 0, date('Y', $date))); if ($first > 1) { $nextdate = strtotime("".$event['event_repeat']."" , mktime(0, 0, 0, date('m', $date), 1, date('Y', $date))); } else { $nextdate = strtotime("".$event['event_repeat']."" , mktime(0, 0, 0, date('m', $date), 0, date('Y', $date))); } if ($nextdate < $date) { $first = date('d', mktime(0, 0, 0, date('m', $date)+1, 0, date('Y', $date))); if ($first > 1) { $nextdate = strtotime("".$event['event_repeat']."" , mktime(0, 0, 0, date('m', $date)+1, 1, date('Y', $date))); } else { $nextdate = strtotime("".$event['event_repeat']."" , mktime(0, 0, 0, date('m', $date)+1, 0, date('Y', $date))); } } $dates[$nextdate][$event['event_id']] = $event['event_name']; } } } } } echo '