phpBB3 mChat

Моды для phpBB3 от Web-Codes.Net!
AllFuns
Сообщения: 12
Зарегистрирован: 20 дек 2009, 18:37

Re: phpBB3 mChat

Сообщение AllFuns »

А у меня такая проблема:
Хотел счетчик символов поставить, но у меня ничего не выводит.
Посмотрел в браузере ошибки страницы и там в js написано ошибка:

Код: Выделить всё

Uncaught exception: TypeError: '$jQ('div').delegate' is not a function
Error thrown at line 13, column 2 in http://drive-37.ru/forum/mchat/mchat_ajax_mini.js:
    $jQ('div').delegate('#mChatMessage', 'keyup focus mousemove', function(){

Что такое может быть?
AllFuns
Сообщения: 12
Зарегистрирован: 20 дек 2009, 18:37

Re: phpBB3 mChat

Сообщение AllFuns »

Разобрался. Нужно было обновить jquery_cookie_mini.js и jquery_core_mini.js
Аватара пользователя
AllCity
Сообщения: 2508
Зарегистрирован: 18 апр 2008, 17:52
Контактная информация:

Re: phpBB3 mChat

Сообщение AllCity »

:D
AllFuns
Сообщения: 12
Зарегистрирован: 20 дек 2009, 18:37

Re: phpBB3 mChat

Сообщение AllFuns »

AllCity писал(а)::D

Меня порадовал спойлер для чата. Единственная проблема в том, что на нашем форуме большинство человек используют чат и им было бы удобнее чтобы чат отображался по умолчанию, а при нажатии на заголовок он скрывался. А вообще было бы супер если бы была переменная в БД, которая указывала чат скрыт по умолчанию для пользователя или открыт.
Это реально сделать?
Я сам мог бы реализовать это, но плохо знаю как грамотно это сделать в phpBB.
Боюсь что получится говнокод :roll:
AllFuns
Сообщения: 12
Зарегистрирован: 20 дек 2009, 18:37

Re: phpBB3 mChat

Сообщение AllFuns »

Короче говоря, я реализовал таким образом для себя:
Не буду расписывать как установку аддона, потому как скорее всего подобная реализация врят ли кому понравится.
В файле mchat.php:
Перед строкой

Код: Выделить всё

 $mchat_enable = true; /* Enable this mChat? */


Вставил запрос:

Код: Выделить всё

$q_mc = "select * from `phpbbfrank_profile_fields_data` where `user_id`= '".$user->data['user_id']."'";
     $result1 = $db->sql_query($q_mc);
      $m_ch = $db->sql_fetchrow($result1);
if($m_ch['pf_view_chat']=='1'){
$mchat_enable_profile = true; /* Enable this mChat? */
}else{
$mchat_enable_profile = false; /* Enable this mChat? */
}


Дальше после строки :

Код: Выделить всё

 'MCHAT_ENABLE' => $mchat_enable,


Вставил:

Код: Выделить всё

'MCHAT_ENABLE_PROFILE' => $mchat_enable_profile,


Потом в файле mchat_body.html строку:

Код: Выделить всё

{L_MCHAT_TITLE}


Заменил на:

Код: Выделить всё

<!-- IF not MCHAT_CUSTOM_PAGE and not MCHAT_ARCHIVE_MODE and not MCHAT_ENABLE_PROFILE -->
{L_MCHAT_TITLE} | {L_MCHAT_ENABLE_PROFILE} <a href="ucp.php?i=173">{L_MCHAT_ENABLE_PROFILE_LINK}</a>
<!-- ELSE -->
{L_MCHAT_TITLE}
<!-- ENDIF -->


После строки:

Код: Выделить всё

<!-- IF MCHAT_ENABLE -->


Вставил:

Код: Выделить всё

<!-- IF not MCHAT_CUSTOM_PAGE and not MCHAT_ARCHIVE_MODE and not MCHAT_ENABLE_PROFILE -->

<!-- ELSE -->


и после строки:

Код: Выделить всё

<script type="text/javascript" src="{ROOT_PATH}mchat/mchat_ajax_mini.js"></script>
<!-- ENDIF -->


Вставил:

Код: Выделить всё

<!-- ENDIF -->


в файле mchat_lang.php

вставил строки:

Код: Выделить всё

  'MCHAT_ENABLE_PROFILE' => 'Отображение чата отключено в ваших',
  'MCHAT_ENABLE_PROFILE_LINK' => 'НАСТРОЙКАХ',


Создал доп поле в админке в виде "ДА и НЕТ" view_chat
Залил файлы и обновил кэш. Вроде все.
Аватара пользователя
AllCity
Сообщения: 2508
Зарегистрирован: 18 апр 2008, 17:52
Контактная информация:

Re: phpBB3 mChat

Сообщение AllCity »

AllFuns писал(а):чтобы чат отображался по умолчанию, а при нажатии на заголовок он скрывался

ну это легко в js скрипте изменить
AllFuns писал(а):я реализовал таким образом для себя

я бы в условия поместил также

Код: Выделить всё

$mchat_enable = true/false;

так как при твоем коде запроси в ДБ чата все равно будут запрашиваться а чат будет невиден :D
AllFuns
Сообщения: 12
Зарегистрирован: 20 дек 2009, 18:37

Re: phpBB3 mChat

Сообщение AllFuns »

AllCity писал(а):$mchat_enable = true/false;

Т.е я правильно понял что в файле mchat.php там где

Код: Выделить всё

$mchat_enable = true;


Заменить на

Код: Выделить всё

$mchat_enable = true/false;

?
AllFuns
Сообщения: 12
Зарегистрирован: 20 дек 2009, 18:37

Re: phpBB3 mChat

Сообщение AllFuns »

Или имеется ввиду в условии

Код: Выделить всё

if($m_ch['pf_view_chat']=='1'){
$mchat_enable_profile = true; /* Enable this mChat? */
}else{
$mchat_enable_profile = false; /* Enable this mChat? */
}


сделать:

Код: Выделить всё

if($m_ch['pf_view_chat']=='1'){
$mchat_enable_profile = true;
$mchat_enable= true;
}else{
$mchat_enable_profile = false;
$mchat_enable= false;
}


При таком раскладе если отображение чата будет включено пользователем в сових настройках, то и чат будет включен по умолчанию. А если админу отключить надо будет чат?

Значит надо что-то типа этого сделать:

Код: Выделить всё

$mchat_enable= true/false; 

if($m_ch['pf_view_chat']=='1'){
$mchat_enable_profile = true;
$mchat_enable= true;
}else{
$mchat_enable_profile = false;
$mchat_enable= false;
}


И условие переделать в mchat_body.html?

Ведь там сначало проверяется включен чат или нет, а потом проверяется включено ли пользователем его отображение на главной странице
Аватара пользователя
AllCity
Сообщения: 2508
Зарегистрирован: 18 апр 2008, 17:52
Контактная информация:

Re: phpBB3 mChat

Сообщение AllCity »

после

Код: Выделить всё

 $mchat_enable = true; /* Enable this mChat? */

это

Код: Выделить всё

$q_mc = "select * from `phpbbfrank_profile_fields_data` where `user_id`= '".$user->data['user_id']."'";
$result1 = $db->sql_query($q_mc);
$m_ch = $db->sql_fetchrow($result1);
if($m_ch['pf_view_chat'] == "1" and $mchat_enable == true)
{
  $mchat_enable_profile = true;
}
  else
{
  $mchat_enable_profile = false;
  $mchat_enable = false;
}

вроде так может нужно будет поправить шаблон :D
AllFuns
Сообщения: 12
Зарегистрирован: 20 дек 2009, 18:37

Re: phpBB3 mChat

Сообщение AllFuns »

Да, спасибо. Так корректнее будет. Не догадался :)
Ответить