This repository has been archived on 2026-10-23. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
nikolark 969c63c752 New style wordpress
This enables automagic updates of WP

- Delete wordpress install
- Move theme(s) to top
- Move local plugins to ./plugins
- Simplify i18n
2017-07-05 01:03:17 +02:00

327 lines
11 KiB
PHP
Executable File

<?php
get_header();
wp_enqueue_script('program');
wp_enqueue_script('eventProgram');
?>
<!-- Category chooser: -->
<style>
.hidden {
display:none;
}
.cell {
vertical-align: top;
display: inline-block;
float: none;
margin: 10px;
}
.table-image {
opacity: 0.1;
}
.event:not(:first-child) > img {
display: none;
}
.event-program-6days {
padding-top:15px;
border-top:1px solid #ff9e29;
}
.float-right {
float: right;
}
</style>
<div align="center" id="load-spinner">
<img style="margin: 10px 0px 10px 0px;"align="center" src="../wp/wp-content/themes/neuf-old-style/img/ajax-loader.gif">
</div>
<section id="content" class="container_12 hidden" role="main">
<div class="grid_12">
<h1 class="entry-title"><?php the_title(); ?></h1>
<a href="webcal://studentersamfundet.no/ical" class="add-calendar"><i class="icon-calendar"></i> Legg til i kalender</a>
</div>
<a id='image-dir' style="display:none;" href="<?php bloginfo('template_directory'); ?>/img/">You will hopefully not see this.</a>
<div id="program-style-selector" class="grid_2 push_10">
<div class="program-style-selector-item">
<img class="view-mode tiles" src="<?php bloginfo('template_directory');?>/img/tilesvisning.png" onclick='showTiles();toggleActive("tiles");' title="Vis program i et rutenett"/>
<span>Rutenett</span>
</div>
<div class="program-style-selector-item">
<img class="view-mode list" src="<?php bloginfo('template_directory');?>/img/listevisning.png" onclick='showList();toggleActive("list");' title="Vis programmet som en liste" />
<span>Liste</span>
</div>
</div>
<div id="program-calendar" style="display:none;">
<form class="event-picker grid_10 pull_2" data-bind="foreach: eventTypes">
<div class="category-chooser-item">
<input class="program-category-chooser hidden" type="checkbox" data-bind="value: name, checked: checked, attr: { id: id }">
<label data-bind="attr: { for: id }">
<img class="category-chooser-item-img"
data-bind="attr: { src: icon, id: id + '_img' }, css: { checked: shouldDisplayAsChecked }">
<span class="category-chooser-item-label" data-bind="text: name"></span>
</label>
</div>
</form>
<table class="grid_12">
<tbody data-bind="foreach: weeks">
<tr class="event-program-6days" data-bind="foreach: days">
<td class="cell day grid_2">
<div>
<h2 data-bind="text: dateAsHeader"></h2>
<div data-bind="foreach: events">
<div class="event" data-bind="fadeElement: visible">
<img data-bind="attr: { src: thumbnailURI }">
<span data-bind="text: time"></span>
<a data-bind="attr: { href: url, title: title }, text: title"></a>
</div>
</div>
</div>
<div data-bind="fadeElement: hasNoDisplayableEvents">
<img data-bind="attr: { src: '../wp/wp-content/themes/neuf-old-style/img/pig.png' }" class="table-image">
</div>
</td>
</tr>
</tbody>
</table>
</div>
<?php
/* Events from now and into the future */
$meta_query = array(
'key' => '_neuf_events_starttime',
'value' => date( 'U' , strtotime( '-8 hours' )), // start
'type' => 'numeric',
'compare' => '>'
);
$args = array(
'post_type' => 'event',
'meta_query' => array($meta_query),
'posts_per_page' => 300,
'orderby' => 'meta_value_num',
'meta_key' => '_neuf_events_starttime',
'order' => 'ASC'
);
$events = new WP_Query( $args );
?>
<?php
if ( $events->have_posts() ) :
$daycounter = 1;
$current_day = "";
$current_week = "";
$first_event = true;
$first_week = true;
$day_gap_size = 0;
?>
<?php
/* All posts */
?>
<div id="program_tiles" class="grid_12" style="display:none;">
<div class="program-6days">
<?php while ( $events->have_posts() ) : $events->the_post();
/* set previous day */
$previous_day = $current_day;
$previous_week = $current_week;
$date = $post->neuf_events_starttime;
/* event type class */
$event_array = get_the_terms( $post->ID , 'event_type' );
$event_types = array();
foreach ( $event_array as $event_type ) {
if ($event_type->parent === 0) {
$event_types[] = $event_type->name;
} else {
$id = (int)$event_type->parent;
$parent = get_term( $id, 'event_type' );
$event_types[] = $parent->name;
}
}
$event_type_class = $event_types ? "class=\"".implode(" ", $event_types)."\"" : "";
/* set current day */
$current_day = date_i18n( 'Y-m-d' , $date);
$newday = $previous_day != $current_day;
/* set current week */
$current_week = date_i18n( 'W' , $date);
$newweek = $previous_week != $current_week;
/* set weekday numbers */
$weekday_number = date_i18n( 'w' , $date);
$is_monday = $weekday_number == 1;
$is_saturday = $weekday_number == 6;
/* Last and first row needs an alpha or omega class respectively */
if($is_monday) {
$alpha_or_omega = " alpha";
} else if($is_saturday) {
$alpha_or_omega = " omega";
} else {
$alpha_or_omega = "";
}
/* Set grid gap if a week does not have an event each day */
if($previous_day != "") {
$day_gap_size = neuf_event_day_gap_size($current_day, $previous_day);
}
if($newweek && !$is_monday) {
$day_gap_size = ($weekday_number - 1) * 2;
$day_gap = " prefix_$day_gap_size alpha";
} else {
$day_gap = $day_gap_size != 0 && !$newweek ? " prefix_$day_gap_size" : "";
}
/* Only the first event */
if( $first_event ) { ?>
<div class="day day-1 grid_2<?php echo $day_gap; echo $alpha_or_omega; ?>">
<h2><?php echo ucfirst( date_i18n( 'l j/n' , $post->neuf_events_starttime ) ); ?></h2>
<?php if( has_post_thumbnail() ) {
the_post_thumbnail ('two-column-thumb' );
}
?>
<p <?php echo $event_type_class;?>><?php echo date_i18n( 'H.i:' , $post->neuf_events_starttime ); ?> <a href="<?php the_permalink(); ?>" title="<?php the_title(); ?>" <?php neuf_post_class(); ?>><?php echo the_title(); ?></a></p>
<?php
$first_event = false;
continue;
}
if ( $newday ) { $daycounter++; ?>
</div> <!-- .day -->
<?php
if ($newweek && !$first_week) { ?>
</div><!-- .program-6days -->
<div class="program grid_12 program-6days">
<?php } else { ?>
<?php }
?>
<div class="day day-<?php echo $daycounter; ?> grid_2<?php echo $day_gap; echo $alpha_or_omega; ?>">
<h2><?php echo ucfirst( date_i18n( 'l j/n' , $post->neuf_events_starttime ) ); ?></h2>
<?php
if( has_post_thumbnail() ) {
the_post_thumbnail ('two-column-thumb' );
} ?>
<?php } else { ?>
<?php } ?>
<p <?php echo $event_type_class;?>><?php echo date_i18n( 'H.i:' , $post->neuf_events_starttime ); ?> <a href="<?php the_permalink(); ?>" title="<?php the_title(); ?>" <?php neuf_post_class(); ?>><?php echo the_title(); ?></a></p>
<?php
$first_week = false;
?>
<?php endwhile; ?>
</div>
</div>
<?php endif; ?>
</div>
<?php
$meta_query = array(
'key' => '_neuf_events_starttime',
'value' => array(date( 'U' , strtotime( '-8 hours' )), date( 'U' , strtotime( '+1 year' ))),
'type' => 'numeric',
'compare' => 'BETWEEN'
);
$args = array(
'post_type' => 'event',
'meta_query' => array($meta_query),
'posts_per_page' => 300,
'orderby' => 'meta_value_num',
'meta_key' => '_neuf_events_starttime',
'order' => 'ASC'
);
$events = new WP_Query( $args );
if ( $events->have_posts() ) :
$first = true;
$current_month = "";
$current_day = "";
$alt = "";
/* All posts */
?>
<div id="program_list" class="program" style="display:none;">
<form id="program-category-chooser" class="grid_10 pull_2"></form>
<div class="grid_12">
<table class="table">
<tbody>
<?php while ( $events->have_posts() ) : $events->the_post();
$date = $post->neuf_events_starttime;
$previous_month = $current_month;
$current_month = date_i18n( 'F' , $date);
$newmonth = $previous_month != $current_month;
$datel = date_i18n( 'l j/n' , $date);
($price = neuf_format_price( $post )) ? : $price = '-';
$venue = $post->neuf_events_venue;
$ticket = $post->neuf_events_ticket_url;
$ticket = $ticket ? '<a href="'.$ticket.'">Kjøp billett</a>' : '';
/* event type class */
$event_array = get_the_terms( $post->ID , 'event_type' );
$event_types = array();
$event_types_real = array();
foreach ( $event_array as $event_type ) {
if ($event_type->parent === 0) {
$event_types[] = $event_type->name;
} else {
$id = (int)$event_type->parent;
$parent = get_term( $id, 'event_type' );
$event_types[] = $parent->name;
}
$event_types_real[] = $event_type->name;
}
$event_type_real = $event_types_real ? "".implode(", ", $event_types_real) : "";
$event_type_class = $event_types ? "class=\"".implode(" ", $event_types)."\"" : "";
/* set current day */
$previous_day = $current_day;
$current_day = date_i18n( 'Y-m-d' , $date);
$newday = $previous_day != $current_day;
/* everything is everything is not everything if everything is nothing */
$alt = $alt == " alt" ? "" : " alt";
if($newmonth) { ?>
<tr class="month">
<td colspan="5"><h3><?php echo $current_month; ?></h3></td>
</tr>
<tr>
<th class="date">Dato</th>
<th>Arrangement</th>
<th>CC</th>
<th>Type</th>
<th>Sted</th>
<th>Billett</th>
</tr>
<?php } ?>
<tr class="day<?php echo $alt; ?>">
<td><?php echo $datel; ?></td>
<td><a href="<?php the_permalink(); ?>" title="Permanent lenke til <?php the_title(); ?>"><?php echo the_title(); ?></a></td>
<td><?php echo $price; ?></td>
<td <?php echo $event_type_class; ?>><?php echo $event_type_real; ?></td>
<td><?php echo $venue; ?></td>
<td><?php echo $ticket; ?></td>
</tr>
<?php endwhile; ?>
</tbody>
</table>
</div>
<?php endif; ?>
</div>
</section> <!-- #main_content -->
<?php get_footer(); ?>