Chris@76
|
1 <?php
|
Chris@76
|
2
|
Chris@76
|
3 /**
|
Chris@76
|
4 * Simple Machines Forum (SMF)
|
Chris@76
|
5 *
|
Chris@76
|
6 * @package SMF
|
Chris@76
|
7 * @author Simple Machines http://www.simplemachines.org
|
Chris@76
|
8 * @copyright 2011 Simple Machines
|
Chris@76
|
9 * @license http://www.simplemachines.org/about/smf/license.php BSD
|
Chris@76
|
10 *
|
Chris@76
|
11 * @version 2.0
|
Chris@76
|
12 */
|
Chris@76
|
13
|
Chris@76
|
14 // Special thanks to Spaceman-Spiff for his contributions to this page.
|
Chris@76
|
15
|
Chris@76
|
16 /* Define $ssi_guest_access variable just before including SSI.php to handle guest access to your script.
|
Chris@76
|
17 false: (default) fallback to forum setting
|
Chris@76
|
18 true: allow guest access to the script regardless
|
Chris@76
|
19 */
|
Chris@76
|
20 $ssi_guest_access = false;
|
Chris@76
|
21
|
Chris@76
|
22 // Include the SSI file.
|
Chris@76
|
23 require(dirname(__FILE__) . '/SSI.php');
|
Chris@76
|
24
|
Chris@76
|
25 // Viewing the homepage sample?
|
Chris@76
|
26 if (isset($_GET['view']) && $_GET['view'] == 'home1')
|
Chris@76
|
27 {
|
Chris@76
|
28 template_homepage_sample1('output');
|
Chris@76
|
29 exit;
|
Chris@76
|
30 }
|
Chris@76
|
31
|
Chris@76
|
32 // Load the main template.
|
Chris@76
|
33 template_ssi_above();
|
Chris@76
|
34 ?>
|
Chris@76
|
35
|
Chris@76
|
36 <h2>SMF SSI.php Functions</h2>
|
Chris@76
|
37 <p><strong>Current Version:</strong> 2.0</p>
|
Chris@76
|
38 <p>This file is used to demonstrate the capabilities of SSI.php using PHP include functions. The examples show the include tag, then the results of it.</p>
|
Chris@76
|
39
|
Chris@76
|
40 <h2>Include Code</h2>
|
Chris@76
|
41 <p>To use SSI.php in your page add at the very top of your page before the <html> tag on line 1 of your php file:</p>
|
Chris@76
|
42 <div class="codeheader">Code: <a href="javascript:void(0);" onclick="return smfSelectText(this);" class="codeoperation">[Select]</a></div><code class="bbc_code"><?php require("<?php echo addslashes($user_info['is_admin'] ? realpath($boarddir . '/SSI.php') : 'SSI.php'); ?>"); ?></code>
|
Chris@76
|
43
|
Chris@76
|
44 <h2>Some notes on usage</h2>
|
Chris@76
|
45 <p>All the functions have an output method parameter. This can either be "echo" (the default) or "array"</p>
|
Chris@76
|
46 <p>If it is "echo", the function will act normally - otherwise, it will return an array containing information about the requested task. For example, it might return a list of topics for ssi_recentTopics.</p>
|
Chris@76
|
47 <p onclick="if (getInnerHTML(this).indexOf('Bird') == -1) setInnerHTML(this, getInnerHTML(this) + '<br /><img src="http://www.simplemachines.org/images/chocobo.jpg" title="Bird-san" alt="Chocobo!" />'); return false;">This functionality can be used to allow you to present the information in any way you wish.</p>
|
Chris@76
|
48
|
Chris@76
|
49 <h2>Additional Guides & FAQ</h2>
|
Chris@76
|
50 <p>Need more information on using SSI.php? Check out <a href="http://docs.simplemachines.org/index.php?topic=400.0">Using SSI.php article</a> or <a href="http://www.simplemachines.org/community/index.php?topic=14906.0">the SSI FAQ</a>.</p>
|
Chris@76
|
51
|
Chris@76
|
52 <div id="sidenav" class="windowbg">
|
Chris@76
|
53 <span class="topslice"><span></span></span>
|
Chris@76
|
54 <div class="content">
|
Chris@76
|
55 <h2 id="functionlist">Function List</h2>
|
Chris@76
|
56 <h3>Recent Items</h3>
|
Chris@76
|
57 <ul>
|
Chris@76
|
58 <li><a href="#" onclick="showSSIBlock('ssi_recentTopics'); return false;">Recent Topics</a></li>
|
Chris@76
|
59 <li><a href="#" onclick="showSSIBlock('ssi_recentPosts'); return false;">Recent Posts</a></li>
|
Chris@76
|
60 <li><a href="#" onclick="showSSIBlock('ssi_recentPoll'); return false;">Recent Poll</a></li>
|
Chris@76
|
61 </ul>
|
Chris@76
|
62 <h3>Top Items</h3>
|
Chris@76
|
63 <ul>
|
Chris@76
|
64 <li><a href="#" onclick="showSSIBlock('ssi_topBoards'); return false;">Top Boards</a></li>
|
Chris@76
|
65 <li><a href="#" onclick="showSSIBlock('ssi_topTopicsViews'); return false;">Top Topics</a></li>
|
Chris@76
|
66 <li><a href="#" onclick="showSSIBlock('ssi_topPoll'); return false;">Top Poll</a></li>
|
Chris@76
|
67 <li><a href="#" onclick="showSSIBlock('ssi_topPoster'); return false;">Top Poster</a></li>
|
Chris@76
|
68 </ul>
|
Chris@76
|
69 <h3>Members</h3>
|
Chris@76
|
70 <ul>
|
Chris@76
|
71 <li><a href="#" onclick="showSSIBlock('ssi_latestMember'); return false;">Latest Member Function</a></li>
|
Chris@76
|
72 <li><a href="#" onclick="showSSIBlock('ssi_randomMember'); return false;">Member of the Day</a></li>
|
Chris@76
|
73 <li><a href="#" onclick="showSSIBlock('ssi_whosOnline'); return false;">Who's Online</a></li>
|
Chris@76
|
74 </ul>
|
Chris@76
|
75 <h3>Authentication</h3>
|
Chris@76
|
76 <ul>
|
Chris@76
|
77 <li><a href="#" onclick="showSSIBlock('ssi_login'); return false;">Welcome, Login & Logout</a></li>
|
Chris@76
|
78 </ul>
|
Chris@76
|
79 <h3>Calendar</h3>
|
Chris@76
|
80 <ul>
|
Chris@76
|
81 <li><a href="#" onclick="showSSIBlock('ssi_todaysCalendar'); return false;">Today's Events</a></li>
|
Chris@76
|
82 <li><a href="#" onclick="showSSIBlock('ssi_recentEvents'); return false;">Recent Events</a></li>
|
Chris@76
|
83 </ul>
|
Chris@76
|
84 <h3>Miscellaneous</h3>
|
Chris@76
|
85 <ul>
|
Chris@76
|
86 <li><a href="#" onclick="showSSIBlock('ssi_boardStats'); return false;">Forum Stats</a></li>
|
Chris@76
|
87 <li><a href="#" onclick="showSSIBlock('ssi_news'); return false;">News</a></li>
|
Chris@76
|
88 <li><a href="#" onclick="showSSIBlock('ssi_boardNews'); return false;">Board News</a></li>
|
Chris@76
|
89 <li><a href="#" onclick="showSSIBlock('ssi_menubar'); return false;">Menubar</a></li>
|
Chris@76
|
90 <li><a href="#" onclick="showSSIBlock('ssi_quickSearch'); return false;">Quick Search Box</a></li>
|
Chris@76
|
91 <li><a href="#" onclick="showSSIBlock('ssi_recentAttachments'); return false;">Recent Attachments</a></li>
|
Chris@76
|
92 </ul>
|
Chris@76
|
93 <?php if ($user_info['is_admin']) { ?>
|
Chris@76
|
94 <h3>Advanced Functions <img class="help" title="Functions that require additional tweaking, not just copy and paste." src="<?php echo $settings['images_url']; ?>/helptopics.gif" alt="" /></h3>
|
Chris@76
|
95 <ul>
|
Chris@76
|
96 <li><a href="#" onclick="showSSIBlock('ssi_showPoll'); return false;">Show Single Poll</a></li>
|
Chris@76
|
97 <li><a href="#" onclick="showSSIBlock('ssi_fetchPosts'); return false;">Show Single Post</a></li>
|
Chris@76
|
98 <li><a href="#" onclick="showSSIBlock('ssi_fetchMember'); return false;">Show Single Member</a></li>
|
Chris@76
|
99 <li><a href="#" onclick="showSSIBlock('ssi_fetchGroupMembers'); return false;">Show Group Members</a></li>
|
Chris@76
|
100 </ul>
|
Chris@76
|
101 <?php } ?>
|
Chris@76
|
102 <h3>Website Samples</h3>
|
Chris@76
|
103 <ul>
|
Chris@76
|
104 <li><a href="#" onclick="showSSIBlock('htmlhome')">Sample 1</a></li>
|
Chris@76
|
105 </ul>
|
Chris@76
|
106 <h2 id="other">Other</h2>
|
Chris@76
|
107 <ul>
|
Chris@76
|
108 <li><a href="#" onclick="toggleVisibleByClass('ssi_preview', false); return false;">Show all examples</a></li>
|
Chris@76
|
109 <li><a href="#" onclick="toggleVisibleByClass('ssi_preview', true); return false;">Hide all examples</a></li>
|
Chris@76
|
110 </ul>
|
Chris@76
|
111 </div>
|
Chris@76
|
112 <span class="botslice"><span></span></span>
|
Chris@76
|
113 </div>
|
Chris@76
|
114
|
Chris@76
|
115 <div id="preview" class="windowbg2">
|
Chris@76
|
116 <span class="topslice"><span></span></span>
|
Chris@76
|
117 <div class="content">
|
Chris@76
|
118
|
Chris@76
|
119 <!-- RECENT ITEMS -->
|
Chris@76
|
120 <div class="ssi_preview" id="ssi_recentTopics">
|
Chris@76
|
121 <h2>Recent Topics Function</h2>
|
Chris@76
|
122 <h3>Code (simple mode)</h3>
|
Chris@76
|
123 <div class="codeheader">Code: <a href="javascript:void(0);" onclick="return smfSelectText(this);" class="codeoperation">[Select]</a></div><code class="bbc_code"><?php ssi_recentTopics(); ?></code>
|
Chris@76
|
124 <h3>Code (advanced mode)</h3>
|
Chris@76
|
125 <div class="codeheader">Code: <a href="javascript:void(0);" onclick="return smfSelectText(this);" class="codeoperation">[Select]</a></div><code class="bbc_code"><?php ssi_recentTopics($num_recent = 8, $exclude_boards = null, $include_boards = null, $output_method = 'echo'); ?></code>
|
Chris@76
|
126 <h3>Result</h3>
|
Chris@76
|
127 <div class="ssi_result"><?php ssi_recentTopics(); flush(); ?></div>
|
Chris@76
|
128 </div>
|
Chris@76
|
129
|
Chris@76
|
130 <div class="ssi_preview" id="ssi_recentPosts">
|
Chris@76
|
131 <h2>Recent Posts Function</h2>
|
Chris@76
|
132 <h3>Code</h3>
|
Chris@76
|
133 <div class="codeheader">Code: <a href="javascript:void(0);" onclick="return smfSelectText(this);" class="codeoperation">[Select]</a></div><code class="bbc_code"><?php ssi_recentPosts(); ?></code>
|
Chris@76
|
134 <h3>Result</h3>
|
Chris@76
|
135 <div class="ssi_result"><?php ssi_recentPosts(); flush(); ?></div>
|
Chris@76
|
136 </div>
|
Chris@76
|
137
|
Chris@76
|
138 <div class="ssi_preview" id="ssi_recentPoll">
|
Chris@76
|
139 <h2>Recent Poll Function</h2>
|
Chris@76
|
140 <h3>Code</h3>
|
Chris@76
|
141 <div class="codeheader">Code: <a href="javascript:void(0);" onclick="return smfSelectText(this);" class="codeoperation">[Select]</a></div><code class="bbc_code"><?php ssi_recentPoll(); ?></code>
|
Chris@76
|
142 <h3>Result</h3>
|
Chris@76
|
143 <div class="ssi_result"><?php ssi_recentPoll(); flush(); ?></div>
|
Chris@76
|
144 </div>
|
Chris@76
|
145
|
Chris@76
|
146 <!-- TOP ITEMS -->
|
Chris@76
|
147 <div class="ssi_preview" id="ssi_topBoards">
|
Chris@76
|
148 <h2>Top Boards Function</h2>
|
Chris@76
|
149 <p>Shows top boards by the number of posts.</p>
|
Chris@76
|
150
|
Chris@76
|
151 <h3>Code</h3>
|
Chris@76
|
152 <div class="codeheader">Code: <a href="javascript:void(0);" onclick="return smfSelectText(this);" class="codeoperation">[Select]</a></div><code class="bbc_code"><?php ssi_topBoards(); ?></code>
|
Chris@76
|
153 <h3>Result</h3>
|
Chris@76
|
154 <div class="ssi_result"><?php ssi_topBoards(); flush(); ?></div>
|
Chris@76
|
155 </div>
|
Chris@76
|
156
|
Chris@76
|
157 <div class="ssi_preview" id="ssi_topTopicsViews">
|
Chris@76
|
158 <h2>Top Topics</h2>
|
Chris@76
|
159 <p>Shows top topics by the number of replies or views.</p>
|
Chris@76
|
160
|
Chris@76
|
161 <h3>Code (show by number of views)</h3>
|
Chris@76
|
162 <div class="codeheader">Code: <a href="javascript:void(0);" onclick="return smfSelectText(this);" class="codeoperation">[Select]</a></div><code class="bbc_code"><?php ssi_topTopicsViews(); ?></code>
|
Chris@76
|
163 <h3>Result</h3>
|
Chris@76
|
164 <div class="ssi_result"><?php ssi_topTopicsViews(); flush(); ?></div>
|
Chris@76
|
165
|
Chris@76
|
166 <h3>Code (show by number of replies)</h3>
|
Chris@76
|
167 <div class="codeheader">Code: <a href="javascript:void(0);" onclick="return smfSelectText(this);" class="codeoperation">[Select]</a></div><code class="bbc_code"><?php ssi_topTopicsReplies(); ?></code>
|
Chris@76
|
168 <h3>Result</h3>
|
Chris@76
|
169 <div class="ssi_result"><?php ssi_topTopicsReplies(); flush(); ?></div>
|
Chris@76
|
170 </div>
|
Chris@76
|
171
|
Chris@76
|
172 <div class="ssi_preview" id="ssi_topPoll">
|
Chris@76
|
173 <h2>Top Poll Function</h2>
|
Chris@76
|
174 <p>Shows the most-voted-in poll.</p>
|
Chris@76
|
175
|
Chris@76
|
176 <h3>Code</h3>
|
Chris@76
|
177 <div class="codeheader">Code: <a href="javascript:void(0);" onclick="return smfSelectText(this);" class="codeoperation">[Select]</a></div><code class="bbc_code"><?php ssi_topPoll(); ?></code>
|
Chris@76
|
178 <h3>Result</h3>
|
Chris@76
|
179 <div class="ssi_result"><?php ssi_topPoll(); flush(); ?></div>
|
Chris@76
|
180 </div>
|
Chris@76
|
181
|
Chris@76
|
182 <div class="ssi_preview" id="ssi_topPoster">
|
Chris@76
|
183 <h2>Top Poster Function</h2>
|
Chris@76
|
184 Shows the top poster's name and profile link.
|
Chris@76
|
185
|
Chris@76
|
186 <h3>Code</h3>
|
Chris@76
|
187 <div class="codeheader">Code: <a href="javascript:void(0);" onclick="return smfSelectText(this);" class="codeoperation">[Select]</a></div><code class="bbc_code"><?php ssi_topPoster(); ?></code>
|
Chris@76
|
188 <h3>Result</h3>
|
Chris@76
|
189 <div class="ssi_result"><?php ssi_topPoster(); flush(); ?></div>
|
Chris@76
|
190 </div>
|
Chris@76
|
191
|
Chris@76
|
192 <!-- MEMBERS -->
|
Chris@76
|
193 <div class="ssi_preview" id="ssi_latestMember">
|
Chris@76
|
194 <h2>Latest Member Function</h2>
|
Chris@76
|
195 <p>Shows the latest member's name and profile link.</p>
|
Chris@76
|
196
|
Chris@76
|
197 <h3>Code</h3>
|
Chris@76
|
198 <div class="codeheader">Code: <a href="javascript:void(0);" onclick="return smfSelectText(this);" class="codeoperation">[Select]</a></div><code class="bbc_code"><?php ssi_latestMember(); ?></code>
|
Chris@76
|
199 <h3>Result</h3>
|
Chris@76
|
200 <div class="ssi_result"><?php ssi_latestMember(); flush(); ?></div>
|
Chris@76
|
201 </div>
|
Chris@76
|
202
|
Chris@76
|
203 <div class="ssi_preview" id="ssi_randomMember">
|
Chris@76
|
204 <h2>Member of the Day</h2>
|
Chris@76
|
205 <p>Shows one random member of the day. This changes once a day.</p>
|
Chris@76
|
206
|
Chris@76
|
207 <h3>Code</h3>
|
Chris@76
|
208 <div class="codeheader">Code: <a href="javascript:void(0);" onclick="return smfSelectText(this);" class="codeoperation">[Select]</a></div><code class="bbc_code"><?php ssi_randomMember('day'); ?></code>
|
Chris@76
|
209 <h3>Result</h3>
|
Chris@76
|
210 <div class="ssi_result"><?php ssi_randomMember('day'); flush(); ?></div>
|
Chris@76
|
211 </div>
|
Chris@76
|
212
|
Chris@76
|
213 <div class="ssi_preview" id="ssi_whosOnline">
|
Chris@76
|
214 <h2>Who's Online Function</h2>
|
Chris@76
|
215 <p>This function shows who are online inside the forum.</p>
|
Chris@76
|
216
|
Chris@76
|
217 <h3>Code</h3>
|
Chris@76
|
218 <div class="codeheader">Code: <a href="javascript:void(0);" onclick="return smfSelectText(this);" class="codeoperation">[Select]</a></div><code class="bbc_code"><?php ssi_whosOnline(); ?></code>
|
Chris@76
|
219 <h3>Result</h3>
|
Chris@76
|
220 <div class="ssi_result"><?php ssi_whosOnline(); flush(); ?></div>
|
Chris@76
|
221
|
Chris@76
|
222 <h2>Log Online Presence</h2>
|
Chris@76
|
223 <p>This function logs the SSI page's visitor, then shows the Who's Online list. In other words, this function shows who are online inside and outside the forum.</p>
|
Chris@76
|
224
|
Chris@76
|
225 <h3>Code</h3>
|
Chris@76
|
226 <div class="codeheader">Code: <a href="javascript:void(0);" onclick="return smfSelectText(this);" class="codeoperation">[Select]</a></div><code class="bbc_code"><?php ssi_logOnline(); ?></code>
|
Chris@76
|
227 <h3>Result</h3>
|
Chris@76
|
228 <div class="ssi_result"><?php ssi_logOnline(); flush(); ?></div>
|
Chris@76
|
229 </div>
|
Chris@76
|
230
|
Chris@76
|
231 <!-- WELCOME, LOGIN AND LOGOUT -->
|
Chris@76
|
232 <div class="ssi_preview" id="ssi_login">
|
Chris@76
|
233 <h2>Login Function</h2>
|
Chris@76
|
234 <p>Shows a login box only when user is not logged in.</p>
|
Chris@76
|
235
|
Chris@76
|
236 <h3>Code</h3>
|
Chris@76
|
237 <div class="codeheader">Code: <a href="javascript:void(0);" onclick="return smfSelectText(this);" class="codeoperation">[Select]</a></div><code class="bbc_code"><?php ssi_login(); ?></code>
|
Chris@76
|
238 <h3>Result</h3>
|
Chris@76
|
239 <div class="ssi_result"><?php ssi_login(); flush(); ?></div>
|
Chris@76
|
240
|
Chris@76
|
241 <h2>Logout Function</h2>
|
Chris@76
|
242 <p>Shows a logout link only when user is logged in.</p>
|
Chris@76
|
243
|
Chris@76
|
244 <h3>Code</h3>
|
Chris@76
|
245 <div class="codeheader">Code: <a href="javascript:void(0);" onclick="return smfSelectText(this);" class="codeoperation">[Select]</a></div><code class="bbc_code"><?php ssi_logout(); ?></code>
|
Chris@76
|
246 <h3>Result</h3>
|
Chris@76
|
247 <div class="ssi_result"><?php ssi_logout(); flush(); ?></div>
|
Chris@76
|
248
|
Chris@76
|
249 <h2>Welcome Function</h2>
|
Chris@76
|
250 <p>Greets users or guests, also shows user's messages if logged in.</p>
|
Chris@76
|
251
|
Chris@76
|
252 <h3>Code</h3>
|
Chris@76
|
253 <div class="codeheader">Code: <a href="javascript:void(0);" onclick="return smfSelectText(this);" class="codeoperation">[Select]</a></div><code class="bbc_code"><?php ssi_welcome(); ?></code>
|
Chris@76
|
254 <h3>Result</h3>
|
Chris@76
|
255 <div class="ssi_result"><?php ssi_welcome(); flush(); ?></div>
|
Chris@76
|
256 </div>
|
Chris@76
|
257
|
Chris@76
|
258 <!-- CALENDAR -->
|
Chris@76
|
259 <div class="ssi_preview" id="ssi_todaysCalendar">
|
Chris@76
|
260 <h2>Today's Calendar Function</h2>
|
Chris@76
|
261 <h3>Code</h3>
|
Chris@76
|
262 <div class="codeheader">Code: <a href="javascript:void(0);" onclick="return smfSelectText(this);" class="codeoperation">[Select]</a></div><code class="bbc_code"><?php ssi_todaysCalendar(); ?></code>
|
Chris@76
|
263 <h3>Result</h3>
|
Chris@76
|
264 <div class="ssi_result"><?php ssi_todaysCalendar(); flush(); ?></div>
|
Chris@76
|
265
|
Chris@76
|
266 <h2>Today's Birthdays Function</h2>
|
Chris@76
|
267 <h3>Code</h3>
|
Chris@76
|
268 <div class="codeheader">Code: <a href="javascript:void(0);" onclick="return smfSelectText(this);" class="codeoperation">[Select]</a></div><code class="bbc_code"><?php ssi_todaysBirthdays(); ?></code>
|
Chris@76
|
269 <h3>Result</h3>
|
Chris@76
|
270 <div class="ssi_result"><?php ssi_todaysBirthdays(); flush(); ?></div>
|
Chris@76
|
271
|
Chris@76
|
272 <h2>Today's Holidays Function</h2>
|
Chris@76
|
273 <h3>Code</h3>
|
Chris@76
|
274 <div class="codeheader">Code: <a href="javascript:void(0);" onclick="return smfSelectText(this);" class="codeoperation">[Select]</a></div><code class="bbc_code"><?php ssi_todaysHolidays(); ?></code>
|
Chris@76
|
275 <h3>Result</h3>
|
Chris@76
|
276 <div class="ssi_result"><?php ssi_todaysHolidays(); flush(); ?></div>
|
Chris@76
|
277
|
Chris@76
|
278 <h2>Today's Events Function</h2>
|
Chris@76
|
279 <h3>Code</h3>
|
Chris@76
|
280 <div class="codeheader">Code: <a href="javascript:void(0);" onclick="return smfSelectText(this);" class="codeoperation">[Select]</a></div><code class="bbc_code"><?php ssi_todaysEvents(); ?></code>
|
Chris@76
|
281 <h3>Result</h3>
|
Chris@76
|
282 <div class="ssi_result"><?php ssi_todaysEvents(); flush(); ?></div>
|
Chris@76
|
283 </div>
|
Chris@76
|
284
|
Chris@76
|
285 <div class="ssi_preview" id="ssi_recentEvents">
|
Chris@76
|
286 <h2>Recent Calendar Events Function</h2>
|
Chris@76
|
287
|
Chris@76
|
288 <h3>Code</h3>
|
Chris@76
|
289 <div class="codeheader">Code: <a href="javascript:void(0);" onclick="return smfSelectText(this);" class="codeoperation">[Select]</a></div><code class="bbc_code"><?php ssi_recentEvents(); ?></code>
|
Chris@76
|
290 <h3>Result</h3>
|
Chris@76
|
291 <div class="ssi_result"><?php ssi_recentEvents(); flush(); ?></div>
|
Chris@76
|
292 </div>
|
Chris@76
|
293
|
Chris@76
|
294 <!-- MISCELLANEOUS -->
|
Chris@76
|
295 <div class="ssi_preview" id="ssi_boardStats">
|
Chris@76
|
296 <h2>Forum Stats</h2>
|
Chris@76
|
297 <p>Shows some basic forum stats: total members, posts, topics, boards, etc.</p>
|
Chris@76
|
298
|
Chris@76
|
299 <h3>Code</h3>
|
Chris@76
|
300 <div class="codeheader">Code: <a href="javascript:void(0);" onclick="return smfSelectText(this);" class="codeoperation">[Select]</a></div><code class="bbc_code"><?php ssi_boardStats(); ?></code>
|
Chris@76
|
301 <h3>Result</h3>
|
Chris@76
|
302 <div class="ssi_result"><?php ssi_boardStats(); flush(); ?></div>
|
Chris@76
|
303 </div>
|
Chris@76
|
304
|
Chris@76
|
305 <div class="ssi_preview" id="ssi_news">
|
Chris@76
|
306 <h2>News Function</h2>
|
Chris@76
|
307 <p>Shows random forum news.</p>
|
Chris@76
|
308
|
Chris@76
|
309 <h3>Code</h3>
|
Chris@76
|
310 <div class="codeheader">Code: <a href="javascript:void(0);" onclick="return smfSelectText(this);" class="codeoperation">[Select]</a></div><code class="bbc_code"><?php ssi_news(); ?></code>
|
Chris@76
|
311 <h3>Result</h3>
|
Chris@76
|
312 <div class="ssi_result"><?php ssi_news(); flush(); ?></div>
|
Chris@76
|
313 </div>
|
Chris@76
|
314
|
Chris@76
|
315 <div class="ssi_preview" id="ssi_boardNews">
|
Chris@76
|
316 <h2>Board News Function</h2>
|
Chris@76
|
317 <p>Shows the latest posts from read only boards, or a specific board.</p>
|
Chris@76
|
318
|
Chris@76
|
319 <h3>Code</h3>
|
Chris@76
|
320 <div class="codeheader">Code: <a href="javascript:void(0);" onclick="return smfSelectText(this);" class="codeoperation">[Select]</a></div><code class="bbc_code"><?php ssi_boardNews(); ?></code>
|
Chris@76
|
321 <h3>Result</h3>
|
Chris@76
|
322 <div class="ssi_result"><?php ssi_boardNews(); flush(); ?></div>
|
Chris@76
|
323 </div>
|
Chris@76
|
324
|
Chris@76
|
325 <div class="ssi_preview" id="ssi_menubar">
|
Chris@76
|
326 <h2>Menubar Function</h2>
|
Chris@76
|
327 <p>Displays a menu bar, like one displayed at the top of the forum.</p>
|
Chris@76
|
328
|
Chris@76
|
329 <h3>Code</h3>
|
Chris@76
|
330 <div class="codeheader">Code: <a href="javascript:void(0);" onclick="return smfSelectText(this);" class="codeoperation">[Select]</a></div><code class="bbc_code"><?php ssi_menubar(); ?></code>
|
Chris@76
|
331 <h3>Result</h3>
|
Chris@76
|
332 <div class="ssi_result"><?php ssi_menubar(); flush(); ?></div>
|
Chris@76
|
333 </div>
|
Chris@76
|
334
|
Chris@76
|
335 <div class="ssi_preview" id="ssi_quickSearch">
|
Chris@76
|
336 <h2>Quick Search Function</h2>
|
Chris@76
|
337
|
Chris@76
|
338 <h3>Code</h3>
|
Chris@76
|
339 <div class="codeheader">Code: <a href="javascript:void(0);" onclick="return smfSelectText(this);" class="codeoperation">[Select]</a></div><code class="bbc_code"><?php ssi_quickSearch(); ?></code>
|
Chris@76
|
340 <h3>Result</h3>
|
Chris@76
|
341 <div class="ssi_result"><?php ssi_quickSearch(); flush(); ?></div>
|
Chris@76
|
342 </div>
|
Chris@76
|
343
|
Chris@76
|
344 <div class="ssi_preview" id="ssi_recentAttachments">
|
Chris@76
|
345 <h2>Recent Attachments Function</h2>
|
Chris@76
|
346
|
Chris@76
|
347 <h3>Code</h3>
|
Chris@76
|
348 <div class="codeheader">Code: <a href="javascript:void(0);" onclick="return smfSelectText(this);" class="codeoperation">[Select]</a></div><code class="bbc_code"><?php ssi_recentAttachments(); ?></code>
|
Chris@76
|
349 <h3>Result</h3>
|
Chris@76
|
350 <div class="ssi_result"><?php ssi_recentAttachments(); flush(); ?></div>
|
Chris@76
|
351 </div>
|
Chris@76
|
352
|
Chris@76
|
353 <!-- ADVANCED FUNCTIONS -->
|
Chris@76
|
354 <div class="ssi_preview" id="ssi_showPoll">
|
Chris@76
|
355 <h2>Show Single Poll</h2>
|
Chris@76
|
356 <p>Shows a poll in the specified topic.</p>
|
Chris@76
|
357
|
Chris@76
|
358 <h3>Code</h3>
|
Chris@76
|
359 <div class="codeheader">Code: <a href="javascript:void(0);" onclick="return smfSelectText(this);" class="codeoperation">[Select]</a></div><code class="bbc_code"><?php ssi_showPoll($topicID); ?></code>
|
Chris@76
|
360 <h3>Result</h3>
|
Chris@76
|
361 <div class="ssi_result"><i>Not shown because it needs specific topic ID that contains a poll.</i></div>
|
Chris@76
|
362 </div>
|
Chris@76
|
363
|
Chris@76
|
364 <div class="ssi_preview" id="ssi_fetchPosts">
|
Chris@76
|
365 <h2>Show Single Post</h2>
|
Chris@76
|
366 <p>Fetches a post with a particular IDs. By default will only show if you have permission to the see
|
Chris@76
|
367 the board in question. This can be overriden by passing the 2nd parameter as <tt>true</tt>.</p>
|
Chris@76
|
368
|
Chris@76
|
369 <h3>Code</h3>
|
Chris@76
|
370 <div class="codeheader">Code: <a href="javascript:void(0);" onclick="return smfSelectText(this);" class="codeoperation">[Select]</a></div><code class="bbc_code"><?php ssi_fetchPosts($postIDs, $isOverride); ?></code>
|
Chris@76
|
371 <h3>Result</h3>
|
Chris@76
|
372 <div class="ssi_result"><i>Not shown because it needs a specific post ID.</i></div>
|
Chris@76
|
373 </div>
|
Chris@76
|
374
|
Chris@76
|
375 <div class="ssi_preview" id="ssi_fetchMember">
|
Chris@76
|
376 <h2>Show Single Member</h2>
|
Chris@76
|
377 <p>Shows the specified member's name and profile link.</p>
|
Chris@76
|
378
|
Chris@76
|
379 <h3>Code</h3>
|
Chris@76
|
380 <div class="codeheader">Code: <a href="javascript:void(0);" onclick="return smfSelectText(this);" class="codeoperation">[Select]</a></div><code class="bbc_code"><?php ssi_fetchMember($memberIDs); ?></code>
|
Chris@76
|
381 <h3>Result</h3>
|
Chris@76
|
382 <div class="ssi_result"><i>Not shown because it needs a specific member ID.</i></div>
|
Chris@76
|
383 </div>
|
Chris@76
|
384
|
Chris@76
|
385 <div class="ssi_preview" id="ssi_fetchGroupMembers">
|
Chris@76
|
386 <h2>Show Group Members</h2>
|
Chris@76
|
387 <p>Shows all members in a specified group.</p>
|
Chris@76
|
388
|
Chris@76
|
389 <h3>Code</h3>
|
Chris@76
|
390 <div class="codeheader">Code: <a href="javascript:void(0);" onclick="return smfSelectText(this);" class="codeoperation">[Select]</a></div><code class="bbc_code"><?php ssi_fetchGroupMembers($groupIDs); ?></code>
|
Chris@76
|
391 <h3>Result</h3>
|
Chris@76
|
392 <div class="ssi_result"><i>Not shown because it needs specific membergroup IDs.</i></div>
|
Chris@76
|
393 </div>
|
Chris@76
|
394
|
Chris@76
|
395 <div class="ssi_preview" id="htmlhome">
|
Chris@76
|
396 <h2>Home Page Sample</h2>
|
Chris@76
|
397 This sample uses the following features: ssi_recentTopics(), ssi_logOnline(), ssi_welcome(), and ssi_boardNews().
|
Chris@76
|
398 ssi_recentTopics() is fetched using the array method, to allow further customizations on the output.
|
Chris@76
|
399
|
Chris@76
|
400 <h3>Code</h3>
|
Chris@76
|
401 <div class="codeheader">Code: <a href="javascript:void(0);" onclick="return smfSelectText(this);" class="codeoperation">[Select]</a></div><code class="bbc_code"><?php echo htmlspecialchars(template_homepage_sample1('source')); ?></code>
|
Chris@76
|
402 <h3>Result</h3>
|
Chris@76
|
403 <iframe src="?view=home1" width="99%" height="300"></iframe>
|
Chris@76
|
404 </div>
|
Chris@76
|
405 </div>
|
Chris@76
|
406 <span class="botslice"><span></span></span>
|
Chris@76
|
407 </div>
|
Chris@76
|
408
|
Chris@76
|
409 <?php
|
Chris@76
|
410
|
Chris@76
|
411 template_ssi_below();
|
Chris@76
|
412
|
Chris@76
|
413 function template_ssi_above()
|
Chris@76
|
414 {
|
Chris@76
|
415 global $settings, $context, $scripturl;
|
Chris@76
|
416
|
Chris@76
|
417 echo '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
Chris@76
|
418 <html xmlns="http://www.w3.org/1999/xhtml">
|
Chris@76
|
419 <head>
|
Chris@76
|
420 <title>SMF 2.0 SSI.php Examples</title>
|
Chris@76
|
421 <link rel="stylesheet" type="text/css" href="', $settings['default_theme_url'], '/css/index.css?fin20" />
|
Chris@76
|
422 <script type="text/javascript" src="', $settings['default_theme_url'], '/scripts/script.js"></script>
|
Chris@76
|
423 <style type="text/css">
|
Chris@76
|
424 #wrapper
|
Chris@76
|
425 {
|
Chris@76
|
426 width: 90%;
|
Chris@76
|
427 }
|
Chris@76
|
428 #upper_section .user
|
Chris@76
|
429 {
|
Chris@76
|
430 height: 4em;
|
Chris@76
|
431 }
|
Chris@76
|
432 #upper_section .news
|
Chris@76
|
433 {
|
Chris@76
|
434 height: 80px;
|
Chris@76
|
435 }
|
Chris@76
|
436 #content_section
|
Chris@76
|
437 {
|
Chris@76
|
438 position: relative;
|
Chris@76
|
439 top: -20px;
|
Chris@76
|
440 }
|
Chris@76
|
441 #main_content_section h2
|
Chris@76
|
442 {
|
Chris@76
|
443 font-size: 1.5em;
|
Chris@76
|
444 border-bottom: solid 1px #d05800;
|
Chris@76
|
445 line-height: 1.5em;
|
Chris@76
|
446 margin: 0.5em 0;
|
Chris@76
|
447 color: #d05800;
|
Chris@76
|
448 }
|
Chris@76
|
449 #liftup
|
Chris@76
|
450 {
|
Chris@76
|
451 position: relative;
|
Chris@76
|
452 top: -70px;
|
Chris@76
|
453 padding: 1em 2em 1em 1em;
|
Chris@76
|
454 line-height: 1.6em;
|
Chris@76
|
455 }
|
Chris@76
|
456 #footer_section
|
Chris@76
|
457 {
|
Chris@76
|
458 position: relative;
|
Chris@76
|
459 top: -20px;
|
Chris@76
|
460 }
|
Chris@76
|
461 #sidenav
|
Chris@76
|
462 {
|
Chris@76
|
463 width: 210px;
|
Chris@76
|
464 float: left;
|
Chris@76
|
465 margin-right: 20px;
|
Chris@76
|
466 }
|
Chris@76
|
467 #sidenav ul
|
Chris@76
|
468 {
|
Chris@76
|
469 margin: 0 0 0 15px;
|
Chris@76
|
470 padding: 0;
|
Chris@76
|
471 list-style: none;
|
Chris@76
|
472 font-size: 90%;
|
Chris@76
|
473 }
|
Chris@76
|
474 #preview
|
Chris@76
|
475 {
|
Chris@76
|
476 margin-left: 230px;
|
Chris@76
|
477 }
|
Chris@76
|
478 .ssi_preview
|
Chris@76
|
479 {
|
Chris@76
|
480 margin-bottom: 1.5em;
|
Chris@76
|
481 }
|
Chris@76
|
482 .ssi_preview h3
|
Chris@76
|
483 {
|
Chris@76
|
484 margin: 1em 0 0.5em 0;
|
Chris@76
|
485 }
|
Chris@76
|
486 .ssi_result
|
Chris@76
|
487 {
|
Chris@76
|
488 background-color: #fff;
|
Chris@76
|
489 border: 1px solid #99a;
|
Chris@76
|
490 padding: 10px;
|
Chris@76
|
491 overflow: hidden;
|
Chris@76
|
492 }
|
Chris@76
|
493 </style>
|
Chris@76
|
494 <script type="text/javascript"><!-- // --><![CDATA[
|
Chris@76
|
495 var smf_scripturl = "', $scripturl, '";
|
Chris@76
|
496 var smf_iso_case_folding = ', $context['server']['iso_case_folding'] ? 'true' : 'false', ';
|
Chris@76
|
497 var smf_charset = "', $context['character_set'], '";
|
Chris@76
|
498
|
Chris@76
|
499 // Sets all ssi_preview class to hidden, then shows the one requested.
|
Chris@76
|
500 function showSSIBlock(elementID)
|
Chris@76
|
501 {
|
Chris@76
|
502 toggleVisibleByClass("ssi_preview", true);
|
Chris@76
|
503 document.getElementById(elementID).style.display = "block";
|
Chris@76
|
504 }
|
Chris@76
|
505
|
Chris@76
|
506 // Toggle visibility of all sections.
|
Chris@76
|
507 function toggleVisibleByClass(sClassName, bHide)
|
Chris@76
|
508 {
|
Chris@76
|
509 var oSections = document.getElementsByTagName("div");
|
Chris@76
|
510 for (var i = 0; i < oSections.length; i++)
|
Chris@76
|
511 {
|
Chris@76
|
512 if (oSections[i].className == null || oSections[i].className.indexOf(sClassName) == -1)
|
Chris@76
|
513 continue;
|
Chris@76
|
514
|
Chris@76
|
515 oSections[i].style.display = bHide ? "none" : "block";
|
Chris@76
|
516 }
|
Chris@76
|
517 }
|
Chris@76
|
518 // ]]></script>
|
Chris@76
|
519 </head>
|
Chris@76
|
520 <body>
|
Chris@76
|
521 <div id="wrapper">
|
Chris@76
|
522 <div id="header"><div class="frame">
|
Chris@76
|
523 <div id="top_section">
|
Chris@76
|
524 <h1 class="forumtitle">SMF 2.0 SSI.php Examples</h1>
|
Chris@76
|
525 <img id="smflogo" src="Themes/default/images/smflogo.png" alt="Simple Machines Forum" title="Simple Machines Forum" />
|
Chris@76
|
526 </div>
|
Chris@76
|
527 <div id="upper_section" class="middletext" style="overflow: hidden;">
|
Chris@76
|
528 <div class="user"></div>
|
Chris@76
|
529 <div class="news normaltext">
|
Chris@76
|
530 </div>
|
Chris@76
|
531 </div>
|
Chris@76
|
532 </div></div>
|
Chris@76
|
533 <div id="content_section"><div class="frame">
|
Chris@76
|
534 <div id="main_content_section">
|
Chris@76
|
535 <div id="liftup" class="flow_auto">';
|
Chris@76
|
536 }
|
Chris@76
|
537
|
Chris@76
|
538 function template_ssi_below()
|
Chris@76
|
539 {
|
Chris@76
|
540 global $time_start;
|
Chris@76
|
541
|
Chris@76
|
542 echo '
|
Chris@76
|
543 <script type="text/javascript"><!-- // --><![CDATA[
|
Chris@76
|
544 showSSIBlock("ssi_recentTopics");
|
Chris@76
|
545 // ]]></script>
|
Chris@76
|
546 </div>
|
Chris@76
|
547 </div>
|
Chris@76
|
548 </div></div>
|
Chris@76
|
549 <div id="footer_section"><div class="frame">
|
Chris@76
|
550 <div class="smalltext"><a href="http://www.simplemachines.org">Simple Machines Forum</a></div>
|
Chris@76
|
551 </div></div>
|
Chris@76
|
552 </div>
|
Chris@76
|
553 </body>
|
Chris@76
|
554 </html>';
|
Chris@76
|
555 }
|
Chris@76
|
556
|
Chris@76
|
557 function template_homepage_sample1($method = 'source')
|
Chris@76
|
558 {
|
Chris@76
|
559 global $user_info, $boarddir;
|
Chris@76
|
560
|
Chris@76
|
561 $header = '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
Chris@76
|
562 <html xmlns="http://www.w3.org/1999/xhtml">
|
Chris@76
|
563 <head>
|
Chris@76
|
564 <title>SSI.php example for home page</title>
|
Chris@76
|
565 <style type="text/css">
|
Chris@76
|
566 body { font-family: Arial, Tahoma, sans-serif; font-size: 80%; background: #DFDFDF; color: #FFFFFF; margin: 0 }
|
Chris@76
|
567 ul,ol { padding-left: 19px; margin: 0; }
|
Chris@76
|
568 li { font-size: 11px; }
|
Chris@76
|
569 h1,h2,h3 { margin: 0; padding: 0; }
|
Chris@76
|
570 h3 { font-size: 15px; }
|
Chris@76
|
571 a:link,a:visited { color: #FF9000; text-decoration: none; }
|
Chris@76
|
572 a:hover { text-decoration: underline; }
|
Chris@76
|
573
|
Chris@76
|
574 #container { background: #52514E; width: 100%; border: 1px solid midnightblue; line-height: 150%; margin: 0; }
|
Chris@76
|
575 #header,#footer { color: lightgray; background-color: #2A2825; clear: both; padding: .5em; }
|
Chris@76
|
576 #leftbar { background: #DF7E00; float: left; width: 160px; margin: 0; padding: 1em; }
|
Chris@76
|
577 #leftbar a { color: #000000; text-decoration: underline; }
|
Chris@76
|
578 #content { margin-left: 190px; padding: 1em; }
|
Chris@76
|
579 #navigation { float: right; }
|
Chris@76
|
580 #navigation a:link,#navigation a:visited { color: #FF9000; }
|
Chris@76
|
581 </style>
|
Chris@76
|
582 </head>
|
Chris@76
|
583 <body>
|
Chris@76
|
584 <div id="container">
|
Chris@76
|
585 <div id="header">
|
Chris@76
|
586 <div id="navigation">
|
Chris@76
|
587 <a href="#">Link</a> | <a href="#">Link</a> | <a href="#">Link</a> | <a href="#">Link</a> | <a href="#">Link</a>
|
Chris@76
|
588 </div>
|
Chris@76
|
589 <h1 class="header">YourWebsite.com</h1>
|
Chris@76
|
590 </div>
|
Chris@76
|
591 <div id="leftbar">
|
Chris@76
|
592 <h3>Recent Forum Topics</h3>
|
Chris@76
|
593 <ul>';
|
Chris@76
|
594
|
Chris@76
|
595 $footer = '
|
Chris@76
|
596 <div id="footer">
|
Chris@76
|
597 <a target="_blank" rel="license" href="http://creativecommons.org/licenses/publicdomain/"><img alt="Creative Commons License" style="border-width:0" src="http://i.creativecommons.org/l/publicdomain/88x31.png" /></a>
|
Chris@76
|
598 This sample website layout is dedicated to the <a target="_blank" rel="license" href="http://creativecommons.org/licenses/publicdomain/">Public Domain</a>.
|
Chris@76
|
599 </div>
|
Chris@76
|
600 </div>
|
Chris@76
|
601 </body>
|
Chris@76
|
602 </html>';
|
Chris@76
|
603
|
Chris@76
|
604 if ($method == 'source')
|
Chris@76
|
605 {
|
Chris@76
|
606 $header = '<?php require("' . ($user_info['is_admin'] ? addslashes(realpath($boarddir . '/SSI.php')) : 'SSI.php') . '"); ?>' . "\n" . $header;
|
Chris@76
|
607 return $header . template_homepage_sample1_html() . $footer;
|
Chris@76
|
608 }
|
Chris@76
|
609 else
|
Chris@76
|
610 {
|
Chris@76
|
611 echo $header;
|
Chris@76
|
612 template_homepage_sample1_php();
|
Chris@76
|
613 echo $footer;
|
Chris@76
|
614 }
|
Chris@76
|
615
|
Chris@76
|
616 }
|
Chris@76
|
617
|
Chris@76
|
618 function template_homepage_sample1_php()
|
Chris@76
|
619 {
|
Chris@76
|
620 global $txt;
|
Chris@76
|
621
|
Chris@76
|
622 $topics = ssi_recentTopics(8, null, null, 'array');
|
Chris@76
|
623
|
Chris@76
|
624 foreach ($topics as $topic)
|
Chris@76
|
625 echo '
|
Chris@76
|
626 <li><a href="', $topic['href'], '">', $topic['subject'], '</a> ', $txt['by'], ' ', $topic['poster']['link'], '</li>';
|
Chris@76
|
627
|
Chris@76
|
628 unset($topics);
|
Chris@76
|
629
|
Chris@76
|
630 echo '
|
Chris@76
|
631
|
Chris@76
|
632 </ul><br />
|
Chris@76
|
633
|
Chris@76
|
634 <h3>Online Users</h3>';
|
Chris@76
|
635 ssi_logOnline();
|
Chris@76
|
636
|
Chris@76
|
637 echo '
|
Chris@76
|
638 </div>
|
Chris@76
|
639
|
Chris@76
|
640 <div id="content">';
|
Chris@76
|
641
|
Chris@76
|
642 ssi_welcome();
|
Chris@76
|
643 echo '
|
Chris@76
|
644 <br /><br />
|
Chris@76
|
645
|
Chris@76
|
646 <h2>News</h2>';
|
Chris@76
|
647
|
Chris@76
|
648 ssi_boardNews();
|
Chris@76
|
649
|
Chris@76
|
650 echo '
|
Chris@76
|
651 </div>';
|
Chris@76
|
652
|
Chris@76
|
653 }
|
Chris@76
|
654
|
Chris@76
|
655 function template_homepage_sample1_html()
|
Chris@76
|
656 {
|
Chris@76
|
657 $result = '
|
Chris@76
|
658 <?php
|
Chris@76
|
659 // Using array method to show shorter display style.
|
Chris@76
|
660 $topics = ssi_recentTopics(8, null, null, \'array\');
|
Chris@76
|
661
|
Chris@76
|
662 foreach ($topics as $topic)
|
Chris@76
|
663 {
|
Chris@76
|
664 // Uncomment the following code to get a listing of array elements that SMF provides for this function.
|
Chris@76
|
665 // echo \'<pre>\', print_r($topic), \'</pre>\';
|
Chris@76
|
666
|
Chris@76
|
667 echo \'
|
Chris@76
|
668 <li><a href=\"\', $topic[\'href\'], \'\">\', $topic[\'subject\'], \'</a> \', $txt[\'by\'], \' \', $topics[$i][\'poster\'][\'link\'], \'</li>\';
|
Chris@76
|
669 }
|
Chris@76
|
670
|
Chris@76
|
671 unset($topics);
|
Chris@76
|
672 ?>
|
Chris@76
|
673 </ul><br />
|
Chris@76
|
674 <h3>Online Users</h3>
|
Chris@76
|
675 <?php ssi_logOnline(); ?>
|
Chris@76
|
676 </div>
|
Chris@76
|
677 <div id="content">
|
Chris@76
|
678 <?php ssi_welcome(); ?><br /><br />
|
Chris@76
|
679 <h2>News</h2>
|
Chris@76
|
680 <?php ssi_boardNews(); ?>
|
Chris@76
|
681 </div>';
|
Chris@76
|
682
|
Chris@76
|
683 return $result;
|
Chris@76
|
684 }
|
Chris@76
|
685
|
Chris@76
|
686 ?> |