-
Notifications
You must be signed in to change notification settings - Fork 1
/
theme_shortcodes.php
128 lines (98 loc) · 3.3 KB
/
theme_shortcodes.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
125
126
127
128
<?php
/*
* e107 website system
*
* Copyright (C) 2008-2013 e107 Inc (e107.org)
* Released under the terms and conditions of the
* GNU General Public License (http://www.gnu.org/licenses/gpl.txt)
*
* e107 Bootstrap Theme Shortcodes.
*
*/
class theme_shortcodes extends e_shortcode {
function __construct(){
}
/* ------------------------------------------------------------------------------------------------------------------------------------------- */
/*-----------------------------
LATEST NEWS SHORTCODE - Bootstrap 5 - fizi
-----------------------------*/
function sc_bootstrap_5_grid_news_latest(){
$template = "
<!-- News Grid Menu for Latest 4 News -->
{MENU: path=news/news_grid&limit=3&category=0&source=latest&featured=0&layout=homepage-latestnews}
";
$text = e107::getParser()->parseTemplate($template,true);
return $text;
}
/*------------------------------------------
Shortcode for news on extend news pages
--------------------------------------------*/
/**
* Will only function on the news page.
* @example {THEME_NEWS_BANNER: type=date}
* @example, {THEME_NEWS_BANNER: type=image}
* @example {THEME_NEWS_BANNER: type=author}
* @param null $parm
* @return string|null
*/
function sc_theme_news_banner($parm=null)
{
/** @var news_shortcodes $news */
$sc = e107::getScBatch('news');
$news = $sc->getScVar('news_item');
$ret = '';
$type = varset($parm['type']);
switch($type)
{
case "title":
$ret = $sc->sc_news_title();
break;
case "date":
$ret = $sc->sc_news_date();
break;
case "comment":
$ret = $sc->sc_news_comment_count();
break;
case "category":
$ret = $sc->sc_newscategory();
break;
case "author":
$ret = $sc->sc_news_author();
break;
case "image":
default:
if(!empty($news['news_thumbnail']))
{
$tmp = explode(',', $news['news_thumbnail']);
$opts = array(
'w' => 1800,
'h' => null,
'crop' => false,
);
$ret = e107::getParser()->toImage($tmp[0], $opts);
}
// code to be executed if n is different from all labels;
}
return $ret;
}
/*------------------------------------------
Shortcode for subscribe - Bootstrap 5 - fizi
--------------------------------------------*/
function sc_bootstrap_5_subscribe()
{
$pref = e107::pref('core');
$ns = e107::getRender();
if(empty($pref['signup_option_class']))
{
return false;
}
$frm = e107::getForm();
$text = $frm->open('bootstrap-5-subscribe','post', e_SIGNUP);
$text .= "<div class='input-group mb-2'>";
$text .= $frm->text('email','', null, array('placeholder'=> LAN_THEME_21));
$text .= $frm->button('subscribe', 1, 'submit', LAN_THEME_22, array('class'=>'btn btn-outline-light'));
$text .= "</div>";
$text .= $frm->close();
return $text;
}
}