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 48519 504595
Everything Else New 13294 250336
Project Announcements New 6540 197920
Software Forum New 16069 130008
Buy/Sell/Trade - non-retail New 17915 96697
Monitor/Video Forum New 12471 88685
Consoles New 4045 58087
Miscellaneous Arcade Talk New 4136 46865
Artwork New 5397 42269
GroovyMAME New 2916 37199

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

bubukan
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

4339 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

4339 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: 55740
Total Posts: 1730494
Total Topics: 152371
Total Categories: 7
Total Boards: 47

News Function

Shows random forum news.

Code

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

Result

Board News Function

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

Code

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

Result

clip Golden tee fore solid status 1 light no boot

June 26, 2025, 05:59:24 pm by Pixeldreamsarcade
I currently have three motherboards that are doing the exact same thing. Status one light stays illuminated while status 2 flashes. I've noticed that U53 seems to be resetting with the status to life. I just received an oscilloscope and I have a logic probe. My voltage is good. I just have no idea where to begin with trying to get this thing working. I'm attaching all the photos that I have of it. I do have a compact flash card with the correct game files so I can put that up when the time comes.

I find it kind of strange that I can have three of these that are doing the exact same thing. The chip at U14 is getting warm but I can touch it and leave my finger there without burning. 
2 comments | Write Comment

xx IPAC Four repeating input

June 26, 2025, 06:20:34 am by Charlzyefc
I’ve bought a 4 player arcade cabinet with 4 coin mechanisms the machine is second hand and it’s a bit of a project, the cabinet has come with an IPAC Four all wired up and I’m having no issues with any of the buttons, joysticks etc but I’m having an issue with one of the four coin mechanisms, when I power the cabinet and the IPAC I get a constant repeating key stroke, the number 5, that doesn’t stop until I interrupt it by pressing another button, at first I thought the coin mech was faulty so I’ve replaced it, then I thought the wiring was faulty so I’ve replaced it and fully tested it, I believe it’s an issue with the ‘1COIN’ input where the player 1 mechanism is wired, even when I fully disconnect the wiring and power to ‘1COIN’ it still repeats, I have reflashed the board and had no luck I’ve tried mapping to a different key, the only thing I haven’t done is change to a different spare input on the board, seems a shame to do that because all the cables are nice and neat the way they are and I’d risk damaging cables snipping cable ties off.

Could you think of any other fix for this or shed some light on why it may be happening?

Could it just be a faulty input/switch?

Any help appreciated.

Thank you.
Dan.
2 comments | Write Comment

clip At my wits ends with my Ms. Pacman cocktail

June 25, 2025, 10:19:04 pm by Flashflood140
I've been fighting this problem with my ms. pacman cocktail for over a year.  Arcade game will power on but will no image on the monitor. But the game also doesn't play blind. I'm  stuck i did a cap kit on the both the monitor and the board, and still nothing. Please help

Sent from my SM-S921U1 using Tapatalk

0 comments | Write Comment

xx Sanity check on my proposed power setup

June 21, 2025, 02:35:17 pm by SpaceParanoid
First-time cab build powered by a mini PC (BigBox front end) and just wanted to see if I'm on the right track with this proposed power setup. Any feedback appreciated, still quite new at this:

Current plan:

1) Inline rocker switch STARELO Extension Cord Switch https://tinyurl.com/4h5bxayr  This would poke out from the inside of the cab in the back through a cutout, plugs into the wall and the female end receives the Master/slave smart power strip below.

2) Master/slave smart power strip TrickleStar TS0006 4 Outlet Powertap  https://tinyurl.com/3nv3c7ns   is plugged into #1 and PC is plugged into the master outlet of this. PC is Mini PC Beelink SER6 PRO Mini PC W11 Pro (PC plug says 19V, 6.32A) and BIOS auto boots with power and auto-launches BigBox with a scheduled task.

3) Regular power strip for rest of components: ALESTOR Surge Protector https://tinyurl.com/ypta6r6z is plugged into a slave outlet of #2 and contains the rest of these peripherals:

  • Main monitor: (plug says 19V, 3.42A)
  • CP button LEDs (x14): LED wire harness that will go to a 12V plug (unsure of amps?)
  • PACLed64 board: Also just a wire that will go to a 12V plug (unsure of amps?). This board is for the lighting (several LEDs) that came with the Ultimarc trackball (and I guess I could put the button lighting above on this too?)
  • Coin door LEDs: wall plug says 12V, 1A
  • Main marquee screen: wall plug says 12V, 2A
  • Mini marquee info screen: wall plug says 12V, 2A
  • Powered USB hub: wall plug says 12V, 2A
  • Speaker amp: wall plug that says 12V, 3A
  • Future devices?: Maybe another powered USB hub or some LED strips.

4) Power up the whole system with #1, then shut down the system from an arcade button either mapped to BigBox command or map to a script that runs a shutdown command.



I know I should use a panel-mount C14 inlet with fused switch instead of #1 but I’m just being scared, honestly. I’ve learned how to wire CPs and crimp QDs and Dupont connectors, but I have an irrational fear of doing big-boy AC wiring and burning my house down. I wish there was just a better professionally made option like this one (out of stock)  https://tinyurl.com/yc7kw9xt

Also you might suggest I just get a bigger smart power strip with more slave outlets instead of patching in yet another powerstrip. I’ve just found a lot of those plugs have big footprints and just need their own dedicated strip to fit. Wasn’t sure if this was bad practice though.

Sorry for the wall of text, but if you’ve read this far I do appreciate it!
2 comments | Write Comment

clip Building a World Series 99 Sega Naomi Arcade Machine

June 21, 2025, 11:06:18 am by Nitro0602
So, I did a thread a couple of years ago and got everything working via emulation. However I wanted to build the real thing with real parts. This is my understanding of things, please let me know if I’m missing something.
I was thinking I could build a universal machine and swap out the joystick panels and cartridges as well. The original World Series 99 Arcade cabinet was massive, so I wanted to build something more compact.
I’ll leave pics below as well.

What I think is needed to things work:
-Sega Naomi Game Cartridge and PCB
- Original Joystick Panel of course
-Power Supply Conversion Kit (Hope that works) - how do I add a on/off switch?
-CRT TV with YPBPR TV Inputs (wanted a slim crt as possible, I don’t think they make ones with VGA)
-VGA SCART to YPBPR (hoping that will display somewhat nicely on the CRT)
-Cabinet design with interchangeable joystick panels (I’ll figure that out after lol)

Let me know if this would work? Trying my best to make it somewhat plug and play and swappable for other game cartridges. I’ve never owned this arcade system but read that you can buy cartridges to swap out for different games. I understand I’d also need the joystick panel as well. However main purpose would be for World Series 99 Arcade.

Pictures not uploading, links below:

Cartridge/PCB
https://ebay.us/m/ZGTf7u

Power Supply
https://ebay.us/m/aRRTWR

RGBS VGA to YPBPR Component Converter SCART to YPBPR YCBCR
https://ebay.us/m/r8WqcD
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

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