Chris@76: Chris@76: Chris@76:

SMF SSI.php Functions

Chris@76:

Current Version: 2.0

Chris@76:

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.

Chris@76: Chris@76:

Include Code

Chris@76:

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:

Chris@76:
Code: [Select]
<?php require(""); ?> Chris@76: Chris@76:

Some notes on usage

Chris@76:

All the functions have an output method parameter. This can either be "echo" (the default) or "array"

Chris@76:

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.

Chris@76:

This functionality can be used to allow you to present the information in any way you wish.

Chris@76: Chris@76:

Additional Guides & FAQ

Chris@76:

Need more information on using SSI.php? Check out Using SSI.php article or the SSI FAQ.

Chris@76: Chris@76:
Chris@76: Chris@76:
Chris@76:

Function List

Chris@76:

Recent Items

Chris@76: Chris@76:

Top Items

Chris@76: Chris@76:

Members

Chris@76: Chris@76:

Authentication

Chris@76: Chris@76:

Calendar

Chris@76: Chris@76:

Miscellaneous

Chris@76: Chris@76: Chris@76:

Advanced Functions

Chris@76: Chris@76: Chris@76:

Website Samples

Chris@76: Chris@76:

Other

Chris@76: Chris@76:
Chris@76: Chris@76:
Chris@76: Chris@76:
Chris@76: Chris@76:
Chris@76: Chris@76: Chris@76:
Chris@76:

Recent Topics Function

Chris@76:

Code (simple mode)

Chris@76:
Code: [Select]
<?php ssi_recentTopics(); ?> Chris@76:

Code (advanced mode)

Chris@76:
Code: [Select]
<?php ssi_recentTopics($num_recent = 8, $exclude_boards = null, $include_boards = null, $output_method = 'echo'); ?> Chris@76:

Result

Chris@76:
Chris@76:
Chris@76: Chris@76:
Chris@76:

Recent Posts Function

Chris@76:

Code

Chris@76:
Code: [Select]
<?php ssi_recentPosts(); ?> Chris@76:

Result

Chris@76:
Chris@76:
Chris@76: Chris@76:
Chris@76:

Recent Poll Function

Chris@76:

Code

Chris@76:
Code: [Select]
<?php ssi_recentPoll(); ?> Chris@76:

Result

Chris@76:
Chris@76:
Chris@76: Chris@76: Chris@76:
Chris@76:

Top Boards Function

Chris@76:

Shows top boards by the number of posts.

Chris@76: Chris@76:

Code

Chris@76:
Code: [Select]
<?php ssi_topBoards(); ?> Chris@76:

Result

Chris@76:
Chris@76:
Chris@76: Chris@76:
Chris@76:

Top Topics

Chris@76:

Shows top topics by the number of replies or views.

Chris@76: Chris@76:

Code (show by number of views)

Chris@76:
Code: [Select]
<?php ssi_topTopicsViews(); ?> Chris@76:

Result

Chris@76:
Chris@76: Chris@76:

Code (show by number of replies)

Chris@76:
Code: [Select]
<?php ssi_topTopicsReplies(); ?> Chris@76:

Result

Chris@76:
Chris@76:
Chris@76: Chris@76:
Chris@76:

Top Poll Function

Chris@76:

Shows the most-voted-in poll.

Chris@76: Chris@76:

Code

Chris@76:
Code: [Select]
<?php ssi_topPoll(); ?> Chris@76:

Result

Chris@76:
Chris@76:
Chris@76: Chris@76:
Chris@76:

Top Poster Function

Chris@76: Shows the top poster's name and profile link. Chris@76: Chris@76:

Code

Chris@76:
Code: [Select]
<?php ssi_topPoster(); ?> Chris@76:

Result

Chris@76:
Chris@76:
Chris@76: Chris@76: Chris@76:
Chris@76:

Latest Member Function

Chris@76:

Shows the latest member's name and profile link.

Chris@76: Chris@76:

Code

Chris@76:
Code: [Select]
<?php ssi_latestMember(); ?> Chris@76:

Result

Chris@76:
Chris@76:
Chris@76: Chris@76:
Chris@76:

Member of the Day

Chris@76:

Shows one random member of the day. This changes once a day.

Chris@76: Chris@76:

Code

Chris@76:
Code: [Select]
<?php ssi_randomMember('day'); ?> Chris@76:

Result

Chris@76:
Chris@76:
Chris@76: Chris@76:
Chris@76:

Who's Online Function

Chris@76:

This function shows who are online inside the forum.

Chris@76: Chris@76:

Code

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

Result

Chris@76:
Chris@76: Chris@76:

Log Online Presence

Chris@76:

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.

Chris@76: Chris@76:

Code

Chris@76:
Code: [Select]
<?php ssi_logOnline(); ?> Chris@76:

Result

Chris@76:
Chris@76:
Chris@76: Chris@76: Chris@76:
Chris@76:

Login Function

Chris@76:

Shows a login box only when user is not logged in.

Chris@76: Chris@76:

Code

Chris@76:
Code: [Select]
<?php ssi_login(); ?> Chris@76:

Result

Chris@76:
Chris@76: Chris@76:

Logout Function

Chris@76:

Shows a logout link only when user is logged in.

Chris@76: Chris@76:

Code

Chris@76:
Code: [Select]
<?php ssi_logout(); ?> Chris@76:

Result

Chris@76:
Chris@76: Chris@76:

Welcome Function

Chris@76:

Greets users or guests, also shows user's messages if logged in.

Chris@76: Chris@76:

Code

Chris@76:
Code: [Select]
<?php ssi_welcome(); ?> Chris@76:

Result

Chris@76:
Chris@76:
Chris@76: Chris@76: Chris@76:
Chris@76:

Today's Calendar Function

Chris@76:

Code

Chris@76:
Code: [Select]
<?php ssi_todaysCalendar(); ?> Chris@76:

Result

Chris@76:
Chris@76: Chris@76:

Today's Birthdays Function

Chris@76:

Code

Chris@76:
Code: [Select]
<?php ssi_todaysBirthdays(); ?> Chris@76:

Result

Chris@76:
Chris@76: Chris@76:

Today's Holidays Function

Chris@76:

Code

Chris@76:
Code: [Select]
<?php ssi_todaysHolidays(); ?> Chris@76:

Result

Chris@76:
Chris@76: Chris@76:

Today's Events Function

Chris@76:

Code

Chris@76:
Code: [Select]
<?php ssi_todaysEvents(); ?> Chris@76:

Result

Chris@76:
Chris@76:
Chris@76: Chris@76:
Chris@76:

Recent Calendar Events Function

Chris@76: Chris@76:

Code

Chris@76:
Code: [Select]
<?php ssi_recentEvents(); ?> Chris@76:

Result

Chris@76:
Chris@76:
Chris@76: Chris@76: Chris@76:
Chris@76:

Forum Stats

Chris@76:

Shows some basic forum stats: total members, posts, topics, boards, etc.

Chris@76: Chris@76:

Code

Chris@76:
Code: [Select]
<?php ssi_boardStats(); ?> Chris@76:

Result

Chris@76:
Chris@76:
Chris@76: Chris@76:
Chris@76:

News Function

Chris@76:

Shows random forum news.

Chris@76: Chris@76:

Code

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

Result

Chris@76:
Chris@76:
Chris@76: Chris@76:
Chris@76:

Board News Function

Chris@76:

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

Chris@76: Chris@76:

Code

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

Result

Chris@76:
Chris@76:
Chris@76: Chris@76:
Chris@76:

Menubar Function

Chris@76:

Displays a menu bar, like one displayed at the top of the forum.

Chris@76: Chris@76:

Code

Chris@76:
Code: [Select]
<?php ssi_menubar(); ?> Chris@76:

Result

Chris@76:
Chris@76:
Chris@76: Chris@76:
Chris@76:

Quick Search Function

Chris@76: Chris@76:

Code

Chris@76:
Code: [Select]
<?php ssi_quickSearch(); ?> Chris@76:

Result

Chris@76:
Chris@76:
Chris@76: Chris@76:
Chris@76:

Recent Attachments Function

Chris@76: Chris@76:

Code

Chris@76:
Code: [Select]
<?php ssi_recentAttachments(); ?> Chris@76:

Result

Chris@76:
Chris@76:
Chris@76: Chris@76: Chris@76:
Chris@76:

Show Single Poll

Chris@76:

Shows a poll in the specified topic.

Chris@76: Chris@76:

Code

Chris@76:
Code: [Select]
<?php ssi_showPoll($topicID); ?> Chris@76:

Result

Chris@76:
Not shown because it needs specific topic ID that contains a poll.
Chris@76:
Chris@76: Chris@76:
Chris@76:

Show Single Post

Chris@76:

Fetches a post with a particular IDs. By default will only show if you have permission to the see Chris@76: the board in question. This can be overriden by passing the 2nd parameter as true.

Chris@76: Chris@76:

Code

Chris@76:
Code: [Select]
<?php ssi_fetchPosts($postIDs, $isOverride); ?> Chris@76:

Result

Chris@76:
Not shown because it needs a specific post ID.
Chris@76:
Chris@76: Chris@76:
Chris@76:

Show Single Member

Chris@76:

Shows the specified member's name and profile link.

Chris@76: Chris@76:

Code

Chris@76:
Code: [Select]
<?php ssi_fetchMember($memberIDs); ?> Chris@76:

Result

Chris@76:
Not shown because it needs a specific member ID.
Chris@76:
Chris@76: Chris@76:
Chris@76:

Show Group Members

Chris@76:

Shows all members in a specified group.

Chris@76: Chris@76:

Code

Chris@76:
Code: [Select]
<?php ssi_fetchGroupMembers($groupIDs); ?> Chris@76:

Result

Chris@76:
Not shown because it needs specific membergroup IDs.
Chris@76:
Chris@76: Chris@76:
Chris@76:

Home Page Sample

Chris@76: This sample uses the following features: ssi_recentTopics(), ssi_logOnline(), ssi_welcome(), and ssi_boardNews(). Chris@76: ssi_recentTopics() is fetched using the array method, to allow further customizations on the output. Chris@76: Chris@76:

Code

Chris@76:
Code: [Select]
Chris@76:

Result

Chris@76: Chris@76:
Chris@76:
Chris@76: Chris@76:
Chris@76: Chris@76: Chris@76: Chris@76: Chris@76: SMF 2.0 SSI.php Examples Chris@76: Chris@76: Chris@76: Chris@76: Chris@76: Chris@76: Chris@76:
Chris@76: Chris@76:
Chris@76:
Chris@76:
'; Chris@76: } Chris@76: Chris@76: function template_ssi_below() Chris@76: { Chris@76: global $time_start; Chris@76: Chris@76: echo ' Chris@76: Chris@76:
Chris@76:
Chris@76:
Chris@76: Chris@76:
Chris@76: Chris@76: '; Chris@76: } Chris@76: Chris@76: function template_homepage_sample1($method = 'source') Chris@76: { Chris@76: global $user_info, $boarddir; Chris@76: Chris@76: $header = ' Chris@76: Chris@76: Chris@76: SSI.php example for home page Chris@76: Chris@76: Chris@76: Chris@76:
Chris@76: Chris@76:
Chris@76:

Recent Forum Topics

Chris@76:
Chris@76: Chris@76: '; Chris@76: Chris@76: if ($method == 'source') Chris@76: { Chris@76: $header = '' . "\n" . $header; Chris@76: return $header . template_homepage_sample1_html() . $footer; Chris@76: } Chris@76: else Chris@76: { Chris@76: echo $header; Chris@76: template_homepage_sample1_php(); Chris@76: echo $footer; Chris@76: } Chris@76: Chris@76: } Chris@76: Chris@76: function template_homepage_sample1_php() Chris@76: { Chris@76: global $txt; Chris@76: Chris@76: $topics = ssi_recentTopics(8, null, null, 'array'); Chris@76: Chris@76: foreach ($topics as $topic) Chris@76: echo ' Chris@76:
  • ', $topic['subject'], ' ', $txt['by'], ' ', $topic['poster']['link'], '
  • '; Chris@76: Chris@76: unset($topics); Chris@76: Chris@76: echo ' Chris@76: Chris@76:
    Chris@76: Chris@76:

    Online Users

    '; Chris@76: ssi_logOnline(); Chris@76: Chris@76: echo ' Chris@76:
    Chris@76: Chris@76:
    '; Chris@76: Chris@76: ssi_welcome(); Chris@76: echo ' Chris@76:

    Chris@76: Chris@76:

    News

    '; Chris@76: Chris@76: ssi_boardNews(); Chris@76: Chris@76: echo ' Chris@76:
    '; Chris@76: Chris@76: } Chris@76: Chris@76: function template_homepage_sample1_html() Chris@76: { Chris@76: $result = ' Chris@76: \', print_r($topic), \'\'; Chris@76: Chris@76: echo \' Chris@76:
  • \', $topic[\'subject\'], \' \', $txt[\'by\'], \' \', $topics[$i][\'poster\'][\'link\'], \'
  • \'; Chris@76: } Chris@76: Chris@76: unset($topics); Chris@76: ?> Chris@76:
    Chris@76:

    Online Users

    Chris@76: Chris@76: Chris@76:
    Chris@76:

    Chris@76:

    News

    Chris@76: Chris@76:
    '; Chris@76: Chris@76: return $result; Chris@76: } Chris@76: Chris@76: ?>