ОсновноеRadiotalkПользовательское
MPCHAT - CMS хостинг чатов для профессионалов
90   •   Посмотреть все темы

Bugs - ошибки системы чатов и их исправление!

 

2970
удалён @Foggy
Q-Tec, ты даже сам причину замедления развития указал. Развитие vmeste.
Dimitry, а был бы гит у чатов, я бы слал пул реквесты и ты бы только проверял и применял изменения :-P

4
9547 @9547
Здравствуйте.
Помогите исправить не работающую викторину, викторина открывается в верхнем фрейме с сообщением - Game URL is too old, please contact chat admin! эта ошибка во всех стандартных шаблонах в установщике дизайнов.
Спасибо.

318
Алекс @Рой31
9547 пишет:

Здравствуйте.
Помогите исправить не работающую викторину, викторина открывается в верхнем фрейме с сообщением - Game URL is too old, please contact chat admin! эта ошибка во всех стандартных шаблонах в установщике дизайнов.
Спасибо.

Решение проблемы
Вот тут посмотрите https://vmeste.eu/forum?pid=322518#p322518

Отредактировано Рой31 - 31.08.2015
4
9547 @9547
код файла chat.inc как здесь заменить <!-- GAME FRAME --> если этого нет ?

<html>
<head>
<title>%title%</title>
<meta http-equiv='Content-Type' content='text/html; charset=UTF-8'>
<head>
<script><!--
%scripts%
// --></script>
</head>
<frameset rows='41,*,60' border=0>
<frame name=topframe src=top.html marginwidth=1 marginheight=1 scrolling=no frameborder=no noresize>
<frameset cols='0,*,0,270' border=0>
<frame name=mleft src=mleft.html marginwidth=1 marginheight=1 scrolling=Yes frameborder=no noresize>
<frameset name=sets rows='0,*,0' border=1>
<frame name=gameframe src=start.html marginwidth=0 marginheight=0 scrolling=Yes frameborder=1>
<frame name=left src=start.html marginwidth=10 marginheight=5 scrolling=Yes frameborder=1>
<frame name=privat marginwidth=10 marginheight=5 scrolling=Yes frameborder=1>
</frameset>
<frame name=write marginwidth=1 marginheight=1 scrolling=no frameborder=no noresize>
<frame name=users src=users.html marginwidth=1 marginheight=1 scrolling=Yes frameborder=no noresize>
</frameset>
<frame name=chat src=chat.html marginwidth=1 marginheight=1 scrolling=no frameborder=no noresize>
</frameset>
</html>

2615
Сергей @Pegass
9547, откуда вы повылазили с вашими фреймовыми чатами??? Вот из принципа - ПРИВЕДИТЕ ЧАТ К СОВРЕМЕННОМУ ВИДУ, фреймовые чаты уже года 2 никто не поддерживает!!!

4
9547 @9547
у вас шаблон design-black в установщике с этим кодом

2615
Сергей @Pegass
9547, создан 04.04.2008!!!!!!!!!!!!!!!!!! 7 долбаных лет назад!!!

4
9547 @9547
да вы шаблоны не оновляли семь лет чтоли, там же выбрать нечего.
спасибо всё понятно.

2615
Сергей @Pegass
9547, выберите шаблон поновее, те вообще удалить забыли))))

20090
Dimitry @Dimitry
Попробую чуть позже придумать викторину для фреймовых, а то прям ажиотаж с ней, хотя по сути пользуются единицы.

4619
Web3r @Web3r
В шаблоне top100 есть переменная mynick, но нет myid. Она бы там очень не помешала.
var loadtime='';
var mynick='';
// Прям вооот здесь.
var only='';
var sort='';
var s='';
var limit='';

[spoiler=Попробую объяснить...]При неудачном входе в чат, будь то бан или любая другая ошибка, значение myid не присваивается, но mynick почему-то вносится. Да, myid можно взять из информера, но лично мне это технически неудобно. Из-за отсутствия myid в <head>, например, такой код в шаблоне top100 не будет работать: if(!mynick && !myid).
И вообще, правильно ли, что переменная mynick сохраняется при неудачном входе?
P.S cookie_on всегда включен.
[/spoiler]

Отредактировано Web3r - 11.10.2015
20090
Dimitry @Dimitry
То что mynick остаётся, это сделано совсем недавно, а myid не должен быть доступен в случае неверного входа.
Это же ключ - зашифрованный пароль.

4619
Web3r @Web3r
Dimitry пишет:

То что mynick остаётся, это сделано совсем недавно, а myid не должен быть доступен в случае неверного входа.

В информере myid доступен всегда, только там ничего не выводится, если авторизации нет: var myid='';
Если не трудно, выведи эту переменную аналогичным образом и в шаблон top100.

20090
Dimitry @Dimitry
Теперь понял, её там никогда и не было, добавил.

2970
удалён @Foggy
Обновление версий файлов с новым номером версии чата
Дим, в index_chat.php есть переменная $scriptsdate, которая возвращает дату последнего изменения скриптов.
Я подумал было попросить тебя позаботиться о тех, кто на тарифе Профи: сделать им, чтобы в dev-версиях проверялось время изменения dev-файлов скриптов (сейчас для всех проверяется для всех dev=0 версия скриптов, как я понял). А-то он неправильное время, получается, указывает.
А потом вспомнил, что в ini.php ты полностью отключаешь кэширование. И тут у меня случился когнитивный диссонанс. Я понимаю, зачем подключать скрипт вот так:
$addscripts="document.write('<scr'+'ipt src=?inc=%73%63%72'+'%69%70%74%73&date='+scriptsdate+'></scr'+'ipt>');\r\n";
Собственно, чтобы закэшированная версия в кэше браузера обновилась до "более новой" и чтоб браузер понимал это сам. Правильно же? Но ты полностью выключил кэширование. Потому и обновление файла таким способом бесполезно - файл обновляется каждый раз. Вроде звучит норм: не будет проблем с обновлением файла. Думаю, новички-админы ноют на этот счёт часто, когда включено кэширование.
Однако! Кэш - это чрезвычайно полезная функция браузера, которая позволяет заходить в чат почти без его загрузки.
Я предлагаю включить-таки жёсткое и долгое кэширование для всех файлов, но все их подключать через версию, чтобы пользователи обновляли-таки скрипты и стили. Типа так:
<script src="scripts.js?v3.2.1"></script>
<link rel="stylesheet" href="style.css?v3.2.1">
Номер версии будет переменной, которая берётся из настроек в админке (это нужно поле новое добавить, да). Например 3.2. А минорная версия (3.2.1 выделил красным) чтобы обновлялась каждый раз при обновлении файла скриптов.
Это будет удобно админам, а повторный вход в любой из чатов для чатлан не будет означать повторную загрузку всех файлов.
Вроде не сложный способ. Что скажешь?

Отредактировано Foggy - 19.10.2015
20090
Dimitry @Dimitry
Ты вроде бы не понял, scriptsdate - дата изменения скрипта, и как только скрипт меняют, тогда сразу сбрасывается кеширование.
В остальных случаях файл вроде берётся из кеша, если это файл .js, но в твоём примере это php файл выдаёт скрипт, потмоу да, кеширования скорее всгео там нет и это к лучшему.
В выкупленном чате ты можешь сделать как хочешь, и с .js или так как щас чере PHP - кстати есть небольшая защита от просмотра этого скрипта.

2970
удалён @Foggy
Я о других профи-чатах думаю, а не о себе. У себя-то я поменял. Это не "в моём примере", а кусок из стандартных php файлов движка мпчата.
Эта твоя "защита" давно не в счёт, потому что есть devTools во всех уже браузерах, позволяющая свободно смотреть скрипты. Она НИЧЕГО не защищает. Защита от дурака - это даже не защита, это смех какой-то. Ради этого жертвовать кэшированием - смешно.

> кеширования скорее всгео там нет и это к лучшему
ты не увидел мой посыл: юзеры чата, ни один из них, не кэширует скрипты в такой ситуации ВООБЩЕ. поэтому и обновления кэша сейчас быть не может, ибо он обновляется при каждом открытии чата. а по-правильному он должен делаться только при обновлении файла.

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

4619
Web3r @Web3r
Я раньше полагал, что scriptsdate - это вообще рандомное значение, поэтому вынес все скрипты из scripts.dat и подключаю отдельным файлом со своим указанием версии. Никаких проблем с кешем.
Единственное сейчас, что бесит, это кеширование style.css. Если он используется только на нередактируемых страницах (кланы, магазин, админка, ошибка входа, etc), то версию никак не указать.

20090
Dimitry @Dimitry
30кб при входе в чат это не зло, когда грузят бекграунды по 5мб 😀
php обвётрка была по большей части сделана для защиты кода, лет 5-10 назад эту защиту было сложно обойти, сейчас легче конечно.
Но если взять самых обычных админов - которые ну никак не знают что такое dev и tool, а только тырят код у друг друга, то для них защита всё ещё работает ))
Завязывайте уже наконец считать что все админы продвинутые вебмастеры, некоторые ещё скрины не умеют делать.

2970
удалён @Foggy
Web3r, так ты пиши в style.css только общие стили, а на редактируемых страницах остальные. хотя стили всяких магазинов и подобного у меня лично тоже занимают много...
Dimitry, Дима, 5-10 лет назад давно прошли, вернись уже в настоящее!
Если тебя устраивает клиентура, которая нубы и ничего не понимают, то у меня вопросов больше нет.
Как и желания что-то делать на сервисе. Потому что нормальные админы и не придут на сервис, в котором нет сервиса.
Пожалуй, пора завязывать помогать тем, кто не готов принимать помощь. И речь, Дима, про тебя, а не про админов, они-то даже платить готовы.