SSI.php Functions

Current Version: 2.0 Beta 1

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.

Include Code

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:

<?php require("SSI.php");

Some notes on usage

All the functions have an output method parameter. This can either be "echo" (the default) or "array"

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.

This functionality can be used to allow you to present the information in any way you wish.

Additional Guides & FAQ

Need more information on using SSI.php? Check out Using SSI.php article or ask on the forum.

Recent Topics Function

Code (simple mode)

<?php ssi_recentTopics();

Code (advanced mode)

<?php ssi_recentTopics($num_recent = 8, $exclude_boards = null, $include_boards = null, $output_method = 'echo');

Result

[Addons] [Addon] Related Topics by Burke Knight March 02, 2026, 03:21:00 pm
[Addons] [Addon] Custom Board Icons by vbgamer45 March 01, 2026, 02:27:23 pm
[Addons ideas and questions] Porting Related Topics Mod by vbgamer45 March 01, 2026, 01:37:16 am
[Addons ideas and questions] Helpdesk by ahrasis February 28, 2026, 07:26:11 am
[Addons] [Addon] Ultimate Shoutbox & Chatroom v1.1.0 by vbgamer45 February 27, 2026, 08:33:13 pm
[Addons] RSS Feed Poster by vbgamer45 February 27, 2026, 06:45:50 pm
[Feature Discussion] Klipy Gifs by Spuds February 27, 2026, 02:17:04 pm
[Addons] [Addon] SSO/Social Login - Google/Facebook by vbgamer45 February 27, 2026, 08:35:02 am

Recent Posts Function

Code

<?php ssi_recentPosts();

Result

[Addons] Re: [Addon] Related Topics by Burke Knight March 02, 2026, 03:21:00 pm
[Addons] Re: [Addon] Related Topics by ahrasis March 02, 2026, 08:45:28 am
[Addons] Re: [Addon] Related Topics by Burke Knight March 02, 2026, 05:07:54 am
[Addons] [Addon] Custom Board Icons by vbgamer45 March 01, 2026, 02:27:23 pm
[Addons] Re: [Addon] Related Topics by Spuds March 01, 2026, 01:49:46 pm
[Addons] [Addon] Related Topics by vbgamer45 March 01, 2026, 01:12:16 pm
[Addons ideas and questions] Re: Porting Related Topics Mod by vbgamer45 March 01, 2026, 01:37:16 am
[Addons ideas and questions] Re: Porting Related Topics Mod by ahrasis February 28, 2026, 11:58:52 pm

Recent Poll Function

Code

<?php ssi_recentPoll();

Result

Top Boards Function

Shows top boards by the number of posts.

Code

<?php ssi_topBoards();

Result

Board Topics Posts
New Exterminated Bugs 780 6,153
New Support 773 6,136
New Feature Discussion 625 5,256
New General ElkArte discussions 339 3,882
New Addons 174 3,878
New Chit Chat 388 3,601
New Theme development 238 2,103
New Exterminated Features 187 1,962
New Site Feedback 136 1,707
New Bug Reports 198 1,694

Top Topics

Shows top topics by the number of replies or views.

Code (show by number of views)

<?php ssi_topTopicsViews();

Result

Code (show by number of replies)

<?php ssi_topTopicsReplies();

Result

Views Replies
525780 643
201481 380
112153 212
79586 185
103715 163
270721 155
166078 151
319789 146
165454 136
88347 125

Top Poll Function

Shows the most-voted-in poll.

Code

<?php ssi_topPoll();

Result

Top Poster Function

Shows the top poster's name and profile link.

Code

<?php ssi_topPoster();

Result

Latest Member Function

Shows the latest member's name and profile link.

Code

<?php ssi_latestMember();

Result

Please welcome maryeakes, our newest member.

Member of the Day

Shows one random member of the day. This changes once a day.

Code

<?php ssi_randomMember('day');

Result

Who's Online Function

This function shows who are online inside the forum.

Code

<?php ssi_whosOnline();

Result

339 Guests, 0 Users

Log Online Presence

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.

Code

<?php ssi_logOnline();

Result

332 Guests, 0 Users

Login Function

Shows a login box only when user is not logged in.

Code

<?php ssi_login();

Result

Logout Function

Shows a logout link only when user is logged in.

Code

<?php ssi_logout();

Result

Welcome Function

Greets users or guests, also shows user's messages if logged in.

Code

<?php ssi_welcome();

Result

Welcome to ElkArte Community. Please login or register.

Today's Calendar Function

Code

<?php ssi_todaysCalendar();

Result

Today's Birthdays Function

Code

<?php ssi_todaysBirthdays();

Result

Today's Holidays Function

Code

<?php ssi_todaysHolidays();

Result

Today's Events Function

Code

<?php ssi_todaysEvents();

Result

Recent Calendar Events Function

Code

<?php ssi_recentEvents();

Result

Forum Stats

Shows some basic forum stats: total members, posts, topics, boards, etc.

Code

<?php ssi_boardStats();

Result

Total Members: 1,036
Total Posts: 43,782
Total Topics: 4,459
Total Categories: 5
Total Boards: 32

News Function

Shows random forum news.

Code

<?php ssi_news();

Result

ElkArte 1.1.9 New features, improved stability, general enhancements, PHP 8.x support and many bug fixes ... has been released!
Read more about it here and get your copy Here

Board News Function

Shows the latest posts from read only boards, or a specific board.

Code

<?php ssi_boardNews();

Result

xx Klipy Gifs

January 14, 2026, 08:39:51 am by Spuds
Thanks Google! 

No sooner did I add Tenor gifs, they decide close the API (6/2026) and ask you migrate.  Tenor will still be around they just will not let you use it.  I really should know better then to ever rely on their services, this is just an ongoing thing with them.

So out with Tenor, in with Klipy!  Klipy has a transition API for those moving from Tenor but I chose to use their regular API and just redo the plugin.  Its the same 9 block icon in the toolbar and works the same as Gliphy and/or Tenor.

4 comments | Write Comment

xx Tenor Gifs

December 19, 2025, 06:48:14 pm by Spuds
Sure no one asked, but here you go .. We already had a Giphy plugin for the editor, now I've added a tenor one as well:smile:

Giphy some time back changed some pricing / licensing so Tenor began to get some more love.  This plugin adds V2 support, its the 9-box icon next to the swirl (Giphy) icon in the toolbar.  The two should work just the same, enable one, both or none!

Tenor


Giphy


Enjoy !
4 comments | Write Comment

xx Time required between posts from the same IP

August 23, 2025, 04:07:21 pm by nous
Hi, the other day we had a request from a well-established member about the post wait time. I looked in the settings, but I didn't find any way to override the Post Settings / Time required between posts from the same IP per member group: it is reasonable to allow proven users post faster. Is there a way to achieve this? Thanks.
3 comments | Write Comment

xx Stop changing topic icon on attaching

November 21, 2024, 02:11:17 pm by Burke Knight
Is there a way to stop the forum from automatically changing topic icon for posts that have attachments?
I'd like to set the default message icon to stay, instead.
0 comments | Write Comment

question Translation of user posts ?

June 27, 2024, 11:30:02 am by D.M.
Hello there community ! I was wondering if there is some way of integrating a translator addon/plugin for user posts, topic names/boards ? Something like TranslatePress plugin for wordpress or something similar that would use already known translations for future posts ? Or is there a possibility to code something similar ? Maybe a google translate integration ?
6 comments | Write Comment

Menubar Function

Displays a menu bar, like one displayed at the top of the forum.

Code

<?php ssi_menubar();

Result

Quick Search Function

Code

<?php ssi_quickSearch();

Result

Show Single Poll

Shows a poll in the specified topic.

Code

<?php ssi_showPoll($topicID);

Result

Not shown because it needs specific topic ID that contains a poll.

Show Single Post

Fetches a post with a particular IDs. By default will only show if you have permission to the see the board in question. This can be overriden by passing the 2nd parameter as true.

Code

<?php ssi_fetchPosts($postIDs, $isOverride);

Result

Not shown because it needs a specific post ID.

Show Single Member

Shows the specified member's name and profile link.

Code

<?php ssi_fetchMember($memberIDs);

Result

Not shown because it needs a specific member ID.

Show Group Members

Shows all members in a specified group.

Code

<?php ssi_fetchGroupMembers($groupIDs);

Result

Not shown because it needs specific membergroup IDs.

Home Page Sample

This sample uses the following features: ssi_recentTopics(), ssi_logOnline(), ssi_welcome(), and ssi_boardNews(). ssi_recentTopics() is fetched using the array method, to allow further customizations on the output.

Code

<?php require("SSI.php"); ?>
<!DOCTYPE html>
<html>
<head>
	<title>SSI.php example for home page</title>
	<style>
		html {
			width: 99%;
		}
		body {
			font: 87.5%/150% "Segoe UI", -apple-system, BlinkMacSystemFont, "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Droid Sans", "Helvetica Neue", "Trebuchet MS", Arial, sans-serif;
			background: #DFDFDF;
			color: #FFFFFF;
			margin: 0;
		}
		ul, ol {
			padding-left: 1.25em;
			margin: 0;
		}
		li {
			font-size: 1em;
		}
		h1, h2, h3 {
			margin: 0;
			padding: 0;
		}
		h3 {
			font-size: 1em;
		}
		a:link,a:visited {
			color: #FF9000;
			text-decoration: none;
		}
		a:hover {
			text-decoration: underline;
		}
		#container {
			background: #52514E;
			width: 100%;
			border: 1px solid midnightblue;
			line-height: 150%;
			margin: 0;
		}
		#header, #footer {
			color: lightgray;
			background: #2A2825;
			clear: both;
			padding: .5em;
		}
		#leftbar {
			background: #DF7E00;
			float: left;
			width: 160px;
			margin: 0;
			padding: 1em;
		}
		#leftbar a {
			color: #000;
			text-decoration: underline;
		}
		#content {
			margin-left: 190px;
			padding: 1em;
		}
		#navigation {
			float: right;
		}
		#navigation a:link, #navigation a:visited {
			color: #FF9000;
		}
	</style>
</head>
<body>
<div id="container">
	<div id="header">
		<div id="navigation">
			<a href="#">Link</a> | <a href="#">Link</a> | <a href="#">Link</a> | <a href="#">Link</a> | <a href="#">Link</a>
		</div>
		<h1 class="header">YourWebsite.com</h1>
	</div>
	<div id="leftbar">
		<h3>Recent Forum Topics</h3>
		<ul>
<?php
// Using array method to show shorter display style.
$topics = ssi_recentTopics(8, null, null, 'array');

foreach ($topics as $topic)
{
	// Uncomment the following code to get a listing of array elements that the system provides for this function.
	// echo '<pre>', print_r($topic), '</pre>';

	echo '
			<li>
				<a href=\"', $topic['href'], '\">', $topic['subject'], '</a> ', $txt['by'], ' ', $topics[$i]['poster']['link'], '</li>';
}

unset($topics);
?>
		</ul><br />
		<h3>Online Users</h3>
		<?php ssi_logOnline(); ?>
	</div>
	<div id="content">
		<?php
		ssi_welcome(); ?><br /><br />
		<h2>News</h2>
		<?php ssi_boardNews(); ?>
	</div>
	<div id="footer">
		<a target="_blank" rel="license" href="http://creativecommons.org/licenses/publicdomain/"><img alt="Creative Commons License" style="border:0;" src="http://i.creativecommons.org/l/publicdomain/88x31.png" /></a>
		This sample website layout is dedicated to the <a target="_blank" rel="license" href="http://creativecommons.org/licenses/publicdomain/">Public Domain</a>.
	</div>
</div>
</body>
</html>			

Result