act
. Так вот act
action
", что означает "действие". (далее в тексте вместо act
будет говориться action
)
action
act=Online
или act=UserCP
act=idx
Сначала найдите такой код:
if (! isset($choice[ $ibforums->input["act"] ]))
{
$ibforums-> idx
idx
на portal
ИЛИ
на home
$choice = array("idx" => "Boards",
"SC" => "Boards",
"SF" => "Forums",
"SR" => "Forums",
"ST" => "Topics",
"Login" => "Login",
"Post" => "Post",
"Poll" => "lib/add_poll",
"Reg" => "Register",
"Online" => "Online",
"Members" => "Memberlist",
"Help" => "Help",
"Search" => "Search",
"Mod" => "Moderate",
"Print" => "misc/print_page",
"Forward" => "misc/forward_page",
"Mail" => "misc/contact_member",
"Invite" => "misc/contact_member",
"ICQ" => "misc/contact_member",
"AOL" => "misc/contact_member",
"YAHOO" => "misc/contact_member",
"MSN" => "misc/contact_member",
"report" => "misc/contact_member",
"chat" => "misc/contact_member",
"integ" => "misc/contact_member",
"Msg" => "Messenger",
"UserCP" => "Usercp",
"Profile" => "Profile",
"Track" => "misc/tracker",
"Stats" => "misc/stats",
"Attach" => "misc/attach",
"ib3" => "misc/ib3",
"legends" => "misc/legends",
"modcp" => "mod_cp",
"calendar" => "calendar",
"buddy" => "browsebuddy",
"boardrules" => "misc/contact_member",
"mmod" => "misc/multi_moderate",
"warn" => "misc/warn",
"home" => "dynamiclite/csite",
"module" => action
"warn" => "misc/warn",
, то это значит для act=warn
sources
sources
lang
и skin
. Находим соответственно:
$ibforums->lang = $std->load_words($ibforums->lang, "lang_post" , $ibforums->lang_id);
$ibforums->lang = $std->load_words($ibforums->lang, "lang_ucp" , $ibforums->lang_id);
и
$this->html = $std-> lang_post.php
и lang_ucp.php
skin_ucp.php
А вот что с чем связано:
"idx" =>
"SC" =>
"SF" =>
"SR" =>
"ST" =>
"Login" =>
"Post" =>
"Poll" =>
"Reg" =>
"Online" =>
"Members" =>
"Help" =>
"Search" =>
"Mod" =>
"Print" =>
"Forward" =>
"Mail" =>
"Invite" =>
"ICQ" => Отсылка сообщения на ICQ
"AOL" => Отсылка сообщения на AOL
"YAHOO" => Отсылка сообщения на YAHOO
"MSN" => Отсылка сообщения на MSN
"report" =>
"chat" =>
"integ" =>
"Msg" =>
"UserCP" =>
"Profile" =>
"Track" => Подписка на тему/форум
"Stats" =>
"Attach" =>
"ib3" =>
"legends" => Смайлики, помощь по bbcode
"modcp" =>
"calendar" =>
"buddy" =>
"boardrules" =>
"mmod" =>
"warn" =>
"home" =>
"module" =>
У вас могут возникнуть вопрос, а что же такое: "idx" => "Boards",
"SC" => "Boards",
"SF" => "Forums",
"SR" => "Forums",
"ST" => "Topics",
if ($ibforums->input["showforum"] != "")
{
$ibforums->input["act"] = "SF";
$ibforums->input["f"] = intval($ibforums->input["showforum"]);
}
else if ($ibforums->input["showtopic"] != "")
{
$ibforums->input["act"] = "ST";
$ibforums->input["t"] = intval($ibforums->input["showtopic"]);
// Grab and cache the topic now as we need the "f" attr for
// the skins...
$DB->query("SELECT t.*, f.topic_mm_id, f.name as forum_name, f.quick_reply, f.id as forum_id, f.read_perms, f.reply_perms, f.parent_id, f.use_html,
f.start_perms, f.allow_poll, f.password, f.posts as forum_posts, f.topics as forum_topics, f.upload_perms,
f.show_rules, f.rules_text, f.rules_title,
c.name as cat_name, c.id as cat_id
FROM ibf_topics t, ibf_forums f , ibf_categories c
WHERE t.tid=".$ibforums->input["t"]." and f.id = t.forum_id and f.category=c.id");
$ibforums->topic_cache = $DB->fetch_row();
$ibforums->input["f"] = $ibforums->topic_cache["forum_id"];
}
else if ($ibforums->input["showuser"] != "")
{
$ibforums->input["act"] = "Profile";
$ibforums->input["MID"] = intval($ibforums->input["showuser"]);
}
Форумы IBResource
В этой теме нет ответов
IBResource
У многих наверняка возникал вопрос:
"Почему в IPB столько файлов? Ведь пути всегда идут к одному файлу index.php, а меняются лишь параметры."
Так вот эта краткая статья по файлам в IPB должна помочь вам лучше разбираться в IPB . Что где искать. Где что изменять.
Почти все страницы в IPB имеют в адресе параметр act
. Так вот act
- это сокращение от английского слова "action
", что означает "действие". (далее в тексте вместо act
будет говориться action
)
Так вот эта основная состовляющая деления по файлам. Почти каждому значению action соответствует свой файл с функциями + свой файл с шаблонами + свой языковой файл. Почему почти? Потому что бывают мелкие действия, естесственно на разных значениях action
, но они объединяются все в один файл с функциями + также объединенный языковой файл + также объединенный файл с шаблонами. Например есть крупные act=Online
или act=UserCP
. У них у каждого свои служебные файлы с функциями и т.д.
Итак как понять какой action относиться к каким файлам?
Для этого заходим в index.php. Там все расписано. Сразу сообщю, что index.php?act=idx
является адресом главной странице форума где представлены все категории и форумы.
Сначала найдите такой код:
if (! isset($choice[ $ibforums->input["act"] ]))
{
$ibforums->input["act"] = "idx";
}
Это запись означает, что если параметр action не указан, то он по умолчанию равен idx
. Так вот почему при запуске форума просто по адресу открывается главная страница форума со списком форумов . Изменив здесь значение idx
на portal
(для форума где стоит IBF Portal 3.2 или 4.0) ИЛИ
на home
(если у вас 1.2 и стоит портал IPDynamic Lite), то вы получите, что у вас по умолчанию будет загружаться не форум а портал.
А теперь поднимитесь чуть выше и найдите примерно такой код:
$choice = array("idx" => "Boards",
"SC" => "Boards",
"SF" => "Forums",
"SR" => "Forums",
"ST" => "Topics",
"Login" => "Login",
"Post" => "Post",
"Poll" => "lib/add_poll",
"Reg" => "Register",
"Online" => "Online",
"Members" => "Memberlist",
"Help" => "Help",
"Search" => "Search",
"Mod" => "Moderate",
"Print" => "misc/print_page",
"Forward" => "misc/forward_page",
"Mail" => "misc/contact_member",
"Invite" => "misc/contact_member",
"ICQ" => "misc/contact_member",
"AOL" => "misc/contact_member",
"YAHOO" => "misc/contact_member",
"MSN" => "misc/contact_member",
"report" => "misc/contact_member",
"chat" => "misc/contact_member",
"integ" => "misc/contact_member",
"Msg" => "Messenger",
"UserCP" => "Usercp",
"Profile" => "Profile",
"Track" => "misc/tracker",
"Stats" => "misc/stats",
"Attach" => "misc/attach",
"ib3" => "misc/ib3",
"legends" => "misc/legends",
"modcp" => "mod_cp",
"calendar" => "calendar",
"buddy" => "browsebuddy",
"boardrules" => "misc/contact_member",
"mmod" => "misc/multi_moderate",
"warn" => "misc/warn",
"home" => "dynamiclite/csite",
"module" => "modules",);
А вот и список всех значений action
(слева) и список имен файлов (без расширения php) к чему они относятся (справа). Если строка такая - "warn" => "misc/warn",
, то это значит для act=warn
служебный файл расположен по адресу
Почему в строке не указана директория sources
, а я ее указал? Потому что все служебные файлы (почти ) находятся в папке sources
(в переводе с английского - исходники).
Как узнать, где находятся языковые файлы и шаблоны данного файла?
Просто. Заходим в файл, например выбрали UserCP.php. Там ищем слова lang
и skin
. Находим соответственно:
$ibforums->lang = $std->load_words($ibforums->lang, "lang_post" , $ibforums->lang_id);
$ibforums->lang = $std->load_words($ibforums->lang, "lang_ucp" , $ibforums->lang_id);
и
$this->html = $std->load_template("skin_ucp");
Из чего не сложно понять, что языковые файлы используются 2 штуки lang_post.php
и lang_ucp.php
. А файл с шаблонами используется только один skin_ucp.php
А вот что с чем связано:
"idx" => index - Главная страница форума
"SC" => Show Category - Отображает список форумов выбранной категории
"SF" => Show Forum - Показывает список тем выбранного форума!
"SR" => Show Rules - Показывает правила выбранного форума (их можно создавать для каждого форума свои)
"ST" => Show Topic - Показывает выбранную тему (список всех сообщений выбранной темы)
"Login" => Обслуживает авторизацию (вход в форум под своей учетной записью)
"Post" => Обслуживает публикацию сообщений, создание тем, опросов
"Poll" => Обслуживает добавление голосов к опросу
"Reg" => Регистрация, восстановление пароля...
"Online" => Список активных пользователей (тех кто в онлайне)
"Members" => Список всех пользователей, различная сортировка...
"Help" => Обслуживание файлов помощи (FAQ, просмотр, сортировка)
"Search" => Поиск по форуму. Расширенный поиск. Просмотр новых сообщений со времени последнего визита, активные темы.
"Mod" => Модерирование. Действия модератора. Перенос тем. Разделение и т.д.
"Print" => Вид темы для печати, сохранение темы в HTML, Ms Word...
"Forward" => Отсылка ссылки на тему другу на e-mail.
"Mail" => Написание и отправка письма пользователю на e-mail.
"Invite" => Пока функции такой нет. Но разработчики заранее уже заготовки делают себе
"ICQ" => Отсылка сообщения на ICQ
"AOL" => Отсылка сообщения на AOL
"YAHOO" => Отсылка сообщения на YAHOO
"MSN" => Отсылка сообщения на MSN
"report" => Сообщить модератору (обслуживание ссылки на доклад модератору на e-mail о сообщении)
"chat" => Модуль чата. Invision Power Chat платный чат. Поэтому его нету в наборе
"integ" => Отсылка сообщения на Integrity Messenger
"Msg" => Обслуживание Личного Ящика. Прием отсылка и другие действия с PM"ками (сообщениями в Приват)
"UserCP" => Большой скрипт работы с "Профилем". Это и управление подпиской и настройки форума и т.д...
"Profile" => Просмотр профиля пользователя...
"Track" => Подписка на тему/форум
"Stats" => 10 лучших авторов, 10 лучших авторов сегодня и ссылка на состав Администрации
"Attach" => Скачивание присоединенного файла к сообщению (аттача)
"ib3" => Модуль входа в форум для Ikonboard 3. Связано с конвертированием из IkonBoard3
"legends" => Смайлики, помощь по bbcode
"modcp" => Панель управления модератора. И все что с ней связано
"calendar" => Календарь. публикация, изменение событий календаря...
"buddy" => Контакт-лист пользователя. Добавление пользователя в контакты и т.д.
"boardrules" => Общие правила всего форума. Из просмотр.
"mmod" => Мультимодерация. Создание общих правил для модерирования форумов
"warn" => Система рэйтингов/предупреждений
"home" => Просмотр портала IPDynamic Lite. Вот по этой ссылке ясно почему act=home это портал
"module" => Дополнительные модули синхронизации. Появились только в 1.2
У вас могут возникнуть вопрос, а что же такое: "idx" => "Boards",
"SC" => "Boards",
"SF" => "Forums",
"SR" => "Forums",
"ST" => "Topics",
idx - index - главная страница форума
SC - Show Category - просмотр выбранной категории (список форумов выбранной категории)
SF - Show Forum - Просмотр форума (список тем выбранного форума)
SR - Show Rules - Просмотр правил форума (их можно добавлять к каждому форуму свои через AdminCP)
ST - Show Topic - Просмотр темы (список сообщений выбранной темы)
Также в последней версии 1.2 ввели несколько более сокращенных видов ссылок, которые имитирует эти обычные. Это
index.php?showforum=3 - эта запись идентична index.php?act=SF&f=3
index.php?showtopic=33234 - эта запись идентична index.php?act=ST&f=номер_форума&t=33234
index.php?showuser=343 - эта запись идентична index.php?act=Profile&CODE=03&MID=343
Эти три сокращения реализуются кодом, который записан в index.php:
if ($ibforums->input["showforum"] != "")
{
$ibforums->input["act"] = "SF";
$ibforums->input["f"] = intval($ibforums->input["showforum"]);
}
else if ($ibforums->input["showtopic"] != "")
{
$ibforums->input["act"] = "ST";
$ibforums->input["t"] = intval($ibforums->input["showtopic"]);
// Grab and cache the topic now as we need the "f" attr for
// the skins...
$DB->query("SELECT t.*, f.topic_mm_id, f.name as forum_name, f.quick_reply, f.id as forum_id, f.read_perms, f.reply_perms, f.parent_id, f.use_html,
f.start_perms, f.allow_poll, f.password, f.posts as forum_posts, f.topics as forum_topics, f.upload_perms,
f.show_rules, f.rules_text, f.rules_title,
c.name as cat_name, c.id as cat_id
FROM ibf_topics t, ibf_forums f , ibf_categories c
WHERE t.tid=".$ibforums->input["t"]." and f.id = t.forum_id and f.category=c.id");
$ibforums->topic_cache = $DB->fetch_row();
$ibforums->input["f"] = $ibforums->topic_cache["forum_id"];
}
else if ($ibforums->input["showuser"] != "")
{
$ibforums->input["act"] = "Profile";
$ibforums->input["MID"] = intval($ibforums->input["showuser"]);
}
А вообще все, что вы хотите изменить, можно найти поиском в файлах форума. Поэтому всегда держите копию всех файлов форума у себя на жестком диске. Ведь поиск в файлах на сервере через ftp попросту невозможен. Но это уже тема для другой статьи. Так что The End. Удачи
Все комментарии и вопросы по статье пожалуйста в ! Если будут изменения или какие-либо важные вопросы и ответы, я их добавлю тут в тему!
Просмотры: 155924
Выставил на продажу второй шаблон под JakoDorgen PRO в виде форума Invision Power Board (IPB). Шаблон сделан под .
Дата создания шаблона ipb_ms_11: 06.07.2011.
Формат шаблона: utf-8.
К-во шаблонов: 1 шт.
В шаблоне уже реализована так звана кнопка слива трафика.
В комплекте с купленным шаблоном идет файл с описанием как что настроить
Шаблон идет с файлами настройки проекта в .
Шаблон сделан строго под новую версию генератора дорвеев JakoDorgen PRO версии 4.2.4 (По этому на ломаных версиях (в т. ч. на версии 4.2.3) работать очень много макросов не буду.). Шаблон работает только на версии JakoDorgen PRO 4.2.4
Продаю с повышением цены за каждый 10 копий на 1 дол. Первые 10-ть копий по цене всего 2 доллара , следующие по 3 дол., следующие по 4 , следующие по 5, следующие по 6, потом по 7 и т. д. Так что, кто первый купил, тот дешевле купил))). Бесплатно раздавать этот шаблон не могу.
Цена: $6
.
Напоминаю, что сам генератор дорвеев JakoDorgen PRO можно приобрести
Так же можете купить мой . Шаблон No: phpbb_ms_10.
Фразы, по которым нас находят: шаблоны jakodorgen, шаблон jakodorgen, powered by ip board iphone 4 8gb , пересадок Powered by IPB, showforum Powered by IPB
Invision Power Board (также применяются сокращения: IPB, IP.Board) представляет собой одно из популярнейших в мире решений для создания форумов. Данное программое обеспечение разрабатывается фирмой Invision Power Services, Inc.
Система создана с применением технологий HTML, PHP, JS, AJAX, в качестве сервера базы данных использует MySQL (дополнительно, имеется поддержка других серверов баз данных, таких как Microsoft SQL Server и Oracle). IPB является платным программным обеспечением.
Несмотря на то, что Invision Power Board является платным продуктом, существует большое количество сообществ, занимающиеся его поддержкой и модификацией. Большая часть модификаций и стилей оформления, разрабатываемые данными сообществами, бесплатны и свободны для скачивания. Крупнейшим русским сообществом является IBResource.ru.
Версия форумов IPB 1.3 является самой последней бесплатно распространяемой версией движка и до сих пор разрешена IPS для использования, хотя уже не поддерживается разработчиками и доступ к скачиванию на официальном ресурсе уже прекращен. Не обращая внимание на устарелость данной версии форума и наличия в ней известных дыр в безопасности, многие люди до сих пор пользуются ей и не выражают никакого желания обновляться. IPS продолжала выпускать обновления безопасности до объявления выхода в разработку версии 2.1 в 2005 году, после чего поддержку данной версии форума прекратила. На некоторых сайтах даже сейчас можно увидеть ссылки на выпускаемые ими обновления безопасности, равно как и обновления, позволяющие работать скрипту форума на PHP5. Эти обновления не поддерживаются IPS. Версия 1.3.1 была условно-бесплатной на период тестирования, который может длиться сколь угодно долго. После этой версии Invision Power Services стали выпускать свои продукты под коммерческой лицензией.
И как им пользоваться. Первая статья будет посвящена сбору доноров, для последующего постинга в них, точнее, сбор форумов для создания на них профильных дорвеев.
Вкратце опишу всю технологию. Парсятся по определенным признакам форумы с полем в профиле, куда можно вставить html и ссылки. Далее настраивается , немного изменяются пути, для того чтобы заполнял это поле, которое было отпарсено специально для него. И последняя статья будет о том как эти профильные лучше загнать в индекс.
Итак, выше был краткий обзор что будет в постах, а теперь непосредственно сам процесс парсинга. Первое что необходимо сделать — это найти необходимы форумы, с открытым полем about me, в этом поле можно вставлять как html так и ссылки.
Ищутся такие ресурсы довольно посто. Собираются признаки станиц, которые нам нужны. Первое что приходит в голову это «About me» (вводится с кавычками) поскольку форумы будут собираться именно с этим словом. Далее общий признак, который покажет всякие профили intitle:Viewing Profile и финальный признак это признак форума, к примеру распространенный движок форумов IP.Board. Признак правильнее указать так «Powered by IP.Board». Соединив все воедино, получится такой запрос для гугла:
«About Me» intitle:Viewing Profile «Powered by IP.Board»
7 760 000
Результатов для такого запроса. Итак теперь необходимо проверить несколько результатов выдачи.
Есть ли в них нужное поле и открыто ли оно. Желательно попробовать зарегистрироваться и вручную попробовать создать профильный дор. Если это получится то признак, который удалось добыть — нормальный.
Мне попались в выдаче такие вот профили, все они открытые, на одном даже есть видео, значит дор туда точно залезет
Седьмой в выдаче профиль уже содержал профильный дор. Всегда интересно посмотреть на чужие доры и поизучать их.
Стоит отметить количество просмотров профиля. При кликабильности в 5% , который считается довольно низким, можно предположить, что с этого дора пришло 85 человек. Когда ниходится чужой дор сразу хочется посмотреть его бэки, делается это просто, сервис яху в помощь, в этот раз я тоже не удержался глянул чем двигался дор.
Из скрина видно что дор двигался в основном китайскими гостевыми и комментариями в блогах. В принципе это классический пример, про который я сейчас и рассказываю.
Убедившись что признак нормальный, собирается еще несколько признаков. Оптимально штук 10, чтобы база получилась хорошей и парсилось быстрее. При подборе признаков лучше не злоупотреблять такими операторами как inurl, intitle, гугл их не очень любит и чаще выдает каптчу. Лучше подбирать прямые вхождения используемые на странице — они указываются в скобках.
Как только признаки собраны, нужно настроить хрефер. Единственно что я меняю в настройках — это меняю галочку чтобы хрефер собирал форумы по принципу additive words + words тоесть, сначала конструкция форума к примеру «About Me» intitle:Viewing Profile «Powered by IP.Board» , плюс обычное слово. Обычные слова в хрефере можно либо задать самому, либо спарсить из гугла
Сверху, на скрине, как раз представлен пример words с гугла. Чем больше слов напарсится, тем больше у вас получится база. Преред запуском конечно необходимо набрать немного проксей, без никуда.
Если все сделано правильно, то через некоторое время должна получится большая, хорошая база.
На скрине, я выделил ту фразу, которая является опорной при парсинге форумов. Справа в links — количество ссылок которое удалось спарить с фразы.
Вот в принципе и все. Завтра буду писать как заточить под эти базы.