SMF SSI.php Functions

Current Version: 2.0

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:

Code: [Select]
<?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 the SSI FAQ.

Recent Topics Function

Code (simple mode)

Code: [Select]
<?php ssi_recentTopics(); ?>

Code (advanced mode)

Code: [Select]
<?php ssi_recentTopics($num_recent = 8, $exclude_boards = null, $include_boards = null, $output_method = 'echo'); ?>

Result

Recent Posts Function

Code

Code: [Select]
<?php ssi_recentPosts(); ?>

Result

Recent Poll Function

Code

Code: [Select]
<?php ssi_recentPoll(); ?>

Result

Top Boards Function

Shows top boards by the number of posts.

Code

Code: [Select]
<?php ssi_topBoards(); ?>

Result

Board Topics Posts
Main Forum New 48572 504897
Everything Else New 13299 250362
Project Announcements New 6553 198188
Software Forum New 16082 130075
Buy/Sell/Trade - non-retail New 17931 96744
Monitor/Video Forum New 12481 88749
Consoles New 4048 58100
Miscellaneous Arcade Talk New 4137 46867
Artwork New 5398 42273
GroovyMAME New 2930 37341

Top Topics

Shows top topics by the number of replies or views.

Code (show by number of views)

Code: [Select]
<?php ssi_topTopicsViews(); ?>

Result

Code (show by number of replies)

Code: [Select]
<?php ssi_topTopicsReplies(); ?>

Result

Top Poll Function

Shows the most-voted-in poll.

Code

Code: [Select]
<?php ssi_topPoll(); ?>

Result

Top Poster Function

Shows the top poster's name and profile link.

Code

Code: [Select]
<?php ssi_topPoster(); ?>

Result

Latest Member Function

Shows the latest member's name and profile link.

Code

Code: [Select]
<?php ssi_latestMember(); ?>

Result

Please welcome WilliamNag, our newest member.

Member of the Day

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

Code

Code: [Select]
<?php ssi_randomMember('day'); ?>

Result

matter2u
I want to build my own arcade controls!

Who's Online Function

This function shows who are online inside the forum.

Code

Code: [Select]
<?php ssi_whosOnline(); ?>

Result

3174 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

Code: [Select]
<?php ssi_logOnline(); ?>

Result

3174 Guests, 0 Users

Login Function

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

Code

Code: [Select]
<?php ssi_login(); ?>

Result

 
 

Logout Function

Shows a logout link only when user is logged in.

Code

Code: [Select]
<?php ssi_logout(); ?>

Result

Welcome Function

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

Code

Code: [Select]
<?php ssi_welcome(); ?>

Result

Welcome, Guest. Please login or register.
Did you miss your activation email?

Today's Calendar Function

Code

Code: [Select]
<?php ssi_todaysCalendar(); ?>

Result

Today's Birthdays Function

Code

Code: [Select]
<?php ssi_todaysBirthdays(); ?>

Result

Today's Holidays Function

Code

Code: [Select]
<?php ssi_todaysHolidays(); ?>

Result

Today's Events Function

Code

Code: [Select]
<?php ssi_todaysEvents(); ?>

Result

Recent Calendar Events Function

Code

Code: [Select]
<?php ssi_recentEvents(); ?>

Result

Forum Stats

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

Code

Code: [Select]
<?php ssi_boardStats(); ?>

Result

Total Members: 55944
Total Posts: 1731812
Total Topics: 152557
Total Categories: 7
Total Boards: 47

News Function

Shows random forum news.

Code

Code: [Select]
<?php ssi_news(); ?>

Result

Support this site
Shop Amazon Video Games through our link. Thank you!


Well, that was weird. Outage sorted out. Thank you SirWoogie for saving the day!

Board News Function

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

Code

Code: [Select]
<?php ssi_boardNews(); ?>

Result

xx GGG Optiwiz 3 questions

December 07, 2025, 03:57:44 pm by killbill
Hi,
I have an older Turbo Twist 2 spinner and board from circa 2007. Everything works great, but I just picked up a U-Trak trackball and would like to use the same board interface for both.
I am looking at the Optiwiz 3 from Groovy Game Gear. Anybody know if I can hook up a U-trak to the Optiwiz 3 using just the stock trackball harness?
Posed a few question to Randy from GGG and never heard back. Thought I'd ask here.
Any help is truly appreciated. Thanks.
1 comment | Write Comment


xx Happ 8 way rotary 12 pos

December 03, 2025, 05:16:37 am by Hearybarrelbear
Hello.
First time everything.  So a few questions.
So I've had some happ 8way rotary 12 position mechanical (50-5618-00) joysticks for awhile.
Im finally getting round to try and use them.
Been researching all i can on here.
I see i require a interface to work on pc or retro pie using mame. (Which would be best now)
Also was wondering if there is a way to connect to a pandoras box. (Say a dx3000)Via a usb interface that would also incorporate the 8way (micro switches) and the buttons. All in one.
The Micros and buttons i understand how to connect to board. But the rotational mech would that insert into usb still through a interface?
Regards a heavy barrel bear.
Hope there's some help.
3 comments | Write Comment

xx DIY Controller recommendations

November 28, 2025, 10:49:28 am by go2ldook
Planning a PC based MAME arcade cabinet. I have an Xarcade 2 player tankstick with the trackball, and generally have no problems with it, but keep reading the advantages of making your own in terms of higher quality parts. I certainly have the DIY skills to do this.

If cost is not a consideration (within reason), what would be the best as far as joystick, buttons, trackball, spinner and USB interface? Thinking Happ style like the tankstick I think, as I read the Sanwa are looser, but I could be convinced otherwise.

I am considering adding a spinner to my Xarcade. Even if I DIY my controller, I will likely keep the Xarcade, maybe for a smaller tabletop setup for my vacation home. They sell spinner kits. If anyone has experience with them vs adding a non-Xarcade spinner, please chime in on quality.
1 comment | Write Comment

xx X Arcade Tank Stick Configuration

November 27, 2025, 02:37:16 pm by jamie2666
Just curious is anyone else has problems with the X Arcade stick keeping the button/joystick configuration. Every time I restart my PC the buttons and joystick get re-mapped or just don't work anymore at all, and it's with all emulators. Usually its the buttons and joystick switching sides, but also 1 -2 player white buttons don't work at all. So before I play any games I have to go into each emulator and remap all the buttons and joysticks. It's not like it takes long but it is annoying have to do that every time I boot up. I'm using Xinput mode if that makes a difference.

Thanks in advance!

J
0 comments | Write Comment

Menubar Function

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

Code

Code: [Select]
<?php ssi_menubar(); ?>

Result

Quick Search Function

Code

Code: [Select]
<?php ssi_quickSearch(); ?>

Result

Recent Attachments Function

Code

Code: [Select]
<?php ssi_recentAttachments(); ?>

Result

File Posted by Downloads Filesize
BTOP.png Xiaou2 15 206.35kB
desk11.jpg highlander4 25 1085.32kB
desk10.jpg highlander4 27 1421.55kB
desk8.jpg highlander4 27 1323.06kB
desk4.jpg highlander4 24 2968.37kB
desk2.jpg highlander4 24 3498.72kB
desk5.jpg highlander4 23 1305.32kB
PXL_20251204_165801246.MP.jpg Prettyswell 24 589.29kB
PXL_20251204_165836003.jpg Prettyswell 26 925.46kB
PXL_20251204_171124751.jpg Prettyswell 25 1172.31kB

Show Single Poll

Shows a poll in the specified topic.

Code

Code: [Select]
<?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

Code: [Select]
<?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

Code: [Select]
<?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

Code: [Select]
<?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

Code: [Select]
<?php require("SSI.php"); ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>SSI.php example for home page</title> <style type="text/css"> body { font-family: Arial, Tahoma, sans-serif; font-size: 80%; background: #DFDFDF; color: #FFFFFF; margin: 0 } ul,ol { padding-left: 19px; margin: 0; } li { font-size: 11px; } h1,h2,h3 { margin: 0; padding: 0; } h3 { font-size: 15px; } 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-color: #2A2825; clear: both; padding: .5em; } #leftbar { background: #DF7E00; float: left; width: 160px; margin: 0; padding: 1em; } #leftbar a { color: #000000; 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 SMF 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-width: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