-
Notifications
You must be signed in to change notification settings - Fork 0
/
_catdir.disp.php
124 lines (114 loc) · 4.88 KB
/
_catdir.disp.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
<?php
/**
* This is the template that displays the posts with categories for a blog
*
* This file is not meant to be called directly.
* It is meant to be called by an include in the main.page.php template.
* To display the archive directory, you should call a stub AND pass the right parameters
* For example: /blogs/index.php?disp=posts
*
* b2evolution - {@link http://b2evolution.net/}
* Released under GNU GPL License - {@link http://b2evolution.net/about/gnu-gpl-license}
* @copyright (c)2003-2016 by Francois Planque - {@link http://fplanque.com/}
*
* @package evoskins
* @subpackage photoalbums
*/
if( !defined('EVO_MAIN_INIT') ) die( 'Please, do not access this page directly.' );
global $Blog;
// --------------------------------- START OF POSTS -------------------------------------
// Display message if no post:
$params_no_content = array(
'before' => '<div class="msg_nothing">',
'after' => '</div>',
'msg_empty_logged_in' => T_('Sorry, there is nothing to display...'),
// This will display if the collection has not been made private. Otherwise we will be redirected to a login screen anyways
'msg_empty_not_logged_in' => T_('This site has no public contents.')
);
// Get only root categories of this blog
$ChapterCache = & get_ChapterCache();
$chapters = $ChapterCache->get_chapters( $Blog->ID, 0, true );
// Boolean var to know when at least one post is displayed
$no_content_to_display = true;
if( ! empty( $chapters ) )
{ // Display the posts with chapters
foreach( $chapters as $Chapter )
{
// Get the posts of current category
$ItemList = new ItemList2( $Blog, $Blog->get_timestamp_min(), $Blog->get_timestamp_max() );
$ItemList->set_filters( array(
'cat_array' => array( $Chapter->ID ), // Limit only by selected cat (exclude posts from child categories)
'cat_modifier' => NULL,
'unit' => 'all', // Display all items of this category, Don't limit by page
) );
$ItemList->query();
if( $ItemList->result_num_rows > 0 )
{
$no_content_to_display = false;
?>
<div class="posts_list">
<div class="category_title"><a href="<?php echo $Chapter->get_permanent_url(); ?>"><?php echo $Chapter->get( 'name' ); ?></a></div>
<?php
while( $Item = & $ItemList->get_item() )
{ // For each blog post, do everything below up to the closing curly brace "}"
// Temporarily switch to post locale (useful for multilingual blogs)
$Item->locale_temp_switch();
?>
<div id="<?php $Item->anchor_id() ?>" class="<?php $Item->div_classes( $params ) ?>" lang="<?php $Item->lang() ?>">
<?php
// Display images that are linked to this post:
$item_first_image = $Item->get_images( array(
'before' => '',
'before_image' => '',
'before_image_legend' => '',
'after_image_legend' => '',
'after_image' => '',
'after' => '',
'image_size' => $Skin->get_setting( 'posts_thumb_size' ),
'image_link_to' => 'single',
'image_desc' => '',
'gallery_image_limit' => 0, // Don't use images from attached folders.
'limit' => 1, // Get only first attached image depending on position priority, see param below:
'restrict_to_image_position' => 'cover,teaser,aftermore,inline',
'get_rendered_attachments' => false,
// Sort the attachments to get firstly "Cover", then "Teaser", and "After more" as last order
'links_sql_select' => ', CASE '
.'WHEN link_position = "cover" THEN "1" '
.'WHEN link_position = "teaser" THEN "2" '
.'WHEN link_position = "aftermore" THEN "3" '
.'WHEN link_position = "inline" THEN "4" '
// .'ELSE "99999999"' // Use this line only if you want to put the other position types at the end
.'END AS position_order',
'links_sql_orderby' => 'position_order, link_order',
) );
if( empty( $item_first_image ) )
{ // No images in this post, Display an empty block
$item_first_image = $Item->get_permanent_link( '<b>'.T_('No pictures yet').'</b>', '#', 'album_nopic' );
}
else if( $item_first_image == 'plugin_render_attachments' )
{ // No images, but some attachments(e.g. videos) are rendered by plugins
$item_first_image = $Item->get_permanent_link( '<b>'.T_('Click to see contents').'</b>', '#', 'album_nopic' );
}
// Display a title
echo $Item->get_title( array(
'before' => $item_first_image.'<br />',
) );
// Restore previous locale (Blog locale)
locale_restore_previous();
?>
</div>
<?php
}
}
?>
</div>
<?php
}
} // ---------------------------------- END OF POSTS ------------------------------------
if( $no_content_to_display )
{ // No category and no post in this blog
echo $params_no_content['before']
.( is_logged_in() ? $params_no_content['msg_empty_logged_in'] : $params_no_content['msg_empty_not_logged_in'] )
.$params_no_content['after'];
}
?>