Достать topicID и forumID в коде parser.php - Дизайн и модификация Invision Power Board

Перейти к содержимому

 

Правила раздела

Здесь обсуждаются вопросы по настройке и администрированию форумов IPB 3.x.
Пожалуйста, не оффтопьте, если зашли сюда случайно, и обратите внимание на соседние разделы.
Установка, настройка и обслуживание форумов IPB 2.x.
Оформление форумов, включая верстку скинов.
Размещение рекламы на форумах.
SEO оптимизация форума.
Техническая поддержка наших скинов и модов.

СвернутьПрикрепленные теги

Теги не найдены

  • 2 Страниц +
  • 1
  • 2

Достать topicID и forumID в коде parser.php

#1 Пользователь не на сайте   lifespirit ответил: »

 
 
  • Member
  • **
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: Пользователи
  • Сообщений: 17
  • Регистрация: 26-Сентябрь 14
  • Репутация: 0
  • IPB version:3.4.x
 

Отправлено 28 Сентябрь 2014 - 22:40

Всем привет. Ковыряюсь в коде форума. Нужно достать ID топика и форума куда пользователь отправляет сообщение. Встраиваю функцию в parser.php. Функции нужны эти два идентификатора что бы слать сообщение через api в ту же тему, в которую пользователь шлёт своё. А в идеальном варианте ещё и ID пользователя, который шлёт сообщение может пригодиться.
0

#2 Пользователь не на сайте   siv1987 ответил: »

 
 
  • Advanced
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: IPB Skins Team
  • Сообщений: 8 289
  • Регистрация: 20-Март 09
  • Репутация: 2 087
  • IPB version:3.1.x
 

Отправлено 28 Сентябрь 2014 - 22:53

parser.php - это парсер ббкодов. Встраивать там какие-то ид чисто идеологически не правильно, так как парсер может подключатся где угодно и обработать любые сущности не только сообщения. Ид темы еще можно, а вот ид сообщения узнать можно только после его создания. То есть во время обработки это чисто физически не возможно, ибо сообщение еще не существует. Вы либо не там капаете, либо не правильно формулируете задачу.
ID текущего пользователя легко можно получить через $this->memberData['member_id'] или $this->registry->member()->getProperty('member_id')
0

#3 Пользователь не на сайте   lifespirit ответил: »

 
 
  • Member
  • **
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: Пользователи
  • Сообщений: 17
  • Регистрация: 26-Сентябрь 14
  • Репутация: 0
  • IPB version:3.4.x
 

Отправлено 28 Сентябрь 2014 - 23:47

Изначально была задача бросить кубик если в сообщении есть определённый код. Что то вроде :gd6: :gd6: :gd8: :bd6: :bd6: должно кинуть два шестигранника одного типа, два шестигранника другого типа и один восьмигранник. Самый простой вариант что я нашёл - выбирать эти коды парсером.пхп из сообщения и высылать через API результаты от юзера Cube, а коды удалять из поста. Для этого нужно ID форума и темы + имя пользователя для вставки в сообщение. Ну и если встраивать сообщения прямо между кусками сообщения пользователя то и id пользователя пригодится.
Тоесть грубо говоря если пользователь шлёт в посте :gd6: :gd6: :gd8: :bd6: :bd6: то получает в топике просто сообщение от юзера Cube с броском кубов.
Если шлёт:

текст текст текст
:gd6: :gd6: :gd8: :bd6: :bd6:
текст2 текст2 текст2

то получет кусок своего сообщения "тест тест тест" от своего имени, кубы от пользователя Cube и остатки сообщения "текст2 текст2 текст2" снова от своего имени.
Может я пытаюсь запихнуть код не в ту часть конечно.
0

#4 Пользователь не на сайте   siv1987 ответил: »

 
 
  • Advanced
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: IPB Skins Team
  • Сообщений: 8 289
  • Регистрация: 20-Март 09
  • Репутация: 2 087
  • IPB version:3.1.x
 

Отправлено 29 Сентябрь 2014 - 02:02

Парсер ббкодов отрабатывает перед вставкой сообщения в бд. Как минимум получится так, что сообщение бота будет идти перед сообщением пользователя. Поэтому логически сделать это после сохранения поста, но перед этим спарсить "кубик".
0

#5 Пользователь не на сайте   lifespirit ответил: »

 
 
  • Member
  • **
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: Пользователи
  • Сообщений: 17
  • Регистрация: 26-Сентябрь 14
  • Репутация: 0
  • IPB version:3.4.x
 

Отправлено 29 Сентябрь 2014 - 08:56

Тут всё дело в том что одно сообщение пользователя придётся дробить на 2 и больше а в промежутках вставлять посты от кубика. Так что думаю без костылей всё равно не обойдётся.Как тогда лучше всего реализовать такие мультипосты? Я планировал резать текст в парсере и через апи выдавать сначала первую часть топика от юзера, потом кубы от куба и остатки передавать из парсера как текст сообщения. Это конечно явные костыли, но где лучше сделать такую обработку я придумать не смог. Да и как потом передавать данные о кубах из парсера куда то ещё?

Сообщение изменено: lifespirit (29 Сентябрь 2014 - 09:02)

0

#6 Пользователь не на сайте   siv1987 ответил: »

 
 
  • Advanced
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: IPB Skins Team
  • Сообщений: 8 289
  • Регистрация: 20-Март 09
  • Репутация: 2 087
  • IPB version:3.1.x
 

Отправлено 29 Сентябрь 2014 - 10:55

Цитата

Тут всё дело в том что одно сообщение пользователя придётся дробить на 2 и больше а в промежутках вставлять посты от кубика.

Это уже какое-то извращение, лично я не вижу в этом смысла.
0

#7 Пользователь не на сайте   lifespirit ответил: »

 
 
  • Member
  • **
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: Пользователи
  • Сообщений: 17
  • Регистрация: 26-Сентябрь 14
  • Репутация: 0
  • IPB version:3.4.x
 

Отправлено 29 Сентябрь 2014 - 15:58

ОК. Подскажите хотя бы куда парсер выдает текс и какая фукция постит сообщения на форум.
0

#8 Пользователь не на сайте   siv1987 ответил: »

 
 
  • Advanced
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: IPB Skins Team
  • Сообщений: 8 289
  • Регистрация: 20-Март 09
  • Репутация: 2 087
  • IPB version:3.1.x
 

Отправлено 29 Сентябрь 2014 - 16:05

http://ipbskins.ru/f.../topic8466.html
0

#9 Пользователь не на сайте   lifespirit ответил: »

 
 
  • Member
  • **
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: Пользователи
  • Сообщений: 17
  • Регистрация: 26-Сентябрь 14
  • Репутация: 0
  • IPB version:3.4.x
 

Отправлено 29 Сентябрь 2014 - 19:18

Спасибо. Уже читал. Вопрос был не про апи функцию а про вполне форумную функцию. Куда форма передает текст через парсер? Есть какая то функция поста сообщения?
0

#10 Пользователь не на сайте   lifespirit ответил: »

 
 
  • Member
  • **
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: Пользователи
  • Сообщений: 17
  • Регистрация: 26-Сентябрь 14
  • Репутация: 0
  • IPB version:3.4.x
 

Отправлено 29 Сентябрь 2014 - 19:20

Как это все работает вообще? Вот есть текст. Он вводится в форму. И что потом? Как он попадает в парсер? Куда идет дальше? Если не трудно напишите что то вроде: форма -> функция1 -> парсер -> функция2 -> ДБ
0

#11 Пользователь не на сайте   siv1987 ответил: »

 
 
  • Advanced
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: IPB Skins Team
  • Сообщений: 8 289
  • Регистрация: 20-Март 09
  • Репутация: 2 087
  • IPB version:3.1.x
 

Отправлено 29 Сентябрь 2014 - 19:53

Просмотреть сообщениеlifespirit сказал(а):

Спасибо. Уже читал. Вопрос был не про апи функцию а про вполне форумную функцию.

Форумные функции используют одни и те же функции. Разница лишь в том, что в форуме они вызываются внутри модулей.
/admin/applications/forums/modules_public/post/post.php
/admin/applications/forums/sources/classes/post/classPostForms.php
0

#12 Пользователь не на сайте   lifespirit ответил: »

 
 
  • Member
  • **
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: Пользователи
  • Сообщений: 17
  • Регистрация: 26-Сентябрь 14
  • Репутация: 0
  • IPB version:3.4.x
 

Отправлено 02 Октябрь 2014 - 20:36

хм... ковырял я ковырял... видимо слепой. Не нашёл куда воткнуть вызов функции, что бы передать ей IDфорума и IDтемы. Подскажите, если не трудно.
0

#13 Пользователь не на сайте   siv1987 ответил: »

 
 
  • Advanced
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: IPB Skins Team
  • Сообщений: 8 289
  • Регистрация: 20-Март 09
  • Репутация: 2 087
  • IPB version:3.1.x
 

Отправлено 02 Октябрь 2014 - 20:46

Какой функции? Ид форума и темы можно получить из массива $this->request
t - тема
f - форум
0

#14 Пользователь не на сайте   lifespirit ответил: »

 
 
  • Member
  • **
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: Пользователи
  • Сообщений: 17
  • Регистрация: 26-Сентябрь 14
  • Репутация: 0
  • IPB version:3.4.x
 

Отправлено 02 Октябрь 2014 - 22:05

То есть я могу откуда то из post.php вызвать некий самопальный файл cube.php если в посте есть нужные BBкоды где бросается кубик и постится форум, передав туда $this->request['t'] $this->request['f']? Плохо я пока это всё понимаю. =(

Сообщение изменено: lifespirit (02 Октябрь 2014 - 22:06)

0

#15 Пользователь не на сайте   lifespirit ответил: »

 
 
  • Member
  • **
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: Пользователи
  • Сообщений: 17
  • Регистрация: 26-Сентябрь 14
  • Репутация: 0
  • IPB version:3.4.x
 

Отправлено 03 Октябрь 2014 - 10:38

Всё. Разобрался. Большое спасибо за подсказки. Пойду ковырять код. Как закончу, выложу дайсомёт сюда. А то единственный существующий под 3.2.х и это печально.
0

Сообщить об этой теме:


  • 2 Страниц +
  • 1
  • 2


Быстрый ответ

  

1 пользователей читают эту тему
0 зарегистрированных, 1 гостей, 0 скрытых


Контактная информация

Вопросы по работе сайта

+7 (917) 501-4765
C 10 до 20 в рабочие дни (время московское)

Техническая поддержка

Контактные данные специалистов

Дизайн форумов

IPB 3.x ¦ IPB 2.x

Бесплатные шаблоны

IPB 3.2 – 3.4 ¦ IPB 3.1 ¦ IPB 3.0 ¦ IPB 2.2 – 2.3 ¦ IPB 2.1 ¦ Клипарт
Лицензия на использование ¦ Ваша поддержка ¦ О проекте
Copyright © 2005-2016 IPBSkins.ru Team
При копировании материалов с сайта
прямая ссылка на источник обязательна