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:
<?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)
<?php ssi_recentTopics(); ?>
Code (advanced mode)
<?php ssi_recentTopics($num_recent = 8, $exclude_boards = null, $include_boards = null, $output_method = 'echo'); ?>
Result
| [Project Announcements] | Rotating joystick for Qbert project by Xiaou2 | Yesterday at 09:25:17 pm |
| [Software Forum] | Wheel2XInput, designed for mapping wheel and wheel accessories to XInput by ark216 | Yesterday at 06:58:37 am |
| [Automated Projects] | Fever Dream project by highlander4 | December 08, 2025, 08:38:49 pm |
| [Software Forum] | Where to Find.... PNG Files for AtomicFE? by Loopey1 | December 08, 2025, 08:06:16 pm |
| [Raspberry Pi & Dev Board] | Playing two Player Games on One Player Cabinet by GregD | December 08, 2025, 07:23:45 pm |
| [Lightguns] | Does anyone have Police Trainer 2 working on Teknoparrot? If so please help me by Jayinem | December 08, 2025, 02:03:28 pm |
| [Software Forum] | [DEV] MAME 0.168 Slider Refresh Save V1.2-32-64 by Olivcade | December 08, 2025, 12:04:06 pm |
| [Main Forum] | GGG Optiwiz 3 questions by PL1 | December 07, 2025, 09:34:48 pm |
Recent Posts Function
Code
<?php ssi_recentPosts(); ?>
Result
| [Project Announcements] | Re: Rotating joystick for Qbert project by Xiaou2 | Yesterday at 09:25:17 pm |
| [Project Announcements] | Re: Rotating joystick for Qbert project by Xiaou2 | Yesterday at 08:03:29 pm |
| [Software Forum] | Re: Wheel2XInput, designed for mapping wheel and wheel accessories to XInput by ark216 | Yesterday at 06:58:37 am |
| [Automated Projects] | Re: Fever Dream project by highlander4 | December 08, 2025, 08:38:49 pm |
| [Software Forum] | Where to Find.... PNG Files for AtomicFE? by Loopey1 | December 08, 2025, 08:06:16 pm |
| [Automated Projects] | Re: Fever Dream project by highlander4 | December 08, 2025, 07:32:23 pm |
| [Automated Projects] | Re: Fever Dream project by highlander4 | December 08, 2025, 07:30:22 pm |
| [Automated Projects] | Re: Fever Dream project by highlander4 | December 08, 2025, 07:28:07 pm |
Top Boards Function
Shows top boards by the number of posts.
Code
<?php ssi_topBoards(); ?>
Result
| Board | Topics | Posts |
|---|---|---|
Main Forum ![]() |
48572 | 504897 |
Everything Else ![]() |
13299 | 250362 |
Project Announcements ![]() |
6553 | 198188 |
Software Forum ![]() |
16082 | 130075 |
Buy/Sell/Trade - non-retail ![]() |
17931 | 96744 |
Monitor/Video Forum ![]() |
12481 | 88749 |
Consoles ![]() |
4048 | 58100 |
Miscellaneous Arcade Talk ![]() |
4137 | 46867 |
Artwork ![]() |
5398 | 42273 |
GroovyMAME ![]() |
2930 | 37341 |
Top Topics
Shows top topics by the number of replies or views.
Code (show by number of views)
<?php ssi_topTopicsViews(); ?>
Result
| Views | Replies | |
|---|---|---|
| DemulShooter (Dual light gun on DEMUL, Model2, Dolphin, Silent Hill, etc...) | 1792962 | 3648 |
| Soft-15KHz - slim new tool for 15KHz on normal vga cards | 1101539 | 2420 |
| LEDBlinky - Arcade LED Control software and Animation Editor - v8.2 | 1036710 | 2093 |
| CNC Cut Bartop Kits - Orders Open! New Models Available! | 974885 | 2633 |
| Control Panel Database: Post a picture of your Control Panel! | 962448 | 1042 |
| PGA Tour Golf by Global VR & EA Sports Owners Thread | 882870 | 2775 |
| hiscore diff (with no nag/white box removal) | 876278 | 1245 |
| GUN4IR - The Ultimate 4 Points Lightgun System | 797135 | 1130 |
| Mission Control Project: 5 years on, what to do with the leftovers? | 764884 | 1809 |
| Switchres: modeline generator engine | 747297 | 1297 |
Code (show by number of replies)
<?php ssi_topTopicsReplies(); ?>
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
Member of the Day
Shows one random member of the day. This changes once a day.
Code
<?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
<?php ssi_whosOnline(); ?>
Result
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
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
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
Forum Stats
Shows some basic forum stats: total members, posts, topics, boards, etc.
Code
<?php ssi_boardStats(); ?>
Result
News Function
Shows random forum news.
Code
<?php ssi_news(); ?>
Result
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
<?php ssi_boardNews(); ?>
Result
GGG Optiwiz 3 questions
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.
MOVED: NFL Blitz Pedestal Deluxe Repair
https://forum.arcadecontrols.com/index.php?topic=169930.0
Happ 8 way rotary 12 pos
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.
DIY Controller recommendations
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.
X Arcade Tank Stick Configuration
Thanks in advance!
J
Recent Attachments Function
Code
<?php ssi_recentAttachments(); ?>
Result
| File | Posted by | Downloads | Filesize |
|---|---|---|---|
| Xiaou2 | 15 | 206.35kB | |
| highlander4 | 25 | 1085.32kB | |
| highlander4 | 27 | 1421.55kB | |
| highlander4 | 27 | 1323.06kB | |
| highlander4 | 24 | 2968.37kB | |
| highlander4 | 24 | 3498.72kB | |
| highlander4 | 23 | 1305.32kB | |
| Prettyswell | 24 | 589.29kB | |
| Prettyswell | 26 | 925.46kB | |
| Prettyswell | 25 | 1172.31kB |
Show Single Poll
Shows a poll in the specified topic.
Code
<?php ssi_showPoll($topicID); ?>
Result
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
Show Single Member
Shows the specified member's name and profile link.
Code
<?php ssi_fetchMember($memberIDs); ?>
Result
Show Group Members
Shows all members in a specified group.
Code
<?php ssi_fetchGroupMembers($groupIDs); ?>
Result
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 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>

Home
Help
Search
Login
Register