Как узнать версию xenforo
Как узнать версию xenforo
В предыдущих версиях XF было очень мало стандартов и соглашений, касающихся разработки плагинов. Мы многое сделали, чтобы изменить это в XF 2.0. Давайте посмотрим на некоторые изменения:
Идентификаторы и пути плагина
Каждый установленный плагин должен иметь уникальный идентификатор, и этот идентификатор определяет, где плагин хранит свои файлы. Существует два формата идентификатора дополнения.
Данный идентификатор плагина должен соответствовать следующим правилам:
Идентификатор плагина с префиксом должен придерживаться следующих правил:
Выбранный идентификатор также станет вашим префиксом пространства имен классов (см. Пространства имен для получения дополнительной информации).
Рекомендуемый формат версии
XF для нумерации версий использует принцип MAJOR.MINOR.PATCH (пример, 2.0.0 для первой стабильной версии XF2), мы рекомендуем использовать аналогичный подход к версированию собственных дополнений. Увеличивайте
Рекомендованный формат версирования
Основные файлы и директории плагина
В директории плагина есть файлы и директории, которые имеют особое значение.
Базовый файл будет создан для вас автоматически при создании плагина.
Вот пример фрагмента:
Вот сводка поддерживаемых идентификаторов:
Как часть процесса сборки (подробнее об этом позже), мы быстро выполним инвентаризацию всех ваших файлов плагина и вычислим хэш содержимого файлов.
Мы поговорим подробнее о том, как создать класс установки ниже.
Каталог _output не требуется для успешной установки плагина и не должен включаться при выпуске плагина. Этот каталог предназначен исключительно для целей разработки и используется только в том случае, если включен режим разработки (см. Включение режима разработчика).
Каждый элемент дополнительных данных хранится в отдельном файле. В основном они хранятся в виде файлов JSON, но в случае фраз они хранятся в виде файлов TXT, а для шаблонов они хранятся в виде файлов HTML/CSS/LESS. Все типы шаблонов редактируются непосредственно в файловой системе, а изменения, внесенные в эти файлы, автоматически записываются в базу данных при загрузке.
Чтобы создать класс установки для вашего плагина, все, что вам нужно сделать, это создать файл с именем Setup.php в корне каталога вашего дополнения.
Лицензия, ее виды и методы оплаты
Установка
Обновление
Переезд на другой сервер
Вопросы по внешнему виду и стилю форума
Общие вопросы
Лицензия, ее виды и методы оплаты
Q: Сколько стоит лицензия для XenForo?
Q: Как насчет скидок?
Q: Есть ли оптовые скидки при покупке больше одной лицензии?
A: Да. С 15.03.2011 доступны следующие скидки:
Количество лицензий учитывается путем сложения покупаемых и тех, что уже есть (при этом имеющиеся лицензии должны быть активны).
Q: Какие методы оплаты доступны?
A: Купить можно через PayPal. Вероятно не исключены и другие методы оплаты, но для этого лучше связаться с разработчиками напрямую. (Русскоязычные пользователи, готовые приобрести лицензию за WebMoney, могут пройти в эту тему.)
Установка
Q: Каковы минимальные системные требования для XenForo?
A: Требования следующие:
— PHP 5.2.11+
— MySQL 5.0+
— PHP расширения: MySQLi, GD (с поддержкой JPEG), PCRE, SPL, SimpleXML, DOM, JSON, iconv, ctype
— PHP safe_mode off
Настоятельно рекомендуется использовать PHP optcode хеш, например, APC или Zend Optimiser. XenForo воспользуется преимуществом этих систем и значительно улучшит производительность.
Чтобы проверить, соответствует ли ваш хостинг минимальным требованиям, скачайте этот скрипт и запустите его у себя на сайте.
Q: Как установить XenForo?
A: Установка XenForo довольно проста:
Также рекомендуем ознакомиться с этим видео-уроком.
Q: Можно ли изменить префикс у таблиц в базе данных?
A: Нет. Префикс будет всегда xf_. Если нужно установить еще одну копию XenForo, создайте для нее новую базу данных.
Как установить плагин?
A: Для установки плагинов (они же аддоны, дополнения, хаки) как правило необходимо:
— залить все файлы плагина в папку с форумом, соблюдая структуру всех подпапок.
— импортировать XML-файл плагина: Панель администратора » Вкладка Главная » Установить дополнение. Выбрать XML-файл и нажать кнопку Установить дополнение.
— некоторые плагины могут требовать изменений в шаблонах.
— также может потребоваться настройка прав для групп пользователей (например, если прав по умолчанию нет, то можно просто не увидеть какую-либо функцию плагина).
— и совсем редко некоторые плагины требуют непосредственного изменения в файлах XenForo. Но таких плагинов следует избегать, т.к. это лишние проблемы при последующем обновлении XenForo.
Важно! Всегда заливайте файлы, а потом уже производите импорт XML-файла! Иначе можете получить ошибку Пожалуйста, введите корректное имя метода обработчика.
Важно! Если структура папок отсутствует и непонятно, куда заливать, то пробуйте копировать все в папку library.
Как установить стиль?
A: Для установки стилей (они же скины, темы оформления, «шкурки») как правило необходимо:
— залить файлы с графикой (в папку styles или же в подпапки).
— импортировать XML-файл стиля: Панель администратора » Вкладка Внешний вид » Импорт стиля. Выбрать XML-файл и нажиать кнопку Импорт.
Обновление
Q: Как обновить XenForo?
A: Обновить XenForo так же просто, как и установить:
— заменяем все файлы на ftp от обновленной версии;
— переходим в браузере по адресу http://www.vash-sait.ru/forum/install/index.php?upgrade ;
— скрипт форума предложит авторизоваться;
— следуйте дальнейшим инструкциям, процесс обновления может занять несколько минут.
Также рекомендуем ознакомиться с этим видео-уроком.
На время обновления форум будет автоматически закрыт и откроется также самостоятельно после успешного завершения процесса.
Переезд на другой сервер
Q: Как перенести установленный XenForo на другой сервер?
A: Перенести XenForo очень просто. Для этого нужно:
— сделать копию базы данных и всех файлов со старого сервера;
— восстановить базу данных на новом сервере;
— залить все файлы на новый сервер;
— установить права для записи (chmod 0777) на папки data и internal_data и на все их содержимое;
— изменить данные для новой базы данных в файле library/config.php;
— если сменился не только сервер, но и адрес форума, то необходимо войти в панель администратора и сменить URL в основных настройках форума.
Вопросы по внешнему виду и стилю форума
Q: Как заменить стандартные иконки у разделов на свои?
Q: Как включить дополнительную информацию о пользователе в сообщениях под его аватаром?
Q: Почему появляется диалог подтверждения при нажатии на ссылке «Пометить все разделы как прочитанные»?
A: Одним кликом случайно можно наделать того, чего потом уже нельзя будет вернуть. Поэтому пользователю дается шанс убедиться, что он действительно хочет этого.
Q: Можно ли отключить все эффекты анимации в XenForo?
A: Можно. Это есть в настройках стиля.
Q: Можно ли отключить все те окна, которые открываются слоем поверх форума, так, чтобы они открывались просто следующей страницей?
A: Можно. Это есть в настройках стиля.
Q: Можно ли переключить описание разделов на классический вариант, чтобы они не отображались в виде всплывающей подсказки, а располагались ниже названия раздела?
Общие вопросы
Q: Имеются ли для XenForo конвертеры с других форумов (vBulletin, IPB, phpBB и других)?
A: В XenForo 1.5+ встроены следующие конвертеры:
— IP.Board 3.1;
— IP.Board 3.2/3.3;
— IP.Board 3.4;
— IP.Board 4.0/4.1/4.2 (Beta);
— MyBB 1.6/1.8;
— phpBB 3.0.x;
— phpBB 3.1.x;
— phpBB 3.2.x (Beta);
— SMF 2.0;
— vBulletin 3.6;
— vBulletin 3.7/3.8;
— vBulletin 4.x;
— XenForo 1.2+.
Q: Планируется ли выпуск CMS, дневников и т.д. в дополнение к форуму?
Q: Как удалить личную переписку?
A: Кнопки удаления личной переписки нет. Если вы покинете личную переписку, то она исчезнет у вас из входящих. Если переписку покинут все ее участники, то она удаляется автоматически из базы данных.
Q: Почему внизу форума нет номера версии?
A: В XenForo версия форума будет отображаться только в панели администратора. Простому пользователю номер версии все равно ничего не скажет, а вот потенциальному взломщику будет трудней сопоставить версию и ее возможные уязвимости.
Q: Описание разделов теперь во всплывающих подсказках. Как это отразится на SEO?
Возникла необходимость в автоматических бэкапах форума на локальную машину(домашний сервер).
Посоветуйте, как правильно реализовать систему бэкапов?
Дедик на дебе 11. Никаких доп панелей не стоит (типо весты, фастпанели и т.п)
Локальная машина на дебе 10 + находится за провайдерским натом(но есть возможность объединить в одну сеть, с помощью, например, впна (привет вайргуард))
Показать полностью.
Коллеги, подскажите, пожалуйста, решение.
Есть болтологическая тема с демотиваторами и картинками, 100500 страниц.
Удалять тему не хочется, счетчики постов юзеров и форума изменятся.
А аттачи на сотни МБ.
Руками удалять непродуктивно.
Как автоматизировать процесс удаления аттачей из определенной темы?
Спасибо
Здравствуйте дорогие посетители форума xenforo прочтите пожалуйста все, так вы поймете суть вопроса больше. С отправкой писем потверждения проблема решилась. Но вот с отправкой в спам при подтверждении никак не решается, вот клином встало и не хочет отправляться в обычное письмо, все письма с моего форума летят в спам или вообще не отправляются при настройке метод отправки smtp.
Итак: Давайте по подробнее опишу вам ситуацию, чтобы было вам яснее. Для начала у меня была проблема, где не.
DEVIL добавил(а) новый ресурс:
Интеграция с австралийской платёжной системой POLi
XenForo: Краткий обзор архитектуры форума для программистов
В этой статье я постараюсь вкратце описать архитектуру нового форумного движка XenForo, нового конкурента VBulletin и IPB, насколько это у меня получится после пары часов знакомства с исходником. О XenForo, спроектированном бывшими авторами VBulletin3, Киром и Майком, я уже немного писал.
Размеры
Размер основной части кода XenForo 3,24 МБ (3 405 312 байт). Еще 8,31 МБ (8 724 429 байт) занимает Zend Framework, который поставляется вместе с кодом XenForo.
XenForo полностью основан на MVC архитектуре. Есть отдельные классы для моделей, видов и контроллеров. Корневой index.php имеет размер в 467 байт и заканчивается, как и положено в таких случаях
Разумеется, в ходу автозагрузчик классов. Система именования классов как в ZF.
Сама MVC пока внутри использует классы Zend, но то, что XenForo_Controller не унаследован от соответствующих классов ZF, говорит о том, что эта часть будет переписана.
Все контроллеры унаследованы примерно одинаково: class XenForo_ControllerPublic_Forum extends XenForo_ControllerPublic_Abstract. После Symfony с ее actions такой подход несколько непривычен, но к нему быстро привыкаешь.
Система роутинга спроектирована расширяемой. Расширение происходит через привязку префиксов URL к классам-обработчикам. SEO из коробки, разумеется. Никаких плагинов не требуется.
Модель контента
Архитектура XenForo закладывалась надолго 🙂 Во всяком случае, в первый раз в форумном движке я встретил более-менее внятную архитектуру контента, слегка напоминающую Drupal («Everything is a node», помните?). Пока в XenForo типов контента четыре: категория, раздел форума, страница и ссылка (обычный редирект). Каждый тоже называется Node. Причем, каждый экземпляр узла может быть предком/потомком экземпляра другого типа. Пока не знаю, как эта гремучая смесь, например, из страницы и дочернего ей раздела форума, будет отображаться, не пробовал :). Причем, некоторые типы контента можно слегка расширять прямо из коробки. Так, например, для страницы помимо, собственно, ее HTML содержимого можно указать PHP обработчик, который получит из БД дополнительные данные, изменит дизайн страницы, вставит в нее информацию или вообще плюнет в пользователя ошибкой. PHP обработчики везде указываются не кодом на PHP, как этого можно было ожидать, а именами класса и метода. При активации хука класс будет загружен автолоадером (соответственно, должен быть правильно расположен в файловой системе).
Типы контента пока заданы жестко, самому добавить их не получится. Даже их названия в админке почему-то не локализованы.
Использование сторонних библиотек
XenForo использует Sabre и Zend Framework. Причем, наличие в коде мест, подобных
скорее всего, означает, что от лишних зависимостей на протяжении разработки продолжат избавляться, заменяя их на что-то свое более легковесное и более специализированное.
Из ZF используется совсем немного классов. В их числе Zend_Registry (в качестве реестра для синглтон-подобных объектов вроде экземпляра XenForo_Db), Zend_Config, Zend_Cache (много чего кеширует, в частности используется в базовом классе моделей XenForo_Model), Zend_Service_ReCaptcha, Zend_Http_Client, Zend_Mail, Zend_Validate и некоторые другие.
Для работы с базой данных используется часть бандла Zend_DB (Zend_Db_Adapater_Abstract и Ко), завернутая в классе XenForo_DB, что опять говорит о том, что и эту часть в последствии перепишут.
Конструктор запросов не используется, они встроены прямо в код, как обычно (что, конечно, несколько затруднит поддержку нескольких баз данных. Но с другой стороны, запросы сконцентрированы внутри модели, так что. )
Архитектура аддонов
Поскольку практически каждый аддон должен иметь настройки, их можно создавать прямо в админке и экспортировать в *.xml плагина вместе с информацией о хуках. Располагаются они там же, где и настройки самого XenForo. Встраивать их можно в произвольные места раздела общих настроек XenForo. Устроено все примерно также, как это было в VBulletin. Очень удобно и практически нет необходимости писать код для их поддержки.
Меня немного удивило количество хуков. Я полагаю, все помнят оглушительное количество хуков в VBulletin, которое даже в голове нельзя было удержать? В XenForo хуков всего… 17! Такое количество объясняется их назначением. Вот их имена:
Небольшая инспекция кода показала, что семейство хуков load_class_* предназначено для динамического расширения системы классов XenForo. Вот ключевой кусочек кода:
А несколько неожиданное для меня использование хука visitor_setup для изменения всего чего угодно на странице показано тут. Практически через любой хук вы можете залезть в сердце системы и наделать делов.
В общем, малое число хуков, похоже, вполне себе компенсируется их мощью.
Система шаблонов
Как и во всех современных форумах в XenForo есть КУЧА шаблонов. Синтаксис довольно мощный (см. отрывки внизу), впрочем, этим уже никого не удивишь. Спецтеги пишутся как в PHPTAL («неймспейсированный» XML/HTML). Один шаблон может содержать несколько файлов. Например, шаблон forum_list содержит forum_list, node_list (он вставляется в forum_list), node_list.css, sidebar.css, sidebar_online_users. CSS в шаблоне подключается через xen:require, что позволяет кешировать все CSS файлы как угодно.
Обратите внимание на использование хелперов в шаблонах. Хелпер, как и в Symfony, это просто метод класса. Например, вот код хелпера helperUserLink:
Поисковая машина
Поисковая машина в XenForo реализована в виде отдельного класса (в отличие от ненавидимой мною реализации в VB, в которой, по-моему, сами разработчики давно уже запутались, просто не сознаются в этом), унаследованного от XenForo_Search_SourceHandler_Abstract. В настоящий момент реализация только одна — MySqlFt.php (class XenForo_Search_SourceHandler_MySqlFt extends XenForo_Search_SourceHandler_Abstract), но в ближайшее время должен появится Sphinx. Мода такая нынче 🙂 Форумы уже не те, что раньше. Растут, как на дрожжах…
В админке пока нет опции для активации другого поискового движка, но не надо забывать, что это все же Beta.
Система локализации
Система локализации практически полностью повторяет свой аналог из VBulletin с тем исключением, что фразовые группы отсутствуют вообще. Вот начало файла фраз английского языка:
Каждый аддон может иметь собственные фразы. Языки можно экспортировать. Переводить аддоны можно прямо в админке.
Кстати, русская локализация XenForo уже почти готова.
Система стилей
Я не дизайнер и вообще у меня плохой вкус. Все, что касается дизайна и его разработки меня пугает. Но в XenForo мы видим древовидную систему стилей, аналогичную VB, в которой мы можем взять какой-то стиль за основу и изменить часть его настроек или шаблонов. Только Кир с Майком реализовали самый крутой редактор CSS, который мне приходилось вообще доводилось в жизни видеть. Dreamweaver отдыхает :). В XenForo настраивается все и настраивается вполне себе визуально. Забудьте о редактировании CSS напрямую, о листе с двумя тысячами переменных, который какой-то мудак нехороший человек реализовал в VB. Здесь все очень грамотно сгруппировано так, что 99% секций помещаются на одном экране. Если вы не такой лох в плане дизайна, как я и имеете художественный вкус, наверное, вы можете уволить своего дизайнера, поскольку стиль вы сможете сделать и сами (через пару месяцев, как наиграетесь с редактором).
Система аутентификации
У вас есть база данных, скажем, от WordPress? Импортируйте пользователей из WP в базу XenForo с сохранением их паролей! Для того, чтобы потом все заработало, вам придется всего лишь расширить класс XenForo_Authentication_Abstract чтобы подсказать XenForo каким образом проверять пароль. Данные пользователей с вашими системами аутентификации связывает таблица xf_user_authenticate.
Службы связи
Уже достаточно давно на форумах позволяется указывать свои контакты в различных системах коммуникации типа ICQ. В XenForo существует легко расширяемая система контактных служб. Службы можно добавлять в панели управления. Класс поддержки службы выглядит примерно так:
Теперь уже никто не сможет ввести в поле ICQ своего профиля строчку «Продам носки шерстяные» 🙂
Система прав и привилегий
Каждая группа пользователей системы имеет права по умолчанию. Плюс права каждой группы можно дополнительно настроить в любом типе узла. Разумеется, привилегии наследуются.
Типов разрешений четыре. Inherit, Allow, Revoke, Deny. Пока мне не удалось понять, чем Revoke отличается от Deny. Причем, Revoke отсутствует в правах группы по умолчанию, что наталкивает на мысль, что этот тип связан с наследованием прав.
После переключения форума в режим отладки, вы сможете добавлять в систему новые типы привилегий (аддоны тоже могут их добавлять). В коде они проверяются примерно так:
Общие впечатления
Вообще код XenForo произвел на меня приятное впечатление. Он красивый, понятный, гармоничный, полон комментариев и ООП. Сначала, посмотрев на количество классов, я собирался испугаться и отложить статью до лучших времен, но теперь, подбираясь к концу, я могу сказать, что уже почти все ок, я немного въехал, как тут все устроено. Надеюсь, что и вы немножко тоже.
Кстати, я очень ждал выхода PHPBB3, хотел им заняться серьезно. Но его архитектура для меня выглядит гораздо менее четкой и логичной, чем архитектура XenForo. Честно признаться, я так и не въехал в PHPBB3. Будем ждать четверку на Symfony2…
Вот, пожалуй, и все. Вопросы по плагинам для XenForo можно задавать тут. А на официальном форуме уже есть несколько (18 на текущий момент), можно скачать и посмотреть. Сам я пока лицензию на движок не покупал, не было повода. Поэтому за предоставленный для изучения код благодарю моих друзей, уже купивших официальную версию.
Прошу прощения, если кому-то данная статья покажется неполной или некорректно построенной. Это мой первый обзор архитектуры чего-либо, поэтому я с радостью приму любую критику в комментариях. Часть критики, надо полагать, я сразу увижу на своей карме и рейтинге 🙂 Если вам еще что-то интересно узнать, сообщите об этом в комментах, если сумею разобраться быстро — дополню статью.