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
| [Woodworking] | Need Advice: Reinforcing Particle Board Control Panel for Joystick by RobodocX | Today at 09:32:51 pm |
| [Monitor/Video Forum] | Component modding CRT TV - "China TV" by Zebidee | Today at 02:34:16 pm |
| [Main Forum] | Happ pushbuttons with vertical microswitch? by RandyT | Today at 02:23:26 pm |
| [Main Forum] | Help with Ipac and Batocera by themadsinger | Today at 01:29:09 pm |
| [GroovyMAME] | GroovyMAME won't work with Corsair Strafe keyboard?! by BuckoA51 | Today at 12:45:10 pm |
| [GroovyMAME] | GroovyMAME 0.289 - Switchres 2.22f by Calamity | Today at 04:44:27 am |
| [Monitor/Video Forum] | GreenAntz RGB to component transcoder by Zebidee | Today at 02:32:47 am |
| [Pinball] | Repairs pinball needed Binghamton NY area by Spudboy2024 | Yesterday at 09:17:19 pm |
Recent Posts Function
Code
<?php ssi_recentPosts(); ?>
Result
| [Woodworking] | Re: Need Advice: Reinforcing Particle Board Control Panel for Joystick by RobodocX | Today at 09:32:51 pm |
| [Monitor/Video Forum] | Re: Component modding CRT TV - "China TV" by Zebidee | Today at 02:34:16 pm |
| [Main Forum] | Re: Happ pushbuttons with vertical microswitch? by RandyT | Today at 02:23:26 pm |
| [Main Forum] | Help with Ipac and Batocera by themadsinger | Today at 01:29:09 pm |
| [GroovyMAME] | Re: GroovyMAME won't work with Corsair Strafe keyboard?! by BuckoA51 | Today at 12:45:10 pm |
| [Monitor/Video Forum] | Re: Component modding CRT TV - "China TV" by titan-91 | Today at 09:03:07 am |
| [GroovyMAME] | Re: GroovyMAME won't work with Corsair Strafe keyboard?! by Calamity | Today at 07:35:16 am |
| [GroovyMAME] | Re: GroovyMAME won't work with Corsair Strafe keyboard?! by BuckoA51 | Today at 06:47:04 am |
Top Boards Function
Shows top boards by the number of posts.
Code
<?php ssi_topBoards(); ?>
Result
| Board | Topics | Posts |
|---|---|---|
Main Forum ![]() |
48620 | 505150 |
Everything Else ![]() |
13305 | 250359 |
Project Announcements ![]() |
6564 | 198382 |
Software Forum ![]() |
16099 | 130149 |
Buy/Sell/Trade - non-retail ![]() |
17943 | 96767 |
Monitor/Video Forum ![]() |
12493 | 88908 |
Consoles ![]() |
4050 | 58106 |
Miscellaneous Arcade Talk ![]() |
4140 | 46876 |
Artwork ![]() |
5399 | 42279 |
GroovyMAME ![]() |
2960 | 37587 |
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...) | 3540911 | 3684 |
| LEDBlinky - Arcade LED Control software and Animation Editor - v8.2 | 1942748 | 2094 |
| Soft-15KHz - slim new tool for 15KHz on normal vga cards | 1721029 | 2420 |
| CNC Cut Bartop Kits - Orders Open! New Models Available! | 1653990 | 2633 |
| Control Panel Database: Post a picture of your Control Panel! | 1634949 | 1043 |
| Mission Control Project: 5 years on, what to do with the leftovers? | 1536118 | 1809 |
| hiscore diff (with no nag/white box removal) | 1378702 | 1245 |
| PGA Tour Golf by Global VR & EA Sports Owners Thread | 1376044 | 2775 |
| GUN4IR - The Ultimate 4 Points Lightgun System | 1336372 | 1130 |
| Switchres: modeline generator engine | 1333051 | 1297 |
Code (show by number of replies)
<?php ssi_topTopicsReplies(); ?>
Result
| Views | Replies | |
|---|---|---|
| DemulShooter (Dual light gun on DEMUL, Model2, Dolphin, Silent Hill, etc...) | 3540911 | 3684 |
| PGA Tour Golf by Global VR & EA Sports Owners Thread | 1376044 | 2775 |
| CNC Cut Bartop Kits - Orders Open! New Models Available! | 1653990 | 2633 |
| Soft-15KHz - slim new tool for 15KHz on normal vga cards | 1721029 | 2420 |
| LEDBlinky - Arcade LED Control software and Animation Editor - v8.2 | 1942748 | 2094 |
| Re: NOT A PROJECT - Thread for Posting Images to Link in our project threads | 1055819 | 1944 |
| Arcadeemulator.net, semi ann. clearance sale has begun look for the thread | 845472 | 1917 |
| WOW New LightGUN Info !!! Woot!!! :) | 811524 | 1886 |
| Mission Control Project: 5 years on, what to do with the leftovers? | 1536118 | 1809 |
| Retro-Futuristic Mame cabinet | 1028161 | 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
|
Sidashi
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
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
<?php ssi_logOnline(); ?>
Result
RobodocX
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
Help with Ipac and Batocera
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
Need help installing trimode board on my solo XArcade
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.
Happ pushbuttons with vertical microswitch?
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
Valley Cougar dart board
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
Flight stick in arcade cabinet - what do you do for a throttle?
Recent Attachments Function
Code
<?php ssi_recentAttachments(); ?>
Result
| File | Posted by | Downloads | Filesize |
|---|---|---|---|
| themadsinger | 5 | 257.58kB | |
| Zebidee | 30 | 307.42kB | |
| Spark | 41 | 3400.47kB | |
| Ond | 88 | 98.61kB | |
| Ond | 99 | 142.39kB | |
| rdagger | 26 | 1816.51kB | |
| lewmel | 54 | 2744kB | |
| ronbin | 20 | 8.53kB | |
| ronbin | 24 | 8.5kB | |
| ronbin | 23 | 6.69kB |
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