Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

MyDC.ru _ Сетевые скрипты [PtokaX] _ Userbars

Автор: alex82 1.1.2010, 21:24

Userbars

Версия: 1.00
Версия API: API2
Совместимость с Linux: частично
Автор: alex82

Описание:
Скрипт создает юзербары для пользователей хаба, содержащие ник юзера, и размер его шары. При выходе юзера с хаба, размер шары заменяется на надпись "оффлайн".

Для работы скрипта требуются:
*Библиотека http://mydc.ru/topic2356.html
*И, разумеется, Apache (или любой другой веб-сервер)


P.S. Результат работы скрипта можно наблюдать на хабе myDC.ru.

 Userbars_1.00.rar ( 14.74 килобайт ) : 351

Автор: Хабыч 1.1.2010, 21:50

супер! спасибо большое alex82 big_smile.gif а как сделать чтобы он делал несколько изображений?
пример чтобы он делал юзербар simple и simple2 и так же bg и bg2? baffle.gif

Автор: alex82 1.1.2010, 22:02

Цитата(Хабыч @ 1.1.2010, 20:50) *
а как сделать чтобы он делал несколько изображений?
пример чтобы он делал юзербар simple и simple2 и так же bg и bg2? baffle.gif
Открывай настройки юзербаров (userbars_cfg.lu), и добавляй сколько влезет. big_smile.gif

Автор: Хабыч 1.1.2010, 23:26

А как код для форума поправить? Чтобы он был не [IMG16:LOAD]
А

Код
[img]http://coolhub.sytes.net/coolhub.info/ub/7361796D6F6E.png[/img]
big_smile.gif

Автор: alex82 1.1.2010, 23:56

Цитата(Хабыч @ 1.1.2010, 22:26) *
А как код для форума поправить? Чтобы он был не [IMG16:LOAD]...
...отключить обработку вв-кодов в читерском грейлинке. bad_smile.gif

Автор: Unterlink(X-Sky) 3.1.2010, 22:28

Спасибо огромное. Работает отлично.

Автор: Unterlink(X-Sky) 4.1.2010, 11:21

Можно ли сделать получение юзерюбара через веб-интерфейс?

Автор: Хабыч 4.1.2010, 13:05

можно, PHP GD, и вроде IMagick юзать надо, и возможно мускуль, хотел я заняться поучить, но резко чёт забил :(

Автор: smint 6.1.2010, 15:06

чет у меня нифига не работает сам скрипт пашет выбираю юзербарку дает ссылки а там типо нет такой страницы хотя папку на веб сервере указал(

Автор: Unterlink(X-Sky) 6.1.2010, 21:47

Ну значит что-то сделал не так. У меня в подписи пример того, что скрипт работает отлично.

Автор: Хабыч 8.1.2010, 1:42

попробовал добавить бб код в код вставки на форумах вышла ошибка

\Userbars.lua:142: 'end' expected (to close 'if' at line 140) near 'http'

Код
[url="http://coolhub.sytes.net"] [img]"..url.."[/img] [/url]
что не так подскажите плиз?

Автор: alex82 8.1.2010, 1:45

Хабыч
Кавычки внутри строк надо экранировать. Вот так:

Код
\"

Автор: PRIZrak 24.1.2010, 16:29

Отличный скрипт! Вопросик: а как увеличить размер надписи НИКА и объёма шары, например, до размера надписи "sample" ?

Автор: denis 25.1.2010, 12:20

Такой вопрос.Запусил скрипт , единственный на хабе , так как собераю его , он работает в птоке , но в чате признаков жизни не подаёт.Ошибок не выбивает , только если делаешь проверку

Цитата
[11:19] Синтаксис [string "--#########################################..."]:8: attempt to index a nil value

Автор: PRIZrak 25.1.2010, 19:33

После запуска перезаходить пробовал?

Автор: Saymon 25.1.2010, 19:34

denis у меня тоже эта же ошибка но на работу скрипта это никак не влияет отлично робит.

Автор: alex82 26.1.2010, 16:39

Цитата(PRIZrak @ 24.1.2010, 15:29) *
Отличный скрипт! Вопросик: а как увеличить размер надписи НИКА и объёма шары, например, до размера надписи "sample" ?
В текущей версии - никак. А надпись "sample" нарисована в фотошопе.

Автор: PRIZrak 27.1.2010, 0:58

Про фотошоп, я и так понял big_smile.gif. Досадно, что не регулируется, т.к. у кого слабоватое зрение и не прочитают - что там написано :(

Автор: shmeks 28.2.2010, 12:07

Вот блин) Искал такой скрипт, не нашел))
Сегодня ночью наваял похожий, вот досадно))
---

Цитата(X-Sky @ 4.1.2010, 13:21)
Можно ли сделать получение юзерюбара через веб-интерфейс?

Вот так: http://mydc.ru/index.html?showtopic=3147&view=findpost&p=27678 ?

Автор: Killer47 12.3.2010, 7:37

Цитата(denis @ 25.1.2010, 12:20) *
Такой вопрос.Запусил скрипт , единственный на хабе , так как собераю его , он работает в птоке , но в чате признаков жизни не подаёт.Ошибок не выбивает , только если делаешь проверку


У меня из за этой ошибки скрипт не включался

Поковырялся со скриптом , нашел решение проблемы выскакивания ошибки,нужно заменить строку в userbars.lua
эту:
Код
path = debug.getinfo(1).source:match("^@(.+[/\\]).-$"):gsub("\\","/").."Userbars/"


на эту:
Код
path = "Userbars/"



Автор: Saymon 12.3.2010, 7:53

библиотека Lua-GD стоит?

Автор: Killer47 12.3.2010, 8:15

Цитата(Saymon @ 12.3.2010, 7:53) *
библиотека Lua-GD стоит?


уже заработало ,см.выше)))

Автор: Setuper 12.3.2010, 12:23

То что было заменено не просто так написано, а является универсальным методом установки абсолютного пути, хотя для полной корректности нужно после собаки поставить вопросик (может именно из-за этого и не работало).

Автор: Killer47 12.3.2010, 22:20

У меня на винде этот путь находиться автоматически , уже не первый скрпт с подобным кодом не включается , тестил на птохах 0.4.0.0 - 0.4.1.2 везде такая проблема была , пока не удалил часть строки.... попробуем с вопросиком....

Увы... постановка вопросика не помогла ,ошибку выдает синтаксическую

Автор: X-Sky 29.3.2010, 5:34

Я уже предлагал такую идею, но видимо про неё забыли, а было бы очень хорошо, если бы эту вещицу реализовали.
Сам в пхп абсолютно не шарю, а с помощью html не представляю как это всё сделать.
В общем хочется увидеть веб-морду скрипта, которая будет работать как на этих скринах:

Вводим ник:


Если юзер оффлайн, получаем:

Если юзер онлайн, получаем:


Заранее огромное спасибо, думаю на мою идею не положат мужской половой орган dribble.gif

Автор: alex82 29.3.2010, 23:44

Цитата
Я уже предлагал такую идею, но видимо про неё забыли
Про нее не забыли, на нее положили прибор. big_smile.gif Ибо веб-морда скрипту нафиг не нужна - он прекрасно и без нее работает.

Автор: X-Sky 30.3.2010, 10:07

Ну ок, я по-человечески просто попросил, кому нужна веб-морда, плюсаните чтоли, может кто займётся этим...

Автор: X-Sky 4.4.2010, 18:14

Поможет кто???
Пусть даже шару не показывает на ЮБ'е, а просто онлайн/оффлайн будет...

Автор: averon.nv 11.10.2010, 9:30

to: alex82
Не нашел здесь изменение размера шрифта. Возможно это реализовать?

Автор: TiGRpp 23.1.2011, 10:49

Поставил скрипт на Ubuntu 10.10, с файлом dg.co
Скрипт работает, файлы юзербаров создает, но придает им недостаточные права rw-----w-
То есть права на запись для прочих пользователей, но никак не на чтение, соответственно картинку в браузере не выводит.

Начал копать: придал полные права всем каталогам с содержимым по пути записи файла /var/www/userbar/ - не помогло.
Параметр "w" в команде

Код
os.execute("md \""..tCfg.SavePath.."\"")
local f = io.open(tCfg.SavePath.."testfile","w")
допускает использование символов "a" и "o" то есть для прочих пользователей, но прав для чтения файла не добавляет
Где еще копать?

Автор: mariner 23.1.2011, 17:01

потому, что доки надо читать вдучиво. Права будут даны, если указать, что надо работать рекурсивно.

Код
chmod a+r -R /dir

Автор: ProGeTTo 31.1.2011, 23:38

можно вопросик, а реально какнибудь шрифт поменять? типо как в http://mydc.ru/topic2113.html
а то как-то не очень аккуратно выглядит на ряду с ним...
короче, можно как-нить шрифт поменять(подменить) ?? still_dreaming.gif

Автор: TiGRpp 1.2.2011, 14:33

Цитата(mariner @ 23.1.2011, 18:01) *
потому, что доки надо читать вдучиво. Права будут даны, если указать, что надо работать рекурсивно.

Код
chmod a+r -R /dir

mariner, я знаю эту команду, только из твоего поста не вытекает где ее применить.
Решение проблемы нашел автор - alex82, прислав дополнение к скрипту:

Цитата(alex82)
Если я правильно понимаю, нужно менять права доступа для каждого юзербара при его создании. Делается это в функции GetUserbar. Код примерно такой:
Код
os.execute("нужная команда "..tCfg.SavePath..(file or nick:lower2():NickEncode())..(tUserbarData[i].Format == 1 and ".jpg" or tUserbarData[i].Format == 2 and ".png" or ".gif"))

Код вставляется после:
Код
else
            im:gif(tCfg.SavePath..(file or nick:lower2():NickEncode())..".gif")
        end

Там, где в коде "нужная команда ", я поставил chmod a+r
Все работает.

Автор: Saymon 1.2.2011, 15:38

в терминале

Код
chmod a+r -R /var/www/mysite.com/userbars

Мне помогло

Автор: TiGRpp 1.2.2011, 17:58

Цитата(Saymon @ 1.2.2011, 16:38) *
в терминале
Код
chmod a+r -R /var/www/mysite.com/userbars

Правильно, эта команда сообщает права чтения всем вложенным папкам и файлам для любых пользователей.
Вложенным = существующим.
У меня была проблема с правами чтения на вновь созданные файлы...после указанной команды...

Автор: CrazyKiller 7.6.2011, 23:33

Ребят помогите пожалуйста !

Не могу решить проблему уже трое суток !

Ubuntu 10.10
Проблем с CHMOD, при авто создании юзербара, даются права 640, а нужна минимум 644, делал как TiGRpp, не получается !

Вот Код который у меня получился по ману Тигра !

Кусок Кода
function GetUserbar(i,nick,share,file)
if tUserbarData[i] then
local im = gd.createTrueColor(tUserbarData[i].Width,tUserbarData[i].Height)
im:copy(tUserbarData[i].Tpl,0,0,0,0,tUserbarData[i].Width,tUserbarData[i].Height)
for num in pairs(tUserbars[i].Texts) do
local text = tUserbars[i].Texts[num].Text:gsub("%[nick%]",nick):gsub("%[share%]",share or tCfg.OfflineString)
VisitorDraw(im,text,tUserbars[i].Texts[num].Orient or tUserbars[i].Orient,tUserbars[i].Texts[num].Position or tUserbars[i].Position,
(tUserbars[i].Texts[num].Color and im:colorAllocate(tUserbars[i].Texts[num].Color[1] or 0,tUserbars[i].Texts[num].Color[2] or 0,tUserbars[i].Texts[num].Color[3] or 0))
or (tUserbars[i].Color and im:colorAllocate(tUserbars[i].Color[1] or 0,tUserbars[i].Color[2] or 0,tUserbars[i].Color[3] or 0)) or im:colorAllocate(0,0,0),
(tUserbars[i].Texts[num].Stroke and im:colorAllocate(tUserbars[i].Texts[num].Stroke[1] or 0,tUserbars[i].Texts[num].Stroke[2] or 0,tUserbars[i].Texts[num].Stroke[3] or 0))
or (tUserbars[i].Stroke and im:colorAllocate(tUserbars[i].Stroke[1] or 0,tUserbars[i].Stroke[2] or 0,tUserbars[i].Stroke[3] or 0)))
end
if tUserbarData[i].TopLayer then
im:copy(tUserbarData[i].TopLayer,0,0,0,0,tUserbarData[i].Width,tUserbarData[i].Height)
end
if tUserbarData[i].Format == 1 then
im:jpeg(tCfg.SavePath..(file or nick:lower2():NickEncode())..".jpg",tUserbars[i].Quality or 80)
elseif tUserbarData[i].Format == 2 then
im:pngEx(tCfg.SavePath..(file or nick:lower2():NickEncode())..".png",tUserbars[i].Compress or -1)
elseif tUserbarData[i].Format == 3 then
im:gif(tCfg.SavePath..(file or nick:lower2():NickEncode())..".gif")
else
im:gif(tCfg.SavePath..(file or nick:lower2():NickEncode())..".gif")
end
os.execute("chmod a+r"..tCfg.SavePath..(file or nick:lower2():NickEncode())..(tUserbarData[i].Format == 1 and ".jpg" or tUserbarData[i].Format == 2 and ".png" or ".gif"))
end
end



Что я не правильно сделал ?

Автор: Angel_D 18.1.2013, 9:41

не подскажите, как на 0.5.0.0-Lua5.1.5-x64 вылечить

Цитата
/Userbars/VisitorDraw.lua: bad header in precompiled chunk
?

Автор: Alexey 18.1.2013, 15:57

Попробуй, вдруг поможет. [attachment=6616:VisitorDraw.lua]

Автор: Nickolya 3.12.2013, 23:19

Цитата(Alexey @ 18.1.2013, 16:57) *
Попробуй, вдруг поможет. [attachment=6616:VisitorDraw.lua]

А почему удалили файл?

На mydc'шном хабе теперь на 64-битной убунте не запускается скрипт с такой же ошибкой
Цитата
/var/ptokax/scripts/Userbars/VisitorDraw.lua: bad header in precompiled chunk


И вообще, с какой целью закодирован этот файл? Там сокрыта тайна вселенной?

Автор: alex82 3.12.2013, 23:29

 VisitorDraw.lua ( 9.83 килобайт ) : 7