2018-03-21 18:19:20 +00:00
< ? php
2021-01-21 12:03:14 +00:00
/**
* The template for showing items indexed by organisation .
*
* @ package Omphaloskepsis
* @ since Omphaloskepsis 1.0
*/
2021-01-22 16:19:51 +00:00
2018-03-21 18:19:20 +00:00
?>
< ? php get_header (); ?>
< ? php
// Gets all of the roles attached to the given organisation.
$company = get_queried_object ();
2021-01-22 16:19:51 +00:00
echo '<!-- ' . wp_kses_post ( $company -> name ) . '-->' ;
2021-01-09 11:13:06 +00:00
$args = array (
2021-01-22 16:19:51 +00:00
'post_type' => array ( 'job' ),
'tax_query' => array (
2021-01-09 11:13:06 +00:00
array (
'taxonomy' => 'company' ,
'field' => 'slug' ,
'terms' => $company -> slug ,
),
),
'posts_per_page' => - 1 ,
2018-03-21 18:19:20 +00:00
);
2021-01-09 11:13:06 +00:00
2018-03-21 18:19:20 +00:00
$loop = new WP_Query ( $args );
2021-01-09 11:13:06 +00:00
?>
2021-01-22 16:19:51 +00:00
< ? php // phpcs:disable WordPress.WP.EnqueuedResources ?>
2018-03-21 18:19:20 +00:00
< script type = " text/javascript " src = " https://www.gstatic.com/charts/loader.js " ></ script >
< script type = " text/javascript " src = " https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js " ></ script >
< script type = " text/javascript " >
2021-01-09 13:04:43 +00:00
google . charts . load ( 'current' , { 'packages' : [ 'timeline' ]});
2020-08-08 10:55:20 +01:00
2021-01-09 13:04:43 +00:00
< ? php if ( $loop -> have_posts () ) : ?>
2021-01-09 13:05:24 +00:00
google . charts . setOnLoadCallback ( drawChart );
2021-01-09 13:04:43 +00:00
< ? php endif ; ?>
2018-03-21 18:19:20 +00:00
2021-01-09 13:04:43 +00:00
function drawChart () {
2021-01-09 11:13:06 +00:00
var container = document . getElementById ( 'timeline' );
var chart = new google . visualization . Timeline ( container );
var dataTable = new google . visualization . DataTable ();
dataTable . addColumn ({ type : 'string' , id : 'Type' });
dataTable . addColumn ({ type : 'string' , id : 'Job Title' });
dataTable . addColumn ({ type : 'date' , id : 'Start' });
dataTable . addColumn ({ type : 'date' , id : 'End' });
dataTable . addRows ([
< ? php
while ( $loop -> have_posts () ) :
$loop -> the_post ();
// Gets all of the roles associated with this organisation and its
// child organisations.
2021-01-22 16:19:51 +00:00
$companies = wp_get_object_terms ( get_the_ID (), 'company' );
$i = 0 ;
$curr_size_of = - 1 ;
2020-08-08 10:55:20 +01:00
2021-01-09 11:13:06 +00:00
foreach ( $companies as $company ) {
2021-01-22 16:19:51 +00:00
if ( count ( get_ancestors ( $company -> term_id , 'company' ) ) > $curr_size_of ) {
$curr_size_of = count ( get_ancestors ( $company -> term_id , 'company' ) );
$lowest_depth_company = $i ++ ;
2021-01-09 11:13:06 +00:00
}
}
2021-01-22 16:19:51 +00:00
$end_date = get_post_meta ( get_the_ID (), 'end-date' , true );
$item_title = htmlspecialchars_decode ( strip_tags ( get_the_title () ) );
$start = get_the_date ();
$end = ( ! $end_date || ( $end_date && $end_date > gmdate ( 'Y-m-d' ) ) ) ? gmdate ( 'Y-m-d' ) : $end_date ;
echo wp_kses_post ( " [ ' " . html_entity_decode ( $companies [ $lowest_depth_company ] -> name ) . " ', ' $item_title ', new Date(' $start '), new Date(' $end ') ], \n " );
2021-01-09 11:13:06 +00:00
endwhile ;
?>
]);
// Draws the table, then resizes the element height and re-draws it
// to avoid needing to scroll vertically.
2021-01-21 12:03:14 +00:00
var rowHeight = 15 ;
2021-01-22 16:19:51 +00:00
var chartHeight = dataTable . getNumberOfRows () * rowHeight + 50 ;
var options = {
tooltip : { isHtml : true },
timeline : {
showRowLabels : true ,
},
height : chartHeight ,
width : '100%' ,
};
2021-01-09 11:13:06 +00:00
chart . draw ( dataTable , options );
2018-03-21 18:19:20 +00:00
}
</ script >
2021-01-22 16:19:51 +00:00
< ? php // phpcs:enable ?>
2018-03-21 18:19:20 +00:00
< main id = " split-page " role = " main " >
< ? php
2021-01-23 13:26:25 +00:00
// phpcs:disable WordPress.NamingConventions.ValidHookName.UseUnderscores
2021-01-22 16:19:51 +00:00
$company_logo = apply_filters ( 'taxonomy-images-queried-term-image-url' , '' , array ( 'image_size' => 'full' ) );
2021-01-23 13:26:25 +00:00
// phpcs:enable
2021-01-22 16:19:51 +00:00
$company_name = get_queried_object () -> name ;
2018-03-21 18:19:20 +00:00
?>
< div id = " wrapper " >
2021-01-22 16:19:51 +00:00
< header style = " background-image: url('<?php echo esc_url( $company_logo ); ?>'); background-color: <?php echo esc_attr( get_term_meta( get_queried_object()->term_id, 'color' )[0] ); ?>; background-size: contain; " >
2021-01-09 11:13:06 +00:00
< div >
< ? php
2021-01-22 16:19:51 +00:00
if ( strlen ( $company_name ) > 70 ) {
2021-01-09 11:13:06 +00:00
$small = '2em' ;
2021-01-22 16:19:51 +00:00
} elseif ( strlen ( $company_name ) > 35 ) {
2021-01-09 11:13:06 +00:00
$small = '3em' ;
2021-01-22 16:19:51 +00:00
} elseif ( strlen ( $company_name ) > 12 ) {
2021-01-09 11:13:06 +00:00
$small = '4em' ;
} else {
$small = '5em' ;
}
?>
2021-01-22 16:19:51 +00:00
< h1 id = " post-title " style = " font-size: <?php echo esc_attr( $small ); ?>; " >< ? php echo wp_kses_post ( $company_name ); ?> </h1>
2021-01-09 11:13:06 +00:00
</ div >
</ header ><!-- . entry - header -->
2018-03-21 18:19:20 +00:00
2021-01-09 11:13:06 +00:00
< main id = " organisation-body " class = " body " >
< section id = " description " >
< ? php the_archive_description (); ?>
</ section >
< ? php if ( $loop -> have_posts () ) : ?>
< section id = " timeline " >
2021-01-21 12:03:14 +00:00
< div id = " timeline " class = " col-12 " >
2021-01-22 16:19:51 +00:00
< img class = " loading " src = " /wp-content/uploads/2016/12/ajax-loader.gif " >
2021-01-21 12:03:14 +00:00
</ div >
2021-01-09 11:13:06 +00:00
</ section >
< ? php endif ; ?>
< section id = " related " class = " row " >
< div id = " parents " class = " col-6 col-m-12 " >
< ? php
if ( get_queried_object () -> parent != 0 ) {
2021-01-23 13:26:25 +00:00
// phpcs:disable WordPress.NamingConventions.ValidHookName.UseUnderscores
2021-01-09 11:13:06 +00:00
$parents = apply_filters (
'taxonomy-images-get-terms' ,
'' ,
array (
'having_images' => false ,
2021-01-22 16:19:51 +00:00
'taxonomy' => 'company' ,
'term_args' => array (
2021-01-09 11:13:06 +00:00
'include' => get_term_by ( 'id' , get_queried_object () -> parent , 'company' ) -> term_id ,
),
)
);
2021-01-23 13:26:25 +00:00
// phpcs:enable
2021-01-09 11:13:06 +00:00
}
if ( count ( $parents ) > 0 ) :
?>
< h2 class = " subheading " > Parent </ h2 >
< ul class = " index " >
< ? php
foreach ( ( array ) $parents as $parent ) :
2021-01-22 16:19:51 +00:00
$img_url = wp_get_attachment_image_src ( $parent -> image_id )[ 0 ];
$colour = get_term_meta ( $parent -> term_id , 'color' , true );
$colour = ( '' !== $colour ) ? $colour : 'transparent' ;
2021-01-09 11:13:06 +00:00
?>
2021-01-22 16:19:51 +00:00
< li >< a href = " <?php echo esc_url( get_term_link( $parent , $parent->taxonomy ) ); ?> " >< ? php echo wp_kses_post ( get_term ( $parent -> term_id , 'company' ) -> name ); ?> </a></li>
2021-01-09 11:13:06 +00:00
< ? php endforeach ; ?>
</ ul >
< ? php endif ; ?>
</ div >
< div id = " children " class = " col-6 col-m-12 " >
< ? php
2021-01-23 13:26:25 +00:00
// phpcs:disable WordPress.NamingConventions.ValidHookName.UseUnderscores
2021-01-09 11:13:06 +00:00
$children = apply_filters (
'taxonomy-images-get-terms' ,
'' ,
array (
'having_images' => false ,
2021-01-22 16:19:51 +00:00
'taxonomy' => 'company' ,
'term_args' => array ( 'parent' => get_queried_object () -> term_id ),
2021-01-09 11:13:06 +00:00
)
);
2021-01-23 13:26:25 +00:00
// phpcs:enable
2021-01-09 11:13:06 +00:00
if ( count ( $children ) > 0 ) :
?>
< h2 class = " subheading " > Child < ? php echo ( count ( $children ) != 1 ) ? 'ren' : '' ; ?> </h2>
< ul class = " index " >
< ? php
foreach ( ( array ) $children as $child ) :
2021-01-22 16:19:51 +00:00
$img_url = wp_get_attachment_image_src ( $child -> image_id , 'detail' )[ 0 ];
$colour = get_term_meta ( $child -> term_id , 'color' , true );
$colour = ( '' !== $colour ) ? $colour : 'transparent' ;
2021-01-09 11:13:06 +00:00
?>
2020-08-08 10:55:20 +01:00
2021-01-22 16:19:51 +00:00
< li >< a href = " <?php echo esc_url( get_term_link( $child , $child->taxonomy ) ); ?> " >< ? php echo wp_kses_post ( get_term ( $child -> term_id , 'company' ) -> name ); ?> </a></li>
2021-01-09 11:13:06 +00:00
< ? php endforeach ; ?>
</ ul >
< ? php else : ?>
< p > No children .</ p >
< ? php endif ; ?>
</ div >
</ section >
2018-03-21 18:19:20 +00:00
< ? php
2021-01-22 16:19:51 +00:00
$page_order = array ( 'post' , 'website' , 'program' , 'writing' , 'video' , 'other' );
foreach ( $page_order as $current_section ) {
$args [ 'post_type' ] = array ( $current_section );
$i = 0 ;
$loop = new WP_Query ( $args );
2021-01-09 11:13:06 +00:00
if ( $loop -> have_posts () ) :
2021-01-22 16:19:51 +00:00
echo '<section id="' . esc_attr ( $current_section ) . '" class="org-items row">' ;
echo '<h2 class="subheading">' . wp_kses_post ( ucwords ( $current_section ) ) . 's <a href="/' . esc_attr ( ( 'post' !== $current_section ? $current_section : 'blog' ) ) . '?company=' . esc_attr ( get_queried_object () -> slug ) . '">View all ' . esc_html ( $loop -> post_count ) . '</a></h2>' ;
2021-01-09 11:13:06 +00:00
echo '<div class="index">' ;
while ( ( $loop -> have_posts () ) && ( $i ++ < 4 ) ) :
$loop -> the_post ();
get_template_part ( 'template-parts/content' , get_post_format () );
endwhile ;
echo '</div>' ;
echo '</section>' ;
endif ;
}
echo '<section id="quals-and-awards">' ;
echo '<div id="qualifications" class="org-items row">' ;
$args [ 'post_type' ] = 'qualification' ;
2021-01-22 16:19:51 +00:00
$loop = new WP_Query ( $args );
2021-01-09 11:13:06 +00:00
echo '<h2 class="subheading">Qualifications</h2>' ;
if ( $loop -> have_posts () ) :
echo '<ul class="index">' ;
while ( $loop -> have_posts () ) :
$loop -> the_post ();
2021-01-22 16:19:51 +00:00
$url = get_permalink ();
echo '<li><a href="' . esc_url ( $url ) . '">' . wp_kses_post ( get_the_title () ) . '</a></li>' ;
2021-01-09 11:13:06 +00:00
endwhile ;
echo '</ul>' ;
else :
echo '<p>No qualifications.</p>' ;
endif ;
echo '</div>' ;
echo '<div id="awards" class="org-items row">' ;
$args [ 'post_type' ] = 'award' ;
2021-01-22 16:19:51 +00:00
$loop = new WP_Query ( $args );
2021-01-09 11:13:06 +00:00
echo '<h2 class="subheading">Awards</h2>' ;
if ( $loop -> have_posts () ) :
echo '<ul class="index">' ;
while ( $loop -> have_posts () ) :
$loop -> the_post ();
$url = esc_url ( get_permalink () );
2021-01-22 16:19:51 +00:00
echo '<li><a href="' . esc_url ( $url ) . '">' . wp_kses_post ( get_the_title () ) . '</a></li>' ;
2021-01-09 11:13:06 +00:00
endwhile ;
echo '</ul>' ;
else :
echo '<p>No awards.</p>' ;
endif ;
echo '</div>' ;
echo '</section>' ;
$args [ 'post_type' ] = 'appearance' ;
2021-01-22 16:19:51 +00:00
$loop = new WP_Query ( $args );
2021-01-09 11:13:06 +00:00
if ( $loop -> have_posts () ) :
echo '<section id="appearances" class="org-items row">' ;
2021-01-22 16:19:51 +00:00
echo '<h2 class="subheading">Appearances <a href="/appearance?company=' . esc_attr ( get_queried_object () -> slug ) . '">View all ' . esc_html ( $loop -> post_count ) . '</a></h2>' ;
2021-01-09 11:13:06 +00:00
echo '<div class="index">' ;
while ( ( $loop -> have_posts () ) ) :
$loop -> the_post ();
get_template_part ( 'template-parts/content' , get_post_format () );
endwhile ;
echo '</div>' ;
echo '</section>' ;
endif ;
$args [ 'post_type' ] = 'correspondence' ;
2021-01-22 16:19:51 +00:00
$loop = new WP_Query ( $args );
2021-01-09 11:13:06 +00:00
if ( $loop -> have_posts () ) :
echo '<section id="correspondence" class="org-items row">' ;
2021-01-22 16:19:51 +00:00
echo '<h2 class="subheading">Correspondence <a href="/correspondence?company=' . esc_attr ( get_queried_object () -> slug ) . '">View all ' . esc_html ( $loop -> post_count ) . '</a></h2>' ;
2021-01-09 11:13:06 +00:00
echo '<div class="index">' ;
while ( ( $loop -> have_posts () ) ) :
$loop -> the_post ();
get_template_part ( 'template-parts/content' , get_post_format () );
endwhile ;
echo '</div>' ;
echo '</section>' ;
endif ;
?>
</ main >
2018-03-21 18:19:20 +00:00
</ div >
</ main >
< ? php get_footer (); ?>