Единый форум поддержки

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.



API MyBB

Сообщений 41 страница 60 из 279

41

да, и всё таки надо подгрузить на сервис свежую версию стабильную версию jQuery, поскольку расширенные функции по работе с ajax запросами появились начиная с версии jQuery 1.5, а мы до сих пор на 1.4.4, стабильная на данный момент 1.7.1 и даже если некоторые методы изменились и отличаются от версии 1.4.4, я думаю мы оперативно исправим свои скрипты, с которыми возможны конфликты при переходе на старшую версию библиотеки

0

42

ignition, очень желательны, кроме пяти копеек, ещё и предложения по API ;)

Romych написал(а):

я в своё время пытался через ajax запросы прошерстить все темы на наличие в них блока #poll-special

DDoS нервно курит в сторонке  :no:
А вообще действительно только так можно определить есть ли опрос в теме  :suspicious:

Deff написал(а):

Для защит от чреватостей, - данному боту достаточно присвоить некую группу,

Какой бот, какая группа?

С IE (любых версий)  есть проблемы при аяксе - кэширует беспощадно  :suspicious:

Romych написал(а):

да, и всё таки надо подгрузить на сервис свежую версию стабильную версию jQuery

Romych, это верно.
Надо бы обновить jQ на последнюю стаб. версию; но при этом некоторые скрипты придётся переписать...
Зато в более новых версиях jQ (в сравнении с 1.4.4) быстродействие выше и возможностей больше.

0

43

RUSSIAN_GOBLIN написал(а):

Какой бот, какая группа?

Deff написал(а):

было  бы интересным решения Post аякс запроса на запись.

Средствами API или аякс - была бы занчительно интересней как для оценки постов(можно было бы дописать и "за что" как у DUKI, так и

данное новведение позволило бы реализовать
а) Нормальный магазин форум - принадлежностей
b) Расширенную статистику
с) Наградную страницу пользователя

В Противном случае - даннные востребования пользователей будут удовлетворяцо треёхфреймовым псевдоаяксом, либо партнёрскими PHP скриптами, что не создаёт дружественной почвы равного старта для партнера.

Отредактировано Deff (Чт, 15 Мар 2012 17:15:50)

0

44

Deff написал(а):

Не наю про серверные ухищрения - но при аякс запросах, в ИЕ мне пришлось менять адрес на левый - перезапрашивать ненужную страницу - ток потом восстанавливать старый - дабы прочесть очередной раз последнее сообщение, последней страницы

Код:
<script type="text/javascript">
var idTopic='30034', idPage='3';
$.ajax({
type: 'GET',
url: '/viewtopic.php?id='+idTopic+'&p='+idPage+'#random=' + Math.random(),
success: function (data) {
   var content = $(data).find('div.post-content:last').html()
   alert(content);
    // и делай всё что хошь :-) но сервера МуВВ не насилуй многомерными фреймами и аяксами =)

  }
});
</script>
Deff написал(а):

Средствами API или аякс - была бы занчительно интересней как для оценки постов(можно было бы дописать и "за что" как у DUKI, так и...

В Противном случае - даннные востребования пользователей будут удовлетворяцо треёхфреймовым псевдоаяксом, либо партнёрскими PHP скриптами, что не создаёт дружественной почвы равного старта для партнера.

Посмотрим.
Всё решает Admin. Не забывай.

+1

45

RUSSIAN_GOBLIN
Дык мну про то - что мне влезать в твое уже ни к чему, просто попробуй расписать Вид пост запроса... ксать оно и тобой будет весьма  востребовано...
  Ксать - ,будет весьма прохладен ток Duka - посколь у него достаточно развитое API на запись

Собственно при открытии темы - очевидно - id форума , добавки сообщений - id темы, правки сообщения - id поста

Отредактировано Deff (Чт, 15 Мар 2012 17:45:42)

0

46

RUSSIAN_GOBLIN написал(а):

Всё решает Admin. Не забывай.

Не думаю, что судя по развитию расширений для mybb Максим тож не видит, что изготовление куков(*утрирую) только на чтение, чревато нарастающей потребностью и в их записи. Развитие любых привлекательных проектов упрётся именно в запись... причем ведется она от общего Forum_bota c собственой группой, (для которой текущей администрацией открывается лишь нужный форум), поскольку есть правка(и не писать же в новом посте для правки 1 на 2)

Отредактировано Deff (Пт, 16 Мар 2012 10:24:11)

0

47

Deff написал(а):

Дык мну про то - что мне влезать в твое уже ни к чему, просто попробуй расписать Вид пост запроса... ксать оно и тобой будет весьма  востребовано...

???
Это всего лишь мои предложения, а ты естественно можешь своё предложить. И не только ты, но и любой заинтересованный.

Сразу скажу, я подумал и решил -- в моих предложениях по API не будет методов записи в сообщения (т.е. создание тем/опросов, новых сообщений и их редактирования).

Но не унывай, моё предложение по API, которое я опубликую последним, перекроет собой отсутствие записи в сообщения.  :yep:   ;)

Осталось -- доступ к:
спискам юзеров (там же рейтинг поста),
нтмл-контенту,
ЛС,
опросам,
серверному хранилищу.

Deff написал(а):

Не думаю, что судя по развитию расширений для mybb Максим тож не видит, что изготовление куков только на чтение, чревато нарастающей потребностью и в их записи.

А я считаю, что из-за того что куки хранятся на стороне клиента, т.е. браузеров пользователей, Admin'у до лампочки на кукисы.
Ему, пожалуй, важно чтобы "печенюжки", которые создаются движком форумов, нормально работали - читались, писались и сохранялись.

0

48

RUSSIAN_GOBLIN
Отсутствием поддержки - ти просто толкаешь на реализацию аякс фреймом - уже сейчас - возвращацо после создания достаточно мощного фреймо-АPI к урезанному - смысл ?

Отредактировано Deff (Пт, 16 Мар 2012 08:47:53)

0

49

Deff написал(а):

Отсутствием поддержки - ти просто толкаешь на реализацию аякс фреймом - уже сейчас - возвращацо после создания достаточно мощного фреймо АPI к урезанному - смысл ?

Не понял.

Отредактировано RUSSIAN_GOBLIN (Чт, 15 Мар 2012 19:34:08)

0

50

RUSSIAN_GOBLIN написал(а):

А я считаю, что из-за того что куки хранятся на стороне клиента, т.е. браузеров пользователей, Admin'у до лампочки на кукисы.

Причем тут куки - Они спецом выделены для аналогии - кому они нужны - коли все основные прибамбасы - уже реализованы то ли аякс - то ли фреймом - тем паче думаю что и более быстрее чем через API...

Следующие востребованые реализации для юзеров(не для партнерок) Магазин, расширенная статистика, наградные страницы...

Всё это  пока не привязывается в твоей идеалогии

Для сервиса
1.Необходимы функции позволяющие предложить более удобные и простые варианты АPI для реализации предыдущих скриптов, снижающие  запросную  нагрузку на сервер сейчас и впоследствии.
Для Скриптов 'Первого Сообщения', 'Вывод Опросов на главную', 'ИНфо-Панель - Кто-где';

2.Предотвратить создание новых нагрузок новыми востребованными скриптами требующих Аякса и фреймов
(Было перечислено Выше

Пока понимания ситуации не обнаружено

Отредактировано Deff (Чт, 15 Мар 2012 23:20:59)

0

51

Продолжаем-с  :glasses:

3. Доступ к спискам юзеров

а) доступ к списку участников форума

Аргумент -> data
Значение -> userList

Возвращает массив с инфой об участниках форума.
По сути, это доступ к данным что отображаются здесь: /userlist.php
но всё-таки с большим количеством доступных данных.

Пример:
Запрос:

Код:
https://forum.mybb.ru/api.php?data=userList

Ответ:

Код:
 [{"id":"2","login":"Admin","groupId":"1","groupTitle":"Администраторы","status":"без бороды и бубна","avatar":"/img/avatars/0000/14/1c/2-1248194534.gif","posts":"2555","registered":"1330839545","lastVizit":"1331839545"},
{"ключ":"значение","ключ":"значение" и т.д.},
{"ключ":"значение","ключ":"значение" и т.д.},
{"ключ":"значение","ключ":"значение" и т.д.},
и т.д.
]

Доп. параметры запроса:

Аргумент -> groupId
Значение -> id-шник группы
При не нулевом значении ограничивает массив ответа участниками какой-либо одной группы

0 или явное отсутствие в запросе - все группы
1 - админы, 2 - модеры, 3 гости, 4 юзеры и т.п.

Аргумент -> sort_by
Значение -> номер признака сортировки юзеров в массиве ответа
Указывает порядок расположения инфы в массиве ответа

0 или явно не указано в запросе - по UserID
1 - по алфавитному расположению логинов
2 - по времени регистрации в формате кол-ва сек с начала эпохи UNIX
4 - по времени последнего визита в формате кол-ва сек с начала эпохи UNIX
5 - по количеству сообщений

Аргумент -> sort_dir
Значение -> номер признака упорядочивания юзеров в массиве ответа
Указывает принцип упорядочивания инфы в массиве ответа

0 или явно не указано - по возрастанию
1 - по убыванию

Аргумент -> timeVizit
Значение -> число секунд
Ограничивает массив ответа участниками что были последних раз на форуме не позднее заданного (значением в запросе) числа секунд назад.

Пример:
Запрос:

Код:
https://forum.mybb.ru/api.php?data=userList&timeVizit=3600

Ответом будет массив с инфой об участниках, которые были на форуме в течении одного часа до момента запроса.
Т.е.:

if(( текущее время в сек от нач. эп. UNIX время последнего визита юзера )< timeVizit )

Массив будет иметь сортировку по UserID, упорядочивание по возрастанию, т.к. значения сортировки и упорядочивания явно не указаны.

Аргумент -> max
Значение -> максимальное кол-во юзеров выводимых в массиве
Ограничивает в массиве ответа количество данных об участниках, по кол-ву участников

Используемые ключи:
id - UserID
login - логин
groupId - идентификационный номер группы
groupTitle - название группы
status - статус участника
avatar - относительный путь к аватару "/img/avatars/0000/*********.jpg", если не установлен - пустая текст. строка
posts - число постов данного юзера
registered - дата регистрации на форуме (для гл. админа момент создания форума) в секундах от начала эпохи UNIX
lastVizit - дата последнего визита в секундах от начала эпохи UNIX

Получение только нужных данных в массиве
Это возможно при использовании доп. аргументов со значением 1.

Примеры:

Запрос:

Код:
https://forum.mybb.ru/api.php?data=userList&login=1

Ответ:

Код:
[{"login":"Admin"},
{"login":"Dron"},
{"login":"Priest"},
и т.д.
]

В ответе массив логинов всех зарегистрированных участников форума, сортировка по умолчанию (UserID), упорядочивание по умолчанию (возрастание).

Запрос:

Код:
https://forum.mybb.ru/api.php?data=userList&groupId=2&login=1

Ответ:

Код:
[{"login":"Le$vEr"},
{"login":".Slip"},
{"login":"prizrak"},
{"login":"Bendernative"},
{"login":"[M.@.t.r.i.x]"},
{"login":"mkusher"},
{"login":"Impuls 101"},
{"login":"Romul"}]

В ответе массив логинов членов группы Модераторы,  сортировка по умолчанию т.е. по UserID, упорядочивание по умолчанию, т.е. по возрастанию.

----------------------

б) доступ к списку посетителей форума, находящихся онлайн
Т.е. доступ к инфе отсюда: /online.php

Аргумент -> data
Значение -> userOnline

Возвращает массив со доступной информацией о посетителях форума, находящихся онлайн.
Сортировка в массиве осуществляется по времени последнего действия, упорядочивание по убыванию.

Пример:
Запрос:

Код:
https://forum.mybb.ru/api.php?data=userOnline

Ответ:

Код:
[{"id":"2", "login":"Admin","groupId":"2","ip":"","avatar":"/img/avatars/0000/14/1c/2-1248194534.gif","lastAction":"<a href="https://forum.mybb.ru/">Админит с форумами</a>","time":"1331839553"},
{"id":"11", "login":"Dron","groupId":"4","ip":"","avatar":"/img/avatars/0000/********.gif","lastAction":"Читает тему: <a href="https://forum.mybb.ru/viewtopic.php?id=30011">НескончаеМЫе общие вопросы от новичков (37)</a>","time":"1331839530"},
{"id":"12", "login":"Priest","groupId":"4","ip":"","avatar":"/img/avatars/0000/*******.gif","lastAction":"В форуме: <a href="https://forum.mybb.ru/viewforum.php?id=16">Новые возможности форумов</a>","time":"1331839510"},
и т.д.
]

Используемые ключи:
id - номер идентификатора участника, у Гостя - 1
login - логин участника, у гостя - Гость
status - статус участника; у гостя пустая текст. строка, если статус не установлен гостям в Администрирование / Группы
groupId - идентификационный номер группы
ip - айпи-адрес (ай-пи возвращается только членам гр. Админ., остальные получают пустую тект. строку.
Т.е. тут нужен учёт авторизованной сессии: если есть сессия участника форума и юзер гр. Админ - передавать айпи-адрес. Всем остальным - модераторам, простым юзерам и гостям - пустая текст. строка)
avatar - относительный путь к аватару "/img/avatars/0000/*********.jpg", у гостя и тех, у кого авик не установлен - пустая текст. строка
lastAction - описание действия + ссылка, т.е. "Действие <a href="http://*******">*******</a>"
timeAction - дата последнего действия в секундах от начала эпохи UNIX

Получение только нужных данных
Это возможно при использовании доп. аргументов со значением 1.

Примеры:
Запрос:

Код:
https://forum.mybb.ru/api.php?data=userOnline&login=1

Ответ:

Код:
[{"login":"Admin"},
{"login":"Dron"},
{"login":"Priest"},
и т.д.
]

Запрос:

Код:
https://forum.mybb.ru/api.php?data=userOnline&login=1&lastAction=1

Ответ:

Код:
[{"login":"Admin","lastAction":"<a href="https://forum.mybb.ru/">Админит с форумами</a>"},
{"login":"Dron","lastAction":"Читает тему: <a href="https://forum.mybb.ru/viewtopic.php?id=30011">НескончаеМЫе общие вопросы от новичков (37)</a>"},
{"login":"Priest","lastAction":"В форуме: <a href="https://forum.mybb.ru/viewforum.php?id=16">Новые возможности форумов</a>"},
и т.д.
]

-------------------------------

в) доступ к списку участников форума, давших оценку конкретному посту
Т.е. примерно эту инфу - https://forum.mybb.ru/respect.php?id=2 , но не для всех постов, а только для выбранного поста путём передачи в запросе обязательного аргумента  postId со значением равным идентификационному номеру поста.

Аргумент -> data
Значение -> patingPost

Аргумент -> postId - обязательный аргумент в запросе
Значение -> идентификационный номер поста

Возвращает массив с информацией об участниках форума, давших оценку определённому посту.
Сортировка по дате оценки, упорядочивание по убыванию.

Пример:

Запрос:

Код:
https://forum.mybb.ru/api.php?data=ratingPost&postId=746501

Ответ:

Код:
[{"id":"20753", "login":"geka996", "avatar":"/img/avatars/0000/********.gif", "rating":"1", "time":"1331839553"},
{"id":"22787", "login":"Deff", "avatar":"/img/avatars/0000/********.gif", "rating":"1", "time":"1331839530"}]

Используемые ключи:
id - номер идентификатора участника
status - статус участника
avatar - относительный путь к аватару строкой, т.е. "/img/avatars/********.jpg"; если не установлен аватар, то пустая текст. строка
time - дата выставления оценки в секундах от начала эпохи UNIX
rating - оценка: "1" если положит., и "-1" если отриц.

Получение только нужных данных
Это возможно при использовании доп. аргументов со значением 1.

Примеры:
Запрос:

Код:
https://forum.mybb.ru/api.php?data=ratingPost&postId=746501&id=1&login=1&rating=1

Ответ:

Код:
[{"id":"20753", "login":"geka996", "rating":"1"},
{"id":"22787", "login":"Deff", "rating":"1"}]

Отредактировано RUSSIAN_GOBLIN (Пт, 16 Мар 2012 12:07:11)

0

52

Deff написал(а):

Для сервиса
1.Необходимы функции позволяющие предложить более удобные и простые варианты АPI для реализации предыдущих скриптов, снижающие  запросную  нагрузку на сервер сейчас и впоследствии.
Для Скриптов 'Первого Сообщения', 'Вывод Опросов на главную', 'ИНфо-Панель - Кто-где';

Ух ты! У меня оказываеццо есть идеология  :jumping:

Доступ к посетителям, находящимся онлайн - решает задачу создания, с помощью API, аналога "Инфо-панели: кто - где".

А доступ к списку юзеров, давших оценку посту, даёт возможность сделать скрипт Ромычу.

Кроме этого доступ к списку юзеров, решает задачу создания скрипта статистики "Посетили за сутки" для партнёров.
В Настройщике "Недавние посетители форума" работают так: страница /userlist.php дёргается с сервера МуВВ скриптом на хостинге, парсится инфа и выдаётся список готовый (он кэшируется на сервере на 1 час), который принимает js-скрипт Настройщика  :tired:

Попозже опубликую доступ к НТМL-контенту.

Deff, кстати, зачем через фрейм берёшь последнее сообщение темы? Чо скрипт-то с ним делает?

0

53

RUSSIAN_GOBLIN
Портал как то делал как на PUNBB

Нужна запись на форум .. иначе и тьву придецо к каждому форумы приделывать дополнительное BD на партнёрке - мы это уже прошли

Отредактировано Deff (Пт, 16 Мар 2012 12:09:11)

0

54

Deff написал(а):

дополнительное BD

Шо за зверь?  :O

0

55

Внимание - исправление!

Дополнение к: 2. Доступ к информации об участнике форума
Часть: доступ по UserLogin

Перед отправкой get-запросом логина, он должен быть кодирован с помощью метода Base64:

Код метода:

Код:
<script type="text/javascript">
var Base64 = {
   _keyStr : "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",
    encode : function (input) {
      var output = "";
      var chr1, chr2, chr3, enc1, enc2, enc3, enc4;
      var i = 0
         while (i < input.length) {
       chr1 = input.charCodeAt(i++);
        chr2 = input.charCodeAt(i++);
        chr3 = input.charCodeAt(i++);
       enc1 = chr1 >> 2;
        enc2 = ((chr1 & 3) << 4) | (chr2 >> 4);
        enc3 = ((chr2 & 15) << 2) | (chr3 >> 6);
        enc4 = chr3 & 63;
       if( isNaN(chr2) ) {
           enc3 = enc4 = 64;
        }else if( isNaN(chr3) ){
          enc4 = 64;
        }
       output = output +
        this._keyStr.charAt(enc1) + this._keyStr.charAt(enc2) +
        this._keyStr.charAt(enc3) + this._keyStr.charAt(enc4);
     }
      return output;
    }
}
</script>

Пример вызова:

Код:
<script type="text/javascript">
var mylogin = 'Неадекватный адекват';
$.getJSON("api.php", { data: "user", login: Base64.encode(mylogin)  }, function(json) {
      //тут получение инфы об юзере и манипуляции с инфой...
    });
</script>

На сервере, логин должен быть раскодирован функцией языка PHP - base64_decode();

Это всё из-за того что в логине могут быть пробелы, русские символы и спецсимволы   :insane:
Хотя может Admin придумает другое решение, что-нибудь поудачней  :idea:

0

56

RUSSIAN_GOBLIN
BD, - База Данных, простейший пример - напоминалка в Админке на Rusff (удобная весчь) - так считал из топика и вставил - а так - размещай на партнёрке... ксать и настройки твоих скриптов(загружаемых)  можно воткнуть в топик - ты же кэширование заказал ...(Я уже не говорю об инфе, кто и за что поставил плюсы, наградной лист, магазин - кто и что купил...а так открыл тему с ником... там и награды и кто и за что и т.д

Ко всему прочему тема - может быть видна ток Forum_botu (в установках форума), посколь группа иная

Отредактировано Deff (Пт, 16 Мар 2012 13:18:07)

0

57

Deff написал(а):

БД, простейший пример - напоминалка в Админке на Rusff (удобная весчь) - так считал из топика и вставил - а так - размещай на партнёрке...

Опиши что это поподробней в ЛС.

0

58

RUSSIAN_GOBLIN написал(а):

Это всё из-за того что в логине могут быть пробелы, русские символы и спецсимволы   
Хотя может Admin придумает другое решение, что-нибудь поудачней

А чо не как обычно encodeURIComponent, вродь ники не слишком длинныя ? можно и отправлять сразу кодированное (или в кодирование вставить в саму функцию преобразования при отправке

Отредактировано Deff (Пт, 16 Мар 2012 13:09:07)

0

59

Deff написал(а):

А чо не как обычно encodeURIComponent

Дык вроде бы нет в PHP функции для расшифровки этого.
Кажется:  rawurldecode(); и urldecode(); не так расшифровывают, как расшифровывает в javascript функция decodeURIComponent();

0

60

RUSSIAN_GOBLIN написал(а):

Дык вроде бы нет в PHP функции для расшифровки этого.

http://mex.su/a5Q4i
rawurlencode
RawUrlEncode

0