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 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 48620 505150
Everything Else New 13305 250359
Project Announcements New 6564 198382
Software Forum New 16099 130149
Buy/Sell/Trade - non-retail New 17943 96767
Monitor/Video Forum New 12493 88908
Consoles New 4050 58106
Miscellaneous Arcade Talk New 4140 46876
Artwork New 5399 42279
GroovyMAME New 2960 37587

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 Pistachio Bonkrod, 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

Sidashi
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

14534 Guests, 1 User
RobodocX

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

14534 Guests, 1 User
RobodocX

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: 56583
Total Posts: 1733152
Total Topics: 152758
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!


This site is being essentially DDOSed by bots slamming the forum, taking down the web server. We’re looking into mitigation options but they’re kicking our bottom right now.

Board News Function

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

Code

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

Result

clip Help with Ipac and Batocera

Today at 01:29:09 pm by themadsinger
Hi,

I am trying to set up a coctail cab using Batocera.  Primarily going to use MAME on it but would also like to set up some C64 games as well.

I have an IPAC in there which from the looks of it is a legacy ps/2 version (see attached picture).

I can set up the controls to work in the front end menu and also to work in MAME but I am having problems getting the emulator to exit back to the front end.  I can use alt + F4 on an attached keyboard but it will not work from the ipac connected control panel using select + start.

IS it possible on the version of the ipac I have to configure it so that one of the buttons outputs F4 so I can then use a button combination on the control panel to exit?

Alternatively, does anyone know why the start + select is not working and what i can do to overcome the issue?

Thanks 
0 comments | Write Comment

xx Need help installing trimode board on my solo XArcade

September 22, 2026, 02:56:36 pm by troubleshootah
Hey there,

I have an older solo XArcade. I want to play Mortal kombat x and need to get a Trimode board installed so steam and the game see my stick as an XBOX 360 controller.
Last night I installed the board and the following happened.

The x arcade showed up in joy.cpl in mode 1 and 2 as x arcade joystick.
In mode 1 pressing the program button would not make the light turn on and off.
Mortal kombat x locked on the faction update screen when xarcade was in mode 4
Mortal kombat x would enter game in mode 1 but the stick was inoperative.


I have pulled the connectors, checked for bent pins and reseated them.
I tried to do a firmware update for the solo board but the firmware program did not recognize. I had a controller attached.
I did a firmware update for the dual stick out of desperation. And that had no effect, even though the firmware update did go through.
I tried unplugging it and tapping the programming button to drain it of memory, but that was ineffective.
I tried the stick on two separate computers and it displayed the same behavior on both.

The stick worked great in mame With the old board that was in it.
The stick worked great in quake with the new board on mode one.

I'm not sure if I have made a basic wiring error, if the new board requires a different wiring pattern, then the old board.
I'm not sure if the new board I got was d o a.
I'm not sure if there's some special hoop. I need to jump through because i'm using a solo x. Arcade and not a dual stick configuration.

I'm not sure if it's just some x factor I don't know about.

If anybody could point me in the right direction, I would be much obliged.

0 comments | Write Comment

xx Happ pushbuttons with vertical microswitch?

September 21, 2026, 09:41:03 am by Freppz
Hi,

When i built my first cabinet back in the 2000:s, I bought controls directly from HAPP in the US (I'm in Sweden). I can't exactly remember what they where called, but I think it was something along the lines of "Happ competition pushbutton".

They looked like the standard Happ/Suzo concave pushbuttons availible today, but the microswitch was mounted vertically in the button. I would like to get my hands on a few more buttons of the same kind but can't seem to find them anywhere. Have they simply gone out of production? I really liked them for two reasons: You could replace them without taking the microswitch off and they had a more responsive "click" (according to me anyway).

Does anyone remember these button? Is there anywhere to get a hold on a few of them?

Kind regards
/Freppz
3 comments | Write Comment

clip Valley Cougar dart board

September 13, 2026, 06:21:58 pm by lewmel
Hey guys
Sorry for the dumb question

But does anyone know how this machine collapses
I see hinges on the backside
But don’t know how to get it to come down for transport

Thank you very much
0 comments | Write Comment

question Flight stick in arcade cabinet - what do you do for a throttle?

September 10, 2026, 12:15:57 pm by shiosai123
I'm thinking of converting one of my small bar top cabinets into a dedicated flight stick cab. The UltraStik 360FS Flight Stick seems to be the way to go for an analogue stick. But many MAME games that use a flight stick also use an analogue throttle. Are there any such products out there for DIY arcade cabinets?
1 comment | 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
image0 (12).jpeg themadsinger 5 257.58kB
mario3.jpg Zebidee 30 307.42kB
IMG_20230108_092644.jpg Spark 41 3400.47kB
Background.png Ond 88 98.61kB
Side Decal.jpg Ond 99 142.39kB
MSP-TV1300.jpg rdagger 26 1816.51kB
IMG_6328.jpeg lewmel 54 2744kB
wrally_nokeep.txt ronbin 20 8.53kB
wrally.txt ronbin 24 8.5kB
switchres.ini.txt ronbin 23 6.69kB

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