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 48615 505136
Everything Else New 13305 250355
Project Announcements New 6563 198362
Software Forum New 16098 130143
Buy/Sell/Trade - non-retail New 17943 96766
Monitor/Video Forum New 12492 88882
Consoles New 4050 58105
Miscellaneous Arcade Talk New 4140 46876
Artwork New 5399 42279
GroovyMAME New 2959 37574

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 prophet79, 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

Who's Online Function

This function shows who are online inside the forum.

Code

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

Result

7730 Guests, 1 User
PL1

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

7730 Guests, 1 User
PL1

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: 56562
Total Posts: 1733049
Total Topics: 152746
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

xx Yes I may be an IDIOT!! But I'm needing some help regarding rgb buttons/strips..

September 01, 2026, 07:47:50 pm by cobalt_boxx
OK guys, I have built a multi-player pedestal. I am in the wiring stages of hooking everything up. I started w/ the rgb buttons ( Ultimarc gold leaf ) and standard 5050 60pm rgb light strips / 4 RGB drink holders. The Idiot part is I way underestimated the load rating of the Ultimarc UIO's in regards to the High Current connectors. I believe I may have smoked the mosfets on the boards. I have 2 strips measuring 100", One Measuring 95". havent hooked up the cup holders as of yet. I am running 2 Ultimarc UIO's, I have 1 strip hooked to each High current Led port, with the High current turned on in the board configuration. I also have 25 RGB led buttons plugged into each UIO, skipping the first row of led plugs as they are for the high current terminals. I am running separate External power supplies, 5v - 20A - 100w, to each UIO for the 5v buttons. I have a similiar 12v power supply running the strips thru the UIO's as shown on the Ultimarc website. My 12v power supply never gets hot, all illuminate well in regards to the strips, but my 5v Power supplies and UIO boards get crazy hot, 1 of the UIO's smoked the barrel connector for LED power within just a few minutes. I realize My Led strips are way too long now, & I need to run Amplifiers, but would that have also killed my 5v section? If I could get some help w/ this I would really appreciate it! Been doing this for a long time, just have never played w/ led's $ the like.
1 comment | Write Comment

xx Hi everyone

August 25, 2026, 12:17:48 pm by Mario Montminy
Hi everyone,

I'm Mario, the developer of VectorPie, a Raspberry Pi-based system focused on running vector arcade games on original vector monitors using the USB-DVG.

I've been working on the project for several years, adding support for both MAME and native vector games, along with features for dedicated arcade cabinets. I'm currently expanding the project with support for LED controllers such as the PACLED64 and eventually LED-Wiz.

I've been following the arcade hardware community for a long time and figured it was time to join BYOAC, share what I'm working on, and hopefully contribute where I can.

Have a nice day,


Mario
2 comments | Write Comment

xx Hello!

August 24, 2026, 08:53:35 am by Afroton
Hi everyone! Finding this incredible community has renewed my passion for a lot of my smaller hobby projects so I just wanted to say thank you all for making this excellent space :D
1 comment | Write Comment

xx Pacto Tech 2000T — Analog stick Y-axis inverted vs real Xbox 360 pad (Taito Type

August 24, 2026, 05:07:21 am by Giamazz
Hi all,

I recently installed a Pacto Tech 2000T in my arcade cabinet to replace a generic Zero Delay encoder, hoping to fix an issue with my Taito Type X games (running via Wine on Batocera through the RGS/Pixel Nostalgia pack). Unfortunately, the same problem persists with the Pacto board.

The issue: the analog stick's Y-axis (up/down) is inverted specifically on Taito Type X games, compared to what happens when I plug in a genuine Xbox 360 controller (which works perfectly, no inversion). The stick is a standard 4/8-way microswitch joystick, wired into the Pacto board and running in ANA-F (Fast Analog) mode.

Interestingly, this only seems to affect games/software that read the raw XInput signal directly (like Type X), while MAME and RetroArch cores are unaffected (or at least easily correctable via their own remap options), suggesting a possible difference in Y-axis polarity between how the Pacto emulates XInput and how a genuine Microsoft XInput device reports it.

My questions:

Has anyone else run into this specific issue with a Pacto board (or similar generic Xinput encoders) on Taito Type X / Type X2 (..and all games windows embedded)?

Is this a known firmware bug that's already been fixed in a later revision? I couldn't reach Pacto Tech support directly via email, so I'm hoping someone here has more insight or has dealt with this before.

As a workaround, I'm planning to physically swap the up/down wires at the joystick and instead invert the axis in RetroArch/MAME software (where it's easy to fix) — has anyone found a cleaner solution?

Setup: Pacto Tech 2000T, Batocera (latest), Taito Type X games running via Wine (RGS/Pixel Nostalgia pack), standard 8-way arcade joystick with microswitches.

Thanks in advance for any input!
0 comments | Write Comment

xx Hi everyone!

August 17, 2026, 10:12:55 pm by mccoy178
I hope all the old timers and the new timers are well!
2 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
franky_bolts.jpg Zebidee 10 28.05kB
PMLegion_2.20.jpg Ond 56 102.7kB
GreenAntz_parcels.jpg Zebidee 65 86.49kB
OTfinal.jpeg KillerQ 85 173.54kB
Dolly.jpg Zakk 66 195.44kB
Dolly.jpg Zakk 66 195.44kB
light_guides2.jpg Zebidee 103 58.96kB
light_guides.jpg Zebidee 112 71.2kB
SWCab.png mongoosetoo 89 108.91kB
GreenAntz_case_LEDs2.jpg Zebidee 327 162.22kB

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