Релизы с phpbb3 форума/трекера.. |
Здравствуйте, гость ( Вход | Регистрация )
Релизы с phpbb3 форума/трекера.. |
13.6.2009, 19:38
Сообщение
#1
|
|
Активный участник Группа: Пользователи Сообщений: 67 Регистрация: 12.10.2008 Из: Красноярск Пользователь №: 784 Спасибо сказали: 9 раз |
Собсно вот, имею трекер на двжике ppkbb3cker, он в свою очередь построен на форуме phpbb3, хотелось бы организовать вывод релизов в дц.
Птока 0.4.1.1 API2. Помойму само гуманное будет сделать сбор данных с базы данных мускл. Примерный алгоритм: Лезем в таблицу "topics", сортируем записи по столбцу `topic_time`(DESC(вроде по убыванию)). Берем запись, из неё столбцы: 'topic_title' для названия, 'topic_id' для построения ссылки, 'topic_first_poster_name' для ника релизера... Что нужно от скрипта: 1 Вывод на главную по времени, вывод в пм при входе 2 Настройка префиск таблиц для базы данных. 3 Возможность задать кол-во отображаемых релизов. 4 Возможность задать адресс сайта из которого формировать ссылки.. (пример: "http://game-forum.g-service.ru/tracker/viewtopic.php?t=") Примерный вывод как в скрипте FreshStuff: Код --------- Последние 3 релиза/тем с трекера--------
1 'topic_title' << 'адресс сайта для ссылы на темы''topic_id' >> (Добавил 'topic_first_poster_name') 2 Half-Quake: Amen (2009) [ENG] {L} (Sadism / Horror / Action / Indie) << http://game-forum.g-service.ru/tracker/viewtopic.php?t=228 >> (Добавил serrrios) 3 Supernatural.S04E21+E22.rus.vanogroup.ru (Детектив/Драма/Сериал/Ужасы/Фэнтези) << http://game-forum.g-service.ru/tracker/viewtopic.php?t=230&f=15 >> (Добавил serrrios) |
|
|
14.6.2009, 3:20
Сообщение
#2
|
|
Я коварный Санта Клаус Группа: Пользователи Сообщений: 523 Регистрация: 4.11.2008 Из: Саратов Пользователь №: 985 Спасибо сказали: 54 раза |
А RSS - неа?
|
|
|
14.6.2009, 6:07
Сообщение
#3
|
|
Активный участник Группа: Пользователи Сообщений: 67 Регистрация: 12.10.2008 Из: Красноярск Пользователь №: 784 Спасибо сказали: 9 раз |
|
|
|
14.6.2009, 12:38
Сообщение
#4
|
|
Освоившийся участник Группа: Администраторы Сообщений: 344 Регистрация: 2.6.2008 Из: RB,Ufa Пользователь №: 8 Спасибо сказали: 106 раз |
|
|
|
14.6.2009, 16:17
Сообщение
#5
|
|
Активный участник Группа: Пользователи Сообщений: 67 Регистрация: 12.10.2008 Из: Красноярск Пользователь №: 784 Спасибо сказали: 9 раз |
Огромное спасибо за скрипт.
К сожелению не все работает корректно. 1. Релизы брались не последнии, а первые. Решил добавлением одной команды в скл запрос: Цитата cur = conn:execute("SELECT "..dbprefix.."topic_id, "..dbprefix.."forum_id, "..dbprefix.."topic_title, "..dbprefix.."topic_first_poster_name FROM topics ORDER BY "..dbprefix.."topic_time DESC") 2. Не работает вывод релизов в пм при входе на хаб. Исправить не смог. 3. Забыл сказать что базы в UTF-8, надо наверно сделать выбор между кодировками в скрипте. Исправить тоже не смог, попробывал функ-ию "utf8towinru" из http://mydc.ru/topic111.html?view=findpost&p=9593 , но из-за скромных познаний луа прикрепить тоже не смог =(( 4. Еще мелкий баг, даже скорее просто придирка =) Сообщение о релизах в чате писалось не от бота, т.е. было так: Код [20:49:53] Последни(й/е) 1 релиз(а/ов) с трекера А надо было: Код [20:59:55]<[BOT]Злюка> Последни(й/е) 1 релиз(а/ов) с трекера Поправил так: Цитата local sMsg = "<"..sBot.."> Последни(й/е) "..tostring(nReleases).." релиз(а/ов) с трекера\n"
|
|
|
14.6.2009, 18:11
Сообщение
#6
|
|
Освоившийся участник Группа: Администраторы Сообщений: 344 Регистрация: 2.6.2008 Из: RB,Ufa Пользователь №: 8 Спасибо сказали: 106 раз |
Честно - не знаю, получится или нет, но попробуй ..
Для начала добавь этот код CODE local utf8_decode={ [128]={[147]='\150',[148]='\151',[152]='\145',[153]='\146',[154]='\130',[156]='\147',[157]='\148',[158]='\132',[160]='\134',[161]='\135',[162]='\149',[166]='\133',[176]='\137',[185]='\139',[186]='\155'}, [130]={[172]='\136'}, [132]={[150]='\185',[162]='\153'}, [194]={[152]='\152',[160]='\160',[164]='\164',[166]='\166',[167]='\167',[169]='\169',[171]='\171',[172]='\172',[173]='\173',[174]='\174',[176]='\176',[177]='\177',[181]='\181',[182]='\182',[183]='\183',[187]='\187'}, [208]={[129]='\168',[130]='\128',[131]='\129',[132]='\170',[133]='\189',[134]='\178',[135]='\175',[136]='\163',[137]='\138',[138]='\140',[139]='\142',[140]='\141',[143]='\143',[144]='\192',[145]='\193',[146]='\194',[147]='\195',[148]='\196', [149]='\197',[150]='\198',[151]='\199',[152]='\200',[153]='\201',[154]='\202',[155]='\203',[156]='\204',[157]='\205',[158]='\206',[159]='\207',[160]='\208',[161]='\209',[162]='\210',[163]='\211',[164]='\212',[165]='\213',[166]='\214', [167]='\215',[168]='\216',[169]='\217',[170]='\218',[171]='\219',[172]='\220',[173]='\221',[174]='\222',[175]='\223',[176]='\224',[177]='\225',[178]='\226',[179]='\227',[180]='\228',[181]='\229',[182]='\230',[183]='\231',[184]='\232', [185]='\233',[186]='\234',[187]='\235',[188]='\236',[189]='\237',[190]='\238',[191]='\239'}, [209]={[128]='\240',[129]='\241',[130]='\242',[131]='\243',[132]='\244',[133]='\245',[134]='\246',[135]='\247',[136]='\248',[137]='\249',[138]='\250',[139]='\251',[140]='\252',[141]='\253',[142]='\254',[143]='\255',[144]='\161',[145]='\184', [146]='\144',[147]='\131',[148]='\186',[149]='\190',[150]='\179',[151]='\191',[152]='\188',[153]='\154',[154]='\156',[155]='\158',[156]='\157',[158]='\162',[159]='\159'},[210]={[144]='\165',[145]='\180'} } local nmdc = { [36] = '$', [124] = '|' } function Utf8ToAnsi(s) local a, j, r, b = 0, 0, '' for i = 1, s and s:len() or 0 do b = s:byte(i) if b < 128 then if nmdc[b] then r = r..nmdc[b] else r = r..string.char(b) end elseif a == 2 then a, j = a - 1, b elseif a == 1 then a, r = a - 1, r..utf8_decode[j][b] elseif b == 226 then a = 2 elseif b == 194 or b == 208 or b == 209 or b == 210 then j, a = b, 1 else r = r..'_' end end return r end затем в sMsg перед row поставь Utf8ToAnsi( ну и соответственно в конце закрой ) Насчет вывода в PM при входе - у меня работает отлично, как для зарегистрированных так и для незарегистрированных так и для тех у кого ключик. |
|
|
14.6.2009, 19:37
Сообщение
#7
|
|
Активный участник Группа: Пользователи Сообщений: 67 Регистрация: 12.10.2008 Из: Красноярск Пользователь №: 784 Спасибо сказали: 9 раз |
Хм, поднял скрипт вверх в списке скриптов и вывод в пм заработал. Странность =)
Кодировка так и не наработает =( |
|
|
14.6.2009, 19:55
Сообщение
#8
|
|
Освоившийся участник Группа: Администраторы Сообщений: 344 Регистрация: 2.6.2008 Из: RB,Ufa Пользователь №: 8 Спасибо сказали: 106 раз |
Это не странность, а какие-то скрипты конфликтуют друг с другом. Насчет кодировки, лично я всегда при создании бд ставлю кодировку cp1251, но раз уж такое дело .. будем пробовать
|
|
|
15.6.2009, 16:36
Сообщение
#9
|
|
Активный участник Группа: Пользователи Сообщений: 67 Регистрация: 12.10.2008 Из: Красноярск Пользователь №: 784 Спасибо сказали: 9 раз |
Щас по рыскал в нете, выяснил что phpbb3 работает только в утф кодировке( Мысля с переходом на 1251 провалилась =(
Кстати, можно потом(если будет спрос) сделать скрипт мультифорумный, могу помочь с таблицами и столбцами от различных форумов. |
|
|
15.6.2009, 18:08
Сообщение
#10
|
|
Освоившийся участник Группа: Администраторы Сообщений: 344 Регистрация: 2.6.2008 Из: RB,Ufa Пользователь №: 8 Спасибо сказали: 106 раз |
Ну хз, хз. Я создавал базы cp1251 и создавал раздачи - все работало нормально. Идея "мультифорумности" хороша, будет реализована позже.
|
|
|
15.6.2009, 18:59
Сообщение
#11
|
|
Начинающий Группа: Пользователи Сообщений: 12 Регистрация: 18.3.2009 Пользователь №: 2 636 Спасибо сказали: 0 раз |
У меня выводит вот такую ошибку
Цитата 40: attempt to index global 'cur' (a nil value) стоит Ptokax 0.4.1.1 |
|
|
15.6.2009, 19:24
Сообщение
#12
|
|
RusHub team lead Группа: Модераторы Сообщений: 4 030 Регистрация: 20.6.2008 Из: г. Королёв (Моск. обл.) Пользователь №: 46 Спасибо сказали: 1708 раз |
1. Прежде чем работать с курсором нужно проверить открыт ли он?
2. Курсоры лучше делать не глобальными, а локальными переменными. 3. Курсоры нужно всегда закрывать после работы с ними! |
|
|
15.6.2009, 20:10
Сообщение
#13
|
|
Освоившийся участник Группа: Администраторы Сообщений: 344 Регистрация: 2.6.2008 Из: RB,Ufa Пользователь №: 8 Спасибо сказали: 106 раз |
прошу прощения) в дальнейшем - учту! А пока подправил ..
ppkBB3.lua ( 2.59 килобайт ) Кол-во скачиваний: 43 |
|
|
16.6.2009, 12:42
Сообщение
#14
|
|
Участник Группа: Пользователи Сообщений: 31 Регистрация: 24.11.2008 Пользователь №: 1 184 Спасибо сказали: 0 раз |
Подскажите пожалуйста как правильно устанавливать скрипт? У меня выводит следующее:
Код [13:34] ppkBB3.lua загружен. [13:34] Нет синтаксических ошибок в файле скрипта ppkBB3.lua [13:34] Синтаксис D:\Temp\PtokaX\scripts\ppkBB3.lua:15: module 'luasql.mysql' not found: no field package.preload['luasql.mysql'] no file 'D:\Temp\PtokaX\luasql\mysql.lua' no file 'D:\Temp\PtokaX\libs\luasql\mysql.lua' no file 'D:\Temp\PtokaX\scripts\libs\luasql\mysql.lua' no file 'D:\Temp\PtokaX\luasql\mysql.dll' no file 'D:\Temp\PtokaX\libs\luasql\mysql.dll' no file 'D:\Temp\PtokaX\scripts\libs\luasql\mysql.dll' no file 'D:\Temp\PtokaX\luasql.dll' no file 'D:\Temp\PtokaX\libs\luasql.dll' no file 'D:\Temp\PtokaX\scripts\libs\luasql.dll' [13:34] Скрипт запущен. Это типа у меня нет стока файлов? Если так, то где их можно взять? Всё, всё нашёл, вроде скрипт запустился нормально ^^ |
|
|
16.6.2009, 12:42
Сообщение
#15
|
|
Освоившийся участник Группа: Администраторы Сообщений: 344 Регистрация: 2.6.2008 Из: RB,Ufa Пользователь №: 8 Спасибо сказали: 106 раз |
У тебя не стоит библиотека MySQL. Скачай Отсюда и закинь в одну из этих папок
|
|
|
16.6.2009, 13:18
Сообщение
#16
|
|
Участник Группа: Пользователи Сообщений: 31 Регистрация: 24.11.2008 Пользователь №: 1 184 Спасибо сказали: 0 раз |
угу, оттуда и поставил. Щас норм.
вопрос. в настройке скрипта: dbprefix = "" -- Префикс тут надо ничего не указывать или phpbb_ ? хммм.... жду жду... не выводит он у меня релизы почему-то... и в пм тоже не выводит((( |
|
|
16.6.2009, 14:51
Сообщение
#17
|
|
МЕДВЕД =) Группа: Пользователи Сообщений: 187 Регистрация: 6.8.2008 Пользователь №: 332 Спасибо сказали: 4 раза |
dbprefix = "" -- Префикс
Префикс глянь в базе, хз какой он там именно у тебя Если движок phpbb (пофиг какая версия), то все верно: dbprefix = "phpbb_" |
|
|
16.6.2009, 15:08
Сообщение
#18
|
|
Участник Группа: Пользователи Сообщений: 31 Регистрация: 24.11.2008 Пользователь №: 1 184 Спасибо сказали: 0 раз |
|
|
|
16.6.2009, 17:41
Сообщение
#19
|
|
Освоившийся участник Группа: Администраторы Сообщений: 344 Регистрация: 2.6.2008 Из: RB,Ufa Пользователь №: 8 Спасибо сказали: 106 раз |
А ошибок птока никаких не выводит? Если читал выше, была проблема с выводом в ПМ из-за конфликта с другим скриптом, решается перемещением скрипта вверх. А насчет времени вывода, поставь интервал в секунду и не жди) если результат будет - он будет сразу. Варианта должно быть 2 - либо все работает без ошибок, либо не работает ничего и птока напишет ошибку.
|
|
|
16.6.2009, 18:21
Сообщение
#20
|
|
Участник Группа: Пользователи Сообщений: 31 Регистрация: 24.11.2008 Пользователь №: 1 184 Спасибо сказали: 0 раз |
читал тему, передвигал скрипт в самый верх. птока ошибок не выдаёт:
[19:21] ppkBB3.lua загружен. [19:21] Нет синтаксических ошибок в файле скрипта ppkBB3.lua [19:21] Скрипт запущен. результата работоспособности нет ЗЫ. есть предположение почему не выводятся данные: у меня трекер стоит не в корне сервака, а в папке, т.е. не Разобрался со своей проблемой. дело было во включённом модуле mod_rewrite. Но темнеменее в хаб не выводятся релизы х_х |
|
|
Похожие темы
|
Сейчас: 23.12.2024, 8:21 |