Version 0.3.4
This commit is contained in:
@@ -49,31 +49,25 @@
|
||||
<label><input type="radio" class="radio" name="mchat_message_top" value="0"<!-- IF not MCHAT_MESSAGE_TOP --> id="mchat_message_top" checked="checked"<!-- ENDIF --> /> {L_MCHAT_BOTTOM}</label></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="mchat_new_posts">{L_MCHAT_NEW_POSTS}{L_COLON}</label><br />
|
||||
<span>{L_MCHAT_NEW_POSTS_EXPLAIN}</span></dt>
|
||||
<dd><label><input type="radio" class="radio" name="mchat_new_posts" value="1"<!-- IF MCHAT_NEW_POSTS --> id="mchat_new_posts" checked="checked"<!-- ENDIF --> /> {L_YES}</label>
|
||||
<label><input type="radio" class="radio" name="mchat_new_posts" value="0"<!-- IF not MCHAT_NEW_POSTS --> id="mchat_new_posts" checked="checked"<!-- ENDIF --> /> {L_NO}</label></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="mchat_new_posts">{L_MCHAT_NEW_POSTS_TOPIC}{L_COLON}</label><br />
|
||||
<dt><label for="mchat_new_posts_topic">{L_MCHAT_NEW_POSTS_TOPIC}{L_COLON}</label><br />
|
||||
<span>{L_MCHAT_NEW_POSTS_TOPIC_EXPLAIN}</span></dt>
|
||||
<dd><label><input type="radio" class="radio" name="mchat_new_posts_topic" value="1"<!-- IF MCHAT_NEW_POSTS_TOPIC --> id="mchat_new_posts_topic" checked="checked"<!-- ENDIF --> /> {L_YES}</label>
|
||||
<label><input type="radio" class="radio" name="mchat_new_posts_topic" value="0"<!-- IF not MCHAT_NEW_POSTS_TOPIC --> id="mchat_new_posts_topic" checked="checked"<!-- ENDIF --> /> {L_NO}</label></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="mchat_new_posts">{L_MCHAT_NEW_POSTS_REPLY}{L_COLON}</label><br />
|
||||
<dt><label for="mchat_new_posts_reply">{L_MCHAT_NEW_POSTS_REPLY}{L_COLON}</label><br />
|
||||
<span>{L_MCHAT_NEW_POSTS_REPLY_EXPLAIN}</span></dt>
|
||||
<dd><label><input type="radio" class="radio" name="mchat_new_posts_reply" value="1"<!-- IF MCHAT_NEW_POSTS_REPLY --> id="mchat_new_posts_reply" checked="checked"<!-- ENDIF --> /> {L_YES}</label>
|
||||
<label><input type="radio" class="radio" name="mchat_new_posts_reply" value="0"<!-- IF not MCHAT_NEW_POSTS_REPLY --> id="mchat_new_posts_reply" checked="checked"<!-- ENDIF --> /> {L_NO}</label></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="mchat_new_posts">{L_MCHAT_NEW_POSTS_EDIT}{L_COLON}</label><br />
|
||||
<dt><label for="mchat_new_posts_edit">{L_MCHAT_NEW_POSTS_EDIT}{L_COLON}</label><br />
|
||||
<span>{L_MCHAT_NEW_POSTS_EDIT_EXPLAIN}</span></dt>
|
||||
<dd><label><input type="radio" class="radio" name="mchat_new_posts_edit" value="1"<!-- IF MCHAT_NEW_POSTS_EDIT --> id="mchat_new_posts_edit" checked="checked"<!-- ENDIF --> /> {L_YES}</label>
|
||||
<label><input type="radio" class="radio" name="mchat_new_posts_edit" value="0"<!-- IF not MCHAT_NEW_POSTS_EDIT --> id="mchat_new_posts_edit" checked="checked"<!-- ENDIF --> /> {L_NO}</label></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="mchat_new_posts">{L_MCHAT_NEW_POSTS_QUOTE}{L_COLON}</label><br />
|
||||
<dt><label for="mchat_new_posts_quote">{L_MCHAT_NEW_POSTS_QUOTE}{L_COLON}</label><br />
|
||||
<span>{L_MCHAT_NEW_POSTS_QUOTE_EXPLAIN}</span></dt>
|
||||
<dd><label><input type="radio" class="radio" name="mchat_new_posts_quote" value="1"<!-- IF MCHAT_NEW_POSTS_QUOTE --> id="mchat_new_posts_quote" checked="checked"<!-- ENDIF --> /> {L_YES}</label>
|
||||
<label><input type="radio" class="radio" name="mchat_new_posts_quote" value="0"<!-- IF not MCHAT_NEW_POSTS_QUOTE --> id="mchat_new_posts_quote" checked="checked"<!-- ENDIF --> /> {L_NO}</label></dd>
|
||||
@@ -105,9 +99,9 @@
|
||||
<dd><input type="text" name="mchat_index_height" id="mchat_index_height" size="10" maxlength="4" value="{MCHAT_INDEX_HEIGHT}" /></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="mchat_index_height">{L_MCHAT_MESSAGE_NUM}{L_COLON}</label><br />
|
||||
<dt><label for="mchat_message_num">{L_MCHAT_MESSAGE_NUM}{L_COLON}</label><br />
|
||||
<span>{L_MCHAT_MESSAGE_NUM_EXPLAIN}</span></dt>
|
||||
<dd><input type="text" name="mchat_message_num" size="10" maxlength="4" value="{MCHAT_MESSAGE_NUM}" /></dd>
|
||||
<dd><input type="text" name="mchat_message_num" id="mchat_message_num" size="10" maxlength="4" value="{MCHAT_MESSAGE_NUM}" /></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="mchat_location">{L_MCHAT_LOCATION}{L_COLON}</label><br />
|
||||
@@ -196,7 +190,7 @@
|
||||
<dd><input type="text" name="mchat_max_message_lngth" id="mchat_max_message_lngth" size="10" value="{MCHAT_MAX_MESSAGE_LNGTH}" /></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="mchat_date">{L_MCHAT_DATE_FORMAT}{L_COLON}</label><br /><span>{L_MCHAT_DATE_FORMAT_EXPLAIN}</span></dt>
|
||||
<dt><label for="mchat_dateoptions">{L_MCHAT_DATE_FORMAT}{L_COLON}</label><br /><span>{L_MCHAT_DATE_FORMAT_EXPLAIN}</span></dt>
|
||||
<dd>
|
||||
<select name="mchat_dateoptions" id="mchat_dateoptions" onchange="if(this.value=='custom'){phpbb.toggleDisplay('custom_date',1);}else{phpbb.toggleDisplay('custom_date',-1);} if (this.value == 'custom') { document.getElementById('mchat_date').value = default_dateformat; } else { document.getElementById('mchat_date').value = this.value; }">
|
||||
{S_MCHAT_DATEFORMAT_OPTIONS}
|
||||
@@ -232,7 +226,7 @@
|
||||
<dl>
|
||||
<dt><label for="mchat_whois">{L_MCHAT_WHOIS_REFRESH}{L_COLON}</label><br />
|
||||
<span>{L_MCHAT_WHOIS_REFRESH_EXPLAIN}</span></dt>
|
||||
<dd><input type="text" name="mchat_whois_refresh" size="10" value="{MCHAT_WHOIS_REFRESH}" /></dd>
|
||||
<dd><input type="text" name="mchat_whois_refresh" id="mchat_whois" size="10" value="{MCHAT_WHOIS_REFRESH}" /></dd>
|
||||
</dl>
|
||||
|
||||
</fieldset>
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
"type": "phpbb-extension",
|
||||
"description": "mChat Extension for phpbb 3.1.x",
|
||||
"homepage": "http://www.dmzx-web.net",
|
||||
"version": "0.3.2",
|
||||
"version": "0.3.4",
|
||||
"time": "2015-03-10",
|
||||
"keywords": ["phpbb", "extension", "mchat"],
|
||||
"license": "GPL-2.0",
|
||||
@@ -14,6 +14,11 @@
|
||||
"email": "info@dmzx-web.net",
|
||||
"role": "Extension Developer"
|
||||
},
|
||||
{
|
||||
"name": "kasimi",
|
||||
"homepage": "https://www.phpbb.com/community/memberlist.php?mode=viewprofile&u=1330603",
|
||||
"role": "Extension Co-Developer"
|
||||
},
|
||||
{
|
||||
"name": "Rich McGirr",
|
||||
"homepage": "http://rmcgirr83.org",
|
||||
|
||||
@@ -93,7 +93,6 @@ class admin_controller
|
||||
'mchat_message_limit' => array('default' => 10, 'validation' => array('num', false, 10, 30)),
|
||||
'mchat_message_num' => array('default' => 10, 'validation' => array('num', false, 10, 50)),
|
||||
'mchat_message_top' => array('default' => 1, 'validation' => array()),
|
||||
'mchat_new_posts' => array('default' => 0, 'validation' => array()),
|
||||
'mchat_new_posts_edit' => array('default' => 0, 'validation' => array()),
|
||||
'mchat_new_posts_quote' => array('default' => 0, 'validation' => array()),
|
||||
'mchat_new_posts_reply' => array('default' => 0, 'validation' => array()),
|
||||
@@ -139,7 +138,16 @@ class admin_controller
|
||||
}
|
||||
|
||||
// Replace "error" strings with their real, localised form
|
||||
$error = preg_replace('#^([A-Z_]+)$#e', "(!empty(\$this->user->lang('\\1'))) ? \$this->user->lang('\\1') : '\\1'", $error);
|
||||
// The /e modifier is deprecated since PHP 5.5.0
|
||||
//$error = preg_replace('#^([A-Z_]+)$#e', "(!empty(\$this->user->lang('\\1'))) ? \$this->user->lang('\\1') : '\\1'", $error);
|
||||
foreach ($error as $i => $err)
|
||||
{
|
||||
$lang = $this->user->lang($err);
|
||||
if (!empty($lang))
|
||||
{
|
||||
$error[$i] = $lang;
|
||||
}
|
||||
}
|
||||
|
||||
if (empty($error))
|
||||
{
|
||||
|
||||
@@ -46,6 +46,7 @@ class main_controller
|
||||
* Controller for mChat actions called with Ajax requests
|
||||
*
|
||||
* @param $action The action to perform, one of add|edit|del|clean|refresh|whois
|
||||
* @return \Symfony\Component\HttpFoundation\JsonResponse A Symfony JsonResponse object
|
||||
*/
|
||||
public function action($action)
|
||||
{
|
||||
|
||||
@@ -341,11 +341,6 @@ class functions_mchat
|
||||
*/
|
||||
public function mchat_insert_posting($mode, $data)
|
||||
{
|
||||
if (!$this->config['mchat_new_posts'])
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
$mode_config = array(
|
||||
'post' => $this->config['mchat_new_posts_topic'],
|
||||
'quote' => $this->config['mchat_new_posts_quote'],
|
||||
@@ -543,6 +538,19 @@ class functions_mchat
|
||||
return;
|
||||
}
|
||||
|
||||
$this->db->sql_query($sql);
|
||||
$result = $this->db->sql_query($sql);
|
||||
|
||||
if ($result !== false)
|
||||
{
|
||||
switch ($action)
|
||||
{
|
||||
case 'add':
|
||||
if ($this->db->sql_nextid() == 1)
|
||||
{
|
||||
$this->cache->destroy('sql', $this->mchat_table);
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
235
core/mchat.php
235
core/mchat.php
@@ -1,4 +1,5 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
*
|
||||
* @package phpBB Extension - mChat
|
||||
@@ -48,20 +49,20 @@ class mchat
|
||||
protected $is_mchat_rendered = false;
|
||||
|
||||
/**
|
||||
* Constructor
|
||||
*
|
||||
* @param \dmzx\mchat\core\functions_mchat $functions_mchat
|
||||
* @param \phpbb\config\config $config
|
||||
* @param \phpbb\controller\helper $helper
|
||||
* @param \phpbb\template\template $template
|
||||
* @param \phpbb\user $user
|
||||
* @param \phpbb\auth\auth $auth
|
||||
* @param \phpbb\pagination $pagination
|
||||
* @param \phpbb\request\request $request
|
||||
* @param \phpbb\event\dispatcher_interface $dispatcher
|
||||
* @param string $root_path
|
||||
* @param string $php_ext
|
||||
*/
|
||||
* Constructor
|
||||
*
|
||||
* @param \dmzx\mchat\core\functions_mchat $functions_mchat
|
||||
* @param \phpbb\config\config $config
|
||||
* @param \phpbb\controller\helper $helper
|
||||
* @param \phpbb\template\template $template
|
||||
* @param \phpbb\user $user
|
||||
* @param \phpbb\auth\auth $auth
|
||||
* @param \phpbb\pagination $pagination
|
||||
* @param \phpbb\request\request $request
|
||||
* @param \phpbb\event\dispatcher_interface $dispatcher
|
||||
* @param string $root_path
|
||||
* @param string $php_ext
|
||||
*/
|
||||
public function __construct(\dmzx\mchat\core\functions_mchat $functions_mchat, \phpbb\config\config $config, \phpbb\controller\helper $helper, \phpbb\template\template $template, \phpbb\user $user, \phpbb\auth\auth $auth, \phpbb\pagination $pagination, \phpbb\request\request $request, \phpbb\event\dispatcher_interface $dispatcher, $root_path, $php_ext)
|
||||
{
|
||||
$this->functions_mchat = $functions_mchat;
|
||||
@@ -78,8 +79,8 @@ class mchat
|
||||
}
|
||||
|
||||
/**
|
||||
* Render mChat on the index page
|
||||
*/
|
||||
* Render mChat on the index page
|
||||
*/
|
||||
public function page_index()
|
||||
{
|
||||
if (!$this->auth->acl_get('u_mchat_view'))
|
||||
@@ -94,6 +95,7 @@ class mchat
|
||||
return;
|
||||
}
|
||||
|
||||
// TODO This might be redundant
|
||||
// If mChat is used on the index by a user without an avatar, a default avatar is used.
|
||||
// However, T_THEME_PATH points to ./../styles/... because the controller at /mchat is called, but we need it to be ./styles...
|
||||
// Setting this value to true solves this.
|
||||
@@ -111,8 +113,10 @@ class mchat
|
||||
}
|
||||
|
||||
/**
|
||||
* Render the mChat custom page
|
||||
*/
|
||||
* Render the mChat custom page
|
||||
*
|
||||
* @return \Symfony\Component\HttpFoundation\Response
|
||||
*/
|
||||
public function page_custom()
|
||||
{
|
||||
if (!$this->auth->acl_get('u_mchat_view') || !$this->config['mchat_custom_page'])
|
||||
@@ -142,8 +146,10 @@ class mchat
|
||||
}
|
||||
|
||||
/**
|
||||
* Render the mChat archive
|
||||
*/
|
||||
* Render the mChat archive
|
||||
*
|
||||
* @return \Symfony\Component\HttpFoundation\Response
|
||||
*/
|
||||
public function page_archive()
|
||||
{
|
||||
if (!$this->auth->acl_get('u_mchat_view') || !$this->auth->acl_get('u_mchat_archive'))
|
||||
@@ -173,10 +179,10 @@ class mchat
|
||||
}
|
||||
|
||||
/**
|
||||
* Controller for mChat IP WHOIS
|
||||
*
|
||||
* @return \Symfony\Component\HttpFoundation\Response A Symfony Response object
|
||||
*/
|
||||
* Controller for mChat IP WHOIS
|
||||
*
|
||||
* @return \Symfony\Component\HttpFoundation\Response A Symfony Response object
|
||||
*/
|
||||
public function page_whois()
|
||||
{
|
||||
if (!$this->auth->acl_get('u_mchat_ip'))
|
||||
@@ -195,10 +201,10 @@ class mchat
|
||||
}
|
||||
|
||||
/**
|
||||
* Controller for mChat Rules page
|
||||
*
|
||||
* @return \Symfony\Component\HttpFoundation\Response A Symfony Response object
|
||||
*/
|
||||
* Controller for mChat Rules page
|
||||
*
|
||||
* @return \Symfony\Component\HttpFoundation\Response
|
||||
*/
|
||||
public function page_rules()
|
||||
{
|
||||
if (empty($this->config['mchat_rules']) && empty($this->user->lang['MCHAT_RULES']))
|
||||
@@ -218,8 +224,10 @@ class mchat
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
* User submits a message
|
||||
*
|
||||
* @return array data sent to client as JSON
|
||||
*/
|
||||
public function action_add()
|
||||
{
|
||||
if (!$this->auth->acl_get('u_mchat_use') || !check_form_key('mchat', -1))
|
||||
@@ -243,19 +251,21 @@ class mchat
|
||||
$this->functions_mchat->mchat_action('add', $sql_ary);
|
||||
|
||||
/**
|
||||
* Event render_helper_add
|
||||
*
|
||||
* @event dmzx.mchat.core.render_helper_add
|
||||
* @since 0.1.2
|
||||
*/
|
||||
* Event render_helper_add
|
||||
*
|
||||
* @event dmzx.mchat.core.render_helper_add
|
||||
* @since 0.1.2
|
||||
*/
|
||||
$this->dispatcher->dispatch('dmzx.mchat.core.render_helper_add');
|
||||
|
||||
return array('add' => true);
|
||||
return $this->action_refresh();
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
* User edits a message
|
||||
*
|
||||
* @return array data sent to client as JSON
|
||||
*/
|
||||
public function action_edit()
|
||||
{
|
||||
if (!defined('PHPBB_USE_BOARD_URL_PATH'))
|
||||
@@ -287,11 +297,11 @@ class mchat
|
||||
$this->functions_mchat->mchat_action('edit', $sql_ary, $message_id, $author['username']);
|
||||
|
||||
/**
|
||||
* Event render_helper_edit
|
||||
*
|
||||
* @event dmzx.mchat.core.render_helper_edit
|
||||
* @since 0.1.4
|
||||
*/
|
||||
* Event render_helper_edit
|
||||
*
|
||||
* @event dmzx.mchat.core.render_helper_edit
|
||||
* @since 0.1.4
|
||||
*/
|
||||
$this->dispatcher->dispatch('dmzx.mchat.core.render_helper_edit');
|
||||
|
||||
$sql_where = 'm.message_id = ' . (int) $message_id;
|
||||
@@ -304,8 +314,10 @@ class mchat
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
* User deletes a message
|
||||
*
|
||||
* @return array data sent to client as JSON
|
||||
*/
|
||||
public function action_del()
|
||||
{
|
||||
$message_id = $this->request->variable('message_id', 0);
|
||||
@@ -323,11 +335,11 @@ class mchat
|
||||
}
|
||||
|
||||
/**
|
||||
* Event render_helper_delete
|
||||
*
|
||||
* @event dmzx.mchat.core.render_helper_delete
|
||||
* @since 0.1.4
|
||||
*/
|
||||
* Event render_helper_delete
|
||||
*
|
||||
* @event dmzx.mchat.core.render_helper_delete
|
||||
* @since 0.1.4
|
||||
*/
|
||||
$this->dispatcher->dispatch('dmzx.mchat.core.render_helper_delete');
|
||||
|
||||
$this->functions_mchat->mchat_action('del', null, $message_id, $author['username']);
|
||||
@@ -336,8 +348,10 @@ class mchat
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
* User purges all messagas
|
||||
*
|
||||
* @return array data sent to client as JSON
|
||||
*/
|
||||
public function action_clean()
|
||||
{
|
||||
if ($this->user->data['user_type'] != USER_FOUNDER || !check_form_key('mchat', -1))
|
||||
@@ -351,8 +365,10 @@ class mchat
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
* User checks for new messages
|
||||
*
|
||||
* @return array sent to client as JSON
|
||||
*/
|
||||
public function action_refresh()
|
||||
{
|
||||
if (!defined('PHPBB_USE_BOARD_URL_PATH'))
|
||||
@@ -400,7 +416,7 @@ class mchat
|
||||
// Assign new messages
|
||||
$this->assign_global_template_data();
|
||||
$this->assign_messages($rows_refresh);
|
||||
$response = array('refresh' => $this->render_template('mchat_messages.html'));
|
||||
$response = array('refresh' => true, 'add' => $this->render_template('mchat_messages.html'));
|
||||
|
||||
// Assign edited messages
|
||||
if (!empty($rows_edit))
|
||||
@@ -427,8 +443,10 @@ class mchat
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
* User requests who is chatting
|
||||
*
|
||||
* @return array data sent to client as JSON
|
||||
*/
|
||||
public function action_whois()
|
||||
{
|
||||
$this->assign_whois();
|
||||
@@ -437,8 +455,8 @@ class mchat
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
* Adds the template variables for the header link
|
||||
*/
|
||||
public function render_page_header_link()
|
||||
{
|
||||
$this->template->assign_vars(array(
|
||||
@@ -449,8 +467,11 @@ class mchat
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
* Appends a condition to the WHERE key of the SQL array to not fetch disallowed BBCodes from the database
|
||||
*
|
||||
* @param $sql_ary array
|
||||
* @return array
|
||||
*/
|
||||
public function remove_disallowed_bbcodes($sql_ary)
|
||||
{
|
||||
// Add disallowed BBCodes to the template only if we're rendering for mChat
|
||||
@@ -463,12 +484,10 @@ class mchat
|
||||
}
|
||||
|
||||
/**
|
||||
* Method to render the page data
|
||||
*
|
||||
* @var page The page we are rendering for, one of index|custom|archive
|
||||
* @return null|array|string If we are rendering for the index, null is returned. For modes that are only
|
||||
* called via AJAX, an array is returned, otherwise the rendered content is returned.
|
||||
*/
|
||||
* Renders data for a page
|
||||
*
|
||||
* @param $page The page we are rendering for, one of index|custom|archive
|
||||
*/
|
||||
protected function render_page($page)
|
||||
{
|
||||
// Add lang file
|
||||
@@ -552,8 +571,8 @@ class mchat
|
||||
}
|
||||
|
||||
/**
|
||||
* Assigns all message rows to the template
|
||||
*/
|
||||
* Assigns all message rows to the template
|
||||
*/
|
||||
protected function assign_global_template_data()
|
||||
{
|
||||
$this->template->assign_vars(array(
|
||||
@@ -564,15 +583,27 @@ class mchat
|
||||
'MCHAT_EDIT_DELETE_LIMIT' => 1000 * $this->config['mchat_edit_delete_limit'],
|
||||
'MCHAT_EDIT_DELETE_IGNORE' => $this->config['mchat_edit_delete_limit'] && $this->auth->acl_get('m_'),
|
||||
'MCHAT_USER_TIMEOUT' => 1000 * $this->config['mchat_timeout'],
|
||||
'S_MCHAT_AVATARS' => !empty($this->config['mchat_avatars']) && $this->user->optionget('viewavatars') && $this->user->data['user_mchat_avatars'],
|
||||
'S_MCHAT_AVATARS' => $this->display_avatars(),
|
||||
'EXT_URL' => generate_board_url() . '/ext/dmzx/mchat/',
|
||||
'STYLE_PATH' => generate_board_url() . '/styles/' . $this->user->style['style_path'],
|
||||
));
|
||||
}
|
||||
|
||||
/**
|
||||
* Assigns all message rows to the template
|
||||
*/
|
||||
* Returns true if we need do display avatars in the messages, otherwise false
|
||||
*
|
||||
* @return bool
|
||||
*/
|
||||
protected function display_avatars()
|
||||
{
|
||||
return $this->config['mchat_avatars'] && $this->user->optionget('viewavatars') && $this->user->data['user_mchat_avatars'];
|
||||
}
|
||||
|
||||
/**
|
||||
* Assigns all message rows to the template
|
||||
*
|
||||
* @param $rows array
|
||||
*/
|
||||
protected function assign_messages($rows)
|
||||
{
|
||||
if (empty($rows))
|
||||
@@ -590,6 +621,22 @@ class mchat
|
||||
|
||||
$this->template->destroy_block_vars('mchatrow');
|
||||
|
||||
$user_avatars = array();
|
||||
|
||||
foreach ($rows as $i => $row)
|
||||
{
|
||||
if (!isset($user_avatars[$row['user_id']]))
|
||||
{
|
||||
$display_avatar = $this->display_avatars() && $row['user_avatar'];
|
||||
$user_avatars[$row['user_id']] = !$display_avatar ? '' : phpbb_get_user_avatar(array(
|
||||
'avatar' => $row['user_avatar'],
|
||||
'avatar_type' => $row['user_avatar_type'],
|
||||
'avatar_width' => $row['user_avatar_width'] > $row['user_avatar_height'] ? 40 : (40 / $row['user_avatar_height']) * $row['user_avatar_width'],
|
||||
'avatar_height' => $row['user_avatar_height'] > $row['user_avatar_width'] ? 40 : (40 / $row['user_avatar_width']) * $row['user_avatar_height'],
|
||||
));
|
||||
}
|
||||
}
|
||||
|
||||
foreach ($rows as $i => $row)
|
||||
{
|
||||
// Auth checks
|
||||
@@ -611,13 +658,6 @@ class mchat
|
||||
$row['username'] = mb_ereg_replace("'", "’", $row['username']);
|
||||
$message = str_replace("'", '’', $row['message']);
|
||||
|
||||
$user_avatar = !$row['user_avatar'] ? '' : phpbb_get_user_avatar(array(
|
||||
'avatar' => $row['user_avatar'],
|
||||
'avatar_type' => $row['user_avatar_type'],
|
||||
'avatar_width' => $row['user_avatar_width'] > $row['user_avatar_height'] ? 40 : (40 / $row['user_avatar_height']) * $row['user_avatar_width'],
|
||||
'avatar_height' => $row['user_avatar_height'] > $row['user_avatar_width'] ? 40 : (40 / $row['user_avatar_width']) * $row['user_avatar_height'],
|
||||
));
|
||||
|
||||
$username_full = get_username_string('full', $row['user_id'], $row['username'], $row['user_colour'], $this->user->lang('GUEST'));
|
||||
|
||||
// Remove root path if we render messages for the index page
|
||||
@@ -631,7 +671,7 @@ class mchat
|
||||
'MCHAT_ALLOW_BAN' => $this->auth->acl_get('a_authusers'),
|
||||
'MCHAT_ALLOW_EDIT' => $this->auth_message('u_mchat_edit', $row['user_id'], $row['message_time']),
|
||||
'MCHAT_ALLOW_DEL' => $this->auth_message('u_mchat_delete', $row['user_id'], $row['message_time']),
|
||||
'MCHAT_USER_AVATAR' => $user_avatar,
|
||||
'MCHAT_USER_AVATAR' => $user_avatars[$row['user_id']],
|
||||
'U_VIEWPROFILE' => $row['user_id'] != ANONYMOUS ? generate_board_url() . append_sid("/{$this->root_path}memberlist.{$this->php_ext}", 'mode=viewprofile&u=' . $row['user_id']) : '',
|
||||
'MCHAT_IS_POSTER' => $row['user_id'] != ANONYMOUS && $this->user->data['user_id'] == $row['user_id'],
|
||||
'MCHAT_PM' => $row['user_id'] != ANONYMOUS && $this->user->data['user_id'] != $row['user_id'] && $this->config['allow_privmsg'] && $this->auth->acl_get('u_sendpm') && ($row['user_allow_pm'] || $this->auth->acl_gets('a_', 'm_') || $this->auth->acl_getf_global('m_')) ? generate_board_url() . append_sid("/{$this->root_path}ucp.{$this->php_ext}", 'i=pm&mode=compose&u=' . $row['user_id']) : '',
|
||||
@@ -652,8 +692,8 @@ class mchat
|
||||
}
|
||||
|
||||
/**
|
||||
* Assigns BBCodes and smilies to the template
|
||||
*/
|
||||
* Assigns BBCodes and smilies to the template
|
||||
*/
|
||||
protected function assign_bbcodes_smilies()
|
||||
{
|
||||
// Display custom bbcodes
|
||||
@@ -695,8 +735,8 @@ class mchat
|
||||
}
|
||||
|
||||
/**
|
||||
* Assigns whois and stats at the bottom of the index page
|
||||
*/
|
||||
* Assigns whois and stats at the bottom of the index page
|
||||
*/
|
||||
protected function assign_whois()
|
||||
{
|
||||
if ($this->config['mchat_whois'] || $this->config['mchat_stats_index'] && $this->user->data['user_mchat_stats_index'])
|
||||
@@ -712,8 +752,13 @@ class mchat
|
||||
}
|
||||
|
||||
/**
|
||||
* Checks whether an author has edit or delete permissions for a message
|
||||
*/
|
||||
* Checks whether an author has edit or delete permissions for a message
|
||||
*
|
||||
* @param $permission string One of u_mchat_edit|u_mchat_delete
|
||||
* @param $author_id int The user id of the message
|
||||
* @param $message_time int The message created time
|
||||
* @return bool
|
||||
*/
|
||||
protected function auth_message($permission, $author_id, $message_time)
|
||||
{
|
||||
if (!$this->auth->acl_get($permission))
|
||||
@@ -731,9 +776,13 @@ class mchat
|
||||
}
|
||||
|
||||
/**
|
||||
* Performs bound checks on the message and returns an array containing the message,
|
||||
* BBCode options and additional data ready to be sent to the database
|
||||
*/
|
||||
* Performs bound checks on the message and returns an array containing the message,
|
||||
* BBCode options and additional data ready to be sent to the database
|
||||
*
|
||||
* @param $message string
|
||||
* @param $merge_ary array
|
||||
* @return array
|
||||
*/
|
||||
protected function process_message($message, $merge_ary)
|
||||
{
|
||||
// Must have something other than bbcode in the message
|
||||
@@ -809,9 +858,11 @@ class mchat
|
||||
}
|
||||
|
||||
/**
|
||||
* Renders a template file and returns it
|
||||
* @return string
|
||||
*/
|
||||
* Renders a template file and returns it
|
||||
*
|
||||
* @param $template_file string
|
||||
* @return string
|
||||
*/
|
||||
protected function render_template($template_file)
|
||||
{
|
||||
$this->template->set_filenames(array('body' => $template_file));
|
||||
|
||||
@@ -103,8 +103,6 @@ $lang = array_merge($lang, array(
|
||||
'MCHAT_OVERRIDE_SMILIE_LIMIT_EXPLAIN' => 'Falls JA eingestellt ist, wird das eingestellte Limit im Forum für Smilies im mChat aufgehoben.',
|
||||
'MCHAT_OVERRIDE_MIN_POST_CHARS' => 'Minimale Anzahl von Zeichen aufheben?',
|
||||
'MCHAT_OVERRIDE_MIN_POST_CHARS_EXPLAIN' => 'Falls ja eingestellt ist, wird das Limit für die minimale Anzahl an Zeichen für mChat-Nachrichten aufgehoben.',
|
||||
'MCHAT_NEW_POSTS' => 'Zeige aktivierte Beiträge an',
|
||||
'MCHAT_NEW_POSTS_EXPLAIN' => 'Stelle auf Ja, und setze unter den Optionen, welche Nachricht im Chat-Nachrichtenbereich angezeigt werden können..',
|
||||
'MCHAT_NEW_POSTS_TOPIC' => 'Zeige New Topic Beiträge an',
|
||||
'MCHAT_NEW_POSTS_TOPIC_EXPLAIN' => 'Stelle auf Ja, damit neue Themen und Beiträge aus dem Forum im Chat Nachrichtenbereich angezeigt werden.',
|
||||
'MCHAT_NEW_POSTS_REPLY' => 'Zeige neue Antworten in Beiträgen an',
|
||||
|
||||
@@ -103,8 +103,6 @@ $lang = array_merge($lang, array(
|
||||
'MCHAT_OVERRIDE_SMILIE_LIMIT_EXPLAIN' => 'Set to yes to override the forums smilie limit setting for chat messages',
|
||||
'MCHAT_OVERRIDE_MIN_POST_CHARS' => 'Override minimum characters limit',
|
||||
'MCHAT_OVERRIDE_MIN_POST_CHARS_EXPLAIN' => 'Set to yes to override the forums minimum characters setting for chat messages',
|
||||
'MCHAT_NEW_POSTS' => 'Enable Posts Display',
|
||||
'MCHAT_NEW_POSTS_EXPLAIN' => 'Set to yes and you can set below the options what message to display in the chat message area.',
|
||||
'MCHAT_NEW_POSTS_TOPIC' => 'Display New Topic Posts',
|
||||
'MCHAT_NEW_POSTS_TOPIC_EXPLAIN' => 'Set to yes to allow new topic posts from the forum to be posted into the chat message area.',
|
||||
'MCHAT_NEW_POSTS_REPLY' => 'Display New Replied Posts',
|
||||
|
||||
@@ -103,8 +103,6 @@ $lang = array_merge($lang, array(
|
||||
'MCHAT_OVERRIDE_SMILIE_LIMIT_EXPLAIN' => 'Establezca en Sí, para anular el ajustes del límite de emoticonos en los foros, para mensajes del chat',
|
||||
'MCHAT_OVERRIDE_MIN_POST_CHARS' => 'Anular límite mínimo caracteres',
|
||||
'MCHAT_OVERRIDE_MIN_POST_CHARS_EXPLAIN' => 'Establezca en Sí, para anular el ajustes del límite mínimo de caracteres en los foros, para mensajes del chat',
|
||||
'MCHAT_NEW_POSTS' => 'Habilitar mostrar mensajes',
|
||||
'MCHAT_NEW_POSTS_EXPLAIN' => 'Establezca en Si, y podrá establecer debajo las opciones de cuál es el mensaje que se mostrará en el área de mensajes del chat.',
|
||||
'MCHAT_NEW_POSTS_TOPIC' => 'Mostrar mensaje de Nuevo Tema',
|
||||
'MCHAT_NEW_POSTS_TOPIC_EXPLAIN' => 'Establezca en Sí, para permitir que los nuevos temas del foro puedan ser publicados en el área de mensajes del chat.',
|
||||
'MCHAT_NEW_POSTS_REPLY' => 'Mostrar mensaje de Nueva Respuesta',
|
||||
|
||||
@@ -13,7 +13,7 @@ class install_mchat extends \phpbb\db\migration\migration
|
||||
{
|
||||
public function effectively_installed()
|
||||
{
|
||||
return isset($this->config['mchat_version']) && version_compare($this->config['mchat_version'], '0.3.2', '>=');
|
||||
return isset($this->config['mchat_version']) && version_compare($this->config['mchat_version'], '0.3.4', '>=');
|
||||
}
|
||||
|
||||
static public function depends_on()
|
||||
@@ -25,7 +25,7 @@ class install_mchat extends \phpbb\db\migration\migration
|
||||
{
|
||||
return array(
|
||||
// Add configs
|
||||
array('config.add', array('mchat_version', '0.3.2')),
|
||||
array('config.add', array('mchat_version', '0.3.4')),
|
||||
array('config.add', array('mchat_archive_limit', 25)),
|
||||
array('config.add', array('mchat_avatars', 1)),
|
||||
array('config.add', array('mchat_bbcode_disallowed', '')),
|
||||
@@ -41,7 +41,6 @@ class install_mchat extends \phpbb\db\migration\migration
|
||||
array('config.add', array('mchat_message_limit', 10)),
|
||||
array('config.add', array('mchat_message_num', 10)),
|
||||
array('config.add', array('mchat_message_top', 1)),
|
||||
array('config.add', array('mchat_new_posts', 0)),
|
||||
array('config.add', array('mchat_new_posts_edit', 0)),
|
||||
array('config.add', array('mchat_new_posts_quote', 0)),
|
||||
array('config.add', array('mchat_new_posts_reply', 0)),
|
||||
|
||||
@@ -1,2 +1,2 @@
|
||||
<!-- INCLUDECSS @dmzx_mchat/mchat.css -->
|
||||
<!-- IF MCHAT_ALLOW_SMILES and not MCHAT_ALLOW_BBCODES --><!-- INCLUDEJS {T_ASSETS_PATH}/javascript/editor.js --><!-- ENDIF -->
|
||||
<!-- IF MCHAT_ALLOW_SMILES or MCHAT_ALLOW_BBCODES --><!-- INCLUDEJS {T_ASSETS_PATH}/javascript/editor.js --><!-- ENDIF -->
|
||||
|
||||
@@ -30,7 +30,7 @@ jQuery(function($) {
|
||||
dataType: 'json',
|
||||
data: data
|
||||
}).success(function(json, status, xhr) {
|
||||
if (json.hasOwnProperty(mode)) {
|
||||
if (json[mode]) {
|
||||
deferred.resolve(json, status, xhr);
|
||||
} else {
|
||||
deferred.reject(xhr, status, xhr.responseJSON ? 'session' : 'format');
|
||||
@@ -72,7 +72,7 @@ jQuery(function($) {
|
||||
}
|
||||
},
|
||||
sound: function(file) {
|
||||
if (!Cookies.get('mchat_no_sound')) {
|
||||
if (!mChat.pageIsUnloading && !Cookies.get('mchat_no_sound')) {
|
||||
var audio = mChat.$$('sound-' + file).get(0);
|
||||
audio.pause();
|
||||
audio.currentTime = 0;
|
||||
@@ -109,11 +109,8 @@ jQuery(function($) {
|
||||
}
|
||||
mChat.pauseSession();
|
||||
mChat.$$('add').prop('disabled', true);
|
||||
ajaxRequest('add', true, {
|
||||
message: mChat.$$('input').val()
|
||||
}).done(function(json) {
|
||||
mChat.refresh(mChat.$$('input').val()).done(function() {
|
||||
mChat.$$('input').val('');
|
||||
mChat.refresh();
|
||||
}).always(function() {
|
||||
mChat.$$('input').focus();
|
||||
mChat.$$('add').prop('disabled', false);
|
||||
@@ -144,7 +141,7 @@ jQuery(function($) {
|
||||
phpbb.confirm(mChat.$$('confirm'), function() {
|
||||
ajaxRequest('del', true, {
|
||||
message_id: $container.data('id')
|
||||
}).done(function(json) {
|
||||
}).done(function() {
|
||||
mChat.sound('del');
|
||||
$container.fadeOut('slow', function() {
|
||||
$container.remove();
|
||||
@@ -153,11 +150,14 @@ jQuery(function($) {
|
||||
});
|
||||
});
|
||||
},
|
||||
refresh: function() {
|
||||
refresh: function(message) {
|
||||
var $messages = mChat.$$('messages').children();
|
||||
var data = {
|
||||
message_last_id: $messages.filter(mChat.messageTop ? ':first' : ':last').data('id')
|
||||
};
|
||||
if (message) {
|
||||
data.message = message;
|
||||
}
|
||||
if (mChat.liveUpdates) {
|
||||
data.message_first_id = $messages.filter(mChat.messageTop ? ':last' : ':first').data('id');
|
||||
data.message_edits = {};
|
||||
@@ -172,8 +172,8 @@ jQuery(function($) {
|
||||
}
|
||||
mChat.$$('refresh-ok', 'refresh-error', 'refresh-paused').hide();
|
||||
mChat.$$('refresh-load').show();
|
||||
ajaxRequest('refresh', false, data).done(function(json) {
|
||||
var $html = $(json.refresh);
|
||||
return ajaxRequest(message ? 'add' : 'refresh', !!message, data).done(function(json) {
|
||||
var $html = $(json.add);
|
||||
if ($html.length) {
|
||||
mChat.sound('add');
|
||||
mChat.notice();
|
||||
@@ -199,7 +199,7 @@ jQuery(function($) {
|
||||
}
|
||||
});
|
||||
}
|
||||
if (json.hasOwnProperty('edit')) {
|
||||
if (json.edit) {
|
||||
var isFirstEdit = true;
|
||||
$.each(json.edit, function(id, content) {
|
||||
var $container = $('#mchat-message-' + id);
|
||||
@@ -214,7 +214,7 @@ jQuery(function($) {
|
||||
}
|
||||
});
|
||||
}
|
||||
if (json.hasOwnProperty('del')) {
|
||||
if (json.del) {
|
||||
var isFirstDelete = true;
|
||||
$.each(json.del, function(i, id) {
|
||||
var $container = $('#mchat-message-' + id);
|
||||
@@ -263,6 +263,7 @@ jQuery(function($) {
|
||||
mChat.$$('confirm').find('textarea').hide();
|
||||
mChat.$$('confirm').find('p').text(mChat.cleanConfirm);
|
||||
phpbb.confirm(mChat.$$('confirm'), function() {
|
||||
mChat.pauseSession();
|
||||
ajaxRequest('clean', true, {}).done(function() {
|
||||
phpbb.alert('mChat', mChat.cleanDone);
|
||||
setTimeout(function() {
|
||||
@@ -376,7 +377,7 @@ jQuery(function($) {
|
||||
mChat.$$('confirm').detach().show();
|
||||
|
||||
mChat.hiddenFields = {};
|
||||
$('#' + form_name).find('input[type=hidden]').each(function() {
|
||||
$('#mchat-form').find('input[type=hidden]').each(function() {
|
||||
mChat.hiddenFields[this.name] = this.value;
|
||||
});
|
||||
|
||||
@@ -444,6 +445,10 @@ jQuery(function($) {
|
||||
e.preventDefault();
|
||||
});
|
||||
|
||||
if (!mChat.$$('user-sound').prop('checked')) {
|
||||
Cookies.set('mchat_no_sound', 'yes');
|
||||
}
|
||||
|
||||
mChat.$$('user-sound').change(function() {
|
||||
if (this.checked) {
|
||||
Cookies.remove('mchat_no_sound');
|
||||
@@ -452,7 +457,7 @@ jQuery(function($) {
|
||||
}
|
||||
});
|
||||
|
||||
$('#' + form_name).on('keypress', function(e) {
|
||||
$('#mchat-form').on('keypress', function(e) {
|
||||
if (e.which == 13) {
|
||||
mChat.add();
|
||||
e.preventDefault();
|
||||
@@ -462,6 +467,10 @@ jQuery(function($) {
|
||||
mChat.$$('input').autoGrowInput();
|
||||
}
|
||||
|
||||
$(window).on('beforeunload', function() {
|
||||
mChat.pageIsUnloading = true;
|
||||
});
|
||||
|
||||
$('#phpbb').on('click', '[data-mchat-action]', function(e) {
|
||||
var action = $(this).data('mchat-action');
|
||||
mChat[action].call(this);
|
||||
|
||||
12
styles/prosilver/template/mchat.min.js
vendored
12
styles/prosilver/template/mchat.min.js
vendored
File diff suppressed because one or more lines are too long
@@ -31,7 +31,6 @@
|
||||
}
|
||||
// ]]>
|
||||
</script>
|
||||
<!-- INCLUDEJS {T_ASSETS_PATH}/javascript/editor.js -->
|
||||
<!-- IF S_MCHAT_BBCODE_B -->
|
||||
<input type="button" class="button2" accesskey="b" name="addbbcode0" value=" B " style="font-weight:bold; width: 30px" onclick="bbstyle(0)" title="{L_BBCODE_B_HELP}" />
|
||||
<!-- ENDIF -->
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
|
||||
<!-- INCLUDEJS jquery.titlealert.min.js -->
|
||||
<!-- INCLUDEJS js.cookie-2.0.4.min.js -->
|
||||
<!-- INCLUDEJS mchat.min.js -->
|
||||
<!-- INCLUDEJS mchat.js -->
|
||||
|
||||
<!-- IF MCHAT_ARCHIVE_PAGE and (.pagination or MCHAT_TOTAL_MESSAGES) -->
|
||||
<div class="action-bar top">
|
||||
@@ -104,7 +104,7 @@
|
||||
<!-- INCLUDE mchat_whois.html -->
|
||||
<!-- ENDIF -->
|
||||
|
||||
<form id="postform" action="{MCHAT_FILE_NAME}" method="POST">
|
||||
<form name="postform" id="mchat-form" action="{MCHAT_FILE_NAME}" method="POST">
|
||||
{S_FORM_TOKEN}
|
||||
<!-- IF not MCHAT_ARCHIVE_PAGE -->
|
||||
<div class="mchat-panel">
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
<dt><label for="mchat_index">{L_DISPLAY_MCHAT}{L_COLON}</label></dt>
|
||||
<dd>
|
||||
<label><input type="radio" name="user_mchat_index" value="1"<!-- IF S_DISPLAY_MCHAT --> id="mchat_index" checked="checked"<!-- ENDIF --> /> {L_YES}</label>
|
||||
<label><input type="radio" name="user_mchat_index" value="0"<!-- IF not S_DISPLAY_MCHAT --> id="mchat_index" checked="checked"<!-- ENDIF --> /> {L_NO}</label>
|
||||
<label><input type="radio" name="user_mchat_index" value="0"<!-- IF not S_DISPLAY_MCHAT --> id="mchat_index" checked="checked"<!-- ENDIF --> /> {L_NO}</label>
|
||||
</dd>
|
||||
</dl>
|
||||
<!-- ENDIF -->
|
||||
@@ -24,7 +24,7 @@
|
||||
<label><input type="radio" name="user_mchat_sound" value="0"<!-- IF not S_SOUND_MCHAT --> id="mchat_sound" checked="checked"<!-- ENDIF --> /> {L_NO}</label>
|
||||
</dd>
|
||||
</dl>
|
||||
<!-- IF S_MCHAT_INDEX -->
|
||||
<!-- IF S_MCHAT_INDEX_STATS -->
|
||||
<dl>
|
||||
<dt><label for="mchat_statsindex">{L_DISPLAY_STATS_INDEX}{L_COLON}</label></dt>
|
||||
<dd>
|
||||
|
||||
@@ -65,21 +65,31 @@ class ucp_mchat_module
|
||||
}
|
||||
|
||||
// Replace "error" strings with their real, localised form
|
||||
$error = preg_replace('#^([A-Z_]+)$#e', "(!empty(\$user->lang['\\1'])) ? \$user->lang['\\1'] : '\\1'", $error);
|
||||
// The /e modifier is deprecated since PHP 5.5.0
|
||||
//$error = preg_replace('#^([A-Z_]+)$#e', "(!empty(\$user->lang['\\1'])) ? \$user->lang['\\1'] : '\\1'", $error);
|
||||
foreach ($error as $i => $err)
|
||||
{
|
||||
$lang = $this->user->lang($err);
|
||||
if (!empty($lang))
|
||||
{
|
||||
$error[$i] = $lang;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
$template->assign_vars(array(
|
||||
'ERROR' => (sizeof($error)) ? implode('<br />', $error) : '',
|
||||
|
||||
'S_DISPLAY_MCHAT' => $data['user_mchat_index'],
|
||||
'S_SOUND_MCHAT' => $data['user_mchat_sound'],
|
||||
'S_STATS_MCHAT' => $data['user_mchat_stats_index'],
|
||||
'S_TOPICS_MCHAT' => $data['user_mchat_topics'],
|
||||
'S_AVATARS_MCHAT' => $data['user_mchat_avatars'],
|
||||
'S_INPUT_MCHAT' => $data['user_mchat_input_area'],
|
||||
'S_MCHAT_TOPICS' => $config['mchat_new_posts'],
|
||||
'S_MCHAT_INDEX' => $config['mchat_on_index'] || $config['mchat_stats_index'],
|
||||
'S_MCHAT_AVATARS' => $config['mchat_avatars'],
|
||||
'S_DISPLAY_MCHAT' => $data['user_mchat_index'],
|
||||
'S_SOUND_MCHAT' => $data['user_mchat_sound'],
|
||||
'S_STATS_MCHAT' => $data['user_mchat_stats_index'],
|
||||
'S_TOPICS_MCHAT' => $data['user_mchat_topics'],
|
||||
'S_AVATARS_MCHAT' => $data['user_mchat_avatars'],
|
||||
'S_INPUT_MCHAT' => $data['user_mchat_input_area'],
|
||||
'S_MCHAT_TOPICS' => $config['mchat_new_posts_edit'] || $config['mchat_new_posts_quote'] || $config['mchat_new_posts_reply'] || $config['mchat_new_posts_topic'],
|
||||
'S_MCHAT_INDEX' => $config['mchat_on_index'],
|
||||
'S_MCHAT_INDEX_STATS' => $config['mchat_stats_index'],
|
||||
'S_MCHAT_AVATARS' => $config['mchat_avatars'],
|
||||
));
|
||||
break;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user