File: /home/aprilnet/public_html/sciohost.org/wp-content/themes/doris/inc/libs/atbs_archive.php
<?php
if (!class_exists('doris_archive')) {
class doris_archive {
static function the_query__sticky($catID, $posts_per_page){
$feat_tag = '';
$args = array(
'cat' => $catID,
'post_status' => 'publish',
'ignore_sticky_posts' => 1,
'posts_per_page' => $posts_per_page,
);
$the_query = new WP_Query( $args );
wp_reset_postdata();
return $the_query;
}
/**
* ************* Get Option *****************
*---------------------------------------------------
*/
static function bk_get_archive_option($termID, $theoption = '') {
$doris_option = atbs_core::bk_get_global_var('doris_option');
$output = '';
if($theoption != '') :
$output = atbs_core::doris_rwmb_meta( $theoption, array( 'object_type' => 'term' ), $termID );
if (isset($output) && (($output == 'global_settings') || ($output == ''))):
$output = $doris_option[$theoption];
endif;
endif;
return $output;
}
static function bk_pagination_render($pagination){
global $wp_query;
$max_page = $wp_query->max_num_pages;
$render = '';
if($max_page <= 1) {
return '';
}
if($pagination == 'default') {
$render = atbs_core::doris_get_pagination();
}else if($pagination == 'ajax-pagination') {
$render = doris_ajax_function::ajax_load_buttons('pagination', $max_page);
}else if($pagination == 'ajax-loadmore') {
$render = doris_ajax_function::ajax_load_buttons('loadmore', $max_page);
}
return $render;
}
static function bk_author_pagination_render($pagination, $userMaxPages){
$render = '';
if($pagination == 'ajax-pagination') {
$render = doris_ajax_function::ajax_load_buttons('pagination', $userMaxPages);
}else if($pagination == 'ajax-loadmore') {
$render .= '<nav class="doris-pagination text-center">';
$render .= '<button class="btn btn-default js-ajax-load-post-trigger">'.esc_html__('Load more authors', 'doris').'<i class="mdicon mdicon-cached mdicon--last"></i></button>';
$render .= '</nav>';
}
return $render;
}
static function bk_archive_pages_post_icon(){
global $post;
$doris_option = atbs_core::bk_get_global_var('doris_option');
$postIcon = '';
if(is_category()) {
$postIcon = isset($doris_option['bk_category_post_icon']) ? $doris_option['bk_category_post_icon'] : 'disable';
}elseif(is_author()) {
$postIcon = isset($doris_option['bk_author_post_icon']) ? $doris_option['bk_author_post_icon'] : 'disable';
}elseif(is_search()) {
$postIcon = isset($doris_option['bk_search_post_icon']) ? $doris_option['bk_search_post_icon'] : 'disable';
}elseif(is_archive()){
$postIcon = isset($doris_option['bk_archive_post_icon']) ? $doris_option['bk_archive_post_icon'] : 'disable';
}else {
$pageTemplate = get_post_meta($post->ID,'_wp_page_template',true);
if($pageTemplate == 'blog.php') {
$postIcon = isset($doris_option['bk_blog_post_icon']) ? $doris_option['bk_blog_post_icon'] : 'disable';
}
}
return $postIcon;
}
static function bk_render_authors($users_found) {
$render = '';
if(count($users_found) > 0):
$render .= '<ul class="authors-list list-unstyled list-space-lg">';
foreach($users_found as $user) :
$render .= '<li>';
$render .= doris_archive::author_box($user->data->ID);
$render .= '</li>';
endforeach;
$render .= '</ul> <!-- End Author Results -->';
endif;
return $render;
}
static function archive_fullwidth($archiveLayout, $moduleID = '', $pagination = ''){
$dataOutput = '';
switch($archiveLayout) {
case 'listing_large_post_fw':
$dataOutput .= self::listing_large_post_fw__render($moduleID);
break;
default:
$dataOutput .= self::listing_large_post_fw__render($moduleID);
break;
}
return $dataOutput;
}
static function archive_main_col($archiveLayout, $moduleID = '', $pagination = ''){
$dataOutput = '';
switch($archiveLayout) {
case 'listing_list':
$dataOutput .= self::listing_list__render($moduleID);
break;
case 'listing_list_first_large':
$dataOutput .= self::listing_list_first_large__render($moduleID);
break;
case 'listing_grid':
$dataOutput .= self::listing_grid__render($moduleID);
break;
case 'listing_grid_first_large':
$dataOutput .= self::listing_grid_first_large__render($moduleID);
break;
case 'listing_large_post':
$dataOutput .= self::listing_large_post__render($moduleID);
break;
default:
$dataOutput .= self::listing_list__render($moduleID);
break;
}
return $dataOutput;
}
/** Full Width Modules ( No sidebar)**/
static function listing_large_post_fw__render($moduleID) {
global $wp_query;
$render_modules = '';
$currentPost = 0;
$postIcon = self::bk_archive_pages_post_icon();
$postIconAttr = array();
$postIconAttr['postIconClass'] = '';
$postIconAttr['iconType'] = '';
$postVerticalHTML = new doris_vertical_3;
$moduleInfo = array(
'post_source' => 'all',
'post_icon' => $postIcon,
'iconPosition' => 'top-right',
'meta' => 2,
'cat' => 1,
'excerpt' => 1,
);
atbs_core::bk_add_buff('query', $moduleID, 'moduleInfo', $moduleInfo);
$cat = 3; //Top - Left
$cat_Class = atbs_core::bk_get_cat_class($cat);
$postVerticalAttr = array (
'cat' => $cat,
'catClass' => $cat_Class,
'thumbSize' => 'doris-m-2_1',
'typescale' => 'typescale-4',
'additionalExcerptClass' => 'post__excerpt--lg',
'except_length' => 60,
'meta' => array('author', 'date', 'comment'),
'postIcon' => $postIconAttr,
);
$render_modules .= '<div class="doris-block posts-listing-a">';
while (have_posts()): the_post();
$postVerticalAttr['postID'] = get_the_ID();
$addClass = '';
if($postIcon !== 'disable') {
$postIconAttr['iconType'] = atbs_core::bk_post_format_detect(get_the_ID());
$postIconAttr['postIconClass'] = atbs_core::get_post_icon_class($postIconAttr['iconType'], '', $moduleInfo['iconPosition'], $addClass);
$postVerticalAttr['postIcon'] = $postIconAttr;
}
$render_modules .= $postVerticalHTML->render($postVerticalAttr);
endwhile;
$render_modules .= '</div><!-- .Post Listing -->';
return $render_modules;
}
/** Main Col Modules **/
static function listing_list__render($moduleID) {
$render_modules = '';
$postIconAttr = array();
$postIconAttr['postIconClass'] = '';
$postIconAttr['iconType'] = '';
$postIcon = self::bk_archive_pages_post_icon();
$moduleInfo = array(
'post_source' => 'all',
'post_icon' => $postIcon,
'iconPosition' => 'top-right',
'meta' => 3,
'cat' => 3,
'excerpt' => 1,
);
atbs_core::bk_add_buff('query', $moduleID, 'moduleInfo', $moduleInfo);
$catStyle = 3; //Above the Title - No BG
$cat_Class = atbs_core::bk_get_cat_class($catStyle);
$postHorizontalHTML = new doris_horizontal_1;
$postHorizontalAttr = array (
'additionalClass' => 'post--horizontal-lg',
'cat' => 1,
'catClass' => '',
'thumbSize' => 'doris-m-4_3',
'typescale' => 'typescale-2',
'except_length' => 12,
'postIcon' => $postIconAttr,
);
$render_modules .= '<div class="posts-list list-space-xl">';
while (have_posts()): the_post();
$postHorizontalAttr['postID'] = get_the_ID();
$postHorizontalAttr['additionalClass'] = 'post--horizontal-lg';
if($postIcon !== 'disable') {
$addClass = 'overlay-item--sm-p';
$postIconAttr['iconType'] = atbs_core::bk_post_format_detect(get_the_ID());
$postIconAttr['postIconClass'] = atbs_core::get_post_icon_class($postIconAttr['iconType'], '', $moduleInfo['iconPosition'], $addClass);
$postHorizontalAttr['postIcon'] = $postIconAttr;
}
$render_modules .= '<div class="post-horizontal-a">';
$render_modules .= $postHorizontalHTML->render($postHorizontalAttr);
$render_modules .= '</div>';
endwhile;
$render_modules .= '</div>';
return $render_modules;
}
static function listing_list_first_large__render($moduleID) {
$render_modules = '';
$postIconAttr = array();
$postIconAttr['postIconClass'] = '';
$postIconAttr['iconType'] = '';
$postIcon = self::bk_archive_pages_post_icon();
$moduleInfo = array(
'post_source' => 'all',
'post_icon' => $postIcon,
'iconPosition' => 'top-right',
'meta' => 3,
'cat' => 3,
'excerpt' => 1,
);
atbs_core::bk_add_buff('query', $moduleID, 'moduleInfo', $moduleInfo);
$cat_S_Style = 3; //Above the Title - No BG
$cat_S_Class = atbs_core::bk_get_cat_class($cat_S_Style);
$cat_L_Style = 3;
$cat_L_Class = atbs_core::bk_get_cat_class($cat_L_Style);
$postHorizontalHTML = new doris_horizontal_1;
$postVerticalHTML = new doris_vertical_3;
$postVerticalAttr = array (
'cat' => 1,
'catClass' => '',
'thumbSize' => 'doris-m-2_1',
'typescale' => 'typescale-4',
'additionalExcerptClass' => '',
'except_length' => 30,
'meta' => array('date_without_icon'),
'postIcon' => $postIconAttr,
);
$postHorizontalAttr = array (
'additionalClass' => 'post--horizontal-lg',
'cat' => 1,
'catClass' => '',
'thumbSize' => 'doris-m-4_3',
'typescale' => 'typescale-2',
'except_length' => 12,
'postIcon' => $postIconAttr,
);
$render_modules .= '<div class="doris_posts_listing_list_first_large posts-list list-unstyled">';
$postCount = 0;
while (have_posts()): the_post();
if($postCount == 0) :
$render_modules .= '<div class="doris-block--inner">';
$postVerticalAttr['postID'] = get_the_ID();
$addClass = '';
if($postIcon !== 'disable') {
$postIconAttr['iconType'] = atbs_core::bk_post_format_detect(get_the_ID());
$postIconAttr['postIconClass'] = atbs_core::get_post_icon_class($postIconAttr['iconType'], '', $moduleInfo['iconPosition'], $addClass);
$postVerticalAttr['postIcon'] = $postIconAttr;
}
$render_modules .= '<div class="big-post-vetrical">';
$render_modules .= $postVerticalHTML->render($postVerticalAttr);
$render_modules .= '</div>';
$render_modules .= '</div>';
else:
if($postCount == 1) :
$render_modules .= '<div class="doris-horizontal-posts-list doris-block--inner list-space-xl">';
endif;
$postHorizontalAttr['postID'] = get_the_ID();
if($postIcon !== 'disable') {
$addClass = 'overlay-item--sm-p';
$postIconAttr['iconType'] = atbs_core::bk_post_format_detect(get_the_ID());
$postIconAttr['postIconClass'] = atbs_core::get_post_icon_class($postIconAttr['iconType'], '', $moduleInfo['iconPosition'], $addClass);
$postHorizontalAttr['postIcon'] = $postIconAttr;
}
$render_modules .= '<div class="post-horizontal-a">';
$render_modules .= $postHorizontalHTML->render($postHorizontalAttr);
$render_modules .= '</div>';
endif;
$postCount ++;
endwhile;
if($postCount >= 1) :
$render_modules .= '</div><!--End Doris Block Innner-->';
endif;
$render_modules .= '</div>';
return $render_modules;
}
static function listing_grid__render($moduleID) {
$render_modules = '';
$postIconAttr = array();
$postIconAttr['postIconClass'] = '';
$postIconAttr['iconType'] = '';
$postIcon = self::bk_archive_pages_post_icon();
$moduleInfo = array(
'post_source' => 'all',
'post_icon' => $postIcon,
'iconPosition' => 'top-right',
'meta' => 3,
'cat' => 3,
'excerpt' => 1,
);
atbs_core::bk_add_buff('query', $moduleID, 'moduleInfo', $moduleInfo);
$catStyle = 3; //Above the Title - No BG
$cat_Class = atbs_core::bk_get_cat_class($catStyle);
$postVerticalHTML = new doris_vertical_4;
$postVerticalAttr = array (
'cat' => 1,
'catClass' => '',
'thumbSize' => 'doris-xs-4_3',
'typescale' => 'typescale-2',
'except_length' => 12,
'meta' => array('date_without_icon'),
);
$render_modules .= '<div class="doris-block doris_posts_listing_grid">';
$render_modules .= '<div class="posts-list doris-block--inner post-listing-grid row">';
$render_modules .= '<div class="small-post-vertical">';
while (have_posts()): the_post();
if($postIcon !== 'disable') {
$addClass = 'overlay-item--sm-p';
$postIconAttr['iconType'] = atbs_core::bk_post_format_detect(get_the_ID());
$postIconAttr['postIconClass'] = atbs_core::get_post_icon_class($postIconAttr['iconType'], '', $moduleInfo['iconPosition'], $addClass);
$postVerticalAttr['postIcon'] = $postIconAttr;
}
$postVerticalAttr['postID'] = get_the_ID();
$render_modules .= '<div class="col-sm-6 small-post-vertical__item">';
$render_modules .= $postVerticalHTML->render($postVerticalAttr);
$render_modules .= '</div>';
endwhile;
$render_modules .= '</div>';
$render_modules .= '</div>';
$render_modules .= '</div>';
return $render_modules;
}
static function listing_grid_first_large__render($moduleID) {
$render_modules = '';
$postIconAttr = array();
$postIconAttr['postIconClass'] = '';
$postIconAttr['iconType'] = '';
$postIcon = self::bk_archive_pages_post_icon();
$moduleInfo = array(
'post_source' => 'all',
'post_icon' => $postIcon,
'iconPosition' => 'top-right',
'meta' => 3,
'cat' => 3,
'excerpt' => 1,
);
atbs_core::bk_add_buff('query', $moduleID, 'moduleInfo', $moduleInfo);
$cat_S_Style = 3; //Above the Title - No BG
$cat_S_Class = atbs_core::bk_get_cat_class($cat_S_Style);
$cat_L_Style = 3;
$cat_L_Class = atbs_core::bk_get_cat_class($cat_L_Style);
$postVerticalHTML_S = new doris_vertical_4;
$postVertical_HTML_L = new doris_vertical_3;
$postID = get_the_ID();
$postVerticalAttr_L = array (
'cat' => 1,
'catClass' => '',
'thumbSize' => 'doris-m-2_1',
'typescale' => 'typescale-4',
'additionalExcerptClass' => '',
'except_length' => 30,
'meta' => array('date_without_icon'),
);
$postVerticalAttr_S = array (
'cat' => 1,
'catClass' => '',
'thumbSize' => 'doris-xs-4_3',
'typescale' => 'typescale-2',
'except_length' => 12,
'meta' => array('date_without_icon'),
);
$render_modules .= '<div class="doris-block doris-post-list doris_posts_listing_grid_first_large">';
$render_modules .= '<div class="posts-list list-unstyled">';
$postCount = 0;
while (have_posts()): the_post();
if($postCount == 0) :
$render_modules .= '<div class="doris-block--inner">';
$postVerticalAttr_L['postID'] = get_the_ID();
$addClass = '';
if($postIcon !== 'disable') {
$postIconAttr['iconType'] = atbs_core::bk_post_format_detect(get_the_ID());
$postIconAttr['postIconClass'] = atbs_core::get_post_icon_class($postIconAttr['iconType'], '', $moduleInfo['iconPosition'], $addClass);
$postVerticalAttr_L['postIcon'] = $postIconAttr;
}
$render_modules .= '<div class="big-post-vetrical">';
$render_modules .= $postVertical_HTML_L->render($postVerticalAttr_L);
$render_modules .= '</div>';
$render_modules .= '</div>';
else:
if($postCount == 1) :
$render_modules .= '<div class="small-post-vertical row">';
endif;
if($postIcon !== 'disable') {
$addClass = 'overlay-item--sm-p';
$postIconAttr['iconType'] = atbs_core::bk_post_format_detect(get_the_ID());
$postIconAttr['postIconClass'] = atbs_core::get_post_icon_class($postIconAttr['iconType'], '', $moduleInfo['iconPosition'], $addClass);
$postVerticalAttr_S['postIcon'] = $postIconAttr;
}
$postVerticalAttr_S['postID'] = get_the_ID();
$render_modules .= '<div class="col-sm-6 small-post-vertical__item">';
$render_modules .= $postVerticalHTML_S->render($postVerticalAttr_S);
$render_modules .= '</div>';
endif;
$postCount ++;
endwhile;
if($postCount > 0) :
$render_modules .= '</div>';
endif;
$render_modules .= '</div>';
$render_modules .= '</div>';
return $render_modules;
}
static function listing_large_post__render($moduleID) {
$render_modules = '';
$postIconAttr = array();
$postIconAttr['postIconClass'] = '';
$postIconAttr['iconType'] = '';
$postIcon = self::bk_archive_pages_post_icon();
$moduleInfo = array(
'post_source' => 'all',
'post_icon' => $postIcon,
'iconPosition' => 'top-right',
'meta' => 3,
'cat' => 3,
'excerpt' => 1,
);
atbs_core::bk_add_buff('query', $moduleID, 'moduleInfo', $moduleInfo);
$catStyle = 3; //Above the Title - No BG
$cat_Class = atbs_core::bk_get_cat_class($catStyle);
$postVerticalHTML = new doris_vertical_3;
$postVerticalAttr = array (
'cat' => 1,
'catClass' => '',
'thumbSize' => 'doris-m-2_1',
'typescale' => 'typescale-4',
'additionalExcerptClass' => '',
'except_length' => 30,
'meta' => array('date_without_icon'),
'postIcon' => $postIconAttr,
);
$render_modules .= '<div class="doris-block doris_posts_listing_grid">';
$render_modules .= '<div class="posts-list doris-block--inner post-listing-grid post-listing-large-grid">';
while (have_posts()): the_post();
if($postIcon !== 'disable') {
$addClass = '';
$postIconAttr['iconType'] = atbs_core::bk_post_format_detect(get_the_ID());
$postIconAttr['postIconClass'] = atbs_core::get_post_icon_class($postIconAttr['iconType'], '', $moduleInfo['iconPosition'], $addClass);
$postVerticalAttr['postIcon'] = $postIconAttr;
}
$postVerticalAttr['postID'] = get_the_ID();
$render_modules .= '<div class="big-post-vetrical">';
$render_modules .= $postVerticalHTML->render($postVerticalAttr);
$render_modules .= '</div>';
endwhile;
$render_modules .= '</div>';
$render_modules .= '</div>';
return $render_modules;
}
static function author_box($authorID){
$bk_author_email = get_the_author_meta('publicemail', $authorID);
$bk_author_name = get_the_author_meta('display_name', $authorID);
$bk_author_tw = get_the_author_meta('twitter', $authorID);
$bk_author_fb = get_the_author_meta('facebook', $authorID);
$bk_author_yo = get_the_author_meta('youtube', $authorID);
$bk_author_www = get_the_author_meta('url', $authorID);
$bk_author_desc = get_the_author_meta('description', $authorID);
$bk_author_posts = count_user_posts( $authorID );
$authorImgALT = $bk_author_name;
$authorArgs = array(
'class' => 'avatar photo',
);
$htmlOutput = '';
if (($bk_author_desc != NULL) || ($bk_author_email != NULL) || ($bk_author_www != NULL) || ($bk_author_tw != NULL) || ($bk_author_fb != NULL) ||($bk_author_yo != NULL)) :
$htmlOutput .= '<div class="author-box"><div class="author-box__inner">';
$htmlOutput .= '<div class="author-avatar__wrap">';
$htmlOutput .= '<div class="author-avatar">';
$htmlOutput .= get_avatar($authorID, '180', '', esc_attr($authorImgALT), $authorArgs);
$htmlOutput .= '</div>';
$htmlOutput .= '</div>';
$htmlOutput .= '<div class="author-box__text">';
$htmlOutput .= '<div class="author-name meta-font">';
$htmlOutput .= '<a href="'.get_author_posts_url($authorID).'" title="'.esc_attr__('Posts by', 'doris').' '.esc_attr($bk_author_name).'" rel="author">'.esc_attr($bk_author_name).'</a>';
$htmlOutput .= '</div>';
$htmlOutput .= '<div class="author-bio">';
$htmlOutput .= $bk_author_desc;
$htmlOutput .= '</div>';
$htmlOutput .= '<div class="author-info author__social">';
$htmlOutput .= '<ul class="social-list list-unstyled list-horizontal list-space-sm">';
if (($bk_author_email != NULL) || ($bk_author_www != NULL) || ($bk_author_tw != NULL) || ($bk_author_fb != NULL) ||($bk_author_yo != NULL)) {
if ($bk_author_email != NULL) { $htmlOutput .= '<li><a href="mailto:'. esc_attr($bk_author_email) .'"><i class="mdicon mdicon-mail_outline"></i><span class="sr-only">e-mail</span></a></li>'; }
if ($bk_author_www != NULL) { $htmlOutput .= ' <li><a href="'. esc_url($bk_author_www) .'" target="_blank"><i class="mdicon mdicon-public"></i><span class="sr-only">Website</span></a></li>'; }
if ($bk_author_tw != NULL) { $htmlOutput .= ' <li><a href="'. esc_url($bk_author_tw).'" target="_blank" ><i class="mdicon mdicon-twitter"></i><span class="sr-only">Twitter</span></a></li>'; }
if ($bk_author_fb != NULL) { $htmlOutput .= ' <li><a href="'. esc_url($bk_author_fb) . '" target="_blank" ><i class="mdicon mdicon-facebook"></i><span class="sr-only">Facebook</span></a></li>'; }
if ($bk_author_yo != NULL) { $htmlOutput .= ' <li><a href="http://www.youtube.com/user/'. esc_attr($bk_author_yo) . '" target="_blank" ><span class="sr-only">Youtube</span></a></li>'; }
}
$htmlOutput .= '</ul>';
$htmlOutput .= '</div>';
$htmlOutput .= '</div><!-- .author-box__text-->';
$htmlOutput .= '</div></div>';
endif;
return $htmlOutput;
}
} // Close doris_archive class
}