WEB Web статистика для players_stats by Neugomon 1.1

JumpyLion

Пользователь
Регистрация
9 Июн 2017
Сообщения
82
Симпатии
18
Пол
Мужской
#1
Простая статистика, которая интегрируется в CSBans.​
Показывает 3 блока с топами:​
  • По убийствам
  • По времени
  • По урону
Общая таблица всех игроков, которые находятся в статистике.​
Возможность сортировки игроков по нужному критерию​
Поиск игрока по нику, steam id​
Детальная информация по игроку​
Установка:
  • Скопировать содержимое архива по нужным директориям
  • Произвести настройки в нужных файлах
  • Статистика будет доступна по ссылке ваш ксбан/stats.html
  • Для добавления отдельной вкладки в меню:
    1) Зайдите в Админцентр /admin/index.html
    2) Перейдите в Веб-сайт и дальше Ссылки /usermenu/admin.html
    3) Добавить ссылку:
Позиция - Укажите сами
Активность - Да
Имя для гостей - Статистика
URL для гостей - /stats
Имя для админов - Статистика
URL для Админов - /stats

Настройка:

const DATABASE = null; - если испытываете проблемы с кодировкой русских ников, смотрите спойлер "Кодировка"
const MODAL = true; - выводить подробную информацию в модальном окне или в новом (значение false)
const TOP = 5; - какое кол-во игроков выводить в блоках "топ". Внимание! Шрифты рассчитаны только на первые 9 позиций

Если у вас таблица со статистикой находится в другой базе, то:
  1. Открываете файл protected/config/main.php и после 130 ( символ ), ) строки вставляете этот код:
    PHP:
    'statsdb'=>array(
      'class' => 'CDbConnection',
      'connectionString' => 'mysql:host=localhost;dbname=dbname',
      'emulatePrepare' => true,
      'username' => 'user',
      'password' => 'pass',
      'charset' => 'utf8',
      'autoConnect' => FALSE,
      'schemaCachingDuration' => 1000,
      ),
  2. В файле protected/models/Stats.php изменяете строку 29 const DATABASE = null на const DATABASE = 'statsdb'
P.S: Автором оригинального дополнения является F@ntom (для статистики от serFreeman )

Источник
 

Вложения

Последнее редактирование: JumpyLion

krivoshcek

Пользователь
Регистрация
12 Июн 2017
Сообщения
33
Симпатии
5
Пол
Мужской
#2
'connectionString' => 'mysql:host=localhost;dbname=dbname',
'username' => 'user',
'password' => 'pass',
Эти поля нужно заполнять?
 

krivoshcek

Пользователь
Регистрация
12 Июн 2017
Сообщения
33
Симпатии
5
Пол
Мужской
#4
JumpyLion, ок. Ввел данные:
'connectionString' => 'mysql:host=localhost;dbname=user33042_my',
Захожу в статистику:
CDbCommand не удалось исполнить SQL-запрос: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'user33042_my.players_stats' doesn't exist.
Захожу в бд, вижу там созданную таблицу players_stats_tmp. Названия в ошибке и созданной базы отличаются, переименовал в базе данных на players_stats, все заработало, но эта таблица пустая и, соответственно, в cs bans нет данных игроков.
Что не так делаю? Может где-то надо указать что у меня таблица называется csstats?
 

fantom

Постоялец
Регистрация
11 Июн 2017
Сообщения
288
Симпатии
209
Пол
Мужской
#5
Названия в ошибке и созданной базы отличаются, переименовал в базе данных на players_stats, все заработало, но эта таблица пустая и, соответственно
И будет пустая. Эта таблица создаеться автоматически в качестве кэша для расчета позиции топа. Ошибка прямо говорит что в базе не существует таблицы. Скорей всего у вас разные базы для статы и банов. Ну или вы в файле protected/models/Stats.php не изменили название конекта const DATABASE = null на const DATABASE = 'statsdb'
 

krivoshcek

Пользователь
Регистрация
12 Июн 2017
Сообщения
33
Симпатии
5
Пол
Мужской
#6
fantom, все верно, разные бд для банов и статы. С этим что-то можно сделать или только переносить все в одну бд?
 

fantom

Постоялец
Регистрация
11 Июн 2017
Сообщения
288
Симпатии
209
Пол
Мужской
#7
krivoshcek, в инструкции в теме описано же подробно
 

krivoshcek

Пользователь
Регистрация
12 Июн 2017
Сообщения
33
Симпатии
5
Пол
Мужской
#8
fantom, чуть затупил. Да, сделал то все по инструкции, const DATABASE = null на const DATABASE = 'statsdb' заменил
 

JumpyLion

Пользователь
Регистрация
9 Июн 2017
Сообщения
82
Симпатии
18
Пол
Мужской
#9
JumpyLion, ок. Ввел данные:
'connectionString' => 'mysql:host=localhost;dbname=user33042_my',
Захожу в статистику:
CDbCommand не удалось исполнить SQL-запрос: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'user33042_my.players_stats' doesn't exist.
Захожу в бд, вижу там созданную таблицу players_stats_tmp. Названия в ошибке и созданной базы отличаются, переименовал в базе данных на players_stats, все заработало, но эта таблица пустая и, соответственно, в cs bans нет данных игроков.
Что не так делаю? Может где-то надо указать что у меня таблица называется csstats?
dbname=user33042_my - Тут надо указывать имя базы данных с таблицой статистики, mysql:host=localhost - тут хост, если удаленный.
 

r0no

Пользователь
Регистрация
13 Июн 2017
Сообщения
13
Симпатии
0
Пол
Мужской
#10
Нужна помощь. Как делать что бы номера шли по порядку, начиная с 1, при сортировке по количеству фрагов(сортировку выставил в stats.php). Скрин прикрепил. Заранее спасибо за ответ.
 

Вложения

  • 2,5 KB 53

Vesuvius

НЕ СКРИПТЕР!!!
Команда форума
Администратор
Регистрация
8 Июн 2017
Сообщения
1.521
Симпатии
524
Пол
Мужской
#11
r0no, fantom писал решение .. он что то правил в одном из файлов...
но хз в каком, и хз что)
 

r0no

Пользователь
Регистрация
13 Июн 2017
Сообщения
13
Симпатии
0
Пол
Мужской
#12
r0no, fantom писал решение .. он что то правил в одном из файлов...
но хз в каком, и хз что)
Fantom ответил, что нужно обращаться к тому, кто переделал эту стату(
Актуально, кто разбирается, нужна помощь.
 

Vesuvius

НЕ СКРИПТЕР!!!
Команда форума
Администратор
Регистрация
8 Июн 2017
Сообщения
1.521
Симпатии
524
Пол
Мужской
#13
r0no, ну он делал какойто фикс к своей.. На дев кс был файл под замену.. Но вроде тему удалили.. Может тот фикс подошол бы комуто..
Я комуто заменял етот файл, но не помню кому, поетому немогу подкинуть файл...
 

r0no

Пользователь
Регистрация
13 Июн 2017
Сообщения
13
Симпатии
0
Пол
Мужской
#14
Нужна помощь. Как делать что бы номера шли по порядку, начиная с 1, при сортировке по количеству фрагов(сортировку выставил в stats.php). Скрин прикрепил. Заранее спасибо за ответ.
Решение(может кому пригодиться), меняем:
28 строка: const FORMULA = 0 > const FORMULA = 1;
153 строка: $criteria->order = 'skill' > $criteria->order = 'frags'