форум vBSupport.ru > vBulletin > vBulletin 3.8.x > Made in vBSupport.org 3.8
Register Меню vBsupport Изображения Files Manager О рекламе Today's Posts Search
  • Родная гавань
  • Блок РКН снят
  • Premoderation
  • For English speaking users
  • Каталог Фрилансеров
  • If you want to buy some product or script
  • Администраторам
VBsupport перешел с домена .ORG на родной .RU Ура! Пожалуйста, обновите свои закладки - VBsupport.ru
Блок РКН снят, форум доступен на всей территории России, включая новые терртории, без VPN
На форуме введена премодерация ВСЕХ новых пользователей

Почта с временных сервисов, типа mailinator.com, gawab.com и/или прочих, которые предоставляют временный почтовый ящик без регистрации и/или почтовый ящик для рассылки спама, отслеживается и блокируется, а так же заносится в спам-блок форума, аккаунты удаляются
for English speaking users:
You may be surprised with restriction of access to the attachments of the forum. The reason is the recent change in vbsupport.org strategy:

- users with reputation < 10 belong to "simple_users" users' group
- if your reputation > 10 then administrator (kerk, Luvilla) can decide to move you into an "improved" group, but only manually

Main idea is to increase motivation of community members to share their ideas and willingness to support to each other. You may write an article for the subject where you are good enough, you may answer questions, you may share vbulletin.com/org content with vbsupport.org users, receiving "thanks" equal your reputation points. We should not only consume, we should produce something.

- you may:
* increase your reputation (doing something useful for another members of community) and being improved
* purchase temporary access to the improved category:
10 $ for 3 months. - this group can download attachments, reputation/posts do not matter.
20 $ for 3 months. - this group can download attachments, reputation/posts do not matter + adds eliminated + Inbox capacity increased + files manager increased permissions.

Please contact kerk or Luvilla regarding payments.

Important!:
- if your reputation will become less then 0, you will be moved into "simple_users" users' group automatically.*
*for temporary groups (pre-paid for 3 months) reputation/posts do not matter.
Уважаемые пользователи!

На форуме открыт новый раздел "Каталог фрилансеров"

и отдельный раздел для платных заказов "Куплю/Закажу"

Если вы хотите приобрести какой то скрипт/продукт/хак из каталогов перечисленных ниже:
Каталог модулей/хаков
Ещё раз обращаем Ваше внимание: всё, что Вы скачиваете и устанавливаете на свой форум, Вы устанавливаете исключительно на свой страх и риск.
Сообщество vBSupport'а физически не в состоянии проверять все стили, хаки и нули, выкладываемые пользователями.
Помните: безопасность Вашего проекта - Ваша забота.
Убедительная просьба: при обнаружении уязвимостей или сомнительных кодов обязательно отписывайтесь в теме хака/стиля
Спасибо за понимание
 
 
 
 
SMak044
Эксперт
 
SMak044's Avatar
Default Набор дополнительных функций
15

Продукт: Набор дополнительных функций
Версия: 1.0
Описание: Продукт представляет собой набор функций связанный с анализом интересов пользователя, мониторингом его местоположения и содержанием страницы темы.
Функции разделены на 3 направления:
  • Интересы пользователя
    Интересы пользователя представляют собой набор слов наиболее часто употребляемых пользователем, что дает возможность определить его круг интересов. Список интересов пользователя формируются в момент отправки пользователем сообщения на форум и хранятся в БД.
    При составлении интересов пользователя может быть использован морфологический анализ (рекомендуется), что позволяет приводить слова к нормальной словоформе и ограничить по частям речи. Например только глаголы, существительные, прилагательные и фразеологизмы.
    Так же продукт составляет набор интересов всех пользователей.
    Набор интересов пользователя представляет из себя массив упорядоченный по частоте использования слов от наиболее часто используемого к наименее. В БД храниться весь набор интересов пользователя, но вывести для работы можно ограниченное количество элементов.
    Если формирование интересов пользователя включено, то в массив $vbulletin->userinfo будет добавляться элемент userinterests, куда и будет выводиться набор интересов пользователя в виде массива. Ограничить количество интересов пользователя выводимых в массив $vbulletin->userinfo['userinterests'] можно к настройках продукта в параметрах Количество выводимых интересов пользователя и Количество элементов интересов пользователя, как процент.
    Функции позволяющие получить интересы пользователя:
  • Местоположение пользователя
    Местоположение пользователя определяется с помощью свободной библиотеки GeoLite City от MaxMind по IP адресу. В продукте используется информация в бинарном формате, последнее обновление Вы сможете получить по ссылке GeoLite City Binary Format (gzip) или GeoLite City Binary Format (xz). Новый файл GeoLiteCity.dat необходимо загрузить на форум в каталог includes/geoip/, обновление выходит ежемесячно.
    При включении функции "Определение местоположения пользователя по IP адресу", в БД будет сохраняться история местоположения пользователя при каждом посещении форума, а в массив $vbulletin->userinfo будет добавляться элемент usergeoip, который представляет собой массив следующего вида:
    • userip - IP адрес пользователя
    • country_code - Код страны (RU)
    • country_code3 - Код страны (RUS)
    • country_name - Название страны (Ukraine)
    • region - Код региона (12)
    • region_name - Название региона (Kyyiv)
    • city - Название города (Kiev)
    • postal_code - Почтовый индекс (03121)
    • latitude - Географические координаты
    • longitude - Географические координаты
    • metro_code - Коды агломераций (Агломерации США) (Только США)
    • area_code - Телефонный код территории (Только США)
    • continent_code - Код континента (NA)
    Вы сможете получить набор данных по истории местоположения пользователя воспользовавшись одной из следующих функций:
  • Список слов по содержанию страницы темы
    При включении составления списка слов по содержанию страницы темы, в массив $threadinfo будет добавлен элемент pagecontent, который представляет собой массив слов содержащихся на странице и упорядоченный от наиболее часто встречающихся на странице к наименее часто встречающимся.
    При формировании списка слов можно использовать морфологический анализ (рекомендуется) для приведения слов в нормальную словоформу и ограничения по частям речи.
    Содержанием массива $threadinfo['pagecontent'] можно управлять в настройках продукта в параметре Количество слов выводимых в списке слов по содержанию страницы темы.
    Функцию вывода списка слов содержащихся на страницах темы можно использовать в других модулях на форуме, для этого необходимо вызвать функцию:
Скриншоты:

Скачать:
Установка:

Проверено на совместимость с vB4. Ошибок при проверке не выявлено.
Любую функциональность набора можно отключить в случае отсутствия необходимости в ее использовании.

Last edited by SMak044 : 03-02-2012 at 04:44 AM. Reason: Добавлено сообщение
Bot
Yandex Bot Yandex Bot is online now
 
Join Date: 05.05.2005
Реклама на форуме А что у нас тут интересного? =)
 
 
kerk
k0t
 
kerk's Avatar
Default
0

как часто обновляется/добавляется инфа о юзере в таблицах хака?
таблицы "интересов"
таблицы "месторасположения"
и т.д..
==
при каждой отправке поста пользователем?
 
 
liner
Эксперт
 
liner's Avatar
Default
0

Местоположение выводится на карту?
 
 
sejd
Эксперт
 
sejd's Avatar
Default
2

По ощущению, что-то очень полезное. А как и для чего это можно использовать?
Просто сбор информации о пользователе для админов?

Если да, то есть предложение, на базе этой системы сделать что-то вроде автоматически генерирующегося списка рекомендуемых друзей по интересам, назвать "единомышленники".
Вообще очень интересные перспективы и возможности у данного хака.

Last edited by sejd : 01-30-2012 at 09:29 PM.
 
 
SMak044
Эксперт
 
SMak044's Avatar
Default
1

Quote:
Originally Posted by kerk View Post
как часто обновляется/добавляется инфа о юзере в таблицах хака?
таблицы "интересов"
таблицы "месторасположения"
и т.д..
==
при каждой отправке поста пользователем?
Интересы пользователя обновляются при размещении сообщения в тему.
Информация храниться в сериализованом массиве. При добавлении сообщение, оно обрабатывается, находятся слова длинной не меньше указного в настройках, разрешенные в частях речи и сгруппированные. Полученный массив сравнивается с уже имеющийся массивом в БД, который обновляется и записывается снова в БД. Интересы всех пользователей это запись в БД в виде сериализованного массива. С ним происходит тоже самое в тоже время.

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

Список слов содержания страницы темы, составляется один раз для каждой страницы форума в момент первого захода на эту страницу. Так как ключевым значением является переменная $ids (список id сообщений на странице), то я взял ее за основу для получения md5 и использовать его как ключ в таблице. Если ключ существует, то берется значение из БД, если нет, то обрабатываются все сообщения из списка $ids. Опять таки отсеивается все лишнее и не нужное, группируются слова, сортируются по убыванию и полученный результат сохраняется в БД как сериализованный массив.
 
 
liner
Эксперт
 
liner's Avatar
Default
2

Quote:
Originally Posted by sejd View Post
По ощущению, что-то очень полезное
и масштабное, как и прежде SMak044 пишет эпические вещи
Quote:
Originally Posted by sejd View Post
А как и для чего это можно использовать?
+1
особенно вопрос касается местоположения.
 
 
SMak044
Эксперт
 
SMak044's Avatar
Default
2

Quote:
Originally Posted by liner View Post
Местоположение выводится на карту?
Не делал этого, но если присутствует информация latitude и longitude для этого ip адреса, то не вижу причин не прикрутить карту. Просто я не занимался этим вопросом.

SMak044 добавил 30.01.2012 в 20:52
Quote:
Originally Posted by sejd View Post
А как и для чего это можно использовать?
Просто сбор информации о пользователе для админов?
Если да, то есть предложение, на базе этой системы сделать что-то вроде автоматически генерирующегося списка рекомендуемых друзей по интересам, назвать "единомышленники".
Я делал этот хак не как готовый продукт, а именно как набор функций, которые можно применить в других продуктах.
Как его можно использовать:
1. Не помню в какой теме, но поднимался вопрос вывода меток в метатегах, имея спсиcок слов по содержанию страницы их можно вывести в метаданных каждой страницы как keywords.
2. Используя этот список можно вывести объявление, которое будет соответствовать содержанию на странице.
3. Используя интересы пользователя можно оповещать пользователей о создании тем по их интересам...
4. Можно предлагать за деньги информацию о своих пользователях рекламодателям... А объединив с местом расположения можно предоставить рекламодателю, на платной основе, список пользователей для личных сообщений.
5. И конечно можно находить друзей со сходными интересами, но тут уже сложнее, так как надо проводить много сравнений. Хотя я и сделал функции поиска похожих пользователей, но я не уверен. что она будет работать правильно. Вызвать ее можно так:
PHP Code:
require_once(DIR '/includes/functions_funkit.php');  
$results funkit_similaruser($userid$quantity$percent=false); 
При формировании списка интересов проводится расчет стоимости 100 наиболее часто встречающихся слов, где каждая буква имеет свою стоимость, они суммируются и это значение вноситься в БД.
Результатом работы этой функции будет массив ID пользователей, ближайших по количеству ($quantity / 2) как в большую так и в меньшую сторону, если указан второй параметр. то будут выведены все ID пользователя сумма интересов пользователя попадет в эти рамки как в большую так и в меньшую сторону.
Я не публиковал информацию про эту функцию по причине того, что проверить правильность ее работы не могу.

Last edited by SMak044 : 01-30-2012 at 10:52 PM. Reason: Добавлено сообщение
 
 
sejd
Эксперт
 
sejd's Avatar
Default
1

Оффтоп
 
 
SMak044
Эксперт
 
SMak044's Avatar
Default Для тех кто понимает в php коде
1

Так как весь набор весит много, а многие хотят ознакомиться с самим кодом, выкладываю файл продукта и файл функций.
Все остальные файлы имеют отношение к библиотеке морфологического анализа и к определению местоположения по ip.
Attached Files
File Type: xml funkit_v1_utf8.xml (36.8 KB, 2 views)
File Type: php functions_funkit.php (31.4 KB, 4 views)
 
 
kerk
k0t
 
kerk's Avatar
Default
2

SMak044,
было бы наверное правильно использовать существующую воблофункцию в запросах, раз уж объект $vbulletin объявлен как глобальный в функциях
вместо:
PHP Code:
addslashes($value
заменить на это:
PHP Code:
$vbulletin->db->escape_string($value
и еще
я продукт не смотрел, незнаю структуру таблиц, есть ли в таблице funkit_setting AUTO_INCREMENT ?
там в одной функции заметил добавление данных в эту таблицу с использованием REPLACE INTO
если инкрементного поля нет, данные могут дублироваться, тогда может лучше использовать REPLACE IGNORE INTO, что бы избежать ошибок типа "дупликате ентри"
 

Tags
дополнительные функции, интересы


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off




All times are GMT +4. The time now is 08:38 AM.


Powered by vBulletin® Version Ъ Edition
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.