SMF SSI.php Functions

Current Version: 2.1.4

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 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 Posts Function

Code

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

Result

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

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

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

185 гостей, 1 пользователь
NIC
[]

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

185 гостей, 1 пользователь
NIC
[]

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 3.0

06 ноября 2023, 09:22:19 от digger®
Команда разработчиков хочет сообщить, что внесены существенные изменения в опубликованную в настоящее время дорожную карту SMF. В частности, решено не создавать ветку SMF 2.2. Вместо этого запускается разработка SMF 3.0.

Пересмотренная дорожная карта развития выглядит следующим образом:

2.1.5
Поддержка SVG
Подписки
Вложения
Уведомления

2.1.6
Поддержка WebP
Поддержка PHP 8.3
Подписки
Вложения
Уведомления

3.0
Пользовательские иконки разделов
Улучшения доступности
Упрощение темы и CSS
Улучшение отчета о лайках
Повторяющиеся события календаря
Макет панели администрирования
Пользовательские поля профиля с мультивыбором
Анонимизация при удалении
Открытие ссылок перенаправления в новом окне
Улучшения в автоматическом изменении размера изображения
Улучшения автовставки URL-адресов 
ООП-рефакторинг
Минимум PHP 8.0
UTF8MB4
Поддержка MySQL 8+
Хуки тем оформления
Улучшения скрипта апгрейда
Обнаружение омоглифов
Отделение языков от тем оформления

Самым большим изменением в SMF 3.0 является масштабный пересмотр и модернизация внутреннего кода. В частности, код SMF 3.0 Alpha 1 был полностью переписан для использования современных парадигм объектно-ориентированного программирования. Это крупное обновление, которое помогает обеспечить долговечность SMF и, как мы надеемся, также окажется привлекательным для новых поколений PHP-программистов, которые захотят внести свой вклад.

Кроме того, много усилий было потрачено на поддержание обратной совместимости с модификациями и интеграциями, основанными на хуках интеграции. Вообще говоря, моды, разработанные для SMF 2.1 и помеченные как «только хуки» в базе данных настройки SMF, должны быть «из коробки» совместимы с SMF 3.0.

Улучшения в SMF 3.0, ориентированные на пользователей, будут включать свежую современную тему с улучшенной доступностью для пользователей с различными ограниченными возможностями, улучшения системы лайков, простую анонимизацию при удалении учетной записи (важно для GDPR) и многое другое.

Чтобы обеспечить своевременный выпуск, дорожная карта разработки версии 3.0 останется четко определенной. Как всегда, график выпуска — «когда он будет готов» (так что не спрашивайте ;)), но мы намерены строго придерживаться нашей дорожной карты и выпустить, как только эти цели будут достигнуты. Мы могли бы добавить в дорожную карту еще некоторые функции и изменения, помимо уже перечисленных, но для любых таких дополнений необходимо будет привести убедительные аргументы.

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

xx Выпущен SMF 2.1.4

25 июня 2023, 03:39:55 от digger®
Проект Simple Machines Forum выпустил обновление для SMF 2.1.x, теперь актуальная версия SMF 2.1.4.

Список изменений SMF 2.1.4

  • Пользовательский интерфейс, используемый для загрузки вложений, стал проще в использовании и немного более эстетичным.
  • При запуске cron как crontab в Unix, он будет проверять наличие запланированных задач и, при возможности, очищать почтовую очередь в дополнение к фоновым задачам.
  • Обновление jQuery до версии 3.6.3.
  • Исправлена ошибка, из-за которой некоторые уведомления не отправлялись, если пользователь подписался и на раздел, и на тему в разделе.
  • Исправлена ошибка, из-за которой позиция курсора могла прыгать, при использовании упоминаний в режиме WYSIWYG.
  • Исправлена ошибка, вызванная несовместимым с предыдущими версиями поведением в PHP 8.0+, которое могло привести к неполным результатам.
  • Исправлена ошибка в подписках с многобайтовыми символами utf8 в описаниии.
  • Исправлена ошибка с неопределенной константой CURLOPT_POSTFIELDSIZE.
  • Исправлена ошибка в диспетчере пакетов, из-за которой генерировались ошибки недопустимого значения по умолчанию.
  • Исправлена ошибка, из-за которой поиск в настраиваемых полях не работал в списке участников при некоторых условиях.
  • Исправлена ошибка, из-за которой автолинковщик мог получить совпадение с частичными именами.
  • Исправлена ошибка, из-за которой некоторые настройки уведомлений не переносились должным образом из версии 2.0.
  • Исправлены ошибки, из-за которых хуки могли не удаляться должным образом при удалении модов, а также могли создаваться дубликаты хуков при переустановке мода. Кроме того, включение и отключение хуков в консоли администратора теперь работает корректно.
  • Исправлена ошибка, из-за которой в списке разделов могли отображаться разделы только для администраторов.
  • Исправлена ошибка, из-за которой пользователи могли быть отброшены из-за ошибочных вопросов проверки.
  • Исправлена ошибка, из-за которой добавление группы участников могло не работать должным образом.
  • Исправлена ошибка, из-за которой могли появляться ошибки работы кеширования в журналах.
  • Исправлена ошибка, из-за которой длинные юзерагенты могли вызывать различные ошибки в журнале ошибок SMF.
  • Исправлена ошибка, из-за которой пользователи MariaDB могли видеть ошибку «Subject isn't in GROUP BY» при удалении темы.
  • Исправлена ошибка, из-за которой вызов SSI Recent Topics не отображал исходное название темы.
  • Многочисленные мелкие исправления ошибок, например, касающиеся неопределенных переменных.
  • Многочисленные доработки для улучшения пользовательского интерфейса.

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

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

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

Если вы используете SMF 2.1.0, можете пошагово обновиться до SMF 2.1.4, повторяя несколько раз описанную выше процедуру.

Если вы используете любую старую версию SMF (включая SMF 1.x, SMF 2.0.x или одну из предварительных версий SMF 2.1), то можете обновиться сразу на SMF 2.1.4 с помощью полного пакета обновления со страницы загрузок официального сайта. Помните, что использование этого метода обновления потребует переустановки всех установленных на форуме модификаций, так что, если вы используете SMF 2.1.0 или выше, рекомендуется использовать пакетное обновление.

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

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

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

xx Выпущен SMF 2.1.3

23 ноября 2022, 06:16:53 от digger®
Проект Simple Machines Forum выпустил обновление для SMF 2.1.x, теперь актуальная версия SMF 2.1.3.

Список изменений SMF 2.1.3

  • Улучшена поддержка Unicode. Поддержка Unicode в SMF теперь соответствует последнему опубликованному стандарту Unicode 15, опубликованному в сентябре 2022 г. (https://unicode.org/versions/Unicode15.0.0/). Это важно для правильного использования заглавных букв в разных алфавитах, а также для непечатных символов.
  • Улучшение вложений - cоблюдаются ограничения вложений указанные в настройках SMF. SMF ограничивал размер загружаемых вложений используя лимиты php, однако при загрузке с использование javascript это ограничение не применялось.
  • Улучшение вложений - автоматическое удаление вставленных тегов img при удалении соответствующих вложений.
  • Улучшение оповещений - очистка непрочитанных оповещений после одобрения сообщений, закрытии отчетов модерации и прочих.
  • Улучшение оповещений - очистка непрочитанных лишних оповещений, созданных при удалении сообщений/тем или изменении разрешений.
  • Улучшение оповещений - очистка непрочитанных оповещений о цитатах и упоминаниях, если они были удалены во время редактирования сообщения.
  • Усовершенствование обновления - выдача предупреждений, если каталоги вложений или аватаров не найдены. Кроме того, добавлена новая опция, позволяющая пользователю повторно запустить преобразование вложений.
  • Улучшена поддержка часовых поясов - SMF теперь поддерживает все текущие часовые пояса (https://www.iana.org/time-zones).
  • Исправление вложений - исправлена ошибка, из-за которой вложения могли исчезать с сообщением "Недействительный идентификатор вложения".
  • Исправление оповещений - исправлена ошибка, из-за которой количество отображаемых оповещений было неправильным.
  • Исправление электронной почты - исправлена ошибка, из-за которой электронные письма при отправке через PHP не работали должным образом в PHP 8.x в среде Linux. (с SMTP проблем не было)
  • Улучшена поддержка Postgresql - исправлены многочисленные ошибки, из-за которых установка модов вела себя по-разному в Postgresql и MySQL. Теперь, намного проще разрабатывать моды, которые поддерживают оба варианта.
  • Исправлена ошибка, из-за которой в PHP 8.1 были проблемы при преобразовании типов float в int.
  • Исправлена ошибка, из-за которой параметр sql_mode не устанавливался должным образом в MySQL 8.x. Это приводило к немного различному поведению запросов к БД в MySQL 5.x и MySQL 8.x.
  • Исправлена ошибка, из-за которой указанное "Не следить" для темы приводило к тому, что она отображалась в вашем списке непрочитанных и не исчезала.
  • Улучшена поддержка пробелов в URL-адресах. Это не соответсвует RFC и стандартам, но SMF поддерживал их в версии 2.0, так что эту поддержку следовало перенести и в версию 2.1.
  • Исправлена ошибка, из-за которой в журнале ошибок SMF появлялись ошибки, когда поисковые роботы пытались получить доступ к уже перемещенным аватарам. Во время обновления на 2.1 аватары и вложения могут быть перемещены; внешние поисковые роботы, ссылающиеся на неработающие ссылки, не будут генерировать ошибки SMF.
  • Исправлена ошибка в синтаксисе Postgresql при удалении полнотекстовых индексов.
  • Исправлена ошибка, из-за которой в журнале ошибок отображалось сообщение "Trying to access array offset on value of type null".
  • Исправлена ошибка, из-за которой редактор сообщений удалял ссылки при копировании и вставке.
  • Исправлена ошибка, из-за которой языки с написанием справа налево не могли быть указаны и отображаться правильно.
  • Исправлена ошибка, из-за которой сортировка личных сообщений работала не правильно.
  • Исправлена ошибка, из-за которой настройка бб-кода URL ошибочно влияла на поведение подписи и темы.
  • Исправлена ошибка, из-за которой скрытые участники, также были скрыты от администраторов.
  • Исправлена ошибка, из-за которой для ссылок на профили в личных сообщениях использовалась неправильная иконка.
  • Исправлена ошибка, из-за которой robot_no_index мог быть установлен неправильно, что могло повлиять на SEO.
  • Исправлена ошибка, из-за которой заголовки CORS не создавались должным образом.
  • Исправлена ошибка, из-за которой нестандартные темы оформления могли загружать пустые стили.
  • Исправлена ошибка, из-за которой права доступа не сохранялись должным образом при перемещении разделов. Перемещенные разделы могли исчезать.
  • Исправлена ошибка с использованием подстановочных знаков при отслеживании IP.
  • Исправлено несколько ошибок с кешированием - улучшено уведомление о том, что механизм кэширования не загружается, и улучшена обработка при отсутствии доступа к кэшированной информации.
  • Улучшено редактирование полей профиля, например, слишком длинные адреса сайтов.
  • Исправлена ошибка, из-за которой номера страниц в длинных списках могли отображаться десятичными знаками.
  • Улучшено сообщение об отсутствии проверочных вопросов.
  • Расширенная поддержка паролей пользователей при конвертированнии из myBB.
  • Исправлена ошибка обновления, из-за которой обновление с SMF 1.1 могло завершиться ошибкой из-за слишком малого количества аргументов для функции smf_mysql_insert_id().
  • Многочисленные мелкие улучшения темы оформления.

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

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

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

Если вы используете SMF 2.1.0, можете пошагово обновиться до SMF 2.1.3, повторяя несколько раз описанную выше процедуру.

Если вы используете любую старую версию SMF (включая SMF 1.x, SMF 2.0.x или одну из предварительных версий SMF 2.1), то можете обновиться сразу на SMF 2.1.3 с помощью полного пакета обновления со страницы загрузок официального сайта. Помните, что использование этого метода обновления потребует переустановки всех установленных на форуме модификаций, так что, если вы используете SMF 2.1.0 или выше, рекомендуется использовать пакетное обновление.

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

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

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

xx Выпущен SMF 2.1.2

16 мая 2022, 12:31:30 от digger®
Проект Simple Machines Forum выпустил обновление для SMF 2.1.x, теперь актуальная версия SMF 2.1.2.

Список изменений SMF 2.1.2

  • Исправление ошибок возникающих при попытках просмотра профиля несуществующего пользователя.
  • Исправление ошибок панели редактора при отключении некоторых бб-кодов.
  • Исправление ошибки, при которой в панели администратора настройки прокси изображений были доступны для редактирования, хотя файл Settings.php был доступен только для чтения.
  • Исправление формата строки пола при экспорте профиля.
  • Исправление формата расширенных полей профиля в списке друзей.
  • Исправление ошибки при отображении лимитов на загрузку вложений.
  • Исправление соотношения сторон при просмотре эскизов изображений большого размера на небольших экранах.
  • Исправление выхода видео-вложений за пределы окна браузера  на небольших экранах.
  • Исправление ошибок из-за неопределенных переменных, которые возникали при переключении между различными настройками кэширования.
  • Исправление неправильной даты, которая могла возникать при использовании запятой в создании события в календаре.
  • Исправление обработки верхнего регистра у отличных от ASCII символов в ответах на проверочные вопросы.
  • Исправление ошибки из-за которой при некоторых условиях тема могла быть перемещена в раздел перенаправления.
  • Исправление ошибки, которая могла возникать при отправке уведомления о сообщениях от гостей.
  • Исправление ошибки из-за которой некоторые страницы могли не загружаться, если функция set_time_limit() была отключена на PHP 8+.
  • Исправление ошибки с загрузкой вложений при включенной настройке "Использовать сжатие трафика" в настройках форума на PHP 8.0.17+ и 8.1.4+.
  • Исправление редкой проблемы с символами Unicode.
  • Улучшения безопасности.

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

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

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

Если вы используете SMF 2.1.0, можете пошагово обновиться до SMF 2.1.2, повторяя несколько раз описанную выше процедуру.

Если вы используете любую старую версию SMF (включая SMF 1.x, SMF 2.0.x или одну из предварительных версий SMF 2.1), то можете обновиться сразу на SMF 2.1.2 с помощью полного пакета обновления со страницы загрузок официального сайта. Помните, что использование этого метода обновления потребует переустановки всех установленных на форуме модификаций, так что, если вы используете SMF 2.1.0 или выше, рекомендуется использовать пакетное обновление.

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

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

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

xx Переезд

06 апреля 2022, 23:24:30 от Mavn
Переезд окончен
11 комментариев | Написать комментарий

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