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] | Pac-Man Legion by Zebidee | Today at 03:02:24 am |
| [Audio/Jukebox/MP3 Forum] | TouchGroove - Jukebox Front End by TouchGroove | Yesterday at 07:43:05 pm |
| [Project Announcements] | NOT A PROJECT V - Thread for Posting Images to Link in our project threads by Ond | Yesterday at 08:18:26 am |
| [Main Forum] | Yes I may be an IDIOT!! But I'm needing some help regarding rgb buttons/strips.. by Zebidee | September 01, 2026, 11:46:42 pm |
| [Consoles] | Field notes: importing a Japanese Saturn / Dreamcast - region, 100V and what it actually costs by AkiCabHunter | September 01, 2026, 03:17:08 am |
| [Everything Else] | You people are still here! by pbj | August 31, 2026, 01:11:09 pm |
| [Everything Else] | Field of Dreams is the dumbest movie ever made by Zebidee | August 31, 2026, 06:50:39 am |
| [Main Forum] | Big Buck Hunter Pro (open season, world, safari, etc.) replacement boards by madmanlxl | August 30, 2026, 11:58:17 pm |
Recent Posts Function
Code
<?php ssi_recentPosts(); ?>
Result
| [Project Announcements] | Re: Pac-Man Legion by Zebidee | Today at 03:02:24 am |
| [Audio/Jukebox/MP3 Forum] | Re: TouchGroove - Jukebox Front End by TouchGroove | Yesterday at 07:43:05 pm |
| [Project Announcements] | Re: Pac-Man Legion by PL1 | Yesterday at 06:23:26 pm |
| [Project Announcements] | Re: Pac-Man Legion by Ond | Yesterday at 04:25:54 pm |
| [Project Announcements] | Re: Pac-Man Legion by Zebidee | Yesterday at 11:49:04 am |
| [Project Announcements] | Re: Pac-Man Legion by Ond | Yesterday at 08:27:42 am |
| [Project Announcements] | Re: NOT A PROJECT V - Thread for Posting Images to Link in our project threads by Ond | Yesterday at 08:18:26 am |
| [Project Announcements] | Re: Pac-Man Legion by Zebidee | Yesterday at 05:38:36 am |
Top Boards Function
Shows top boards by the number of posts.
Code
<?php ssi_topBoards(); ?>
Result
| Board | Topics | Posts |
|---|---|---|
Main Forum ![]() |
48615 | 505136 |
Everything Else ![]() |
13305 | 250355 |
Project Announcements ![]() |
6563 | 198362 |
Software Forum ![]() |
16098 | 130143 |
Buy/Sell/Trade - non-retail ![]() |
17943 | 96766 |
Monitor/Video Forum ![]() |
12492 | 88882 |
Consoles ![]() |
4050 | 58105 |
Miscellaneous Arcade Talk ![]() |
4140 | 46876 |
Artwork ![]() |
5399 | 42279 |
GroovyMAME ![]() |
2959 | 37574 |
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...) | 3411454 | 3681 |
| LEDBlinky - Arcade LED Control software and Animation Editor - v8.2 | 1886026 | 2094 |
| Soft-15KHz - slim new tool for 15KHz on normal vga cards | 1691184 | 2420 |
| CNC Cut Bartop Kits - Orders Open! New Models Available! | 1614744 | 2633 |
| Control Panel Database: Post a picture of your Control Panel! | 1588081 | 1043 |
| Mission Control Project: 5 years on, what to do with the leftovers? | 1469428 | 1809 |
| hiscore diff (with no nag/white box removal) | 1347191 | 1245 |
| PGA Tour Golf by Global VR & EA Sports Owners Thread | 1345753 | 2775 |
| GUN4IR - The Ultimate 4 Points Lightgun System | 1312579 | 1130 |
| Switchres: modeline generator engine | 1310067 | 1297 |
Code (show by number of replies)
<?php ssi_topTopicsReplies(); ?>
Result
| Views | Replies | |
|---|---|---|
| DemulShooter (Dual light gun on DEMUL, Model2, Dolphin, Silent Hill, etc...) | 3411454 | 3681 |
| PGA Tour Golf by Global VR & EA Sports Owners Thread | 1345753 | 2775 |
| CNC Cut Bartop Kits - Orders Open! New Models Available! | 1614744 | 2633 |
| Soft-15KHz - slim new tool for 15KHz on normal vga cards | 1691184 | 2420 |
| LEDBlinky - Arcade LED Control software and Animation Editor - v8.2 | 1886026 | 2094 |
| Re: NOT A PROJECT - Thread for Posting Images to Link in our project threads | 1032379 | 1944 |
| Arcadeemulator.net, semi ann. clearance sale has begun look for the thread | 826602 | 1917 |
| WOW New LightGUN Info !!! Woot!!! :) | 797133 | 1886 |
| Mission Control Project: 5 years on, what to do with the leftovers? | 1469428 | 1809 |
| Retro-Futuristic Mame cabinet | 998167 | 1749 |
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
Who's Online Function
This function shows who are online inside the forum.
Code
<?php ssi_whosOnline(); ?>
Result
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
<?php ssi_logOnline(); ?>
Result
PL1
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!

Board News Function
Shows the latest posts from read only boards, or a specific board.
Code
<?php ssi_boardNews(); ?>
Result
Yes I may be an IDIOT!! But I'm needing some help regarding rgb buttons/strips..
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
Hello!
Pacto Tech 2000T — Analog stick Y-axis inverted vs real Xbox 360 pad (Taito Type
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!
Recent Attachments Function
Code
<?php ssi_recentAttachments(); ?>
Result
| File | Posted by | Downloads | Filesize |
|---|---|---|---|
| Zebidee | 10 | 28.05kB | |
| Ond | 56 | 102.7kB | |
| Zebidee | 65 | 86.49kB | |
| KillerQ | 85 | 173.54kB | |
| Zakk | 66 | 195.44kB | |
| Zakk | 66 | 195.44kB | |
| Zebidee | 103 | 58.96kB | |
| Zebidee | 112 | 71.2kB | |
| mongoosetoo | 89 | 108.91kB | |
| Zebidee | 327 | 162.22kB |
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