SMF SSI.php Functions

Current Version: 2.1 RC4

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.

Recent Poll Function

Code

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

Result

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

Добро пожаловать, it9, наш самый новый пользователь.

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

36 Гости, 0 Пользователей

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

36 Гости, 0 Пользователей

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

Добро пожаловать на Cообщество пользователей SMF. Войдите или зарегистрируйтесь.

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

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

xx Выпущен SMF 2.1 RC4

19 Июль 2021, 20:44:22 от digger®
Команда Simple Machines рада объявить о выпуске SMF 2.1 RC4. Исправлены ошибки найденные после выпуска RC3, улучшена безопасность, стабильность и производительность. Исправления и улучшения включают следующее:

Основные изменения:

    Минимальная требуемая версия PHP 5.6
    SCEditor обновлен до версии 3, исправлено множество ошибок редактора
    Уменьшено количество запросов к базе данных
    Улучшены шаблоны темы оформления и стили
    Исправлены и улучшены языки и документация
    Добавлена поддержка CORS
   
Пользовательские изменения:

    "Всегда" используется как вариант по умолчанию при входе в систему
    Кнопка выхода перемещена в меню профиля
    Код HTTP ошибки 403 при попытке входа забаненного пользователям
    Переключатель двухфакторной авторизации перемещен в меню профиля
    Пользователь возвращается на ту же страницу после смены языка
    Предотвращение ложных уведомлений об упоминаниях
    Исправлены различные проблемы с настройками уведомлений
    Добавлена функциональность для удаления старых оповещений после прочтения
    Не отображается счетчик оповещений с нулевым значением
    Улучшен интерфейс загрузки вложений
    Улучшен интерфейс личных сообщений 
    Исправлена проблема с разбивкой на страницы при просмотре личных сообщений
    Улучшена поддержка временных зон
    Используется правильный часовой пояс при задании времени по умолчанию для нового события
    Исправлены проблемы с максимальной шириной изображений на разных экранах
    Исправлены проблемы с прикрепленными изображениями при печати темы
    Используется правильный поворот миниатюр вложений
    Исправлены несколько ошибок при загрузке вложений
    Исправлена проблема с правами, из за которой гости никогда не могли загружать изображения
    Используется ленивая загрузка для внешних аватаров, изображений, iframe и прочего
    Улучшен парсинг бб-кодов в описаниях разделов
    Сохраняется порядок вариантов ответов в голосованиях   
    Нейтрализация вредоносных управляющих символов в функции preparsecode()
    Цитаты со вложенными ссылками отображаются правильно       
    Исправлена ошибка при предварительном просмотре голосования
    Добавлена возможность локализации скрипта выбора времени   
    Учитывается настройка пользователя drafts_autosave_enabled
    Удалена устаревшая функция проверки орфографии

Административные изменения:

    Исправлены проблемы с порядком расположения дополнительных полей профиля
    Улучшены почтовые уведомления об одобрении регистрации
    Исправлена ошибка с отображением "(N/A)" вместо имени в отчетах пользователей
    Улучшен интерфейс журнала ошибок
    Улучшен интерфейс менеджера пакетов
    Улучшен редактор смайлов
    Исправлены проблемы с временными зонами в поиске пользователей в админке
    Добавлена возможность отключить поле электронной почты для гостей
    Случайная новость скрыта от гостей, которые не могут просматривать форум
    Подтверждение выхода и перенаправления если нужно (улучшает взаимодействие с внешними интеграциями)
    Улучшенная версия функции updateSettingsFile()
    Удаление старых записей в таблице log_packages при обновлении пакета
    Исправлено ошибочное логирование изменения дополнительных полей профиля, когда данные не изменялись
    Сокращение log_topics, log_boards & log_mark_boards_read во время обслуживания
    Исправлена проблема с логирование действий модераторов
    Исправлена ошибка, возникающая когда ссылка на внешний аватар слишком длинная
    Исправлена ошибка "Out of range value for column page_hits"
    Исправлены проблемы с $user_info в фоновых задачах
    Отображение правильных имен файлов в списке хуков
    Добавлена поддержка дополнительных схем хеширования паролей для конвертеров
    Исправлена проблема с сохранением сессии
    Исправлены ошибки при объединении тем
    Добавлена проверка того, что $modSettings['board_manager_groups'] всегда определена
    Добавлена проверка того, что функции trackStats() & AddMailQueue() существуют, перед тем как вызывать из в obExit()
    Улучшена функция get_proxied_url() и проксирование в целом
    Поддержка Cloudflare при автооопределении Reverse Proxy IP headers
    Исправлены ошибки БД на MariaDB при экспорте профиля
    Исправлены ошибки "undefined index", когда у раздела есть подразделы
    Исправлена автозагрузка для классов кэширования   
    Исправлена проблема с отображением групп в списке онлайн через функцию SSI
    Удалена ссылка Afrinic.net WHOIS, так как она больше не поддерживается
    Добавлена ссылка на настройки журналов из настроек запланированных задач
    Улучшена обработка 4-байтовых UTF-8 символов в script.js


Изменения в скриптах установки и обновления:

    Исправлены ошибки при установке SMF на PHP 8.0
    Исправлены опечатки в скрипте установки
    Исправлены зависания скрипта обновления
    Исправлена обработка старых вложений при обновлении
    Исправлена ошибка "undefined PHP function" при обновлении
    Сохранение значений кармы в бэкапе базы при обновлении
    Создание записей для всех просмотренных тем и разделов при обновлении
    Улучшена обработка некоторых HTTPS ссылок при обновлении
    Правильное сохранение свойств группы при обновления
    Правильная обработка некорректных дат рождения при обновлении 
    Исправлены ошибка удаления файлов обновления после его завершения
    Исправлены проблемы с запуском обновления через командную строку
    Исправлены некоторые запросы к базы данных в скрипте обновления
    Частота уведомлений по умолчанию установлена на "немедленно" вместо "никогда"
    Исправлены проблемы при обновлении с SMF 1.x
    Исправлена ошибка "no access" после обновления   
   

Этот выпуск считается RC (Release Candidate), что означает, что он достаточно работоспособный, но имеет известные и неизвестные ошибки. Эти ошибки не обязательно мешают выпуску, скорее их следует исправить до следующего выпуска.

SMF 2.1 RC4 может быть установлен с нуля или SMF 2.0.x может быть обновлен до SMF 2.1 RC4, однако учтите, что не имеется пакетных обновлений для любых выпусков RC.

Мы надеемся, что вы будете тестировать эту версию в локальной среде или среде разработки. Тестирование этого выпуска поможет нам сосредоточится на проблемах/улучшениях в финальном выпуске... Однако, мы не рекомендуем использовать выпуски RC на действующих форумах.


Команда Simple Machines

Оригинал: https://www.simplemachines.org/community/index.php?topic=578135.0

44 комментариев | Написать комментарий

xx Выпущено обновление SMF 2.0.18

02 Февраль 2021, 13:36:36 от digger®
Проект Simple Machines Forum выпустил обновление SMF 2.0.18

Обновление направлено на поддержку PHP 7.4 и исправление проблем, возникавших в предыдущих версиях

  • При принятии соглашения отсутствовал id_member.
  • Исправлены ошибки синтаксического анализа PHP при использовании файлового кеширования SMF.
  • Исправлена возможность обнуления файла Settings.php из-за отсутствия блокировки при перезаписи.
  • Усиление проверки безопасности, синхронизировано с SMF 2.1
  • Обработка UTF16-to-UTF8 перенесена с SMF 2.1
  • Всегда указывается адрес электронной почты при загрузке данных профиля пользователя
  • Исправлена отсутствующая информация в журнале новых регистраций
  • Исправлены ошибки при обновлении на несколько версий (через интерфейс командной строки), при которых настройки не обновлялись.
  • Utf8 установлена по умолчанию для следующих версий.


Полный список изменений.

SMF 2.0.17 можно обновить используя менеджер пакетов. Вы должны увидеть уведомление об обновлении в панели администратора и менеджере пакетов, что позволяет легко загрузить и установить обновление. Если у вас нет уведомления об обновлении, запустите запланированное задание "Получение файлов с сайта Simple Machines" в диспетчере задач. Также, можно вручную скачать пакет обновления со страницы загрузок официального сайта, и установить его с помощью менеджера пакетов.

Если вы используете старые версии SMF, то можете обновиться с помощью полного пакета обновления со страницы загрузок официального сайта. Помните, что использование этого метода обновления потребует переустановки всех установленных на форуме модов.

Если у вас возникли проблемы с загрузкой обновления из панели администратора, вы можете загрузить пакет со страницы пакетов обновлений и установить его как обычный мод.

Более подробную информацию можно получить в Справочных руководствах:
* Полное обновление 
* Пакетное обновление

Оригинал: https://www.simplemachines.org/community/index.php?topic=576577
63 комментариев | Написать комментарий

xx Выпущен SMF 2.1 RC3

16 Октябрь 2020, 03:39:20 от digger®
Команда Simple Machines рада объявить о выпуске SMF 2.1 RC3. Исправлены ошибки найденные после выпуска RC2, улучшена безопасность, стабильность и производительность. Исправления и улучшения включают следующее:

- Расширена поддержка политики конфиденциальности.
- Несколько важных улучшений для PostgreSQL и MySQL.
- Добавлены хуки для обработки и отображения данных.
- Языковые файлы теперь по возможности используют sprintf().
- Улучшения и исправления темы оформления.
- Улучшена проверка сессий администратора.
- Улучшения безопасности: токены, хэшированные cookie и улучшенная обработка сессий.
- Исправления и улучшения календаря.
- Улучшена система хеширования для прокси изображений.
- Исправлены ошибки оповещений.
- Добавлены ссылки на отписку в письмах с уведомлениями.
- Поддержка PHP 7.4.
- Несколько исправлений/улучшений.
- Скачивание сообщений/ЛС/профиля для GDPR.

Этот выпуск считается RC (Release Candidate), что означает, что он достаточно работоспособный, но имеет известные и неизвестные ошибки. Эти ошибки не обязательно мешают выпуску, скорее их следует исправить до следующего выпуска.

SMF 2.1 RC3 может быть установлен с нуля или SMF 2.0.x может быть обновлен до SMF 2.1 RC3, однако учтите, что не имеется пакетных обновлений для любых выпусков RC.

Мы надеемся, что вы будете тестировать эту версию в локальной среде или среде разработки. Тестирование этого выпуска поможет нам сосредоточится на проблемах/улучшениях в финальном выпуске... Однако, мы не рекомендуем использовать выпуски RC на действующих форумах.

Команда Simple Machines

Оригинал: https://www.simplemachines.org/community/index.php?topic=575228.0
38 комментариев | Написать комментарий

xx Выпущены обновления SMF 2.0.16 и 2.0.17

29 Декабрь 2019, 05:13:43 от digger®
    Проект Simple Machines Forum выпустил обновление для 2.0.x. Текущей версией становится SMF 2.0.16.

    Это обновление имеет важное значение, поскольку оно исправляет уязвимости и ошибки, а также добавляет поддержку требований Общего регламента защиты данных (GDPR) Европейского Союза. Рекомендуется установить обновление как можно скорее.

Основные изменения в 2.0.16

  • Поддержка политики конфиденциальности в дополнение к соглашению о регистрации
  • Опция соответствия GDPR в основных настройках форума
Включение этой опции добавит новые настройки для соответствия GDPR, включая:
  • Требование от пользователей принять текущую политику конфиденциальности для использования форума
  • При регистрации спрашивать, хочет ли новый участник получать уведомления по email
  • Включение ссылок на основе токенов для отмены подписки в электронных письмах, чтобы участники могли отписаться не входя на форум
  • Предоставление участникам возможности загружать копию информации своего профиля
  • Незначительные изменения работы ряда других функций при необходимости
[/li]
[li]Поддержка PHP 7.2[/li]
[li]Улучшенные хеши безопасности для прокси изображений[/li]
[li]Улучшена безопасность для cookies[/li]
[li]Прочие улучшения безопасности[/li]
[li]Улучшения скриптов установки и обновления[/li]
[/list]

Полный список изменений changelog.

ВАЖНОЕ ПОЯСНЕНИЕ:

  • Если вы используете мод GDPR Helper следуйте этим указаниям:
    • Сделайте резервную копию существующего текста политики конфиденциальности куда-нибудь
    • Обновите мод GDPR Helper до последней версии
    • Удалите мод GDPR Helper
    • Установите обновление SMF 2.0.16
  • Все пользователи, включая администратора, должны будут снова залогиниться на форуме после установки 2.0.16.

Как обновиться до 2.0.16

SMF 2.0.15 можно обновить используя менеджер пакетов. Вы должны увидеть уведомление об обновлении в панели администратора и менеджере пакетов, что позволяет легко загрузить и установить обновление. Если у вас нет уведомления об обновлении, запустите запланированное задание "Получение файлов с сайта Simple Machines" в диспетчере задач. Также, можно вручную скачать пакет обновления со страницы загрузок официального сайта, и установить его с помощью менеджера пакетов.

Если вы используете старые версии SMF, то можете обновиться с помощью полного пакета обновления со страницы загрузок официального сайта. Помните, что использование этого метода обновления потребует переустановки всех установленных на форуме модов.

Если у вас возникли проблемы с загрузкой обновления из панели администратора, вы можете загрузить пакет со страницы пакетов обновлений и установить его как обычный мод.

Более подробную информацию можно получить в Справочных руководствах:
* Полное обновление 
* Пакетное обновление

Оригинал: https://www.simplemachines.org/community/index.php?topic=570986.0

Версии 2.0.16 и 2.0.17 содержат ошибки. Рекомендуется дождаться обновления 2.0.18.
74 комментариев | Написать комментарий

xx Окончена поддержка SMF 1.1.*

25 Март 2018, 22:16:04 от digger®
Чтобы обеспечить расширенную поддержку и сосредоточить внимание на предстоящих выпусках, команда Simple Machines Forum объявляет, что версия SMF 1.1 больше не будет получать обновления.

SMF 1.1 устарел по многим пунктам, в том числе и по ряду вопросов с безопасностью. Рекомендуется, всем, кто до сих пор использует SMF 1.1, как можно скорее перейти на SMF 2.0. Раздел поддержки SMF 1.1 на официальном форуме будет оставаться открытым для помощи в решении любых вопросов.

Известно, что некоторые из участников сообщества создали временные решения для проблем несовместимости SMF 1.1 с новыми версиями PHP. Мы приглашаем тех из вас, кто создал эти решения, отправить их на наш сайт модификаций. Команда поддержки рассмотрит представленные решения и сделает их общедоступными в интересах всего сообщества.

Дальнейшая разработка будет сосредоточена на версии 2.1, но мы будем продолжать поддерживать и обновлять версию 2.0.x.

Полезная информация:

   Требования и рекомендации по установке  SMF 2.0.x
   Какую версию SMF следует использовать
   Обновление до  SMF 2.0.x


Оригинал: https://www.simplemachines.org/community/index.php?topic=559497.0
0 комментариев

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 overridden 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> <html> <head> <title>SSI.php example for home page</title> <style> 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="noopener" rel="license" href="https://creativecommons.org/licenses/publicdomain/"><img alt="Creative Commons License" style="border-width:0" src="https://i.creativecommons.org/l/publicdomain/88x31.png"></a> This sample website layout is dedicated to the <a target="_blank" rel="noopener" rel="license" href="https://creativecommons.org/licenses/publicdomain/">Public Domain</a>. </div> </div> </body> </html>

Result