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

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

MyDC.ru _ Скрипты для RusHub'а _ Статистика

Автор: STRELOK_IS74 8.3.2010, 17:57

Название: Статистика
Версия: 2.0
Автор: STRELOK
Описание:
Ведёт статистику хаба. Также в веб-интерфейсе!
Изменения:


Для работы скрипта необходимо скачать модуль files и Utils http://mydc.ru/index.html?showtopic=2937&view=findpost&p=25266

Порядок установки:
1. Извлечь архив в папку с RusHub'ом (Не в папку scripts)
2. Отредактировать пути, открыв файл scripts\stats.lua блокнотом
3. Создать на вебе папку, которая была указана в путях сохранения веб статистики.

 StatsRusHub.rar ( 2.56 килобайт ) : 124
 

Автор: Saymon 8.3.2010, 18:03

Спасибо, но что то он у меня не запускается даже. Мудули стоят.
В luaerr.log это
[Mon Mar 08 18:00:27 2010] D:/SERVER/русхаб/scripts/stats.lua:25: attempt to index upvalue 'WebTemplate' (a nil value)
[Mon Mar 08 18:00:38 2010] D:/SERVER/русхаб/scripts/stats.lua:25: attempt to index upvalue 'WebTemplate' (a nil value)

Автор: STRELOK_IS74 8.3.2010, 18:09

У себя проверил, никаких ошибок пока не заметил. Веб-статистика обновляется.
Порядок установки:
1. Извлечь архив в папку с RusHub'ом (Не в папку scripts)
2. Отредактировать пути, открыв файл scripts\stats.lua блокнотом
3. Создать на вебе папку, которая была указана в путях сохранения веб статистики.

Автор: Otshelnik-Fm 8.3.2010, 22:51

Проблема с utf - 8 кодировкой (сам файл .tpl я перевел в ютф без bom). крякозябрами выводится время работы:



Где выводятся эти "минуты" - не пойму. выводит её
Код
UpTime = Utils.GetNormalTime(Core.GetUpTime()),
- разобрался - файл utils.lua - перевел его в ютф без bom - но теперь беда с выводом времени по команде в чат.


Ещё замечание:
В 20 строке
Код
<tr><td valign="top" colspan="3">
- <tr> не закрывается. его убрал вообще - шаблон сьезжал.

И непонятно в 18 строке таблица не завершенная
Код
<table width="800" cellpadding=0 cellspacing=0 border=0 align="center">
- эта таблица не нужна. Она же есть в 21 строке шаблона.

Автор: STRELOK_IS74 9.3.2010, 5:05

В следующей версии поправлю.

На счёт кодировок. Кодировка страницы должна быть Кириллица (Windows-1251) и никакой другой! Сам шаблон main.tpl перекодирован в ANSI. У меня никаких проблем с кодировками нет.

Автор: Otshelnik-Fm 9.3.2010, 20:05

Должна быть. А как поступать если она utf -8?(Вордпресс работает с ютф -8 кодировкой). В птоке была функция перевода кодировки. Как сделать в рус хабе аналогичное? (Пробовал эту функцию вставить - не получилось) А то получается - веб (utf-8) отображает корректно, а по команде в чат выдает крякозябры.(была http://mydc.ru/topic1269.html?view=findpost&p=15770 со скриптом StatPX alex82 - но ее мы решили, тут такие же грабли)

Автор: Otshelnik-Fm 12.3.2010, 20:57

Проблему с кодировкой решил. Спасибо alex82 и выпрямителю рук big_smile.gif

Если у вас сайт поддерживает только utf-8 кодировку - делаем следующее:

в файле utils.lua дописываем в самом низу функцию перевода кодировки:

Код
local ansi_decode={
  [128]='\208\130',[129]='\208\131',[130]='\226\128\154',[131]='\209\147',[132]='\226\128\158',[133]='\226\128\166',
  [134]='\226\128\160',[135]='\226\128\161',[136]='\226\130\172',[137]='\226\128\176',[138]='\208\137',[139]='\226\128\185',
  [140]='\208\138',[141]='\208\140',[142]='\208\139',[143]='\208\143',[144]='\209\146',[145]='\226\128\152',
  [146]='\226\128\153',[147]='\226\128\156',[148]='\226\128\157',[149]='\226\128\162',[150]='\226\128\147',[151]='\226\128\148',
  [152]='\194\152',[153]='\226\132\162',[154]='\209\153',[155]='\226\128\186',[156]='\209\154',[157]='\209\156',
  [158]='\209\155',[159]='\209\159',[160]='\194\160',[161]='\209\142',[162]='\209\158',[163]='\208\136',
  [164]='\194\164',[165]='\210\144',[166]='\194\166',[167]='\194\167',[168]='\208\129',[169]='\194\169',
  [170]='\208\132',[171]='\194\171',[172]='\194\172',[173]='\194\173',[174]='\194\174',[175]='\208\135',
  [176]='\194\176',[177]='\194\177',[178]='\208\134',[179]='\209\150',[180]='\210\145',[181]='\194\181',
  [182]='\194\182',[183]='\194\183',[184]='\209\145',[185]='\226\132\150',[186]='\209\148',[187]='\194\187',
  [188]='\209\152',[189]='\208\133',[190]='\209\149',[191]='\209\151'
}

function string.utf8(s)
  local r, b = ''
  for i = 1, s and s:len() or 0 do
    b = s:byte(i)
    if b < 128 then
      r = r..string.char(b)
    else
      if b > 239 then
        r = r..'\209'..string.char(b - 112)
      elseif b > 191 then
        r = r..'\208'..string.char(b - 48)
      elseif ansi_decode[b] then
        r = r..ansi_decode[b]
      else
        r = r..'_'
      end
    end
  end
  return r
end


Сохраняем его. Переходим к файлу stats.lua:
строка содержащая код:
Код
        hFile:write(WebTemplate)

Меняем на:
Код
        hFile:write(WebTemplate:utf8())

Сохраняем. Перезагружаем скрипт. Теперь на хабе в чате будет все ок с кодировкой и на сайте будет в utf-8

Автор: 0 13.3.2017, 13:00

[2017-03-13 12:58:34] ...дминистратор/Desktop/русхаб/scripts/Stats.lua:13: warning: function 'GetConfig' was deprecated. Use 'Config[sName]' instead
[2017-03-13 12:58:34] ...дминистратор/Desktop/русхаб/scripts/Stats.lua:28: attempt to index upvalue 'WebTemplate' (a nil value)

Как исправить?

Автор: Alexey 17.3.2017, 21:18

Скачать его заново и не удалять из него что попало. Скрипт хоть и нуждается в обновлении, но рабочий.

Автор: Alexey 21.3.2017, 18:32

Обновил вызовы Lua API на актуальные, исправил ошибку с указанием кодировки  StatsRusHub.zip ( 2.94 килобайт ) : 7